Struct norad::fontinfo::FontInfo

source ·
pub struct FontInfo {
Show 108 fields pub ascender: Option<f64>, pub cap_height: Option<IntegerOrFloat>, pub copyright: Option<String>, pub descender: Option<IntegerOrFloat>, pub family_name: Option<String>, pub guidelines: Option<Vec<Guideline>>, pub italic_angle: Option<IntegerOrFloat>, pub macintosh_fond_family_id: Option<Integer>, pub macintosh_fond_name: Option<String>, pub note: Option<String>, pub open_type_gasp_range_records: Option<Vec<GaspRangeRecord>>, pub open_type_head_created: Option<String>, pub open_type_head_flags: Option<Bitlist>, pub open_type_head_lowest_rec_ppem: Option<NonNegativeInteger>, pub open_type_hhea_ascender: Option<Integer>, pub open_type_hhea_caret_offset: Option<Integer>, pub open_type_hhea_caret_slope_rise: Option<Integer>, pub open_type_hhea_caret_slope_run: Option<Integer>, pub open_type_hhea_descender: Option<Integer>, pub open_type_hhea_line_gap: Option<Integer>, pub open_type_name_compatible_full_name: Option<String>, pub open_type_name_description: Option<String>, pub open_type_name_designer_url: Option<String>, pub open_type_name_designer: Option<String>, pub open_type_name_license: Option<String>, pub open_type_name_license_url: Option<String>, pub open_type_name_manufacturer: Option<String>, pub open_type_name_manufacturer_url: Option<String>, pub open_type_name_preferred_family_name: Option<String>, pub open_type_name_preferred_subfamily_name: Option<String>, pub open_type_name_records: Option<Vec<NameRecord>>, pub open_type_name_sample_text: Option<String>, pub open_type_name_unique_id: Option<String>, pub open_type_name_version: Option<String>, pub open_type_name_wws_family_name: Option<String>, pub open_type_name_wws_subfamily_name: Option<String>, pub open_type_os2_code_page_ranges: Option<Bitlist>, pub open_type_os2_family_class: Option<Os2FamilyClass>, pub open_type_os2_panose: Option<Os2Panose>, pub open_type_os2_selection: Option<Bitlist>, pub open_type_os2_strikeout_position: Option<Integer>, pub open_type_os2_strikeout_size: Option<Integer>, pub open_type_os2_subscript_x_offset: Option<Integer>, pub open_type_os2_subscript_x_size: Option<Integer>, pub open_type_os2_subscript_y_offset: Option<Integer>, pub open_type_os2_subscript_y_size: Option<Integer>, pub open_type_os2_superscript_x_offset: Option<Integer>, pub open_type_os2_superscript_x_size: Option<Integer>, pub open_type_os2_superscript_y_offset: Option<Integer>, pub open_type_os2_superscript_y_size: Option<Integer>, pub open_type_os2_type: Option<Bitlist>, pub open_type_os2_typo_ascender: Option<Integer>, pub open_type_os2_typo_descender: Option<Integer>, pub open_type_os2_typo_line_gap: Option<Integer>, pub open_type_os2_unicode_ranges: Option<Bitlist>, pub open_type_os2_vendor_id: Option<String>, pub open_type_os2_weight_class: Option<NonNegativeInteger>, pub open_type_os2_width_class: Option<Os2WidthClass>, pub open_type_os2_win_ascent: Option<NonNegativeInteger>, pub open_type_os2_win_descent: Option<NonNegativeInteger>, pub open_type_vhea_caret_offset: Option<Integer>, pub open_type_vhea_caret_slope_rise: Option<Integer>, pub open_type_vhea_caret_slope_run: Option<Integer>, pub open_type_vhea_vert_typo_ascender: Option<Integer>, pub open_type_vhea_vert_typo_descender: Option<Integer>, pub open_type_vhea_vert_typo_line_gap: Option<Integer>, pub postscript_blue_fuzz: Option<IntegerOrFloat>, pub postscript_blue_scale: Option<Float>, pub postscript_blue_shift: Option<IntegerOrFloat>, pub postscript_blue_values: Option<Vec<IntegerOrFloat>>, pub postscript_default_character: Option<String>, pub postscript_default_width_x: Option<IntegerOrFloat>, pub postscript_family_blues: Option<Vec<IntegerOrFloat>>, pub postscript_family_other_blues: Option<Vec<IntegerOrFloat>>, pub postscript_font_name: Option<String>, pub postscript_force_bold: Option<bool>, pub postscript_full_name: Option<String>, pub postscript_is_fixed_pitch: Option<bool>, pub postscript_nominal_width_x: Option<IntegerOrFloat>, pub postscript_other_blues: Option<Vec<IntegerOrFloat>>, pub postscript_slant_angle: Option<IntegerOrFloat>, pub postscript_stem_snap_h: Option<Vec<IntegerOrFloat>>, pub postscript_stem_snap_v: Option<Vec<IntegerOrFloat>>, pub postscript_underline_position: Option<IntegerOrFloat>, pub postscript_underline_thickness: Option<IntegerOrFloat>, pub postscript_unique_id: Option<Integer>, pub postscript_weight_name: Option<String>, pub postscript_windows_character_set: Option<PostscriptWindowsCharacterSet>, pub style_map_family_name: Option<String>, pub style_map_style_name: Option<StyleMapStyle>, pub style_name: Option<String>, pub trademark: Option<String>, pub units_per_em: Option<NonNegativeIntegerOrFloat>, pub version_major: Option<Integer>, pub version_minor: Option<NonNegativeInteger>, pub woff_major_version: Option<NonNegativeInteger>, pub woff_metadata_copyright: Option<WoffMetadataCopyright>, pub woff_metadata_credits: Option<WoffMetadataCredits>, pub woff_metadata_description: Option<WoffMetadataDescription>, pub woff_metadata_extensions: Option<Vec<WoffMetadataExtensionRecord>>, pub woff_metadata_license: Option<WoffMetadataLicense>, pub woff_metadata_licensee: Option<WoffMetadataLicensee>, pub woff_metadata_trademark: Option<WoffMetadataTrademark>, pub woff_metadata_unique_id: Option<WoffMetadataUniqueId>, pub woff_metadata_vendor: Option<WoffMetadataVendor>, pub woff_minor_version: Option<NonNegativeInteger>, pub x_height: Option<IntegerOrFloat>, pub year: Option<Integer>,
}
Expand description

