#ifndef KANDINSKY_FONTS_CODE_POINTS_H #define KANDINSKY_FONTS_CODE_POINTS_H // [0x30a].map{|i| "0x" + i.to_s(16) +", // " + [i].pack("U") + " // " + Unicode::Name.of([i].pack("U"))}.join("|") #include /* This array lists the code points that are rasterized by rasterizer.c. We put * most characters from the LATIN charset, and some mathematical characters. */ uint32_t SimpleCodePoints[] = { 0x20, // // SPACE 0x21, // ! // EXCLAMATION MARK 0x22, // " // QUOTATION MARK 0x23, // # // NUMBER SIGN 0x24, // $ // DOLLAR SIGN 0x25, // % // PERCENT SIGN 0x26, // & // AMPERSAND 0x27, // ' // APOSTROPHE 0x28, // ( // LEFT PARENTHESIS 0x29, // ) // RIGHT PARENTHESIS 0x2a, // * // ASTERISK 0x2b, // + // PLUS SIGN 0x2c, // , // COMMA 0x2d, // - // HYPHEN-MINUS 0x2e, // . // FULL STOP 0x2f, // / // SOLIDUS 0x30, // 0 // DIGIT ZERO 0x31, // 1 // DIGIT ONE 0x32, // 2 // DIGIT TWO 0x33, // 3 // DIGIT THREE 0x34, // 4 // DIGIT FOUR 0x35, // 5 // DIGIT FIVE 0x36, // 6 // DIGIT SIX 0x37, // 7 // DIGIT SEVEN 0x38, // 8 // DIGIT EIGHT 0x39, // 9 // DIGIT NINE 0x3a, // : // COLON 0x3b, // ; // SEMICOLON 0x3c, // < // LESS-THAN SIGN 0x3d, // = // EQUALS SIGN 0x3e, // > // GREATER-THAN SIGN 0x3f, // ? // QUESTION MARK 0x40, // @ // COMMERCIAL AT 0x41, // A // LATIN CAPITAL LETTER A 0x42, // B // LATIN CAPITAL LETTER B 0x43, // C // LATIN CAPITAL LETTER C 0x44, // D // LATIN CAPITAL LETTER D 0x45, // E // LATIN CAPITAL LETTER E 0x46, // F // LATIN CAPITAL LETTER F 0x47, // G // LATIN CAPITAL LETTER G 0x48, // H // LATIN CAPITAL LETTER H 0x49, // I // LATIN CAPITAL LETTER I 0x4a, // J // LATIN CAPITAL LETTER J 0x4b, // K // LATIN CAPITAL LETTER K 0x4c, // L // LATIN CAPITAL LETTER L 0x4d, // M // LATIN CAPITAL LETTER M 0x4e, // N // LATIN CAPITAL LETTER N 0x4f, // O // LATIN CAPITAL LETTER O 0x50, // P // LATIN CAPITAL LETTER P 0x51, // Q // LATIN CAPITAL LETTER Q 0x52, // R // LATIN CAPITAL LETTER R 0x53, // S // LATIN CAPITAL LETTER S 0x54, // T // LATIN CAPITAL LETTER T 0x55, // U // LATIN CAPITAL LETTER U 0x56, // V // LATIN CAPITAL LETTER V 0x57, // W // LATIN CAPITAL LETTER W 0x58, // X // LATIN CAPITAL LETTER X 0x59, // Y // LATIN CAPITAL LETTER Y 0x5a, // Z // LATIN CAPITAL LETTER Z 0x5b, // [ // LEFT SQUARE BRACKET 0x5c, // \ // REVERSE SOLIDUS 0x5d, // ] // RIGHT SQUARE BRACKET 0x5e, // ^ // CIRCUMFLEX ACCENT 0x5f, // _ // LOW LINE 0x60, // ` // GRAVE ACCENT 0x61, // a // LATIN SMALL LETTER A 0x62, // b // LATIN SMALL LETTER B 0x63, // c // LATIN SMALL LETTER C 0x64, // d // LATIN SMALL LETTER D 0x65, // e // LATIN SMALL LETTER E 0x66, // f // LATIN SMALL LETTER F 0x67, // g // LATIN SMALL LETTER G 0x68, // h // LATIN SMALL LETTER H 0x69, // i // LATIN SMALL LETTER I 0x6a, // j // LATIN SMALL LETTER J 0x6b, // k // LATIN SMALL LETTER K 0x6c, // l // LATIN SMALL LETTER L 0x6d, // m // LATIN SMALL LETTER M 0x6e, // n // LATIN SMALL LETTER N 0x6f, // o // LATIN SMALL LETTER O 0x70, // p // LATIN SMALL LETTER P 0x71, // q // LATIN SMALL LETTER Q 0x72, // r // LATIN SMALL LETTER R 0x73, // s // LATIN SMALL LETTER S 0x74, // t // LATIN SMALL LETTER T 0x75, // u // LATIN SMALL LETTER U 0x76, // v // LATIN SMALL LETTER V 0x77, // w // LATIN SMALL LETTER W 0x78, // x // LATIN SMALL LETTER X 0x79, // y // LATIN SMALL LETTER Y 0x7a, // z // LATIN SMALL LETTER Z 0x7b, // { // LEFT CURLY BRACKET 0x7c, // | // VERTICAL LINE 0x7d, // } // RIGHT CURLY BRACKET 0x7e, // ~ // TILDE 0xa1, // ¡ // INVERTED EXCLAMATION MARK 0xb0, // ° // DEGREE SIGN 0xb7, // · // MIDDLE DOT 0xc6, // Æ // LATIN CAPITAL LETTER AE 0xd0, // Ð // LATIN CAPITAL LETTER ETH 0xd7, // × // MULTIPLICATION SIGN 0xd8, // Ø // LATIN CAPITAL LETTER O WITH STROKE 0xde, // Þ // LATIN CAPITAL LETTER THORN 0xdf, // ß // LATIN SMALL LETTER SHARP S 0xe6, // æ // LATIN SMALL LETTER AE 0xf0, // ð // LATIN SMALL LETTER ETH 0xf7, // ÷ // DIVISION SIGN 0xf8, // ø // LATIN SMALL LETTER O WITH STROKE 0xfe, // þ // LATIN SMALL LETTER THORN 0x300, // ̀ // COMBINING GRAVE ACCENT 0x301, // ́ // COMBINING ACUTE ACCENT 0x302, // ̂ // COMBINING CIRCUMFLEX ACCENT 0x303, // ̃ // COMBINING TILDE 0x305, // ̅ // COMBINING OVERLINE 0x308, // ̈ // COMBINING DIAERESIS 0x30a, // ̊ // COMBINING RING ABOVE 0x30b, // ˝// COMBINING DOUBLE ACUTE ACCENT 0x327, // ̧ // COMBINING CEDILLA 0x393, // Γ // GREEK CAPITAL LETTER GAMMA 0x394, // Δ // GREEK CAPITAL LETTER DELTA 0x3a9, // Ω // GREEK CAPITAL LETTER OMEGA 0x3b8, // θ // GREEK SMALL LETTER THETA 0x3bb, // λ // GREEK SMALL LETTER LAMBDA 0x3bc, // μ // GREEK SMALL LETTER MU 0x3c0, // π // GREEK SMALL LETTER PI 0x3c3, // σ // GREEK SMALL LETTER SIGMA 0x1d07, // ᴇ // LATIN LETTER SMALL CAPITAL E 0x212f, // ℯ // SCRIPT SMALL E 0x2192, // → // RIGHTWARDS ARROW 0x2211, // ∑ // N-ARY SUMMATION 0x221a, // √ // SQUARE ROOT 0x221e, // ∞ // INFINITY 0x222b, // ∫ // INTEGRAL 0x2248, // ≈ // ALMOST EQUAL TO 0x2264, // ≤ // LESS-THAN OR EQUAL TO 0x2265, // ≥ // GREATER-THAN OR EQUAL TO 0xFFFD, // � // REPLACEMENT CHARACTER 0x1d422, // 𝐢 // MATHEMATICAL BOLD SMALL I" }; uint32_t ExtendedCodePoints[] = { 0x20, // // SPACE 0x21, // ! // EXCLAMATION MARK 0x22, // " // QUOTATION MARK 0x23, // # // NUMBER SIGN 0x24, // $ // DOLLAR SIGN 0x25, // % // PERCENT SIGN 0x26, // & // AMPERSAND 0x27, // ' // APOSTROPHE 0x28, // ( // LEFT PARENTHESIS 0x29, // ) // RIGHT PARENTHESIS 0x2a, // * // ASTERISK 0x2b, // + // PLUS SIGN 0x2c, // , // COMMA 0x2d, // - // HYPHEN-MINUS 0x2e, // . // FULL STOP 0x2f, // / // SOLIDUS 0x30, // 0 // DIGIT ZERO 0x31, // 1 // DIGIT ONE 0x32, // 2 // DIGIT TWO 0x33, // 3 // DIGIT THREE 0x34, // 4 // DIGIT FOUR 0x35, // 5 // DIGIT FIVE 0x36, // 6 // DIGIT SIX 0x37, // 7 // DIGIT SEVEN 0x38, // 8 // DIGIT EIGHT 0x39, // 9 // DIGIT NINE 0x3a, // : // COLON 0x3b, // ; // SEMICOLON 0x3c, // < // LESS-THAN SIGN 0x3d, // = // EQUALS SIGN 0x3e, // > // GREATER-THAN SIGN 0x3f, // ? // QUESTION MARK 0x40, // @ // COMMERCIAL AT 0x41, // A // LATIN CAPITAL LETTER A 0x42, // B // LATIN CAPITAL LETTER B 0x43, // C // LATIN CAPITAL LETTER C 0x44, // D // LATIN CAPITAL LETTER D 0x45, // E // LATIN CAPITAL LETTER E 0x46, // F // LATIN CAPITAL LETTER F 0x47, // G // LATIN CAPITAL LETTER G 0x48, // H // LATIN CAPITAL LETTER H 0x49, // I // LATIN CAPITAL LETTER I 0x4a, // J // LATIN CAPITAL LETTER J 0x4b, // K // LATIN CAPITAL LETTER K 0x4c, // L // LATIN CAPITAL LETTER L 0x4d, // M // LATIN CAPITAL LETTER M 0x4e, // N // LATIN CAPITAL LETTER N 0x4f, // O // LATIN CAPITAL LETTER O 0x50, // P // LATIN CAPITAL LETTER P 0x51, // Q // LATIN CAPITAL LETTER Q 0x52, // R // LATIN CAPITAL LETTER R 0x53, // S // LATIN CAPITAL LETTER S 0x54, // T // LATIN CAPITAL LETTER T 0x55, // U // LATIN CAPITAL LETTER U 0x56, // V // LATIN CAPITAL LETTER V 0x57, // W // LATIN CAPITAL LETTER W 0x58, // X // LATIN CAPITAL LETTER X 0x59, // Y // LATIN CAPITAL LETTER Y 0x5a, // Z // LATIN CAPITAL LETTER Z 0x5b, // [ // LEFT SQUARE BRACKET 0x5c, // \ // REVERSE SOLIDUS 0x5d, // ] // RIGHT SQUARE BRACKET 0x5e, // ^ // CIRCUMFLEX ACCENT 0x5f, // _ // LOW LINE 0x60, // ` // GRAVE ACCENT 0x61, // a // LATIN SMALL LETTER A 0x62, // b // LATIN SMALL LETTER B 0x63, // c // LATIN SMALL LETTER C 0x64, // d // LATIN SMALL LETTER D 0x65, // e // LATIN SMALL LETTER E 0x66, // f // LATIN SMALL LETTER F 0x67, // g // LATIN SMALL LETTER G 0x68, // h // LATIN SMALL LETTER H 0x69, // i // LATIN SMALL LETTER I 0x6a, // j // LATIN SMALL LETTER J 0x6b, // k // LATIN SMALL LETTER K 0x6c, // l // LATIN SMALL LETTER L 0x6d, // m // LATIN SMALL LETTER M 0x6e, // n // LATIN SMALL LETTER N 0x6f, // o // LATIN SMALL LETTER O 0x70, // p // LATIN SMALL LETTER P 0x71, // q // LATIN SMALL LETTER Q 0x72, // r // LATIN SMALL LETTER R 0x73, // s // LATIN SMALL LETTER S 0x74, // t // LATIN SMALL LETTER T 0x75, // u // LATIN SMALL LETTER U 0x76, // v // LATIN SMALL LETTER V 0x77, // w // LATIN SMALL LETTER W 0x78, // x // LATIN SMALL LETTER X 0x79, // y // LATIN SMALL LETTER Y 0x7a, // z // LATIN SMALL LETTER Z 0x7b, // { // LEFT CURLY BRACKET 0x7c, // | // VERTICAL LINE 0x7d, // } // RIGHT CURLY BRACKET 0x7e, // ~ // TILDE 0xb0, // ° // DEGREE SIGN 0xb1, // ± // PLUS OR MINUS 0xb7, // · // MIDDLE DOT 0xc6, // Æ // LATIN CAPITAL LETTER AE 0xd0, // Ð // LATIN CAPITAL LETTER ETH 0xd7, // × // MULTIPLICATION SIGN 0xd8, // Ø // LATIN CAPITAL LETTER O WITH STROKE 0xde, // Þ // LATIN CAPITAL LETTER THORN 0xdf, // ß // LATIN SMALL LETTER SHARP S 0xe6, // æ // LATIN SMALL LETTER AE 0xf0, // ð // LATIN SMALL LETTER ETH 0xf7, // ÷ // DIVISION SIGN 0xf8, // ø // LATIN SMALL LETTER O WITH STROKE 0xfe, // þ // LATIN SMALL LETTER THORN 0x192, // ƒ // LATIN SMALL LETTER F WITH HOOK 0x300, // ̀ // COMBINING GRAVE ACCENT 0x301, // ́ // COMBINING ACUTE ACCENT 0x302, // ̂ // COMBINING CIRCUMFLEX ACCENT 0x303, // ̃ // COMBINING TILDE 0x305, // ̅ // COMBINING OVERLINE 0x308, // ̈ // COMBINING DIAERESIS 0x30a, // ̊ // COMBINING RING ABOVE 0x30b, // ˝// COMBINING DOUBLE ACUTE ACCENT 0x327, // ̧ // COMBINING CEDILLA 0x391, // Α // GREEK CAPITAL LETTER ALPHA 0x392, // Β // GREEK CAPITAL LETTER BETA 0x393, // Γ // GREEK CAPITAL LETTER GAMMA 0x394, // Δ // GREEK CAPITAL LETTER DELTA 0x395, // Ε // GREEK CAPITAL LETTER EPSILON 0x396, // Ζ // GREEK CAPITAL LETTER ZETA 0x397, // Η // GREEK CAPITAL LETTER ETA 0x398, // Θ // GREEK CAPITAL LETTER THETA 0x399, // Ι // GREEK CAPITAL LETTER IOTA 0x39a, // Κ // GREEK CAPITAL LETTER KAPPA 0x39b, // Λ // GREEK CAPITAL LETTER LAMBDA 0x39c, // Μ // GREEK CAPITAL LETTER MU 0x39d, // Ν // GREEK CAPITAL LETTER NU 0x39e, // Ξ // GREEK CAPITAL LETTER KSI 0x39f, // Ο // GREEK CAPITAL LETTER OMICRON 0x3a0, // Π // GREEK CAPITAL LETTER PI 0x3a1, // Ρ // GREEK CAPITAL LETTER RHO 0x3a3, // Σ // GREEK CAPITAL LETTER SIGMA 0x3a4, // Τ // GREEK CAPITAL LETTER TAU 0x3a5, // Υ // GREEK CAPITAL LETTER UPSILON 0x3a6, // Φ // GREEK CAPITAL LETTER PHI 0x3a7, // Χ // GREEK CAPITAL LETTER KHI 0x3a8, // Ψ // GREEK CAPITAL LETTER PSI 0x3a9, // Ω // GREEK CAPITAL LETTER OMEGA 0x3b1, // α // GREEK SMALL LETTER ALPHA 0x3b2, // β // GREEK SMALL LETTER BETA 0x3b3, // γ // GREEK SMALL LETTER GAMMA 0x3b4, // δ // GREEK SMALL LETTER DELTA 0x3b5, // ε // GREEK SMALL LETTER EPSILON 0x3b6, // ζ // GREEK SMALL LETTER ZETA 0x3b7, // η // GREEK SMALL LETTER ETA 0x3b8, // θ // GREEK SMALL LETTER THETA 0x3b9, // ι // GREEK SMALL LETTER IOTA 0x3ba, // κ // GREEK SMALL LETTER KAPPA 0x3bb, // λ // GREEK SMALL LETTER LAMBDA 0x3bc, // μ // GREEK SMALL LETTER MU 0x3bd, // ν // GREEK SMALL LETTER NU 0x3be, // ξ // GREEK SMALL LETTER KSI 0x3bf, // ο // GREEK SMALL LETTER OMICRON 0x3c0, // π // GREEK SMALL LETTER PI 0x3c1, // ρ // GREEK SMALL LETTER RHO 0x3c3, // σ // GREEK SMALL LETTER SIGMA 0x3c4, // τ // GREEK SMALL LETTER TAU 0x3c5, // υ // GREEK SMALL LETTER UPSILON 0x3c6, // φ // GREEK SMALL LETTER PHI 0x3c7, // χ // GREEK SMALL LETTER KHI 0x3c8, // ψ // GREEK SMALL LETTER PSI 0x3c9, // ω // GREEK SMALL LETTER OMEGA 0x454, // є // CYRILLIC SMALL LETTER UKRAINIAN LE - SMALL IN (in) 0x1d07, // ᴇ // LATIN LETTER SMALL CAPITAL E 0x2026, // … // HORIZONTAL ELLIPSIS 0x212f, // ℯ // SCRIPT SMALL E 0x2190, // ← // BACKWARD ARROW (leftarrow) 0x2191, // ↑ // TOP ARROW (uparrow) 0x2192, // → // FORWARD ARROW (rightarrow) 0x2193, // ↓ // BOTTOM ARROW (downarrow) 0x2194, // ↔ // BACKWARD FORWARD ARROW (leftrightarrow) 0x2195, // ↕ // TOP BOTTOM ARROW (updownarrow) 0x2196, // ↖ // NORDWEST ARROW (nwarrow) 0x2197, // ↗ // NORDEST ARROW (nearrow) 0x2198, // ↘ // SOUTHWEST ARROW (swarrow) 0x2199, // ↙ // SOUTHEST ARROW (searrow) 0x21d0, // ⇐ // DOUBLE BACKWARD ARROW (Leftarrow) 0x21d1, // ⇑ // DOUBLE TOP ARROW (Uparrow) 0x21d2, // ⇒ // DOUBLE FORWARD ARROW (Rightarrow) 0x21d3, // ⇓ // DOUBLE BOTTOM ARROW (Downarrow) 0x2200, // ∀ // FORALL 0x2202, // ∂ // PARTIAL 0x2203, // ∃ // EXISTS (exists) 0x2204, // ∄ // NOT EXISTS (nexists) 0x2208, // ∈ // BIG IN (In) 0x2209, // ∉ // BIG NOT IN (Notin) 0x2211, // ∑ // N-ARY SUMMATION 0x221a, // √ // SQUARE ROOT 0x221e, // ∞ // INFINITY 0x2229, // ∩ // SMALL INTERSECTION (cap) 0x222a, // ∪ // SMALL UNION (cup) 0x222b, // ∫ // INTEGRAL 0x2248, // ≈ // ALMOST EQUAL TO 0x2260, // ≠ // NOT EQUAL TO 0x2261, // ≡ // IS CONGRUENT TO 0x2264, // ≤ // LESS-THAN OR EQUAL TO 0x2265, // ≥ // GREATER-THAN OR EQUAL TO 0x2282, // ⊂ // IS INCLUDED (subset) 0x2284, // ⊄ // IS NOT INCLUDED (nsubset) 0x22c2, // ⋂ // BIG INTERSECTION (Cap) 0x22c3, // ⋃ // BIG UNION (Cup) 0x2505, // ┅ // BOX DRAWING EQU HEAVY DASH HORIZONTAL 0x27e6, // ⟦ // MATHEMATICAL LEFT INT BRACKET SET 0x27e7, // ⟧ // MATHEMATICAL RIGHT INT BRACKET SET 0xFFFD, // � // REPLACEMENT CHARACTER 0x1d422, // 𝐢 // MATHEMATICAL BOLD SMALL I" }; int NumberOfSimpleCodePoints = sizeof(SimpleCodePoints)/sizeof(SimpleCodePoints[0]); int NumberOfExtendedCodePoints = sizeof(ExtendedCodePoints)/sizeof(ExtendedCodePoints[0]); #endif