Struct write_fonts::tables::cmap::Cmap4
source · pub struct Cmap4 {
pub length: u16,
pub language: u16,
pub seg_count_x2: u16,
pub search_range: u16,
pub entry_selector: u16,
pub range_shift: u16,
pub end_code: Vec<u16>,
pub start_code: Vec<u16>,
pub id_delta: Vec<i16>,
pub id_range_offsets: Vec<u16>,
pub glyph_id_array: Vec<u16>,
}Expand description
cmap Format 4: Segment mapping to delta values
Fields§
§length: u16This is the length in bytes of the subtable.
language: u16For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.
seg_count_x2: u162 × segCount.
search_range: u16Maximum power of 2 less than or equal to segCount, times 2 ((2floor(log2(segCount))) * 2, where “” is an exponentiation operator)
entry_selector: u16Log2 of the maximum power of 2 less than or equal to numTables (log2(searchRange/2), which is equal to floor(log2(segCount)))
range_shift: u16segCount times 2, minus searchRange ((segCount * 2) - searchRange)
end_code: Vec<u16>End characterCode for each segment, last=0xFFFF.
start_code: Vec<u16>Start character code for each segment.
id_delta: Vec<i16>Delta for all character codes in segment.
id_range_offsets: Vec<u16>Offsets into glyphIdArray or 0
glyph_id_array: Vec<u16>Glyph index array (arbitrary length)
Implementations§
Trait Implementations§
source§impl FontWrite for Cmap4
impl FontWrite for Cmap4
source§fn write_into(&self, writer: &mut TableWriter)
fn write_into(&self, writer: &mut TableWriter)
Write our data and information about offsets into this TableWriter.
fn name(&self) -> &'static str
Auto Trait Implementations§
impl RefUnwindSafe for Cmap4
impl Send for Cmap4
impl Sync for Cmap4
impl Unpin for Cmap4
impl UnwindSafe for Cmap4
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere U: FromObjRef<T>,
source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.