The contents of the fontinfo.plist file. This structure is hard-wired to the available attributes in UFO version 3.

Fields§

§ascender: Option<f64>

Ascender value (ascender).

§cap_height: Option<IntegerOrFloat>

Cap height value (capHeight).

§copyright: Option<String>

Copyright statement (copyright).

§descender: Option<IntegerOrFloat>

Descender value (descender).

§family_name: Option<String>

Family name (familyName).

§guidelines: Option<Vec<Guideline>>

Guideline definitions that apply to all glyphs in all layers (guidelines).

§italic_angle: Option<IntegerOrFloat>

Italic angle in counter-clockwise degrees (italicAngle).

§macintosh_fond_family_id: Option<Integer>

Family ID number (macintoshFONDFamilyID).

§macintosh_fond_name: Option<String>

Font name for the FOND resource (macintoshFONDName).

§note: Option<String>

Arbitrary note (note).

§open_type_gasp_range_records: Option<Vec<GaspRangeRecord>>

A collection of gasp Range Records (openTypeGaspRangeRecords).

§open_type_head_created: Option<String>

Creation date (openTypeHeadCreated).

§open_type_head_flags: Option<Bitlist>

head table flags (openTypeHeadFlags).

§open_type_head_lowest_rec_ppem: Option<NonNegativeInteger>

Smallest readable size in pixels (openTypeHeadLowestRecPPEM).

§open_type_hhea_ascender: Option<Integer>

Ascender value (openTypeHheaAscender).

§open_type_hhea_caret_offset: Option<Integer>

Caret offset value (openTypeHheaCaretOffset).

§open_type_hhea_caret_slope_rise: Option<Integer>

Caret slope rise value (openTypeHheaCaretSlopeRise).

§open_type_hhea_caret_slope_run: Option<Integer>

Caret slope run value (openTypeHheaCaretSlopeRun)

§open_type_hhea_descender: Option<Integer>

Descender value (openTypeHheaDescender).

§open_type_hhea_line_gap: Option<Integer>

Line gap value (openTypeHheaLineGap).

§open_type_name_compatible_full_name: Option<String>

Compatible full name (openTypeNameCompatibleFullName).

§open_type_name_description: Option<String>

Description of the font (openTypeNameDescription).

§open_type_name_designer_url: Option<String>

URL for the designer (openTypeNameDesignerURL).

§open_type_name_designer: Option<String>

Designer name (openTypeNameDesigner).

§open_type_name_license: Option<String>

License text (openTypeNameLicense).

§open_type_name_license_url: Option<String>

License URL (openTypeNameLicenseURL).

§open_type_name_manufacturer: Option<String>

Manufacturer name (openTypeNameManufacturer).

§open_type_name_manufacturer_url: Option<String>

Manufacturer URL (openTypeNameManufacturerURL).

§open_type_name_preferred_family_name: Option<String>

Preferred family name (openTypeNamePreferredFamilyName).

§open_type_name_preferred_subfamily_name: Option<String>

Preferred sub-family name (openTypeNamePreferredSubfamilyName).

§open_type_name_records: Option<Vec<NameRecord>>

A collection of name records (openTypeNameRecords).

