diff --git a/assets/sd-fonts/Charis/Charis_10.cpfont b/assets/sd-fonts/Charis/Charis_10.cpfont new file mode 100644 index 00000000..58c3bdba Binary files /dev/null and b/assets/sd-fonts/Charis/Charis_10.cpfont differ diff --git a/assets/sd-fonts/Charis/Charis_12.cpfont b/assets/sd-fonts/Charis/Charis_12.cpfont new file mode 100644 index 00000000..45162b0d Binary files /dev/null and b/assets/sd-fonts/Charis/Charis_12.cpfont differ diff --git a/assets/sd-fonts/Charis/Charis_14.cpfont b/assets/sd-fonts/Charis/Charis_14.cpfont new file mode 100644 index 00000000..22c9e9ee Binary files /dev/null and b/assets/sd-fonts/Charis/Charis_14.cpfont differ diff --git a/assets/sd-fonts/Charis/Charis_16.cpfont b/assets/sd-fonts/Charis/Charis_16.cpfont new file mode 100644 index 00000000..6f5ca871 Binary files /dev/null and b/assets/sd-fonts/Charis/Charis_16.cpfont differ diff --git a/assets/sd-fonts/Charis/Charis_18.cpfont b/assets/sd-fonts/Charis/Charis_18.cpfont new file mode 100644 index 00000000..98a82654 Binary files /dev/null and b/assets/sd-fonts/Charis/Charis_18.cpfont differ diff --git a/assets/sd-fonts/Sourcerer/Sourcerer_10.cpfont b/assets/sd-fonts/Sourcerer/Sourcerer_10.cpfont new file mode 100644 index 00000000..15aba50f Binary files /dev/null and b/assets/sd-fonts/Sourcerer/Sourcerer_10.cpfont differ diff --git a/assets/sd-fonts/Sourcerer/Sourcerer_12.cpfont b/assets/sd-fonts/Sourcerer/Sourcerer_12.cpfont new file mode 100644 index 00000000..ab0874d1 Binary files /dev/null and b/assets/sd-fonts/Sourcerer/Sourcerer_12.cpfont differ diff --git a/assets/sd-fonts/Sourcerer/Sourcerer_14.cpfont b/assets/sd-fonts/Sourcerer/Sourcerer_14.cpfont new file mode 100644 index 00000000..da79a910 Binary files /dev/null and b/assets/sd-fonts/Sourcerer/Sourcerer_14.cpfont differ diff --git a/assets/sd-fonts/Sourcerer/Sourcerer_16.cpfont b/assets/sd-fonts/Sourcerer/Sourcerer_16.cpfont new file mode 100644 index 00000000..11c09b74 Binary files /dev/null and b/assets/sd-fonts/Sourcerer/Sourcerer_16.cpfont differ diff --git a/assets/sd-fonts/Sourcerer/Sourcerer_18.cpfont b/assets/sd-fonts/Sourcerer/Sourcerer_18.cpfont new file mode 100644 index 00000000..842ffd1d Binary files /dev/null and b/assets/sd-fonts/Sourcerer/Sourcerer_18.cpfont differ diff --git a/assets/sd-fonts/fonts.json b/assets/sd-fonts/fonts.json index 60f68b97..fdd8fed7 100644 --- a/assets/sd-fonts/fonts.json +++ b/assets/sd-fonts/fonts.json @@ -130,6 +130,38 @@ } ] }, + { + "name": "Charis", + "description": "Great universal pick", + "styles": [ + "regular", + "bold", + "italic", + "bolditalic" + ], + "files": [ + { + "name": "Charis/Charis_10.cpfont", + "size": 337367 + }, + { + "name": "Charis/Charis_12.cpfont", + "size": 417485 + }, + { + "name": "Charis/Charis_14.cpfont", + "size": 532708 + }, + { + "name": "Charis/Charis_16.cpfont", + "size": 656012 + }, + { + "name": "Charis/Charis_18.cpfont", + "size": 843707 + } + ] + }, { "name": "Gelasio", "description": "Readable old-style serif (Latin, Cyrillic)", @@ -736,6 +768,38 @@ } ] }, + { + "name": "Sourcerer", + "description": "Thicker versionj of Source Serif", + "styles": [ + "regular", + "bold", + "italic", + "bolditalic" + ], + "files": [ + { + "name": "Sourcerer/Sourcerer_10.cpfont", + "size": 253272 + }, + { + "name": "Sourcerer/Sourcerer_12.cpfont", + "size": 303974 + }, + { + "name": "Sourcerer/Sourcerer_14.cpfont", + "size": 366935 + }, + { + "name": "Sourcerer/Sourcerer_16.cpfont", + "size": 435715 + }, + { + "name": "Sourcerer/Sourcerer_18.cpfont", + "size": 536040 + } + ] + }, { "name": "SourceSans3", "description": "Adobe humanist sans-serif (Latin, Greek, Cyrillic)", diff --git a/lib/EpdFont/scripts/fontconvert_sdcard.py b/lib/EpdFont/scripts/fontconvert_sdcard.py index f7845f96..c75dec76 100644 --- a/lib/EpdFont/scripts/fontconvert_sdcard.py +++ b/lib/EpdFont/scripts/fontconvert_sdcard.py @@ -382,7 +382,11 @@ def extract_kerning_fonttools(font_path, codepoints, ppem): if lookup.LookupType == 9 and hasattr(st, 'ExtSubTable'): actual = st.ExtSubTable if hasattr(actual, 'Format'): - _extract_pairpos_subtable(actual, glyph_to_cp, raw_kern) + if actual.LookupType == 2: + _extract_pairpos_subtable(actual, glyph_to_cp, raw_kern) + else: + print(f" Debug: skipping unsupported GPOS kern lookupType={actual.LookupType} (Format={actual.Format})", + file=sys.stderr) font.close() diff --git a/lib/EpdFont/scripts/sd-fonts.yaml b/lib/EpdFont/scripts/sd-fonts.yaml index 69965ca1..fe5e77e9 100644 --- a/lib/EpdFont/scripts/sd-fonts.yaml +++ b/lib/EpdFont/scripts/sd-fonts.yaml @@ -133,6 +133,26 @@ families: italic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Readerly-Italic.ttf"} bolditalic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Readerly-BoldItalic.ttf"} + - name: Charis + description: "Great universal pick" + intervals: latin-ext,cyrillic + sizes: [10, 12, 14, 16, 18] + styles: + regular: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/NV_Charis-Regular.ttf"} + bold: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/NV_Charis-Bold.ttf"} + italic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/NV_Charis-Italic.ttf"} + bolditalic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/NV_Charis-BoldItalic.ttf"} + + - name: Sourcerer + description: "Thicker versionj of Source Serif" + intervals: latin-ext,cyrillic + sizes: [10, 12, 14, 16, 18] + styles: + regular: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Sourcerer-Regular.ttf"} + bold: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Sourcerer-Bold.ttf"} + italic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Sourcerer-Italic.ttf"} + bolditalic: {url: "https://raw.githubusercontent.com/nicoverbruggen/ebook-fonts/main/fonts/core/Sourcerer-BoldItalic.ttf"} + - name: Spectral description: "A new and versatile serif face (Latin, Cyrillic)" intervals: latin-ext,cyrillic