1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
//! cmap test data for scenarios not readily produced with ttx use crate::{be_buffer, bebuffer::BeBuffer}; /// Contains two codepoint ranges, both [6, 64]. Surely you don't duplicate them? pub fn repetitive_cmap4() -> BeBuffer { // <https://learn.microsoft.com/en-us/typography/opentype/spec/cmap#format-4-segment-mapping-to-delta-values> be_buffer! { 4_u16, // uint16 format 0_u16, // uint16 length, unused 0_u16, // uint16 language, unused 4_u16, // uint16 segCountX2, 2 * 2 segments 0_u16, // uint16 searchRange, unused 0_u16, // uint16 entrySelector, unused 0_u16, // uint16 rangeShift, unused // segCount endCode entries 64_u16, // uint16 endCode[0] 64_u16, // uint16 endCode[1] 0_u16, // uint16 reservedPad, unused // segCount startCode entries 6_u16, // uint16 startCode[0] 6_u16, // uint16 startCode[1] // segCount idDelta entries 0_u16, // uint16 idDelta[0] 0_u16, // uint16 idDelta[1] // segCount idRangeOffset entries 0_u16, // uint16 idRangeOffset[0] 0_u16 // uint16 idRangeOffset[1] // no glyphIdArray entries } }