function buildMap( upperStart: number, lowerStart: number, digitStart?: number ): Record { const map: Record = {}; for (let i = 0; i < 26; i++) { map[String.fromCharCode(65 + i)] = String.fromCodePoint(upperStart + i); map[String.fromCharCode(97 + i)] = String.fromCodePoint(lowerStart + i); } if (digitStart !== undefined) { for (let i = 0; i < 10; i++) { map[String.fromCharCode(48 + i)] = String.fromCodePoint(digitStart + i); } } return map; } // Sans-Serif Bold: U+1D5D4–U+1D5ED (upper), U+1D5EE–U+1D607 (lower), U+1D7EC–U+1D7F5 (digits) export const BOLD_MAP: Record = buildMap(0x1D5D4, 0x1D5EE, 0x1D7EC); // Sans-Serif Italic: U+1D608–U+1D621 (upper), U+1D622–U+1D63B (lower) export const ITALIC_MAP: Record = buildMap(0x1D608, 0x1D622); // Sans-Serif Bold-Italic: U+1D63C–U+1D655 (upper), U+1D656–U+1D66F (lower) export const BOLD_ITALIC_MAP: Record = buildMap(0x1D63C, 0x1D656);