Skip to main content

Subtable0

Struct Subtable0 

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

The type 0 kerx subtable.

Fields§

§data: FontData<'a>

Implementations§

Source§

impl<'a> Subtable0<'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 n_pairs(&self) -> u32

The number of kerning pairs in this subtable.

Source

pub fn search_range(&self) -> u32

The largest power of two less than or equal to the value of nPairs, multiplied by the size in bytes of an entry in the subtable.

Source

pub fn entry_selector(&self) -> u32

This is calculated as log2 of the largest power of two less than or equal to the value of nPairs. This value indicates how many iterations of the search loop have to be made. For example, in a list of eight items, there would be three iterations of the loop.

Source

pub fn range_shift(&self) -> u32

The value of nPairs minus the largest power of two less than or equal to nPairs. This is multiplied by the size in bytes of an entry in the table.

Source

pub fn pairs(&self) -> &'a [Subtable0Pair]

Kerning records.

Source

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

Source

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

Source

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

Source

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

Source

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

Source§

impl Subtable0<'_>

Source

pub fn kerning(&self, left: GlyphId, right: GlyphId) -> Option<i32>

Returns the kerning adjustment for the given pair.

Trait Implementations§

Source§

impl<'a> Clone for Subtable0<'a>

Source§

fn clone(&self) -> Subtable0<'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 Subtable0<'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<'a> MinByteRange<'a> for Subtable0<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Subtable0<'a>

§

impl<'a> RefUnwindSafe for Subtable0<'a>

§

impl<'a> Send for Subtable0<'a>

§

impl<'a> Sync for Subtable0<'a>

§

impl<'a> Unpin for Subtable0<'a>

§

impl<'a> UnsafeUnpin for Subtable0<'a>

§

impl<'a> UnwindSafe for Subtable0<'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.