pub struct FontFeaturesBuilder(/* private fields */);Expand description
A builder for FontFeatures.
§Examples
let features = FontFeatures::builder().kerning(false).build();Implementations§
Source§impl FontFeaturesBuilder
impl FontFeaturesBuilder
Sourcepub fn build(self) -> FontFeatures
pub fn build(self) -> FontFeatures
Finish building.
Sourcepub fn feature(
self,
name: FontFeatureName,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn feature( self, name: FontFeatureName, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Set the named feature.
Sourcepub fn feature_set(
self,
names: &'static [FontFeatureName],
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn feature_set( self, names: &'static [FontFeatureName], state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Sourcepub fn feature_exclusive_set<S>(
self,
state: impl Into<S>,
) -> FontFeaturesBuilderwhere
S: FontFeatureExclusiveSetState,
pub fn feature_exclusive_set<S>(
self,
state: impl Into<S>,
) -> FontFeaturesBuilderwhere
S: FontFeatureExclusiveSetState,
Sourcepub fn feature_exclusive_sets<S>(
self,
state: impl Into<S>,
) -> FontFeaturesBuilderwhere
S: FontFeatureExclusiveSetsState,
pub fn feature_exclusive_sets<S>(
self,
state: impl Into<S>,
) -> FontFeaturesBuilderwhere
S: FontFeatureExclusiveSetsState,
Source§impl FontFeaturesBuilder
impl FontFeaturesBuilder
Sourcepub fn caps(self, state: impl Into<CapsVariant>) -> FontFeaturesBuilder
pub fn caps(self, state: impl Into<CapsVariant>) -> FontFeaturesBuilder
Font capital glyph variants.
See CapsVariant for more details.
Sourcepub fn kerning(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
pub fn kerning(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
Allow glyphs boundaries to overlap for a more pleasant reading.
This corresponds to the kern feature.
Auto always activates these kerning.
Sourcepub fn common_lig(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn common_lig( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
The most common ligatures, like for fi, ffi, th or similar.
This corresponds to OpenType liga and clig features.
Auto always activates these ligatures.
Sourcepub fn discretionary_lig(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn discretionary_lig( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Ligatures specific to the font, usually decorative.
This corresponds to OpenType dlig feature.
Auto usually disables these ligatures.
Sourcepub fn historical_lig(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn historical_lig( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Ligatures used historically, in old books, like the German tz digraph being displayed ß.
This corresponds to OpenType hlig feature.
Auto usually disables these ligatures.
Sourcepub fn contextual_alt(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn contextual_alt( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Alternative letters that adapt to their surrounding letters.
This corresponds to OpenType calt feature.
Auto usually activates this feature.
Sourcepub fn ordinal(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
pub fn ordinal(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
Force usage of ordinal special glyphs, 1a becomes 1ª.
This corresponds to OpenType ordn feature.
Auto deactivates this feature.
Sourcepub fn slashed_zero(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn slashed_zero( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Force use of a slashed zero for 0.
This corresponds to OpenType zero feature.
Auto deactivates this feature.
Sourcepub fn swash(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
pub fn swash(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
Use swashes flourish style.
Fonts can have alternative swash styles, you can select then by enabling a number.
This corresponds to OpenType swsh and cswh feature.
Auto does not use swashes.
Sourcepub fn stylistic(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn stylistic( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Use stylistic alternatives.
Fonts can have multiple alternative styles, you can select then by enabling a number.
This corresponds to OpenType salt feature.
Auto does not use alternative styles.
Sourcepub fn historical_forms(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn historical_forms( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Use glyphs that were common in the past but not today.
This corresponds to OpenType hist feature.
Auto does not use alternative styles.
Sourcepub fn ornaments(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn ornaments( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Replace letter with fleurons, dingbats and border elements.
Fonts can have multiple alternative styles, you can select then by enabling a number.
This corresponds to OpenType ornm feature.
Auto does not enable this by default, but some fonts are purely dingbats glyphs.
Sourcepub fn annotation(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn annotation( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Font annotation alternatives, like circled digits or inverted characters.
Fonts can have multiple alternative styles, you can select then by enabling a number.
This corresponds to OpenType nalt feature.
Auto does not use alternative styles.
Sourcepub fn numeric(self, state: impl Into<NumVariant>) -> FontFeaturesBuilder
pub fn numeric(self, state: impl Into<NumVariant>) -> FontFeaturesBuilder
Font numeric glyph variants.
See NumVariant for more details.
Sourcepub fn num_spacing(self, state: impl Into<NumSpacing>) -> FontFeaturesBuilder
pub fn num_spacing(self, state: impl Into<NumSpacing>) -> FontFeaturesBuilder
Font numeric spacing variants.
See NumSpacing for more details.
Sourcepub fn num_fraction(self, state: impl Into<NumFraction>) -> FontFeaturesBuilder
pub fn num_fraction(self, state: impl Into<NumFraction>) -> FontFeaturesBuilder
Font numeric spacing variants.
See NumSpacing for more details.
Sourcepub fn style_set(self, state: impl Into<FontStyleSet>) -> FontFeaturesBuilder
pub fn style_set(self, state: impl Into<FontStyleSet>) -> FontFeaturesBuilder
Font stylistic alternatives for sets of characters.
See FontStyleSet for more details.
Sourcepub fn char_variant(self, state: impl Into<CharVariant>) -> FontFeaturesBuilder
pub fn char_variant(self, state: impl Into<CharVariant>) -> FontFeaturesBuilder
Font stylistic alternatives for individual characters.
See CharVariant for more details.
Sourcepub fn position(self, state: impl Into<FontPosition>) -> FontFeaturesBuilder
pub fn position(self, state: impl Into<FontPosition>) -> FontFeaturesBuilder
Font sub/super script alternatives.
See FontPosition for more details.
Sourcepub fn ruby(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
pub fn ruby(self, state: impl Into<FontFeatureState>) -> FontFeaturesBuilder
Force the use of ruby (rubi) glyph variants.
This corresponds to OpenType ruby feature.
Auto does not force the use of ruby variants.
Sourcepub fn jp_variant(self, state: impl Into<JpVariant>) -> FontFeaturesBuilder
pub fn jp_variant(self, state: impl Into<JpVariant>) -> FontFeaturesBuilder
Japanese logographic set selection.
See JpVariant for more details.
Sourcepub fn horizontal_kana(
self,
state: impl Into<FontFeatureState>,
) -> FontFeaturesBuilder
pub fn horizontal_kana( self, state: impl Into<FontFeatureState>, ) -> FontFeaturesBuilder
Use kana glyphs optimized for horizontal writing.
This corresponds to OpenType hkna feature.
Sourcepub fn cn_variant(self, state: impl Into<CnVariant>) -> FontFeaturesBuilder
pub fn cn_variant(self, state: impl Into<CnVariant>) -> FontFeaturesBuilder
Chinese logographic set selection.
See CnVariant for more details.
Sourcepub fn ea_width(self, state: impl Into<EastAsianWidth>) -> FontFeaturesBuilder
pub fn ea_width(self, state: impl Into<EastAsianWidth>) -> FontFeaturesBuilder
East Asian figure width control
See EastAsianWidth for more details.
Trait Implementations§
Source§impl Default for FontFeaturesBuilder
impl Default for FontFeaturesBuilder
Source§fn default() -> FontFeaturesBuilder
fn default() -> FontFeaturesBuilder
Auto Trait Implementations§
impl Freeze for FontFeaturesBuilder
impl RefUnwindSafe for FontFeaturesBuilder
impl Send for FontFeaturesBuilder
impl Sync for FontFeaturesBuilder
impl Unpin for FontFeaturesBuilder
impl UnwindSafe for FontFeaturesBuilder
Blanket Implementations§
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
§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<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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().