pub struct os2 {Show 39 fields
pub version: uint16,
pub xAvgCharWidth: int16,
pub usWeightClass: uint16,
pub usWidthClass: uint16,
pub fsType: uint16,
pub ySubscriptXSize: int16,
pub ySubscriptYSize: int16,
pub ySubscriptXOffset: int16,
pub ySubscriptYOffset: int16,
pub ySuperscriptXSize: int16,
pub ySuperscriptYSize: int16,
pub ySuperscriptXOffset: int16,
pub ySuperscriptYOffset: int16,
pub yStrikeoutSize: int16,
pub yStrikeoutPosition: int16,
pub sFamilyClass: int16,
pub panose: Panose,
pub ulUnicodeRange1: uint32,
pub ulUnicodeRange2: uint32,
pub ulUnicodeRange3: uint32,
pub ulUnicodeRange4: uint32,
pub achVendID: Tag,
pub fsSelection: uint16,
pub usFirstCharIndex: uint16,
pub usLastCharIndex: uint16,
pub sTypoAscender: int16,
pub sTypoDescender: int16,
pub sTypoLineGap: int16,
pub usWinAscent: uint16,
pub usWinDescent: uint16,
pub ulCodePageRange1: Option<uint32>,
pub ulCodePageRange2: Option<uint32>,
pub sxHeight: Option<int16>,
pub sCapHeight: Option<int16>,
pub usDefaultChar: Option<uint16>,
pub usBreakChar: Option<uint16>,
pub usMaxContext: Option<uint16>,
pub usLowerOpticalPointSize: Option<uint16>,
pub usUpperOpticalPointSize: Option<uint16>,
}
Expand description
Represents a font’s OS/2 (OS/2 and Windows Metrics) table
Fields§
§version: uint16
Table version (between 0 and 5)
xAvgCharWidth: int16
Average width (xMax-xMin) of all non-empty glyphs
usWeightClass: uint16
Visual weight class (0-1000)
usWidthClass: uint16
Visual width class (1=Ultra-Condensed <-> 9=Ultra-Expanded)
fsType: uint16
Font embedding permissions bit field
ySubscriptXSize: int16
Horizontal size of subscript glyphs
ySubscriptYSize: int16
Vertical size of subscript glyphs
ySubscriptXOffset: int16
Horizontal offset of subscript glyphs
ySubscriptYOffset: int16
Vertical offset of subscript glyphs
ySuperscriptXSize: int16
Horizontal size of superscript glyphs
ySuperscriptYSize: int16
Vertical size of superscript glyphs
ySuperscriptXOffset: int16
Horizontal offset of superscript glyphs
ySuperscriptYOffset: int16
Vertical offset of superscript glyphs
yStrikeoutSize: int16
Thickness of strikeout dash (usually same as em dash thickness)
yStrikeoutPosition: int16
Strikeout dash position above baseline
sFamilyClass: int16
IBM font class parameter. See https://docs.microsoft.com/en-us/typography/opentype/spec/ibmfc.
panose: Panose
PANOSE metrics. See https://monotype.github.io/panose/pan1.htm.
ulUnicodeRange1: uint32
Supported unicode range (bitfield)
ulUnicodeRange2: uint32
Supported unicode range (bitfield)
ulUnicodeRange3: uint32
Supported unicode range (bitfield)
ulUnicodeRange4: uint32
Supported unicode range (bitfield)
achVendID: Tag
Registered vendor ID. See https://docs.microsoft.com/en-gb/typography/vendors/.
fsSelection: uint16
Font selection bitfield
usFirstCharIndex: uint16
Minimum Unicode codepoint supported by font
usLastCharIndex: uint16
Maximum Unicode codepoint supported by font
sTypoAscender: int16
Typographic ascender
sTypoDescender: int16
Typographic descender
sTypoLineGap: int16
Typographic line gap
usWinAscent: uint16
Windows clipping region ascender
usWinDescent: uint16
Windows clipping region descender (Usually positive!)
ulCodePageRange1: Option<uint32>
Bitfield of supported codepages (Version >=1)
ulCodePageRange2: Option<uint32>
Bitfield of supported codepages (Version >=1)
sxHeight: Option<int16>
x-Height (Version >= 2)
sCapHeight: Option<int16>
Cap height (Version >= 2)
usDefaultChar: Option<uint16>
GID used for undefined glyph (Version >= 2)
usBreakChar: Option<uint16>
GID used for word break glyph (Version >= 2)
usMaxContext: Option<uint16>
Length of largest contextual lookup (Version >= 2)
usLowerOpticalPointSize: Option<uint16>
Lowest supported optical point size. Deprecated, use STAT instead (Version >= 5)
usUpperOpticalPointSize: Option<uint16>
Highest supported optical point size. Deprecated, use STAT instead (Version >= 5)
Implementations§
Source§impl os2
impl os2
Sourcepub fn int_list_to_code_page_ranges(&mut self, bitlist: &[u8])
pub fn int_list_to_code_page_ranges(&mut self, bitlist: &[u8])
Populate ulCodePageRange fields using a
Sourcepub fn calc_code_page_ranges(&mut self, mapping: &BTreeMap<u32, u16>)
pub fn calc_code_page_ranges(&mut self, mapping: &BTreeMap<u32, u16>)
implementation based on ufo2ft: https://github.com/googlefonts/ufo2ft/blob/main/lib/ufo2ft/util.py#l307
Trait Implementations§
Source§impl Deserialize for os2
impl Deserialize for os2
fn from_bytes(c: &mut ReaderContext) -> Result<Self, DeserializationError>
impl StructuralPartialEq for os2
Auto Trait Implementations§
impl Freeze for os2
impl RefUnwindSafe for os2
impl Send for os2
impl Sync for os2
impl Unpin for os2
impl UnwindSafe for os2
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
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