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 ubuntu_10_regularBitmaps[12366] = {
static const uint8_t ubuntu_10_regularBitmaps[12484] = {
0xEE, 0xEE, 0xE6, 0x66, 0x66, 0x00, 0xEF, 0xE0, 0xEF, 0xDF, 0xBF, 0x6E, 0xC0, 0x1C, 0x61, 0xCE,
0x1C, 0xE1, 0x8E, 0xFF, 0xFF, 0xFF, 0x38, 0xC3, 0x9C, 0x31, 0xCF, 0xFF, 0xFF, 0xF7, 0x18, 0x73,
0x87, 0x38, 0x63, 0x80, 0x0C, 0x03, 0x03, 0xF9, 0xFE, 0xF1, 0xB8, 0x0E, 0x01, 0xE0, 0x7E, 0x07,
@@ -760,27 +760,35 @@ static const uint8_t ubuntu_10_regularBitmaps[12366] = {
0x77, 0x77, 0x07, 0x63, 0x63, 0x0E, 0x63, 0x63, 0x0E, 0x63, 0x63, 0x1C, 0x77, 0x77, 0x1C, 0x3E,
0x3E, 0x18, 0xE3, 0x9C, 0xE1, 0xC3, 0x8E, 0x18, 0x61, 0xC3, 0x0E, 0x1C, 0xE3, 0x1C, 0x60, 0x00,
0xE0, 0x38, 0x07, 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, 0x60, 0x1C, 0x07,
0x00, 0xE0, 0x38, 0x00, 0x07, 0xE0, 0xFE, 0x1E, 0x21, 0xC0, 0x7F, 0xC7, 0xFC, 0x38, 0x07, 0xF8,
0x7F, 0x81, 0x80, 0x1C, 0x01, 0xF2, 0x0F, 0xF0, 0x7F, 0xFF, 0xEF, 0xFE, 0x06, 0x00, 0x60, 0x07,
0xC0, 0x7C, 0x1F, 0x83, 0xE0, 0x37, 0xC0, 0x7C, 0x1F, 0x83, 0xE0, 0x36, 0x00, 0x60, 0x06, 0x00,
0x3F, 0x83, 0xFC, 0x33, 0xC0, 0x0C, 0x00, 0xCF, 0xFE, 0x07, 0x81, 0xE0, 0xFF, 0xE7, 0x00, 0x70,
0x07, 0x00, 0x3C, 0xC3, 0xFE, 0x1F, 0xC0, 0xFF, 0xFF, 0xFC, 0x1C, 0x01, 0xCF, 0xFD, 0xFF, 0x80,
0xE0, 0x78, 0xFF, 0x1F, 0x83, 0xC0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x3F, 0x03, 0xFC, 0x33,
0xC0, 0x0E, 0x00, 0xE1, 0xFE, 0x3F, 0xE7, 0x9F, 0x70, 0x76, 0x06, 0x60, 0x66, 0x0E, 0x60, 0xE7,
0xBC, 0x3F, 0x81, 0xF0, 0x07, 0x00, 0x1E, 0x00, 0xF8, 0x03, 0xF0, 0x0D, 0xC0, 0x73, 0x81, 0x8E,
0x0E, 0x18, 0x38, 0x70, 0xC1, 0xC7, 0x03, 0x1C, 0x0E, 0x60, 0x3B, 0xFF, 0xEF, 0xFF, 0xC0, 0xFF,
0xFF, 0xFF, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E,
0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x70, 0xFF, 0xFF, 0xFD, 0xC0, 0x38, 0x03, 0x80,
0x38, 0x07, 0x00, 0x70, 0x07, 0x01, 0xC0, 0x70, 0x1E, 0x03, 0x80, 0xE0, 0x38, 0x07, 0xFF, 0xFF,
0xE0, 0xFF, 0xFF, 0xF0, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x30, 0x0E, 0x01, 0x80, 0x70, 0x0C,
0x03, 0x80, 0x60, 0x1C, 0x07, 0x00, 0xE0, 0x38, 0x00, 0xFF, 0x80, 0x00, 0x30, 0x01, 0x80, 0x1C,
0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, 0x70, 0xC7, 0xCE, 0x3E, 0x60, 0x3B, 0x01, 0xF8,
0x07, 0x80, 0x3C, 0x00, 0xE0, 0x06, 0x00, 0x7D, 0xE7, 0xFF, 0xE7, 0x3E, 0x73, 0x7F, 0xF7, 0xDE,
0x0F, 0x1F, 0x1E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38,
0x38, 0x78, 0xF8, 0xF0, 0x3C, 0x6F, 0xFD, 0xBF, 0xB1, 0xE3, 0xC6, 0xFF, 0xDB, 0xFB, 0x1E, 0x03,
0x00, 0xC0, 0x73, 0xFF, 0xFF, 0xC3, 0x80, 0xC0, 0x70, 0xFF, 0xFF, 0xF3, 0x01, 0xC0, 0x60, 0x00,
0x01, 0xC3, 0xF7, 0xFB, 0xF0, 0xF0, 0x3F, 0x07, 0xF8, 0x3F, 0x01, 0xC0, 0x0F, 0xFF, 0xFF, 0xE0,
0x3F, 0x07, 0xF8, 0x3F, 0x03, 0xC3, 0xF7, 0xFB, 0xF0, 0xE0, 0x00, 0x0F, 0xFF, 0xFF,
0x00, 0xE0, 0x38, 0x00, 0x7C, 0xDF, 0x9F, 0x3E, 0x7C, 0xDB, 0xBE, 0x0C, 0x1C, 0x3C, 0x7C, 0x6C,
0xFE, 0x0C, 0x0C, 0x7E, 0xC1, 0x83, 0xE1, 0xE0, 0xD3, 0xBE, 0x1E, 0x71, 0x83, 0xEE, 0xEC, 0xDB,
0x9E, 0xFE, 0x1C, 0x70, 0xC1, 0x87, 0x0C, 0x18, 0x7C, 0xDD, 0x9B, 0xE7, 0xFC, 0xFB, 0xBE, 0x7C,
0xDF, 0x9F, 0x37, 0xE1, 0xCF, 0x3C, 0x7C, 0xDF, 0x9F, 0x3E, 0x7C, 0xDB, 0xBE, 0x3F, 0xF3, 0x33,
0x33, 0x7C, 0xD8, 0x38, 0xE3, 0xCF, 0x18, 0x3F, 0x7C, 0xD8, 0x31, 0xE0, 0xE0, 0xD3, 0xFE, 0x0C,
0x1C, 0x3C, 0x7C, 0x6C, 0xFE, 0x0C, 0x0C, 0x7E, 0xC1, 0x83, 0xE1, 0xE0, 0xD3, 0xBE, 0x1E, 0x71,
0x83, 0xEE, 0xEC, 0xDB, 0x9E, 0xFE, 0x1C, 0x70, 0xC1, 0x87, 0x0C, 0x18, 0x7C, 0xDD, 0x9B, 0xE7,
0xFC, 0xFB, 0xBE, 0x7C, 0xDF, 0x9F, 0x37, 0xE1, 0xCF, 0x3C, 0x07, 0xE0, 0xFE, 0x1E, 0x21, 0xC0,
0x7F, 0xC7, 0xFC, 0x38, 0x07, 0xF8, 0x7F, 0x81, 0x80, 0x1C, 0x01, 0xF2, 0x0F, 0xF0, 0x7F, 0xFF,
0xEF, 0xFE, 0x06, 0x00, 0x60, 0x07, 0xC0, 0x7C, 0x1F, 0x83, 0xE0, 0x37, 0xC0, 0x7C, 0x1F, 0x83,
0xE0, 0x36, 0x00, 0x60, 0x06, 0x00, 0x3F, 0x83, 0xFC, 0x33, 0xC0, 0x0C, 0x00, 0xCF, 0xFE, 0x07,
0x81, 0xE0, 0xFF, 0xE7, 0x00, 0x70, 0x07, 0x00, 0x3C, 0xC3, 0xFE, 0x1F, 0xC0, 0xFF, 0xFF, 0xFC,
0x1C, 0x01, 0xCF, 0xFD, 0xFF, 0x80, 0xE0, 0x78, 0xFF, 0x1F, 0x83, 0xC0, 0x1C, 0x01, 0xC0, 0x1C,
0x01, 0xC0, 0x3F, 0x03, 0xFC, 0x33, 0xC0, 0x0E, 0x00, 0xE1, 0xFE, 0x3F, 0xE7, 0x9F, 0x70, 0x76,
0x06, 0x60, 0x66, 0x0E, 0x60, 0xE7, 0xBC, 0x3F, 0x81, 0xF0, 0x07, 0x00, 0x1E, 0x00, 0xF8, 0x03,
0xF0, 0x0D, 0xC0, 0x73, 0x81, 0x8E, 0x0E, 0x18, 0x38, 0x70, 0xC1, 0xC7, 0x03, 0x1C, 0x0E, 0x60,
0x3B, 0xFF, 0xEF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E,
0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x70, 0xFF,
0xFF, 0xFD, 0xC0, 0x38, 0x03, 0x80, 0x38, 0x07, 0x00, 0x70, 0x07, 0x01, 0xC0, 0x70, 0x1E, 0x03,
0x80, 0xE0, 0x38, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x00, 0xE0, 0x38, 0x07, 0x01, 0xC0,
0x30, 0x0E, 0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, 0x60, 0x1C, 0x07, 0x00, 0xE0, 0x38, 0x00, 0xFF,
0x80, 0x00, 0x30, 0x01, 0x80, 0x1C, 0x00, 0xC0, 0x06, 0x00, 0x70, 0x03, 0x80, 0x18, 0x70, 0xC7,
0xCE, 0x3E, 0x60, 0x3B, 0x01, 0xF8, 0x07, 0x80, 0x3C, 0x00, 0xE0, 0x06, 0x00, 0x7D, 0xE7, 0xFF,
0xE7, 0x3E, 0x73, 0x7F, 0xF7, 0xDE, 0x0F, 0x1F, 0x1E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x38, 0x78, 0xF8, 0xF0, 0x3C, 0x6F, 0xFD, 0xBF, 0xB1, 0xE3,
0xC6, 0xFF, 0xDB, 0xFB, 0x1E, 0x03, 0x00, 0xC0, 0x73, 0xFF, 0xFF, 0xC3, 0x80, 0xC0, 0x70, 0xFF,
0xFF, 0xF3, 0x01, 0xC0, 0x60, 0x00, 0x01, 0xC3, 0xF7, 0xFB, 0xF0, 0xF0, 0x3F, 0x07, 0xF8, 0x3F,
0x01, 0xC0, 0x0F, 0xFF, 0xFF, 0xE0, 0x3F, 0x07, 0xF8, 0x3F, 0x03, 0xC3, 0xF7, 0xFB, 0xF0, 0xE0,
0x00, 0x0F, 0xFF, 0xFF,
};
static const EpdGlyph ubuntu_10_regularGlyphs[] = {
@@ -1340,24 +1348,41 @@ static const EpdGlyph ubuntu_10_regularGlyphs[] = {
{ 6, 9, 6, 0, 10, 7, 12001 }, //
{ 6, 9, 6, 0, 10, 7, 12008 }, //
{ 11, 15, 3, -4, 15, 21, 12015 }, //
{ 12, 14, 12, 0, 14, 21, 12036 }, //
{ 12, 15, 12, 0, 15, 23, 12057 }, //
{ 12, 15, 12, 0, 15, 23, 12080 }, //
{ 11, 15, 12, 1, 15, 21, 12103 }, //
{ 12, 16, 12, 0, 16, 24, 12124 }, //
{ 14, 15, 14, 0, 15, 27, 12148 }, //
{ 12, 17, 15, 1, 15, 26, 12175 }, //
{ 11, 17, 11, 0, 15, 24, 12201 }, //
{ 10, 2, 12, 1, 7, 3, 12225 }, //
{ 11, 15, 3, -4, 15, 21, 12228 }, //
{ 3, 3, 5, 1, 8, 2, 12249 }, //
{ 13, 17, 12, 0, 16, 28, 12251 }, //
{ 12, 6, 12, 0, 9, 9, 12279 }, //
{ 8, 20, 8, 0, 16, 20, 12288 }, //
{ 11, 8, 12, 0, 10, 11, 12308 }, //
{ 10, 13, 12, 1, 13, 17, 12319 }, //
{ 10, 12, 12, 1, 12, 15, 12336 }, //
{ 10, 12, 12, 1, 12, 15, 12351 }, //
{ 7, 8, 8, 0, 15, 7, 12036 }, //
{ 8, 8, 8, 0, 15, 8, 12043 }, //
{ 7, 8, 8, 0, 15, 7, 12051 }, //
{ 7, 8, 8, 0, 15, 7, 12058 }, //
{ 7, 8, 8, 0, 15, 7, 12065 }, //
{ 7, 8, 8, 0, 15, 7, 12072 }, //
{ 7, 8, 8, 0, 15, 7, 12079 }, //
{ 7, 8, 8, 0, 8, 7, 12086 }, //
{ 4, 8, 8, 1, 8, 4, 12093 }, //
{ 7, 8, 8, 0, 8, 7, 12097 }, //
{ 7, 8, 8, 0, 8, 7, 12104 }, //
{ 8, 8, 8, 0, 8, 8, 12111 }, //
{ 7, 8, 8, 0, 8, 7, 12119 }, //
{ 7, 8, 8, 0, 8, 7, 12126 }, //
{ 7, 8, 8, 0, 8, 7, 12133 }, //
{ 7, 8, 8, 0, 8, 7, 12140 }, //
{ 7, 8, 8, 0, 8, 7, 12147 }, //
{ 12, 14, 12, 0, 14, 21, 12154 }, //
{ 12, 15, 12, 0, 15, 23, 12175 }, // ₮
{ 12, 15, 12, 0, 15, 23, 12198 }, // ₴
{ 11, 15, 12, 1, 15, 21, 12221 }, // ₹
{ 12, 16, 12, 0, 16, 24, 12242 }, // ∂
{ 14, 15, 14, 0, 15, 27, 12266 }, // ∆
{ 12, 17, 15, 1, 15, 26, 12293 }, // ∏
{ 11, 17, 11, 0, 15, 24, 12319 }, // ∑
{ 10, 2, 12, 1, 7, 3, 12343 }, //
{ 11, 15, 3, -4, 15, 21, 12346 }, //
{ 3, 3, 5, 1, 8, 2, 12367 }, // ∙
{ 13, 17, 12, 0, 16, 28, 12369 }, // √
{ 12, 6, 12, 0, 9, 9, 12397 }, // ∞
{ 8, 20, 8, 0, 16, 20, 12406 }, // ∫
{ 11, 8, 12, 0, 10, 11, 12426 }, // ≈
{ 10, 13, 12, 1, 13, 17, 12437 }, // ≠
{ 10, 12, 12, 1, 12, 15, 12454 }, // ≤
{ 10, 12, 12, 1, 12, 15, 12469 }, // ≥
};
static const EpdUnicodeInterval ubuntu_10_regularIntervals[] = {
@@ -1381,28 +1406,31 @@ static const EpdUnicodeInterval ubuntu_10_regularIntervals[] = {
{ 0x2030, 0x2030, 0x228 },
{ 0x2039, 0x203A, 0x229 },
{ 0x2044, 0x2044, 0x22B },
{ 0x20AC, 0x20AC, 0x22C },
{ 0x20AE, 0x20AE, 0x22D },
{ 0x20B4, 0x20B4, 0x22E },
{ 0x20B9, 0x20B9, 0x22F },
{ 0x2202, 0x2202, 0x230 },
{ 0x2206, 0x2206, 0x231 },
{ 0x220F, 0x220F, 0x232 },
{ 0x2211, 0x2212, 0x233 },
{ 0x2215, 0x2215, 0x235 },
{ 0x2219, 0x221A, 0x236 },
{ 0x221E, 0x221E, 0x238 },
{ 0x222B, 0x222B, 0x239 },
{ 0x2248, 0x2248, 0x23A },
{ 0x2260, 0x2260, 0x23B },
{ 0x2264, 0x2265, 0x23C },
{ 0x2070, 0x2070, 0x22C },
{ 0x2074, 0x2079, 0x22D },
{ 0x2080, 0x2089, 0x233 },
{ 0x20AC, 0x20AC, 0x23D },
{ 0x20AE, 0x20AE, 0x23E },
{ 0x20B4, 0x20B4, 0x23F },
{ 0x20B9, 0x20B9, 0x240 },
{ 0x2202, 0x2202, 0x241 },
{ 0x2206, 0x2206, 0x242 },
{ 0x220F, 0x220F, 0x243 },
{ 0x2211, 0x2212, 0x244 },
{ 0x2215, 0x2215, 0x246 },
{ 0x2219, 0x221A, 0x247 },
{ 0x221E, 0x221E, 0x249 },
{ 0x222B, 0x222B, 0x24A },
{ 0x2248, 0x2248, 0x24B },
{ 0x2260, 0x2260, 0x24C },
{ 0x2264, 0x2265, 0x24D },
};
static const EpdFontData ubuntu_10_regular = {
ubuntu_10_regularBitmaps,
ubuntu_10_regularGlyphs,
ubuntu_10_regularIntervals,
35,
38,
24,
20,
-4,