Skip to main content

PairPosFormat2

Struct PairPosFormat2 

Source
pub struct PairPosFormat2<'a> {
    data: FontData<'a>,
}
Expand description

Pair Adjustment Positioning Format 2: Class Pair Adjustment

Fields§

§data: FontData<'a>

Implementations§

Source§

impl<'a> PairPosFormat2<'a>

Source

pub const MIN_SIZE: usize

Source

pub fn resolve_offset<O: Offset, R: FontRead<'a>>( &self, offset: O, ) -> Result<R, ReadError>

Resolve the provided offset from the start of this table.

Source

pub fn offset_data(&self) -> FontData<'a>

Return a reference to this table’s raw data.

We use this in the compile crate to resolve offsets.

Source

pub fn shape(&self) -> &Self

👎Deprecated: just use the base type directly

Return a reference to the table’s ‘Shape’ struct.

This is a low level implementation detail, but it can be useful in some cases where you want to know things about a table’s layout, such as the byte offsets of specific fields.

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

pub fn pos_format_byte_range(&self) -> Range<usize>

Source

pub fn coverage_offset_byte_range(&self) -> Range<usize>

Source

pub fn value_format1_byte_range(&self) -> Range<usize>

Source

pub fn value_format2_byte_range(&self) -> Range<usize>

Source

pub fn class_def1_offset_byte_range(&self) -> Range<usize>

Source

pub fn class_def2_offset_byte_range(&self) -> Range<usize>

Source

pub fn class1_count_byte_range(&self) -> Range<usize>

Source

pub fn class2_count_byte_range(&self) -> Range<usize>

Source

pub fn class1_records_byte_range(&self) -> Range<usize>

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> Clone for PairPosFormat2<'a>

Source§

fn clone(&self) -> PairPosFormat2<'a>

Returns a duplicate 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<'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 Format<u16> for PairPosFormat2<'_>

Source§

const FORMAT: u16 = 2

The format value for this table.
Source§

impl Intersect for PairPosFormat2<'_>

Source§

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

Source§

impl<'a> MinByteRange<'a> for PairPosFormat2<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for PairPosFormat2<'a>

§

impl<'a> RefUnwindSafe for PairPosFormat2<'a>

§

impl<'a> Send for PairPosFormat2<'a>

§

impl<'a> Sync for PairPosFormat2<'a>

§

impl<'a> Unpin for PairPosFormat2<'a>

§

impl<'a> UnsafeUnpin for PairPosFormat2<'a>

§

impl<'a> UnwindSafe for PairPosFormat2<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<'a, T> FontReadWithArgs<'a> for T
where T: FontRead<'a>,

Source§

fn read_with_args( data: FontData<'a>, _: &<T as ReadArgs>::Args, ) -> Result<T, ReadError>

read an item, using the provided args. 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<'a, T> ReadArgs for T
where T: FontRead<'a>,

Source§

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

Source§

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>,

Source§

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>,

Source§

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.