mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-10-14 19:27:09 -04:00
* Support CJK text with the device's own fonts The Linux runtime's rootfs ships DejaVu alone, which has no CJK glyphs, so Chinese, Japanese and Korean text in Steam Big Picture and on the LXQt desktop draws as tofu boxes (issues #118, #206, #249). Bind the device's own CJK fonts - Android's world-readable Noto CJK .ttc, or DroidSansFallback / Source Han - into the guest under /usr/share/fonts/droiddeck-cjk, so nothing is added to the ~790 MB runtime image and the coverage follows the device. A new droiddeck-fonts script, run by droiddeck-session before any program that queries fontconfig, links the default rules, writes local.conf with DejaVu first and the CJK families after it, and rebuilds the fontconfig cache once per set of font files. The desktop's own fontconfig block moves there, so every mode gets it. * Fix CJK and Thai: bind the device font directory, not one file at a time The first cut bound each device font with its own proot -b host:guest. A per-file binding into a plain directory is not applied here: the guest sees a zero-byte placeholder where the font should be (stat size=0, fc-scan empty), so Chinese stayed tofu even though the app had "bound" the font. A directory binding is what the rest of the runtime relies on, so bind /system/fonts as a whole under /usr/share/fonts/droiddeck-device. That also brings Thai, Arabic, Devanagari and the emoji fonts, which the runtime did not have either. Verified on the AYN Thor: the session's fontconfig probe reports sans=DejaVu Sans, zh=Noto Sans CJK SC, th=Noto Serif Thai, and Steam Big Picture in Simplified Chinese renders without tofu (screenshot under docs/development/evidence/). --------- Co-authored-by: xXJsonDeruloXx <[email protected]>