font_test_data/cmap.rs
//! cmap test data for scenarios not readily produced with ttx
use read_fonts::{be_buffer, be_buffer_add, test_helpers::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
}
}