mirror of
https://github.com/storytold/gridcraft.git
synced 2026-11-10 20:41:47 +00:00
* UI.1265: align CJK fallback text with the Latin baseline Use epaint's existing baseline alignment for system CJK fallback faces and embedded faces tagged with CJK scripts. Mixed CJK, Latin and digits then share a baseline in cells, editors and window titles. Add regression coverage for zoom, font styles, wrapping, fixed-height clipping, vertical alignment, editor height and title truncation. Refs #1265, #2621. * UI.1265: assert title baselines and document visual validation * UI.1265: add baseline comparison and review validation * UI.1265: adapt tooltip regression after upstream merge The upstream shortcut update uses the runtime OS to choose tooltip text. Use the harness OS for the existing split-button test expectation too. Validation: cargo xtask ci; all 10 steps pass; 3,002 tests passed, 1 ignored, no exclusions. * UI.1265: propagate CJK fallback to installed fonts * UI.1265: align fallback baselines across cells * UI.1265: align wrapped and unwrapped cell text * UI.1265: preserve blank lines in wrapped cell alignment * UI.1265: preserve centered fallback placement * UI.1265: find CJK cell text by its visible bounds Use the overlap of text ink, clip rect and cell rect to locate painted text instead of testing a fixed offset from the galley origin. Baseline-aligned fallbacks can move that origin above the cell on Ubuntu. Keep the existing baseline and wrapping assertions unchanged. Validation: cargo xtask ci on macOS; all 3 cjk_baseline tests on Ubuntu 24.04 x86_64. --------- Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com>