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>,
) -> Self
pub fn feature( self, name: FontFeatureName, state: impl Into<FontFeatureState>, ) -> Self
Set the named feature.
Sourcepub fn feature_set(
self,
names: &'static [FontFeatureName],
state: impl Into<FontFeatureState>,
) -> Self
pub fn feature_set( self, names: &'static [FontFeatureName], state: impl Into<FontFeatureState>, ) -> Self
Sourcepub fn feature_exclusive_set<S: FontFeatureExclusiveSetState>(
self,
state: impl Into<S>,
) -> Self
pub fn feature_exclusive_set<S: FontFeatureExclusiveSetState>( self, state: impl Into<S>, ) -> Self
Sourcepub fn feature_exclusive_sets<S: FontFeatureExclusiveSetsState>(
self,
state: impl Into<S>,
) -> Self
pub fn feature_exclusive_sets<S: FontFeatureExclusiveSetsState>( self, state: impl Into<S>, ) -> Self
Source§impl FontFeaturesBuilder
impl FontFeaturesBuilder
Sourcepub fn caps(self, state: impl Into<CapsVariant>) -> Self
pub fn caps(self, state: impl Into<CapsVariant>) -> Self
Font capital glyph variants.
See CapsVariant for more details.
Sourcepub fn kerning(self, state: impl Into<FontFeatureState>) -> Self
pub fn kerning(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn common_lig(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn discretionary_lig(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn historical_lig(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn contextual_alt(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn ordinal(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn slashed_zero(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn swash(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn stylistic(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn historical_forms(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn ornaments(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn annotation(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn numeric(self, state: impl Into<NumVariant>) -> Self
Font numeric glyph variants.
See NumVariant for more details.
Sourcepub fn num_spacing(self, state: impl Into<NumSpacing>) -> Self
pub fn num_spacing(self, state: impl Into<NumSpacing>) -> Self
Font numeric spacing variants.
See NumSpacing for more details.
Sourcepub fn num_fraction(self, state: impl Into<NumFraction>) -> Self
pub fn num_fraction(self, state: impl Into<NumFraction>) -> Self
Font numeric spacing variants.
See NumSpacing for more details.
Sourcepub fn style_set(self, state: impl Into<FontStyleSet>) -> Self
pub fn style_set(self, state: impl Into<FontStyleSet>) -> Self
Font stylistic alternatives for sets of characters.
See FontStyleSet for more details.
Sourcepub fn char_variant(self, state: impl Into<CharVariant>) -> Self
pub fn char_variant(self, state: impl Into<CharVariant>) -> Self
Font stylistic alternatives for individual characters.
See CharVariant for more details.
Sourcepub fn position(self, state: impl Into<FontPosition>) -> Self
pub fn position(self, state: impl Into<FontPosition>) -> Self
Font sub/super script alternatives.
See FontPosition for more details.
Sourcepub fn ruby(self, state: impl Into<FontFeatureState>) -> Self
pub fn ruby(self, state: impl Into<FontFeatureState>) -> Self
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>) -> Self
pub fn jp_variant(self, state: impl Into<JpVariant>) -> Self
Japanese logographic set selection.
See JpVariant for more details.
Sourcepub fn horizontal_kana(self, state: impl Into<FontFeatureState>) -> Self
pub fn horizontal_kana(self, state: impl Into<FontFeatureState>) -> Self
Use kana glyphs optimized for horizontal writing.
This corresponds to OpenType hkna feature.
Sourcepub fn cn_variant(self, state: impl Into<CnVariant>) -> Self
pub fn cn_variant(self, state: impl Into<CnVariant>) -> Self
Chinese logographic set selection.
See CnVariant for more details.
Sourcepub fn ea_width(self, state: impl Into<EastAsianWidth>) -> Self
pub fn ea_width(self, state: impl Into<EastAsianWidth>) -> Self
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> 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