Type Alias PairPosFormat2

Source
pub type PairPosFormat2<'a> = TableRef<'a, PairPosFormat2Marker>;
Expand description

Pair Adjustment Positioning Format 2: Class Pair Adjustment

Aliased Type§

pub struct PairPosFormat2<'a> {
    pub(crate) shape: PairPosFormat2Marker,
    pub(crate) data: FontData<'a>,
}

Fields§

§shape: PairPosFormat2Marker§data: FontData<'a>

Implementations§

Source§

impl<'a> PairPosFormat2<'a>

Source

pub fn pos_format(&self) -> u16

Format identifier: format = 2

Source

pub fn coverage_offset(&self) -> Offset16

Offset to Coverage table, from beginning of PairPos subtable.

Source

pub fn coverage(&self) -> Result<CoverageTable<'a>, ReadError>

Attempt to resolve coverage_offset.

Source

pub fn value_format1(&self) -> ValueFormat

ValueRecord definition — for the first glyph of the pair (may be zero).

Source

pub fn value_format2(&self) -> ValueFormat

ValueRecord definition — for the second glyph of the pair (may be zero).

Source

pub fn class_def1_offset(&self) -> Offset16

Offset to ClassDef table, from beginning of PairPos subtable — for the first glyph of the pair.

Source

pub fn class_def1(&self) -> Result<ClassDef<'a>, ReadError>

Attempt to resolve class_def1_offset.

Source

pub fn class_def2_offset(&self) -> Offset16

Offset to ClassDef table, from beginning of PairPos subtable — for the second glyph of the pair.

Source

pub fn class_def2(&self) -> Result<ClassDef<'a>, ReadError>

Attempt to resolve class_def2_offset.

Source

pub fn class1_count(&self) -> u16

Number of classes in classDef1 table — includes Class 0.

Source

pub fn class2_count(&self) -> u16

Number of classes in classDef2 table — includes Class 0.

Source

pub fn class1_records(&self) -> ComputedArray<'a, Class1Record<'a>>

Array of Class1 records, ordered by classes in classDef1.

Source§

impl PairPosFormat2<'_>

Source

pub fn values( &self, class1: u16, class2: u16, context: &ValueContext<'_>, ) -> Result<[Value; 2], ReadError>

Returns the pair of values for the given classes, optionally accounting for variations.

The class1 and class2 parameters can be computed by passing the first and second glyphs of the pair to the ClassDefs returned by Self::class_def1 and Self::class_def2 respectively.

Trait Implementations§

Source§

impl<'a> Debug for PairPosFormat2<'a>

Source§

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

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

impl<'a> FontRead<'a> for PairPosFormat2<'a>

Source§

fn read(data: FontData<'a>) -> Result<Self, ReadError>

Read an instance of Self from the provided data, performing validation. Read more
Source§

impl Intersect for PairPosFormat2<'_>

Source§

fn intersects(&self, glyph_set: &IntSet<GlyphId>) -> Result<bool, ReadError>

Source§

impl<'a> SomeTable<'a> for PairPosFormat2<'a>

Source§

fn type_name(&self) -> &str

The name of this table
Source§

fn get_field(&self, idx: usize) -> Option<Field<'a>>

Access this table’s fields, in declaration order.