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