§open_type_name_sample_text: Option<String>

Sample text (openTypeNameSampleText).

§open_type_name_unique_id: Option<String>

Unique ID string (openTypeNameUniqueID).

§open_type_name_version: Option<String>

Version string (openTypeNameVersion).

§open_type_name_wws_family_name: Option<String>

WWS family name (openTypeNameWWSFamilyName).

§open_type_name_wws_subfamily_name: Option<String>

WWS sub-family name (openTypeNameWWSSubfamilyName).

§open_type_os2_code_page_ranges: Option<Bitlist>

Bit flags that represent code page ranges present in the font (openTypeOS2CodePageRanges).

§open_type_os2_family_class: Option<Os2FamilyClass>

Font class and sub-class (openTypeOS2FamilyClass).

§open_type_os2_panose: Option<Os2Panose>

Panose specification settings (openTypeOS2Panose).

§open_type_os2_selection: Option<Bitlist>

fsSelection bit settings (openTypeOS2Selection).

§open_type_os2_strikeout_position: Option<Integer>

Strikeout position (openTypeOS2StrikeoutPosition).

§open_type_os2_strikeout_size: Option<Integer>

Strikeout size (openTypeOS2StrikeoutSize).

§open_type_os2_subscript_x_offset: Option<Integer>

Subscript x offset (openTypeOS2SubscriptXOffset).

§open_type_os2_subscript_x_size: Option<Integer>

Subscript horizontal size (openTypeOS2SubscriptXSize).

§open_type_os2_subscript_y_offset: Option<Integer>

Subscript y offset (openTypeOS2SubscriptYOffset).

§open_type_os2_subscript_y_size: Option<Integer>

Subscript vertical size (openTypeOS2SubscriptYSize).

§open_type_os2_superscript_x_offset: Option<Integer>

Superscript x offset (openTypeOS2SuperscriptXOffset).

§open_type_os2_superscript_x_size: Option<Integer>

Superscript horizontal size (openTypeOS2SuperscriptXSize).

§open_type_os2_superscript_y_offset: Option<Integer>

Superscript y offset (openTypeOS2SuperscriptYOffset).

§open_type_os2_superscript_y_size: Option<Integer>

Superscript vertical size (openTypeOS2SuperscriptYSize).

§open_type_os2_type: Option<Bitlist>

Bit flags indicating the embedding type (openTypeOS2Type).

§open_type_os2_typo_ascender: Option<Integer>

Ascender value (openTypeOS2TypoAscender).

§open_type_os2_typo_descender: Option<Integer>

Descender value (openTypeOS2TypoDescender).

§open_type_os2_typo_line_gap: Option<Integer>

Line gap value (openTypeOS2TypoLineGap).

§open_type_os2_unicode_ranges: Option<Bitlist>

Bit flags that represent Unicode ranges present in the font (openTypeOS2UnicodeRanges).

§open_type_os2_vendor_id: Option<String>

Four character vendor ID (openTypeOS2VendorID).

§open_type_os2_weight_class: Option<NonNegativeInteger>

OS/2 weight class (openTypeOS2WeightClass).

§open_type_os2_width_class: Option<Os2WidthClass>

OS/2 width class (openTypeOS2WidthClass).

§open_type_os2_win_ascent: Option<NonNegativeInteger>

Ascender value (openTypeOS2WinAscent).

§open_type_os2_win_descent: Option<NonNegativeInteger>

Descender value (openTypeOS2WinDescent).

§open_type_vhea_caret_offset: Option<Integer>

Caret offset value (openTypeVheaCaretOffset).

§open_type_vhea_caret_slope_rise: Option<Integer>

Caret slope rise value (openTypeVheaCaretSlopeRise).

§open_type_vhea_caret_slope_run: Option<Integer>

Caret slope run value (openTypeVheaCaretSlopeRun).

§open_type_vhea_vert_typo_ascender: Option<Integer>

Ascender value (openTypeVheaVertTypoAscender).

§open_type_vhea_vert_typo_descender: Option<Integer>

Descender value (openTypeVheaVertTypoDescender).

§open_type_vhea_vert_typo_line_gap: Option<Integer>

Line gap value (openTypeVheaVertTypoLineGap).

§postscript_blue_fuzz: Option<IntegerOrFloat>

Postscript BlueFuzz value (postscriptBlueFuzz).

§postscript_blue_scale: Option<Float>

Postscript BlueScale value (postscriptBlueScale).

§postscript_blue_shift: Option<IntegerOrFloat>

Postscript BlueShift value (postscriptBlueShift).

§postscript_blue_values: Option<Vec<IntegerOrFloat>>

A collection of values that should be in the Type 1/CFF BlueValues field (postscriptBlueValues).

§postscript_default_character: Option<String>

Name of default glyph in PFM files (postscriptDefaultCharacter).

