問題(使用者回報第三例)
Hannotate 等 ascender/line gap 特別大的字型在左上預覽區顯示時視覺偏位。
根因
`update_preview`(glyphs_ui.py)的 `baseline_offset = -4` 是為系統字型 metrics 手調的固定值,未考慮實際選中字型的 metrics。
方案
抽純函式 `preview_baseline_offset(...)` 進 hanzi_core.py 做 TDD,由字型實際 metrics(ascender/descender/capHeight)計算垂直置中;UI 層只讀 NSFont metrics 餵入。垂直置中公式屬字體設計領域判斷,由作者定義預期行為。
問題(使用者回報第三例)
Hannotate 等 ascender/line gap 特別大的字型在左上預覽區顯示時視覺偏位。
根因
`update_preview`(glyphs_ui.py)的 `baseline_offset = -4` 是為系統字型 metrics 手調的固定值,未考慮實際選中字型的 metrics。
方案
抽純函式 `preview_baseline_offset(...)` 進 hanzi_core.py 做 TDD,由字型實際 metrics(ascender/descender/capHeight)計算垂直置中;UI 層只讀 NSFont metrics 餵入。垂直置中公式屬字體設計領域判斷,由作者定義預期行為。