mirror of
https://github.com/storytold/gridcraft.git
synced 2026-10-24 10:46:50 -06:00
A theme's <a:fontScheme> carries latin, ea (East Asian) and cs (complex script) typefaces for each of the major and minor fonts. The model held only the latin ones and the writer emitted <a:ea typeface=""/> and <a:cs typeface=""/> unconditionally, so a Japanese workbook's theme fonts (e.g. 游ゴシック, MS Pゴシック) were silently deleted on open + save. Theme gains major_font_ea, minor_font_ea, major_font_cs and minor_font_cs (#[serde(default)], so older GridCraft JSON still loads; empty means the file did not set one). The XLSX reader and writer round-trip them escaped, and a theme without them writes exactly the empty attributes it wrote before. Rendering and font resolution are unchanged: the UI does not consume ea yet, and wiring it in is a follow-up.