Include superscripts and subscripts in the builtin fonts

This commit is contained in:
cor
2026-01-05 00:08:13 +01:00
parent d2f90c3b75
commit 77d4ce1ab3
53 changed files with 22613 additions and 18159 deletions

View File

@@ -7,7 +7,7 @@
#pragma once
#include "EpdFontData.h"
static const uint8_t opendyslexic_8_regularBitmaps[24726] = {
static const uint8_t opendyslexic_8_regularBitmaps[24982] = {
0x01, 0x01, 0xC0, 0xB0, 0x2C, 0x0B, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x05,
0x01, 0x43, 0xF0, 0xFC, 0x3F, 0x00, 0x14, 0x05, 0x0F, 0x8B, 0xC3, 0xD2, 0xF0, 0xF0, 0xF8, 0x3D,
0x3E, 0x0A, 0x0A, 0x40, 0x00, 0x1C, 0x07, 0x00, 0x00, 0x0B, 0x02, 0xC0, 0x00, 0x03, 0xC0, 0xF0,
@@ -1428,7 +1428,23 @@ static const uint8_t opendyslexic_8_regularBitmaps[24726] = {
0x01, 0xC0, 0x00, 0x28, 0x00, 0x03, 0x40, 0x00, 0x70, 0x0B, 0x4B, 0x00, 0xF4, 0xE0, 0x0A, 0x4D,
0x00, 0x01, 0xC0, 0x00, 0x3C, 0x00, 0x03, 0x80, 0x00, 0x70, 0x00, 0x0B, 0x00, 0x00, 0xE0, 0x00,
0x1D, 0x78, 0x02, 0xCB, 0xC0, 0x3C, 0xA8, 0x03, 0x80, 0x00, 0x74, 0x00, 0x0F, 0x00, 0x00, 0xE0,
0x00, 0x1D, 0x00, 0x02, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0x00, 0x1D, 0x00, 0x02, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x41, 0x45, 0x62,
0x72, 0x8F, 0xC0, 0x40, 0x00, 0x01, 0x80, 0xA0, 0x8C, 0x7F, 0x80, 0xC0, 0x2A, 0x08, 0x02, 0x00,
0xA8, 0x02, 0x8F, 0xD0, 0x00, 0x06, 0x08, 0x02, 0x91, 0xC6, 0x31, 0x8B, 0xC0, 0x00, 0x2A, 0x40,
0x20, 0x18, 0x0D, 0x03, 0x01, 0xC0, 0x60, 0x04, 0x08, 0x53, 0x14, 0x7C, 0x30, 0x9C, 0x71, 0xA0,
0x05, 0x08, 0x95, 0x08, 0xC7, 0x1E, 0xC0, 0x63, 0xF0, 0x00, 0x10, 0x03, 0xFF, 0xD0, 0x3E, 0x0B,
0x03, 0xC0, 0x34, 0x3C, 0x03, 0x83, 0xC0, 0x38, 0x3C, 0x03, 0xC7, 0xC0, 0x3C, 0x7C, 0x03, 0xC7,
0xC0, 0x7C, 0x01, 0x40, 0x21, 0x82, 0x42, 0x0C, 0x85, 0x33, 0x68, 0xC0, 0xA3, 0x87, 0x4B, 0xFC,
0x0B, 0xD0, 0x04, 0x0B, 0x00, 0xC0, 0x30, 0x0C, 0x07, 0x07, 0xF4, 0x19, 0x04, 0x90, 0x18, 0x0D,
0x0B, 0x0F, 0x43, 0xF8, 0x15, 0x00, 0x50, 0x14, 0x2C, 0x01, 0x84, 0xA3, 0xF0, 0x00, 0x01, 0x80,
0xA0, 0x8C, 0x7F, 0x80, 0xC0, 0x30, 0x2A, 0x04, 0x01, 0x00, 0xA8, 0x02, 0x5F, 0xC0, 0x00, 0x06,
0x48, 0x02, 0x91, 0xC6, 0x60, 0xCC, 0x61, 0xF0, 0x2A, 0x40, 0x60, 0x24, 0x0D, 0x03, 0x01, 0xC0,
0x60, 0x04, 0x02, 0x14, 0x31, 0x81, 0xF0, 0x30, 0xC7, 0x1C, 0x1A, 0x00, 0x05, 0x08, 0x95, 0x08,
0xC7, 0x1E, 0xC0, 0x63, 0xF0, 0x00, 0xC0, 0x28, 0x03, 0x00, 0xB0, 0x0D, 0x01, 0xC0, 0x2C, 0x03,
0x80, 0x34, 0x03, 0x40, 0x74, 0x07, 0x40, 0x34, 0x03, 0x40, 0x38, 0x03, 0xC0, 0x2C, 0x01, 0xD0,
0x0F, 0x00, 0xB0, 0x07, 0x80, 0x3C, 0x00, 0x40, 0x34, 0x01, 0xC0, 0x0D, 0x00, 0xB0, 0x03, 0x40,
0x38, 0x02, 0xC0, 0x1C, 0x00, 0xD0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xD0, 0x0D, 0x01, 0xC0, 0x2C,
0x03, 0xC0, 0x38, 0x0B, 0x40, 0xF0, 0x1E, 0x03, 0xC0, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0x0D, 0x00, 0x0B, 0x0C, 0x00, 0x0E, 0x2C, 0x00, 0x0F, 0xFD, 0x00, 0xBF, 0xFD, 0x02, 0xFC, 0x70,
0x07, 0xF8, 0xB0, 0x0F, 0x74, 0xE0, 0x1F, 0x70, 0xD0, 0x2E, 0xB1, 0xC0, 0x2D, 0xE2, 0xC0, 0x3F,
0xD3, 0x80, 0x3F, 0xC3, 0x40, 0x2F, 0xD7, 0x00, 0x1F, 0xFF, 0xFD, 0x0F, 0xFF, 0xFD, 0x07, 0xFF,
@@ -2211,57 +2227,77 @@ static const EpdGlyph opendyslexic_8_regularGlyphs[] = {
{ 13, 20, 13, 0, 19, 65, 22601 }, // ⁉
{ 10, 26, 12, 1, 18, 65, 22666 }, // ⁒
{ 0, 0, 80, 0, 0, 0, 22731 }, //
{ 12, 23, 17, 2, 19, 69, 22731 }, //
{ 12, 17, 17, 2, 16, 51, 22800 }, //
{ 11, 16, 12, 0, 16, 44, 22851 }, //
{ 16, 15, 18, 1, 15, 60, 22895 }, //
{ 13, 15, 15, 1, 15, 49, 22955 }, //
{ 17, 15, 19, 2, 15, 64, 23004 }, //
{ 14, 15, 14, 0, 15, 53, 23068 }, //
{ 14, 13, 18, 2, 13, 46, 23121 }, //
{ 11, 14, 11, 1, 14, 39, 23167 }, //
{ 11, 16, 12, 1, 14, 44, 23206 }, //
{ 12, 14, 18, 3, 14, 42, 23250 }, //
{ 15, 15, 11, 0, 15, 57, 23292 }, //
{ 14, 21, 19, 2, 18, 74, 23349 }, //
{ 15, 16, 15, 1, 15, 60, 23423 }, //
{ 8, 13, 12, 2, 12, 26, 23483 }, //
{ 12, 15, 18, 3, 15, 45, 23509 }, //
{ 8, 13, 10, 1, 13, 26, 23554 }, //
{ 10, 13, 11, 1, 12, 33, 23580 }, //
{ 11, 13, 10, 0, 13, 36, 23613 }, //
{ 14, 15, 15, -1, 15, 53, 23649 }, //
{ 11, 11, 13, 1, 10, 31, 23702 }, //
{ 11, 10, 13, 1, 10, 28, 23733 }, //
{ 11, 11, 13, 1, 10, 31, 23761 }, //
{ 11, 10, 13, 1, 10, 28, 23792 }, //
{ 13, 9, 15, 1, 9, 30, 23820 }, //
{ 9, 13, 11, 1, 14, 30, 23850 }, //
{ 9, 8, 11, 1, 8, 18, 23880 }, //
{ 9, 8, 11, 1, 8, 18, 23898 }, //
{ 9, 9, 11, 1, 9, 21, 23916 }, //
{ 9, 9, 11, 1, 9, 21, 23937 }, //
{ 12, 11, 14, 1, 10, 33, 23958 }, //
{ 13, 12, 15, 1, 12, 39, 23991 }, //
{ 12, 11, 14, 1, 10, 33, 24030 }, //
{ 13, 13, 15, 1, 12, 43, 24063 }, //
{ 14, 11, 16, 1, 10, 39, 24106 }, //
{ 11, 14, 13, 1, 9, 39, 24145 }, //
{ 10, 14, 11, 1, 14, 35, 24184 }, //
{ 17, 17, 19, 1, 16, 73, 24219 }, //
{ 12, 13, 14, 1, 13, 39, 24292 }, //
{ 10, 12, 12, 1, 12, 30, 24331 }, //
{ 10, 12, 12, 1, 12, 30, 24361 }, //
{ 8, 13, 10, 1, 12, 26, 24391 }, //
{ 8, 3, 10, 1, 6, 6, 24417 }, //
{ 14, 14, 16, 1, 13, 49, 24423 }, //
{ 13, 8, 15, 1, 10, 26, 24472 }, //
{ 14, 19, 14, 0, 15, 67, 24498 }, //
{ 4, 10, 5, 0, 10, 10, 24565 }, //
{ 10, 9, 13, 1, 9, 23, 24575 }, //
{ 11, 15, 18, 4, 13, 42, 24598 }, //
{ 13, 13, 14, 1, 12, 43, 24640 }, //
{ 13, 13, 14, 1, 12, 43, 24683 }, //
{ 5, 7, 5, 0, 14, 9, 22731 }, //
{ 5, 6, 5, 0, 14, 8, 22740 }, //
{ 5, 7, 5, 0, 14, 9, 22748 }, //
{ 5, 7, 5, 0, 14, 9, 22757 }, //
{ 5, 7, 6, 0, 14, 9, 22766 }, //
{ 5, 7, 6, 0, 14, 9, 22775 }, //
{ 5, 7, 6, 0, 14, 9, 22784 }, //
{ 10, 10, 14, 2, 10, 25, 22793 }, //
{ 7, 9, 8, 0, 9, 16, 22818 }, //
{ 5, 7, 5, 0, 4, 9, 22834 }, //
{ 5, 7, 5, 0, 4, 9, 22843 }, //
{ 5, 7, 5, 0, 4, 9, 22852 }, //
{ 5, 7, 6, 0, 4, 9, 22861 }, //
{ 5, 7, 5, 0, 4, 9, 22870 }, //
{ 5, 7, 6, 0, 4, 9, 22879 }, //
{ 5, 7, 5, 0, 4, 9, 22888 }, //
{ 6, 7, 6, 0, 4, 11, 22897 }, //
{ 5, 7, 6, 0, 4, 9, 22908 }, //
{ 6, 23, 7, 1, 17, 35, 22917 }, //
{ 6, 23, 7, 0, 17, 35, 22952 }, //
{ 12, 23, 17, 2, 19, 69, 22987 }, //
{ 12, 17, 17, 2, 16, 51, 23056 }, //
{ 11, 16, 12, 0, 16, 44, 23107 }, //
{ 16, 15, 18, 1, 15, 60, 23151 }, //
{ 13, 15, 15, 1, 15, 49, 23211 }, //
{ 17, 15, 19, 2, 15, 64, 23260 }, //
{ 14, 15, 14, 0, 15, 53, 23324 }, //
{ 14, 13, 18, 2, 13, 46, 23377 }, //
{ 11, 14, 11, 1, 14, 39, 23423 }, //
{ 11, 16, 12, 1, 14, 44, 23462 }, //
{ 12, 14, 18, 3, 14, 42, 23506 }, //
{ 15, 15, 11, 0, 15, 57, 23548 }, //
{ 14, 21, 19, 2, 18, 74, 23605 }, //
{ 15, 16, 15, 1, 15, 60, 23679 }, //
{ 8, 13, 12, 2, 12, 26, 23739 }, //
{ 12, 15, 18, 3, 15, 45, 23765 }, //
{ 8, 13, 10, 1, 13, 26, 23810 }, //
{ 10, 13, 11, 1, 12, 33, 23836 }, //
{ 11, 13, 10, 0, 13, 36, 23869 }, //
{ 14, 15, 15, -1, 15, 53, 23905 }, //
{ 11, 11, 13, 1, 10, 31, 23958 }, //
{ 11, 10, 13, 1, 10, 28, 23989 }, //
{ 11, 11, 13, 1, 10, 31, 24017 }, //
{ 11, 10, 13, 1, 10, 28, 24048 }, //
{ 13, 9, 15, 1, 9, 30, 24076 }, //
{ 9, 13, 11, 1, 14, 30, 24106 }, //
{ 9, 8, 11, 1, 8, 18, 24136 }, //
{ 9, 8, 11, 1, 8, 18, 24154 }, //
{ 9, 9, 11, 1, 9, 21, 24172 }, //
{ 9, 9, 11, 1, 9, 21, 24193 }, //
{ 12, 11, 14, 1, 10, 33, 24214 }, //
{ 13, 12, 15, 1, 12, 39, 24247 }, // ⇑
{ 12, 11, 14, 1, 10, 33, 24286 }, // ⇒
{ 13, 13, 15, 1, 12, 43, 24319 }, // ⇓
{ 14, 11, 16, 1, 10, 39, 24362 }, // ⇔
{ 11, 14, 13, 1, 9, 39, 24401 }, // ⇕
{ 10, 14, 11, 1, 14, 35, 24440 }, // ∂
{ 17, 17, 19, 1, 16, 73, 24475 }, // ∅
{ 12, 13, 14, 1, 13, 39, 24548 }, // ∆
{ 10, 12, 12, 1, 12, 30, 24587 }, // ∏
{ 10, 12, 12, 1, 12, 30, 24617 }, // ∐
{ 8, 13, 10, 1, 12, 26, 24647 }, // ∑
{ 8, 3, 10, 1, 6, 6, 24673 }, //
{ 14, 14, 16, 1, 13, 49, 24679 }, // √
{ 13, 8, 15, 1, 10, 26, 24728 }, // ∞
{ 14, 19, 14, 0, 15, 67, 24754 }, // ∫
{ 4, 10, 5, 0, 10, 10, 24821 }, //
{ 10, 9, 13, 1, 9, 23, 24831 }, // ≈
{ 11, 15, 18, 4, 13, 42, 24854 }, // ≠
{ 13, 13, 14, 1, 12, 43, 24896 }, // ≤
{ 13, 13, 14, 1, 12, 43, 24939 }, // ≥
};
static const EpdUnicodeInterval opendyslexic_8_regularIntervals[] = {
@@ -2297,33 +2333,37 @@ static const EpdUnicodeInterval opendyslexic_8_regularIntervals[] = {
{ 0x2047, 0x2049, 0x289 },
{ 0x2052, 0x2052, 0x28C },
{ 0x205F, 0x205F, 0x28D },
{ 0x20A1, 0x20A2, 0x28E },
{ 0x20A4, 0x20A4, 0x290 },
{ 0x20A6, 0x20AC, 0x291 },
{ 0x20AE, 0x20AE, 0x298 },
{ 0x20B1, 0x20B2, 0x299 },
{ 0x20B4, 0x20B5, 0x29B },
{ 0x20B8, 0x20BA, 0x29D },
{ 0x20BC, 0x20BD, 0x2A0 },
{ 0x2190, 0x2199, 0x2A2 },
{ 0x21D0, 0x21D5, 0x2AC },
{ 0x2202, 0x2202, 0x2B2 },
{ 0x2205, 0x2206, 0x2B3 },
{ 0x220F, 0x2212, 0x2B5 },
{ 0x221A, 0x221A, 0x2B9 },
{ 0x221E, 0x221E, 0x2BA },
{ 0x222B, 0x222B, 0x2BB },
{ 0x2236, 0x2236, 0x2BC },
{ 0x2248, 0x2248, 0x2BD },
{ 0x2260, 0x2260, 0x2BE },
{ 0x2264, 0x2265, 0x2BF },
{ 0x2070, 0x2070, 0x28E },
{ 0x2074, 0x2079, 0x28F },
{ 0x207F, 0x2089, 0x295 },
{ 0x208D, 0x208E, 0x2A0 },
{ 0x20A1, 0x20A2, 0x2A2 },
{ 0x20A4, 0x20A4, 0x2A4 },
{ 0x20A6, 0x20AC, 0x2A5 },
{ 0x20AE, 0x20AE, 0x2AC },
{ 0x20B1, 0x20B2, 0x2AD },
{ 0x20B4, 0x20B5, 0x2AF },
{ 0x20B8, 0x20BA, 0x2B1 },
{ 0x20BC, 0x20BD, 0x2B4 },
{ 0x2190, 0x2199, 0x2B6 },
{ 0x21D0, 0x21D5, 0x2C0 },
{ 0x2202, 0x2202, 0x2C6 },
{ 0x2205, 0x2206, 0x2C7 },
{ 0x220F, 0x2212, 0x2C9 },
{ 0x221A, 0x221A, 0x2CD },
{ 0x221E, 0x221E, 0x2CE },
{ 0x222B, 0x222B, 0x2CF },
{ 0x2236, 0x2236, 0x2D0 },
{ 0x2248, 0x2248, 0x2D1 },
{ 0x2260, 0x2260, 0x2D2 },
{ 0x2264, 0x2265, 0x2D3 },
};
static const EpdFontData opendyslexic_8_regular = {
opendyslexic_8_regularBitmaps,
opendyslexic_8_regularGlyphs,
opendyslexic_8_regularIntervals,
52,
56,
30,
22,
-9,