Skip to main content

UnicodeCharmap

Struct UnicodeCharmap 

Source
pub struct UnicodeCharmap {
    mapping: Vec<(u32, GlyphId)>,
}
Expand description

A Unicode charmap built from glyph names.

Building one depends on the agl feature.

Fields§

§mapping: Vec<(u32, GlyphId)>

Implementations§

Source§

impl UnicodeCharmap

Source

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

Returns the glyph id for the given character.

A base glyph is preferred, and a variant is used where the font has no base glyph for the character.

Source

pub(crate) fn next_char(&self, ch: u32) -> Option<(u32, GlyphId)>

Source

fn search(&self, ch: u32, wrapping_index: bool) -> (Option<GlyphId>, usize)

Searches for ch as FreeType does, returning the glyph found and the index of the first entry at or above ch.

The search keeps a variant until it finds the base glyph, and after each step predicts the next entry as in a run of consecutive characters. Where several glyphs share a character, the predictions decide which is found. A step below the current entry is a large unsigned step forwards. char_next keeps a 32 bit index, so the step wraps around to the entry below. char_index keeps a pointer, which wraps the same way on 32 bit targets and lands past the end on 64 bit ones, so its results depend on the target.

Source

pub fn iter(&self) -> impl Iterator<Item = (u32, GlyphId)> + Clone + '_

Returns each character and its glyph, in character order.

A variant glyph, such as A.alt, has the high bit set on its character, and follows any base glyph for the character.

Trait Implementations§

Source§

impl Clone for UnicodeCharmap

Source§

fn clone(&self) -> UnicodeCharmap

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UnicodeCharmap

Source§

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

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

impl Default for UnicodeCharmap

Source§

fn default() -> UnicodeCharmap

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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<T> ErasedDestructor for T
where T: 'static,

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