feat: Include superscripts and subscripts in fonts (#463)

## Summary

* Include superscripts and subscripts in fonts

## Additional Context

* Original change came from
https://github.com/crosspoint-reader/crosspoint-reader/pull/248

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? No

---------

Co-authored-by: cor <cor@pruijs.dev>
This commit is contained in:
Dave Allie
2026-01-21 22:42:41 +11:00
committed by GitHub
parent e548bfc0e1
commit c9b5462370
55 changed files with 23129 additions and 18679 deletions

View File

@@ -7,7 +7,7 @@
#pragma once
#include "EpdFontData.h"
static const uint8_t notosans_8_regularBitmaps[10981] = {
static const uint8_t notosans_8_regularBitmaps[11210] = {
0xDB, 0x6D, 0xB6, 0xC3, 0xF4, 0xDE, 0xF7, 0xBD, 0x80, 0x0D, 0x83, 0x30, 0x66, 0x3F, 0xF7, 0xFE,
0x36, 0x04, 0xC7, 0xFE, 0xFF, 0xC6, 0x40, 0xD8, 0x1B, 0x00, 0x18, 0x18, 0xFE, 0xFE, 0xD8, 0xF8,
0xFC, 0x3E, 0x1F, 0x1B, 0xFF, 0xFE, 0x38, 0x18, 0x00, 0x01, 0xE1, 0x86, 0xCC, 0x13, 0x30, 0xCD,
@@ -655,46 +655,60 @@ static const uint8_t notosans_8_regularBitmaps[10981] = {
0xF6, 0xF8, 0x7E, 0x80, 0xFF, 0x6F, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0xFF, 0x9F, 0x66, 0x66,
0x66, 0x66, 0x66, 0x00, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x06, 0xFF, 0x66, 0x66,
0x66, 0x66, 0x66, 0x00, 0x6F, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0xEE, 0x6F, 0x66, 0x66,
0x66, 0x66, 0x66, 0x00, 0x00, 0x1F, 0x1D, 0x1C, 0x0C, 0xFE, 0x7F, 0xB0, 0xD8, 0x7F, 0x8F, 0xC3,
0x01, 0x80, 0xF8, 0x05, 0x83, 0xE3, 0xF8, 0xFE, 0x6F, 0x1A, 0xCF, 0xB3, 0xE8, 0x7E, 0x1F, 0x87,
0x60, 0xFE, 0x3F, 0x0F, 0x00, 0x00, 0x0F, 0xCF, 0xEE, 0x06, 0x03, 0x2D, 0xBE, 0xDC, 0x6C, 0x36,
0x1F, 0x07, 0xB1, 0xF8, 0x30, 0x3F, 0x9F, 0xCC, 0x06, 0x03, 0x01, 0xF8, 0xFE, 0x60, 0x7C, 0x7E,
0x0C, 0x06, 0x00, 0x00, 0x0F, 0xCF, 0xE6, 0x03, 0x03, 0xF3, 0xF8, 0x60, 0xFE, 0x3F, 0x0C, 0x1F,
0xFF, 0xF8, 0x00, 0x00, 0x03, 0x00, 0x0C, 0x3F, 0xFE, 0xFF, 0xFB, 0x8C, 0x7C, 0x31, 0xF1, 0xC7,
0xC7, 0x1F, 0x3C, 0x7C, 0xF1, 0xF6, 0xC7, 0x18, 0x00, 0x40, 0x00, 0x73, 0x1C, 0xC7, 0xB1, 0xEC,
0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x67, 0x19, 0xC6, 0x71, 0x8C, 0xFC, 0x0F, 0xE0, 0xC6, 0x0C, 0x6C,
0xC6, 0xCC, 0xFF, 0xFD, 0xEF, 0x0C, 0xC0, 0xCC, 0x0C, 0xC0, 0xCC, 0x0F, 0x00, 0x00, 0xFC, 0x07,
0xE0, 0x33, 0x81, 0x8D, 0xEC, 0xFF, 0x7E, 0xC3, 0xF7, 0x1B, 0x1E, 0xCC, 0x76, 0x61, 0xF3, 0xED,
0x8F, 0xE0, 0x04, 0x00, 0xCE, 0x79, 0xCF, 0x39, 0xB7, 0x36, 0xFF, 0xFF, 0xFF, 0xFB, 0xDE, 0x7B,
0xC7, 0x38, 0xE7, 0x18, 0xC0, 0xFE, 0x7F, 0xEF, 0x0D, 0xED, 0xBD, 0xB7, 0xB6, 0xF6, 0xDE, 0xDB,
0xDB, 0x7B, 0x0F, 0x7F, 0xEF, 0xE0, 0x01, 0x81, 0xF8, 0x7F, 0x00, 0xC3, 0xF8, 0xFF, 0x18, 0x63,
0x0C, 0x61, 0x8C, 0x31, 0x86, 0x39, 0xC3, 0xF8, 0x10, 0x0F, 0xF1, 0xFE, 0x00, 0x07, 0xE3, 0xF8,
0xC0, 0x30, 0x3F, 0xCF, 0xF1, 0xF8, 0xFE, 0x1C, 0x03, 0x00, 0xFE, 0x1F, 0x80, 0x80, 0x61, 0x9C,
0xE7, 0x71, 0xD8, 0x7C, 0x3F, 0xEF, 0xF9, 0xF8, 0x76, 0x1C, 0xC7, 0x39, 0xC7, 0xFF, 0xFF, 0xE0,
0xC0, 0x3C, 0x0F, 0x07, 0x07, 0xF0, 0xB8, 0x1C, 0x1F, 0x02, 0xC0, 0x30, 0x00, 0x00, 0xFE, 0x00,
0xFF, 0x00, 0x33, 0x80, 0x31, 0x80, 0x31, 0xC0, 0x31, 0xC0, 0x31, 0xDE, 0x71, 0xBF, 0x63, 0xB3,
0x67, 0x73, 0x7F, 0x77, 0xFC, 0x7E, 0x00, 0x68, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x07,
0x83, 0xE1, 0xB0, 0xD8, 0x6C, 0x3C, 0x0E, 0x06, 0x1F, 0x9F, 0xCF, 0x6D, 0xB8, 0x0C, 0x06, 0x0F,
0x0F, 0x00, 0x7E, 0x1F, 0xCF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xF1, 0xF8, 0x60, 0x18, 0x06, 0x01,
0x80, 0x06, 0x07, 0xF7, 0xFD, 0x98, 0xE6, 0x31, 0x8C, 0x7F, 0x1F, 0xC6, 0xF1, 0xBE, 0x6D, 0xFF,
0x3F, 0xC1, 0x80, 0x40, 0x0C, 0x03, 0xC0, 0x78, 0x0F, 0x0F, 0xFD, 0xFF, 0x8C, 0xE7, 0xFE, 0x61,
0x8C, 0x3B, 0x03, 0x60, 0x60, 0x00, 0x3F, 0x9F, 0xC0, 0x70, 0x3F, 0xFC, 0x7D, 0xFF, 0xFF, 0xF0,
0x38, 0x0F, 0xF7, 0xF8, 0x60, 0x04, 0x0F, 0xE7, 0xFB, 0x90, 0xE4, 0x31, 0x0C, 0x43, 0x10, 0xC4,
0x31, 0x0E, 0x41, 0xFE, 0x3F, 0x81, 0x80, 0x40, 0x22, 0x19, 0x8F, 0xFF, 0xFF, 0x66, 0x19, 0x86,
0x61, 0x98, 0x66, 0x19, 0xD6, 0x3C, 0x02, 0x00, 0x00, 0x7E, 0x0F, 0xE0, 0xC0, 0x0C, 0x00, 0xE0,
0x07, 0x80, 0x3E, 0x00, 0xEF, 0xFF, 0xED, 0xFE, 0xDE, 0x7F, 0xC2, 0xF8, 0x24, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xF1, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x80, 0xFF, 0x7E, 0x18, 0xFF,
0x18, 0xF8, 0xF0, 0xE0, 0x60, 0x30, 0x38, 0x18, 0x30, 0x0C, 0x83, 0xE3, 0xE0, 0xFE, 0x1F, 0x0F,
0x18, 0xC6, 0x31, 0x8C, 0xE3, 0xF0, 0xF8, 0x00, 0x00, 0x00, 0x07, 0x80, 0x36, 0x01, 0xB0, 0x0F,
0xFF, 0x1F, 0xFC, 0x60, 0x63, 0xDB, 0x1F, 0xF8, 0xE9, 0x8F, 0x00, 0x5F, 0x80, 0x7E, 0x00, 0x40,
0x03, 0x00, 0x18, 0x00, 0xC0, 0x1F, 0x03, 0xFE, 0x3D, 0xB9, 0x8C, 0xCC, 0x67, 0x63, 0x1B, 0x10,
0xD8, 0x06, 0xC0, 0x30, 0x7F, 0x1F, 0xE7, 0x19, 0xC6, 0x71, 0x9D, 0xEF, 0xF3, 0xE0, 0xFC, 0x3F,
0x07, 0x01, 0xC0, 0x1B, 0x03, 0xE1, 0xFF, 0x3D, 0xED, 0xBF, 0xB6, 0xF6, 0xDE, 0x53, 0xC0, 0x1C,
0x01, 0x80, 0x3F, 0xE7, 0xFC, 0x3C, 0x3C, 0xFE, 0xFF, 0xE3, 0xE3, 0xE7, 0xFE, 0xFF, 0xE3, 0xE3,
0xE3, 0xFF, 0xFE, 0x3C, 0x3C, 0x00, 0x3F, 0x7E, 0x60, 0x60, 0xE0, 0xE0, 0x60, 0x7E, 0x3F, 0x0C,
0x7F, 0x7E, 0x7F, 0xFF, 0xC0, 0x00, 0x80, 0x01, 0xC0, 0x03, 0xE0, 0x07, 0xF0, 0x0C, 0x38, 0x1F,
0xDC, 0x3F, 0xDE, 0x7F, 0xBF, 0x7F, 0x7F, 0x3F, 0x7E, 0x1F, 0xFC, 0x0F, 0xF8, 0x06, 0x70, 0x03,
0xE0, 0x01, 0xC0, 0x00, 0x80,
0x66, 0x66, 0x66, 0x00, 0x21, 0xEC, 0xF3, 0xCF, 0x3C, 0xDE, 0x20, 0x15, 0x55, 0x40, 0x00, 0x63,
0x9E, 0xDB, 0xFF, 0xC6, 0x00, 0x01, 0xEC, 0x3C, 0xF8, 0x30, 0xFE, 0x20, 0x19, 0xEE, 0x3E, 0xFF,
0x3C, 0xDE, 0x30, 0x03, 0xF1, 0x86, 0x18, 0xC3, 0x18, 0x00, 0x31, 0xEC, 0xFE, 0x7B, 0x7C, 0xFE,
0x30, 0x33, 0xEC, 0xF3, 0xFD, 0xF1, 0x9E, 0x60, 0x20, 0xCF, 0xBE, 0x30, 0x80, 0xFB, 0xE0, 0x7B,
0xEF, 0xBE, 0x0F, 0x69, 0x36, 0xCC, 0x19, 0xB6, 0xDB, 0x58, 0x19, 0xF4, 0xD1, 0x45, 0x14, 0x40,
0x21, 0xEC, 0xF3, 0xCF, 0x3C, 0xDE, 0x20, 0x07, 0xF3, 0x33, 0x33, 0x00, 0x33, 0xE5, 0x86, 0x18,
0xC6, 0x3E, 0x00, 0x33, 0xE1, 0x86, 0x78, 0x30, 0xFE, 0x20, 0x00, 0x63, 0x9E, 0xDB, 0xFF, 0xC6,
0x00, 0x01, 0xEC, 0x3C, 0xF8, 0x30, 0xFE, 0x20, 0x19, 0xEE, 0x3E, 0xFF, 0x3C, 0xDE, 0x30, 0x03,
0xF1, 0x86, 0x18, 0xC3, 0x18, 0x00, 0x31, 0xEC, 0xFE, 0x7B, 0x7C, 0xFE, 0x30, 0x33, 0xEC, 0xF3,
0xFD, 0xF1, 0x9E, 0x60, 0x20, 0xCF, 0xBE, 0x30, 0x80, 0xFB, 0xE0, 0x7B, 0xEF, 0xBE, 0x0F, 0x69,
0x36, 0xCC, 0x19, 0xB6, 0xDB, 0x58, 0x78, 0x37, 0xFB, 0xDD, 0xE0, 0x79, 0x3F, 0xF0, 0x69, 0xE0,
0x7B, 0x3C, 0x71, 0x6D, 0xE0, 0xCD, 0xE3, 0x1C, 0x7B, 0x30, 0x78, 0x37, 0xFF, 0xDD, 0xE0, 0x41,
0x07, 0xDB, 0x45, 0x14, 0x51, 0x41, 0x04, 0xD6, 0x71, 0xC5, 0x93, 0x55, 0x55, 0x7F, 0x9B, 0x34,
0xCD, 0x33, 0x4C, 0xD3, 0x30, 0x7D, 0xB4, 0x51, 0x45, 0x10, 0x7C, 0xD9, 0x12, 0x26, 0xCF, 0x10,
0x20, 0x7E, 0x1C, 0x7D, 0xF8, 0x4F, 0x44, 0x46, 0x70, 0x00, 0x1F, 0x1D, 0x1C, 0x0C, 0xFE, 0x7F,
0xB0, 0xD8, 0x7F, 0x8F, 0xC3, 0x01, 0x80, 0xF8, 0x05, 0x83, 0xE3, 0xF8, 0xFE, 0x6F, 0x1A, 0xCF,
0xB3, 0xE8, 0x7E, 0x1F, 0x87, 0x60, 0xFE, 0x3F, 0x0F, 0x00, 0x00, 0x0F, 0xCF, 0xEE, 0x06, 0x03,
0x2D, 0xBE, 0xDC, 0x6C, 0x36, 0x1F, 0x07, 0xB1, 0xF8, 0x30, 0x3F, 0x9F, 0xCC, 0x06, 0x03, 0x01,
0xF8, 0xFE, 0x60, 0x7C, 0x7E, 0x0C, 0x06, 0x00, 0x00, 0x0F, 0xCF, 0xE6, 0x03, 0x03, 0xF3, 0xF8,
0x60, 0xFE, 0x3F, 0x0C, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0x00, 0x0C, 0x3F, 0xFE, 0xFF, 0xFB,
0x8C, 0x7C, 0x31, 0xF1, 0xC7, 0xC7, 0x1F, 0x3C, 0x7C, 0xF1, 0xF6, 0xC7, 0x18, 0x00, 0x40, 0x00,
0x73, 0x1C, 0xC7, 0xB1, 0xEC, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x67, 0x19, 0xC6, 0x71, 0x8C, 0xFC,
0x0F, 0xE0, 0xC6, 0x0C, 0x6C, 0xC6, 0xCC, 0xFF, 0xFD, 0xEF, 0x0C, 0xC0, 0xCC, 0x0C, 0xC0, 0xCC,
0x0F, 0x00, 0x00, 0xFC, 0x07, 0xE0, 0x33, 0x81, 0x8D, 0xEC, 0xFF, 0x7E, 0xC3, 0xF7, 0x1B, 0x1E,
0xCC, 0x76, 0x61, 0xF3, 0xED, 0x8F, 0xE0, 0x04, 0x00, 0xCE, 0x79, 0xCF, 0x39, 0xB7, 0x36, 0xFF,
0xFF, 0xFF, 0xFB, 0xDE, 0x7B, 0xC7, 0x38, 0xE7, 0x18, 0xC0, 0xFE, 0x7F, 0xEF, 0x0D, 0xED, 0xBD,
0xB7, 0xB6, 0xF6, 0xDE, 0xDB, 0xDB, 0x7B, 0x0F, 0x7F, 0xEF, 0xE0, 0x01, 0x81, 0xF8, 0x7F, 0x00,
0xC3, 0xF8, 0xFF, 0x18, 0x63, 0x0C, 0x61, 0x8C, 0x31, 0x86, 0x39, 0xC3, 0xF8, 0x10, 0x0F, 0xF1,
0xFE, 0x00, 0x07, 0xE3, 0xF8, 0xC0, 0x30, 0x3F, 0xCF, 0xF1, 0xF8, 0xFE, 0x1C, 0x03, 0x00, 0xFE,
0x1F, 0x80, 0x80, 0x61, 0x9C, 0xE7, 0x71, 0xD8, 0x7C, 0x3F, 0xEF, 0xF9, 0xF8, 0x76, 0x1C, 0xC7,
0x39, 0xC7, 0xFF, 0xFF, 0xE0, 0xC0, 0x3C, 0x0F, 0x07, 0x07, 0xF0, 0xB8, 0x1C, 0x1F, 0x02, 0xC0,
0x30, 0x00, 0x00, 0xFE, 0x00, 0xFF, 0x00, 0x33, 0x80, 0x31, 0x80, 0x31, 0xC0, 0x31, 0xC0, 0x31,
0xDE, 0x71, 0xBF, 0x63, 0xB3, 0x67, 0x73, 0x7F, 0x77, 0xFC, 0x7E, 0x00, 0x68, 0x00, 0x60, 0x00,
0xE0, 0x00, 0xC0, 0x00, 0x07, 0x83, 0xE1, 0xB0, 0xD8, 0x6C, 0x3C, 0x0E, 0x06, 0x1F, 0x9F, 0xCF,
0x6D, 0xB8, 0x0C, 0x06, 0x0F, 0x0F, 0x00, 0x7E, 0x1F, 0xCF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xF1,
0xF8, 0x60, 0x18, 0x06, 0x01, 0x80, 0x06, 0x07, 0xF7, 0xFD, 0x98, 0xE6, 0x31, 0x8C, 0x7F, 0x1F,
0xC6, 0xF1, 0xBE, 0x6D, 0xFF, 0x3F, 0xC1, 0x80, 0x40, 0x0C, 0x03, 0xC0, 0x78, 0x0F, 0x0F, 0xFD,
0xFF, 0x8C, 0xE7, 0xFE, 0x61, 0x8C, 0x3B, 0x03, 0x60, 0x60, 0x00, 0x3F, 0x9F, 0xC0, 0x70, 0x3F,
0xFC, 0x7D, 0xFF, 0xFF, 0xF0, 0x38, 0x0F, 0xF7, 0xF8, 0x60, 0x04, 0x0F, 0xE7, 0xFB, 0x90, 0xE4,
0x31, 0x0C, 0x43, 0x10, 0xC4, 0x31, 0x0E, 0x41, 0xFE, 0x3F, 0x81, 0x80, 0x40, 0x22, 0x19, 0x8F,
0xFF, 0xFF, 0x66, 0x19, 0x86, 0x61, 0x98, 0x66, 0x19, 0xD6, 0x3C, 0x02, 0x00, 0x00, 0x7E, 0x0F,
0xE0, 0xC0, 0x0C, 0x00, 0xE0, 0x07, 0x80, 0x3E, 0x00, 0xEF, 0xFF, 0xED, 0xFE, 0xDE, 0x7F, 0xC2,
0xF8, 0x24, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03,
0x80, 0xFF, 0x7E, 0x18, 0xFF, 0x18, 0xF8, 0xF0, 0xE0, 0x60, 0x30, 0x38, 0x18, 0x30, 0x0C, 0x83,
0xE3, 0xE0, 0xFE, 0x1F, 0x0F, 0x18, 0xC6, 0x31, 0x8C, 0xE3, 0xF0, 0xF8, 0x00, 0x00, 0x00, 0x07,
0x80, 0x36, 0x01, 0xB0, 0x0F, 0xFF, 0x1F, 0xFC, 0x60, 0x63, 0xDB, 0x1F, 0xF8, 0xE9, 0x8F, 0x00,
0x5F, 0x80, 0x7E, 0x00, 0x40, 0x03, 0x00, 0x18, 0x00, 0xC0, 0x1F, 0x03, 0xFE, 0x3D, 0xB9, 0x8C,
0xCC, 0x67, 0x63, 0x1B, 0x10, 0xD8, 0x06, 0xC0, 0x30, 0x7F, 0x1F, 0xE7, 0x19, 0xC6, 0x71, 0x9D,
0xEF, 0xF3, 0xE0, 0xFC, 0x3F, 0x07, 0x01, 0xC0, 0x1B, 0x03, 0xE1, 0xFF, 0x3D, 0xED, 0xBF, 0xB6,
0xF6, 0xDE, 0x53, 0xC0, 0x1C, 0x01, 0x80, 0x3F, 0xE7, 0xFC, 0x3C, 0x3C, 0xFE, 0xFF, 0xE3, 0xE3,
0xE7, 0xFE, 0xFF, 0xE3, 0xE3, 0xE3, 0xFF, 0xFE, 0x3C, 0x3C, 0x00, 0x3F, 0x7E, 0x60, 0x60, 0xE0,
0xE0, 0x60, 0x7E, 0x3F, 0x0C, 0x7F, 0x7E, 0x7F, 0xFF, 0xC0, 0x00, 0x80, 0x01, 0xC0, 0x03, 0xE0,
0x07, 0xF0, 0x0C, 0x38, 0x1F, 0xDC, 0x3F, 0xDE, 0x7F, 0xBF, 0x7F, 0x7F, 0x3F, 0x7E, 0x1F, 0xFC,
0x0F, 0xF8, 0x06, 0x70, 0x03, 0xE0, 0x01, 0xC0, 0x00, 0x80,
};
static const EpdGlyph notosans_8_regularGlyphs[] = {
@@ -1498,41 +1512,83 @@ static const EpdGlyph notosans_8_regularGlyphs[] = {
{ 4, 15, 0, -2, 12, 8, 10332 }, //
{ 4, 15, 0, -2, 12, 8, 10340 }, //
{ 4, 15, 0, -2, 12, 8, 10348 }, //
{ 9, 13, 10, 0, 13, 15, 10356 }, //
{ 10, 14, 10, 0, 13, 18, 10371 }, //
{ 9, 14, 10, 0, 13, 16, 10389 }, //
{ 9, 12, 10, 0, 12, 14, 10405 }, //
{ 9, 13, 10, 0, 13, 15, 10419 }, //
{ 14, 14, 16, 1, 12, 25, 10434 }, //
{ 10, 12, 10, 0, 12, 15, 10459 }, //
{ 12, 13, 13, 1, 12, 20, 10474 }, //
{ 13, 13, 14, 1, 12, 22, 10494 }, //
{ 11, 12, 11, 0, 12, 17, 10516 }, //
{ 11, 12, 13, 1, 12, 17, 10533 }, //
{ 11, 16, 10, 0, 13, 22, 10550 }, //
{ 10, 14, 10, 0, 13, 18, 10572 }, //
{ 10, 12, 10, 0, 12, 15, 10590 }, //
{ 10, 12, 10, 0, 12, 15, 10605 }, //
{ 16, 17, 16, 0, 13, 34, 10620 }, //
{ 9, 17, 10, 0, 13, 20, 10654 }, //
{ 10, 12, 10, 0, 12, 15, 10674 }, //
{ 10, 15, 12, 1, 13, 19, 10689 }, //
{ 11, 12, 10, 0, 12, 17, 10708 }, //
{ 9, 14, 9, 0, 13, 16, 10725 }, //
{ 10, 15, 11, 1, 13, 19, 10741 }, //
{ 10, 12, 10, 0, 11, 15, 10760 }, //
{ 12, 15, 12, 0, 13, 23, 10775 }, //
{ 9, 12, 9, 0, 12, 14, 10798 }, //
{ 8, 12, 10, 1, 12, 12, 10812 }, //
{ 10, 13, 10, 0, 12, 17, 10824 }, //
{ 13, 14, 13, 0, 13, 23, 10841 }, //
{ 13, 12, 14, 0, 12, 20, 10864 }, //
{ 10, 12, 10, 0, 12, 15, 10884 }, //
{ 11, 13, 13, 1, 13, 18, 10899 }, //
{ 8, 16, 10, 1, 14, 16, 10917 }, //
{ 8, 13, 8, 0, 10, 13, 10933 }, //
{ 9, 2, 10, 0, 7, 3, 10946 }, //
{ 16, 16, 17, 0, 13, 32, 10949 }, // <EFBFBD>
{ 6, 9, 6, 0, 15, 7, 10356 }, //
{ 2, 9, 3, 0, 13, 3, 10363 }, //
{ 6, 9, 6, 0, 15, 7, 10366 }, //
{ 6, 9, 6, 0, 15, 7, 10373 }, //
{ 6, 9, 6, 0, 15, 7, 10380 }, //
{ 6, 9, 6, 0, 15, 7, 10387 }, //
{ 6, 9, 6, 0, 15, 7, 10394 }, //
{ 6, 9, 6, 0, 15, 7, 10401 }, //
{ 6, 6, 6, 0, 13, 5, 10408 }, //
{ 6, 2, 6, 0, 11, 2, 10413 }, //
{ 6, 4, 6, 0, 12, 3, 10415 }, //
{ 3, 10, 4, 1, 16, 4, 10418 }, //
{ 3, 10, 4, 0, 16, 4, 10422 }, //
{ 6, 7, 7, 0, 11, 6, 10426 }, //
{ 6, 9, 6, 0, 6, 7, 10432 }, //
{ 4, 9, 6, 0, 6, 5, 10439 }, //
{ 6, 9, 6, 0, 6, 7, 10444 }, //
{ 6, 9, 6, 0, 6, 7, 10451 }, //
{ 6, 9, 6, 0, 6, 7, 10458 }, //
{ 6, 9, 6, 0, 6, 7, 10465 }, //
{ 6, 9, 6, 0, 6, 7, 10472 }, //
{ 6, 9, 6, 0, 6, 7, 10479 }, //
{ 6, 9, 6, 0, 6, 7, 10486 }, //
{ 6, 9, 6, 0, 6, 7, 10493 }, //
{ 6, 6, 6, 0, 4, 5, 10500 }, //
{ 6, 2, 6, 0, 2, 2, 10505 }, //
{ 6, 4, 6, 0, 3, 3, 10507 }, //
{ 3, 10, 4, 1, 7, 4, 10510 }, //
{ 3, 10, 4, 0, 7, 4, 10514 }, //
{ 6, 6, 6, 0, 4, 5, 10518 }, //
{ 6, 6, 6, 0, 4, 5, 10523 }, //
{ 6, 6, 7, 0, 4, 5, 10528 }, //
{ 6, 6, 6, 0, 4, 5, 10533 }, //
{ 6, 6, 6, 0, 4, 5, 10538 }, //
{ 6, 8, 7, 0, 6, 6, 10543 }, //
{ 6, 8, 6, 0, 6, 6, 10549 }, // ₖ
{ 2, 8, 3, 0, 6, 2, 10555 }, // ₗ
{ 10, 6, 10, 0, 4, 8, 10557 }, // ₘ
{ 6, 6, 7, 0, 4, 5, 10565 }, // ₙ
{ 7, 8, 7, 0, 4, 7, 10570 }, // ₚ
{ 5, 6, 5, 0, 4, 4, 10577 }, // ₛ
{ 4, 7, 4, 0, 5, 4, 10581 }, // ₜ
{ 9, 13, 10, 0, 13, 15, 10585 }, // ₠
{ 10, 14, 10, 0, 13, 18, 10600 }, // ₡
{ 9, 14, 10, 0, 13, 16, 10618 }, // ₢
{ 9, 12, 10, 0, 12, 14, 10634 }, // ₣
{ 9, 13, 10, 0, 13, 15, 10648 }, // ₤
{ 14, 14, 16, 1, 12, 25, 10663 }, // ₥
{ 10, 12, 10, 0, 12, 15, 10688 }, // ₦
{ 12, 13, 13, 1, 12, 20, 10703 }, // ₧
{ 13, 13, 14, 1, 12, 22, 10723 }, // ₨
{ 11, 12, 11, 0, 12, 17, 10745 }, // ₩
{ 11, 12, 13, 1, 12, 17, 10762 }, // ₪
{ 11, 16, 10, 0, 13, 22, 10779 }, // ₫
{ 10, 14, 10, 0, 13, 18, 10801 }, // €
{ 10, 12, 10, 0, 12, 15, 10819 }, // ₭
{ 10, 12, 10, 0, 12, 15, 10834 }, // ₮
{ 16, 17, 16, 0, 13, 34, 10849 }, // ₯
{ 9, 17, 10, 0, 13, 20, 10883 }, // ₰
{ 10, 12, 10, 0, 12, 15, 10903 }, // ₱
{ 10, 15, 12, 1, 13, 19, 10918 }, // ₲
{ 11, 12, 10, 0, 12, 17, 10937 }, // ₳
{ 9, 14, 9, 0, 13, 16, 10954 }, // ₴
{ 10, 15, 11, 1, 13, 19, 10970 }, // ₵
{ 10, 12, 10, 0, 11, 15, 10989 }, // ₶
{ 12, 15, 12, 0, 13, 23, 11004 }, // ₷
{ 9, 12, 9, 0, 12, 14, 11027 }, // ₸
{ 8, 12, 10, 1, 12, 12, 11041 }, // ₹
{ 10, 13, 10, 0, 12, 17, 11053 }, // ₺
{ 13, 14, 13, 0, 13, 23, 11070 }, // ₻
{ 13, 12, 14, 0, 12, 20, 11093 }, // ₼
{ 10, 12, 10, 0, 12, 15, 11113 }, // ₽
{ 11, 13, 13, 1, 13, 18, 11128 }, // ₾
{ 8, 16, 10, 1, 14, 16, 11146 }, // ₿
{ 8, 13, 8, 0, 10, 13, 11162 }, // ⃀
{ 9, 2, 10, 0, 7, 3, 11175 }, //
{ 16, 16, 17, 0, 13, 32, 11178 }, // <20>
};
static const EpdUnicodeInterval notosans_8_regularIntervals[] = {
@@ -1545,16 +1601,19 @@ static const EpdUnicodeInterval notosans_8_regularIntervals[] = {
{ 0x400, 0x4FF, 0x1B1 },
{ 0x2000, 0x2064, 0x2B1 },
{ 0x2066, 0x206F, 0x316 },
{ 0x20A0, 0x20C0, 0x320 },
{ 0x2212, 0x2212, 0x341 },
{ 0xFFFD, 0xFFFD, 0x342 },
{ 0x2070, 0x2071, 0x320 },
{ 0x2074, 0x208E, 0x322 },
{ 0x2090, 0x209C, 0x33D },
{ 0x20A0, 0x20C0, 0x34A },
{ 0x2212, 0x2212, 0x36B },
{ 0xFFFD, 0xFFFD, 0x36C },
};
static const EpdFontData notosans_8_regular = {
notosans_8_regularBitmaps,
notosans_8_regularGlyphs,
notosans_8_regularIntervals,
12,
15,
23,
18,
-5,