Replies: 1 comment
|
hello, works great , thank you |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Following up on #767. You said there you'd consider Greek if it doesn't add too much to the firmware, so I went and measured it. I know the repo doesn't take PRs, so it's all on a branch in my fork you can look at or cherry-pick if you want: Somnius/CrossInk
feat/greek-support(diff against main).Short version: Greek on its own adds about 195 KB to each build, and all four still fit the 6.25 MB app partition. There's also an optional last commit that takes out Vietnamese and Arabic, and with that every build comes out smaller than v1.6.0. If you'd rather keep those, just leave that commit out.
It's not only the UI. Bitter and Lexend Deca have no Greek at all, so Greek books render as ◆ boxes too. Inter does have Greek, it just wasn't in the ranges that get converted.
Commits on the branch
el(orgre/ell).HyphenationCommongetsisGreekLetter()/toLowerGreek()(incl. the tonos capitals), Greek letters count as alphabetic, and;/·are trimmed like other punctuation. Breaks come out as κα-λη-μέ-ρα, ηλε-κτρο-νι-κός, Κων-στα-ντι-νού-πο-λη, προ-ϋ-πό-θε-ση.fontconvert.pygets--font-exclude-intervals, used so the few Greek letters Bitter/Lexend already have (Δ Ω μ π) come from the Noto face too, otherwise a word like "Πόλη" mixes two designs. Kerning/ligature lookup now follows the same include/exclude rules as glyph lookup. With the old arguments the output is byte for byte the same as the committed fonts, I checked.vi/arout ofcustom_i18n_builtin_langs. Vietnamese and Arabic books still work with SD card fonts, and a device saved on vi/ar UI falls back to English like any language that isn't built in.Size
firmware.bin, all built the same way (pioarduino core 6.1.19, like CI):App partition is 6,553,600, so Greek alone still leaves ~250 KB on the biggest one (default). My main builds for x4-pro, sticky and x4-classic come out byte for byte the same size as the v1.6.0 release files, so the numbers should line up with yours.
Roughly where the 195 KB goes: ~165 KB is the Greek glyphs in the 32 reading fonts + 5 UI fonts, ~28 KB the Greek strings, 2 KB the hyphenation trie.
And the #767 case, English UI with a Greek book on Home:
Testing
default,sticky,x4-proandx4-classicat both commit 4 and commit 5.SectionPersistenceTest,ChapterHtmlSlimParserTest,EpubTextGrayscaleTest,PersistableStoreAtomicTest) don't compile with GCC 16 on my machine, same on unmodified main.bin/clang-format-fixwith clang-format 21, no changes.pio check -e defaultwith the CI flags, no defects.x4-pro-simulator: a Greek EPUB (Cavafy's Ιθάκη plus a paragraph of long words) in both fonts, justified, hyphenation on. Greek UI through the settings tabs. Home with a Greek title and author, which is what Greek supporting interface font #767 was about.esptool image-infoon the x4-pro bin matches the v1.6.0 release (ESP32-S3, DIO 80m, 16MB, same IDF, checksum and hash valid), and theCROSSPOINT-BOARD-V1:x4pro;tag is there.Not on real hardware yet. A friend with an X4 Pro is going to try it, there's a test build on my fork for that.
A few things I left out on purpose:
el. A Greek book with nodc:languagestill reads fine, it just doesn't hyphenate, same as the other languages.🤖 Generated with Claude Code
All reactions