§postscript_default_width_x: Option<IntegerOrFloat>

Default glyph width (postscriptDefaultWidthX).

§postscript_family_blues: Option<Vec<IntegerOrFloat>>

A collection of values that should be in the Type 1/CFF FamilyBlues field (postscriptFamilyBlues).

§postscript_family_other_blues: Option<Vec<IntegerOrFloat>>

A collection of values that should be in the Type 1/CFF FamilyOtherBlues field (postscriptFamilyOtherBlues).

§postscript_font_name: Option<String>

Type 1/CFF table FontName field (postscriptFontName).

§postscript_force_bold: Option<bool>

Boolean value that indicates how Type 1/CFF ForceBold should be set (postscriptForceBold).

§postscript_full_name: Option<String>

Type 1/CFF table FullName field (postscriptFullName).

§postscript_is_fixed_pitch: Option<bool>

Boolean that indicates if a font is monospaced (postscriptIsFixedPitch).

§postscript_nominal_width_x: Option<IntegerOrFloat>

Glyph nominal width (postscriptNominalWidthX).

§postscript_other_blues: Option<Vec<IntegerOrFloat>>

A collection of values that should be in the Type 1/CFF OtherBlues field (postscriptOtherBlues).

§postscript_slant_angle: Option<IntegerOrFloat>

Slant angle in counter-clockwise degrees from the vertical (postscriptSlantAngle).

§postscript_stem_snap_h: Option<Vec<IntegerOrFloat>>

A collection of horizontal stems sorted in the order specified in the Type 1/CFF specification (postscriptStemSnapH).

§postscript_stem_snap_v: Option<Vec<IntegerOrFloat>>

A collection of vertical stems sorted in the order specified in the Type 1/CFF specification (postscriptStemSnapV).

§postscript_underline_position: Option<IntegerOrFloat>

Underline position value (postscriptUnderlinePosition).

§postscript_underline_thickness: Option<IntegerOrFloat>

Underline thickness value (postscriptUnderlineThickness).

§postscript_unique_id: Option<Integer>

Unique ID as specified by the Type 1/CFF specification (postscriptUniqueID).

§postscript_weight_name: Option<String>

Overall font weight (postscriptWeightName).

§postscript_windows_character_set: Option<PostscriptWindowsCharacterSet>

Windows character set (postscriptWindowsCharacterSet).

§style_map_family_name: Option<String>

Family name in bold, italic, bold italic style mapping (styleMapFamilyName).

§style_map_style_name: Option<StyleMapStyle>

Style map style (styleMapStyleName).

§style_name: Option<String>

Style name (styleName).

§trademark: Option<String>

Trademark statement (trademark).

§units_per_em: Option<NonNegativeIntegerOrFloat>

Units per em (unitsPerEm).

§version_major: Option<Integer>

Major version number (versionMajor).

§version_minor: Option<NonNegativeInteger>

Minor version number (versionMinor).

§woff_major_version: Option<NonNegativeInteger>

Major version number (woffMajorVersion).

§woff_metadata_copyright: Option<WoffMetadataCopyright>

Font copyright (woffMetadataCopyright).

§woff_metadata_credits: Option<WoffMetadataCredits>

Font credits (woffMetadataCredits).

§woff_metadata_description: Option<WoffMetadataDescription>

Font description (woffMetadataDescription).

§woff_metadata_extensions: Option<Vec<WoffMetadataExtensionRecord>>

A collection of metadata extension records (woffMetadataExtensions).

§woff_metadata_license: Option<WoffMetadataLicense>

Font license (woffMetadataLicense).

§woff_metadata_licensee: Option<WoffMetadataLicensee>

Font licensee (woffMetadataLicensee).

§woff_metadata_trademark: Option<WoffMetadataTrademark>

Font trademark (woffMetadataTrademark).

§woff_metadata_unique_id: Option<WoffMetadataUniqueId>

Font unique ID (woffMetadataUniqueID).

§woff_metadata_vendor: Option<WoffMetadataVendor>

Font vendor (woffMetadataVendor).

§woff_minor_version: Option<NonNegativeInteger>

Minor version number (woffMinorVersion).

§x_height: Option<IntegerOrFloat>

x-height value (xHeight).

§year: Option<Integer>

Year that the font was created (year).

Implementations§

source§

impl FontInfo

source

pub fn is_empty(&self) -> bool

Returns false if this FontInfo has any non-default value, and true otherwise.

source

pub fn validate(&self) -> Result<(), FontInfoErrorKind>

Validates various fields according to the specification.

Trait Implementations§

source§

impl Clone for FontInfo

source§

fn clone(&self) -> FontInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FontInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for FontInfo

source§

fn default() -> FontInfo

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for FontInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for FontInfo

source§

fn eq(&self, other: &FontInfo) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for FontInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for FontInfo

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,