Skip to main content

Cmap

Struct Cmap 

Source
pub struct Cmap<'a> { /* private fields */ }
Expand description

Implementations§

Source§

impl<'a> Cmap<'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 version(&self) -> u16

Table version number (0).

Source

pub fn num_tables(&self) -> u16

Number of encoding tables that follow.

Source

pub fn encoding_records(&self) -> &'a [EncodingRecord]

Source

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

Source

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

Source

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

Source§

impl<'a> Cmap<'a>

Source

pub fn map_codepoint(&self, codepoint: impl Into<u32>) -> Option<GlyphId>

Map a codepoint to a nominal glyph identifier

This uses the first available subtable that provides a valid mapping.

§Note:

Mapping logic is currently only implemented for the most common subtable formats.

Source

pub fn best_subtable(&self) -> Option<(u16, EncodingRecord, CmapSubtable<'a>)>

Returns the index, encoding record and subtable for the most comprehensive mapping available.

Comprehensive means that tables capable of mapping the Unicode full repertoire are chosen over those that only support the basic multilingual plane. The exception is that symbol mappings are preferred above all others (see https://github.com/harfbuzz/harfbuzz/issues/1918).

Source

pub fn uvs_subtable(&self) -> Option<(u16, Cmap14<'a>)>

Returns the index and subtable for the first mapping capable of handling Unicode variation sequences.

This is always a format 14 subtable.

Source

pub fn subtable(&self, index: u16) -> Result<CmapSubtable<'a>, ReadError>

Returns the subtable at the given index.

Source

pub fn closure_glyphs( &self, unicodes: &IntSet<u32>, glyph_set: &mut IntSet<GlyphId>, )

Available on crate feature std only.

Trait Implementations§

Source§

impl<'a> Clone for Cmap<'a>

Source§

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

Source§

impl TopLevelTable for Cmap<'_>

Source§

const TAG: Tag

cmap

Auto Trait Implementations§

§

impl<'a> Freeze for Cmap<'a>

§

impl<'a> RefUnwindSafe for Cmap<'a>

§

impl<'a> Send for Cmap<'a>

§

impl<'a> Sync for Cmap<'a>

§

impl<'a> Unpin for Cmap<'a>

§

impl<'a> UnsafeUnpin for Cmap<'a>

§

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