feat: implement S-52 TX TE text presentation

This commit is contained in:
OpenAI Codex
2026-09-17 16:14:47 +08:00
parent c72310f35a
commit 6a768ca782
5 changed files with 217 additions and 2 deletions

View File

@@ -0,0 +1,28 @@
# CM95 S-52 TX/TE 文字后端阶段报告 v1
## 结论
本阶段完成 S-52 `TX` / `TE` 到 PBF 标量字段与 MapLibre 通用文字层的闭环验证。
- 全部 3057 条 Lookup 的文字物化异常:0。
- Presentation Library 单条 Lookup 最多 3 个 TX/TE,因此固定三个文字 slot 可完整覆盖当前资源。
- TX 参数形态统一为 9 参数,TE 统一为 10 参数。
- 按 OpenCPN 实际代码确认 HJUST:1=center、2=right、3=left;VJUST:1=bottom、2=center、3=top。
- XOFF 按平均字符宽度,YOFF 按字体高度处理。
- 修正 CM93 `_texta` 结构化文本,使用其 `text` 字段,不再把 dict 字符串直接显示。
## 福冈湾 v12 回归
测试 tile:`z12/3531/1641`
- Features:3293
- Layers:23
- hard_gate_unmapped:空
- unresolved CSP:0
- 产生通用 S-52 文字的 Feature:345
- `_texto` 错误 dict 标签:0
- Chrome / MapLibre 页面进入 READY;PBF、Sprite、Tile 正常加载。
- 浏览器截图肉眼确认:泊位号、桥名、航标名、陆地区域名、海底底质等由 TX/TE 自动显示。
测试页:`http://192.168.200.184:8877/presentation_v12.html?hud=collapsed`
下一阶段:按全国实际命中量补 `LC` 复杂线型执行后端,然后继续 AP / vector-only symbol / 显示优先级。