fix: 修复行缘、切分还原与语言解析并同步文档
保留逐字 margin/jiya.bias 字体后备方案;补齐 demo 重排、量测边界说明及共享规则 1.0.1 反例向量。 验证:完整构建通过,Node 376 项、WKWebView 64 项及原生 demo 9 项通过;Firefox 仍暂缓。
This commit is contained in:
+48
@@ -2,6 +2,54 @@
|
||||
|
||||
目前用法與標記契約以 [README](./README.md#用法) 為準;本檔只記錄升級影響與所需動作。
|
||||
|
||||
## 2026-10-03:全專案掃描後的行緣、回退與語言修復
|
||||
|
||||
- **基線/範圍**:以 `024ad5d`(套件 2.0.0、ruleset 1.0.0)為掃描基線,修復
|
||||
Web adapter、demo、量測工具及文件。套件版本仍為 2.0.0。
|
||||
- **交付狀態**:本次修復已提交並推送至 `main`,倉庫含配套 JS/CSS 與型別宣告。
|
||||
未進行 npm 發佈、下游更新或部署;既有安裝及網站不會自動更新。
|
||||
|
||||
### 可見行為與升級影響
|
||||
|
||||
1. **物理行緣**:`jz-orphan` 包裹不再把同行開括號誤當行首;自訂 isolate/opaque
|
||||
的實際 inline/inline-block/contents 盒可攀出,block 仍是邊界。可見 `br` 作為
|
||||
強制行緣,隱藏 `br` 可穿越。修正影響行端半形及同行/行末間隙判斷,邏輯隔離政策不變。
|
||||
2. **切分回退**:splitoff 不再只憑前兄弟標籤合併。私有切分/合併鏈證明同源、仍相鄰
|
||||
且作者屬性一致時才併回,支援多實例再次切分;外部插入、替換來源或改樣式時保留
|
||||
片段元素、樣式及字序並撤銷本庫標記/憑證。受外部干預後不承諾恢復歷史 DOM 快照。
|
||||
3. **語言**:自身及祖先最近的 `lang=""` 表示未知(`other`),僅屬性缺失才繼承/回退;
|
||||
`lang.default: ""` 亦表示未知。script/region 只按 BCP 47 的位置判讀,私用或擴展
|
||||
內容不再冒充腳本,如 `zh-Hans-x-hant` 為簡體、`zh-TW-x-hans` 為繁體。四個分類鍵、
|
||||
裸 `zh` 預設繁體及逐元素樣式優先序不變。依賴舊錯誤行為者須改成明確語言或樣式。
|
||||
4. **demo 控制**:主 demo 對齊/寬度切換顯式重排,revert 後控制保持停用;拖曳頁
|
||||
八個框各自作為 render 根,寬度觀察及對齊刷新不再只依賴 body 尺寸變化。
|
||||
5. **字型後備**:`margin`+逐語言分類/逐字 `jiya.bias`(left/center/right/full)
|
||||
完整保留。工具補量 `.`(U+FF0E),並明示只量預設 cmap、未做 shaping/`locl`;
|
||||
語言參數僅選 JSON 分類鍵,`halt` 特性存在不保證逐字覆蓋。目標字型與語言下仍須目視微調。
|
||||
|
||||
共享規則升為 **1.0.1 patch**:澄清既有 explicit-script/region 契約並新增七個反例向量,
|
||||
原有 55 個向量結果、字符集合、政策、schema 及 adapter 義務均不變。Web 修正違反既有
|
||||
契約的解析錯誤,不另立 Web 專用分類政策;其他 adapter 須核對全部 62 個向量。
|
||||
本次未驗收 XeLaTeX 或其他 adapter。版本依據見 [共享規則](./rules/README.md#101-語言契約澄清)。
|
||||
|
||||
取用本次倉庫修改時,一起更新配套 JS/CSS/型別及共享規則;公開入口與選項名稱不變。
|
||||
文件另修正 Finder 快取生命週期、no-op 懸掛說明、功能級別預設、樣式優先序及
|
||||
`charClass` 輸入格式:cjk/western 是 regex 字元類片段,biaodian 是逐碼點字串,
|
||||
`"①-③"` 不代表三個圈碼,應寫 `"①②③"`。
|
||||
|
||||
### 本地驗證
|
||||
|
||||
- `npm run build`:JS/CSS 與 TypeScript 型別宣告完整構建通過。
|
||||
- `npm test`:**376/376 通過,0 失敗、0 跳過**;含 strict schema/常數對照、
|
||||
全部 62 個語義向量、外部插入/替換/改樣式、observer 回退及多實例切分 36 個組合。
|
||||
- `npm run test:wkwebview`:最終構建 **64/64 通過**,failures 為空;新增行緣、
|
||||
語言、外部同標籤兄弟及多實例切分用例均在真實 WKWebView 執行。
|
||||
- 最終產物另以原生宿主載入兩個 demo 副本:主頁 4 項、拖曳頁 5 項通過,核對
|
||||
對齊後與手動重排一致、revert 停用,以及框寬變化實際改變行端決策。
|
||||
|
||||
以上是本地 DOM/原生幾何及控制驗證,不代表三引擎目視、所有字型地域字形或真實下游
|
||||
頁面驗收。本次未重新驗收 Chrome/Edge;**Firefox 依用戶要求暫緩**,不安裝或作相容性結論。
|
||||
|
||||
## 2026-10-02:Web 模組邊界、半形模式與局部生命週期修復
|
||||
|
||||
- **基線/範圍**:以 `1c2fb0e`(套件 2.0.0、ruleset 1.0.0)為修復前基線;本次為
|
||||
|
||||
Reference in New Issue
Block a user