Enum Target
pub enum Target {
Mono,
Smooth {
mode: SmoothMode,
symmetric_rendering: bool,
preserve_linear_metrics: bool,
},
}Expand description
Defines the target settings for hinting.
Variants§
Mono
Strong hinting style that should only be used for aliased, monochromatic rasterization.
Corresponds to FT_LOAD_TARGET_MONO in FreeType.
Smooth
Hinting style that is suitable for anti-aliased rasterization.
Corresponds to the non-monochrome load targets in FreeType. See
SmoothMode for more detail.
Fields
mode: SmoothModeThe basic mode for smooth hinting.
Defaults to SmoothMode::Normal.
symmetric_rendering: boolIf true, TrueType bytecode may assume that the resulting outline will be rasterized with supersampling in the vertical direction.
When this is enabled, ClearType fonts will often generate wider horizontal stems that may lead to blurry images when rendered with an analytical area rasterizer (such as the one in FreeType).
The effect of this setting is to control the “ClearType symmetric
rendering bit” of the TrueType GETINFO instruction. For more
detail, see this issue.
FreeType has no corresponding setting and behaves as if this is always enabled.
This only applies to the TrueType interpreter.
Defaults to true.
preserve_linear_metrics: boolIf true, prevents adjustment of the outline in the horizontal direction and preserves inter-glyph spacing.
This is useful for performing layout without concern that hinting will modify the advance width of a glyph. Specifically, it means that layout will not require evaluation of glyph outlines.
FreeType has no corresponding setting and behaves as if this is always disabled.
This applies to the TrueType interpreter and the automatic hinter.
Defaults to false.
Trait Implementations§
§impl From<SmoothMode> for Target
impl From<SmoothMode> for Target
§fn from(value: SmoothMode) -> Target
fn from(value: SmoothMode) -> Target
§impl From<Target> for HintingOptions
impl From<Target> for HintingOptions
§fn from(value: Target) -> HintingOptions
fn from(value: Target) -> HintingOptions
impl Copy for Target
impl Eq for Target
impl StructuralPartialEq for Target
Auto Trait Implementations§
impl Freeze for Target
impl RefUnwindSafe for Target
impl Send for Target
impl Sync for Target
impl Unpin for Target
impl UnsafeUnpin for Target
impl UnwindSafe for Target
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more