diff --git a/docs/changelog.html b/docs/changelog.html index 70db268..468eba0 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -1,4 +1,4 @@ - +
@@ -92,9 +92,11 @@ :root { /* Sans = Orbit Gothic CJK SC → Orbit Gothic (Latin) → sans-serif. - CJK SC is the only CJK variant string we declare — Orbit Gothic - carries the full pan-CJK set in one file and selects SC / TC / - JP / KR glyph shapes via OpenType `locl` based on ``. */ + The regional glyph cut is selected by NAME per `` in the + `:lang()` blocks below (SC default; TC / JP / KR overrides) — NOT via + OpenType `locl`, which Juzhen v2 can defeat by splitting runs into + per-glyph atoms. No Noto fallback: Orbit Gothic CJK already covers the + same range, so a Noto entry would never be reached. */ --font-sans: "Orbit Gothic CJK SC", "Orbit Gothic", sans-serif; /* Alucard (light) — palette.md */ @@ -131,6 +133,26 @@ --del-bg: color-mix(in srgb, var(--error) 10%, transparent); } +/* Region-matched sans cut by NAME (locl-independent — see note above). + Mirrors tokens.css's per-locale --font-serif reordering. The matching + Orbit Gothic CJK cut leads; Orbit Gothic (Latin) then generic sans + follow. (--font-serif / --font-mono are reordered in tokens.css.) */ +:root:lang(zh-TW), +:root:lang(zh-Hant), +:root:lang(zh-HK), +:root:lang(zh-MO) +{ + --font-sans: "Orbit Gothic CJK TC", "Orbit Gothic", sans-serif; +} +:root:lang(ja) +{ + --font-sans: "Orbit Gothic CJK JP", "Orbit Gothic", sans-serif; +} +:root:lang(ko) +{ + --font-sans: "Orbit Gothic CJK KR", "Orbit Gothic", sans-serif; +} + /* === Pro (dark) ===================================================== Applied when OS prefers dark AND mode isn't manually pinned to light. The `:not()` chain lets a manually-set light mode survive @@ -2509,10 +2531,17 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }聚珍(Juzhen)/cjk-autospace 變更紀錄。← 回文檔
+. 納入句末標點:BD_STOP 由 。!? 擴為 。.!?——納入全角句點 .(U+FF0E,異於表意句號 。 U+3002)。實測 Noto CJK SC/TC 之 halt 皆覆蓋、挤压收半形 advance 0.5em,與 。 一致;inkBias 同步補(簡 left/繁 center)。政策行為同 。!?:全角式與開明式句末保持全角 1em,banjiao(或鄰接被收)挤半。設計原則:halt 即字型之「挤压意願」,字型不提供某標點 halt(字形占滿、不宜挤)則信任字型、保持全角不強挤。,「 全角式誤為 1.5em;修後 ,「 全角式與開明式皆 1em、。」 全角式 1.5em/開明式 1em、·— 兩式皆 2em(不宜挤)。並改「同 parent 直接兄弟」掃描為從 root 之透明遍歷(穿越 strong/em 等行內邊界、block/avoid 斷相鄰),使跨 inline 邊界之連續標點亦正確配對(原漏致達 2em)。charClass):把散落各 pass 之硬編碼分類(中文 CJK/西文 ANS/全寬標點 BD_* 子類)統一抽象為規則集,內置默認即現狀值,消費端經 options.charClass({ cjk?, western?, biaodian?:{stop,pause,open,close,middle,liga} })追加擴充,覆寫 spacing/jiya/jinze 之分類判定。動機:英文全角句號 .(U+FF0E,異於中文句號 。)實證為未分類——不 charify/不挤/不補隙;以 charClass:{biaodian:{stop:"."}} 即比照 。。向下兼容:不傳則行為與內置完全一致、各實例隔離(覆寫不污染默認)。v1 為追加語義(不重分類/移除內置);結構性 ASCII 不開放。spacing 之間隙正則改由規則集 per-instance 編譯。測試 66 通過(含 9 條 charClass)。charClass):把散落各 pass 之硬編碼分類(中文 CJK/西文 ANS/全寬標點 BD_* 子類)統一抽象為規則集,內置默認即現狀值,消費端經 options.charClass({ cjk?, western?, biaodian?:{stop,pause,open,close,middle,liga} })追加擴充,覆寫 spacing/jiya/jinze 之分類判定。動機:未分類符號(如二點省略 ‥ U+2025)——不 charify/不挤;以 charClass:{biaodian:{stop:"‥"}} 即可歸入對應類。向下兼容:不傳則行為與內置完全一致、各實例隔離(覆寫不污染默認)。v1 為追加語義(不重分類/移除內置);結構性 ASCII 不開放。spacing 之間隙正則改由規則集 per-instance 編譯。測試 66 通過(含 9 條 charClass)。