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> 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()
.