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