Expand description
Mermaid 排版用的字宽回调。
merman 默认的确定性字宽和浏览器实际字体对不上,HTML 标签会溢出。这里按
font_metrics.bin(cd libs/shared && bun run mermaid-font-metrics <字体目录> 生成)
里 5 款界面字体(SF Pro Text、Selawik、Roboto、Liberation Sans、Noto Sans)分别求整串宽度,
西文字体缺字形时用 Noto Sans CJK 的宽度,取 5 个结果的最大值:读者实际用哪款字体都放得下。
Structs§
- FontSet 🔒
- 同一字重的 5 款西文字体与对应的 CJK 回退字体。
- Font
Tables 🔒 - Run 🔒
- 码点连续且字宽相同的一段;
milli为千分之一 em(向上取整)。
Statics§
- TABLES 🔒
- 表顺序:0–4 常规西文、5 常规 CJK、6–10 粗体西文、11 粗体 CJK(与生成脚本一致)。
Functions§
- decode 🔒
- environment 🔒
- 使用站点字宽表的渲染环境。每次新建:回调只引用
'static的字宽表,不依赖 merman 类型是否Sync。 - is_bold 🔒
- lookup 🔒
- text_
width_ 🔒px - merman 的字宽回调:返回
text按style排版后的像素宽度。 - width_
em 🔒 - 5 款西文字体各求一遍整串宽度(em),取最大值。
- zero_
width 🔒 - 浏览器排版时不占宽度的字符:软连字符、零宽空格与方向符、变体选择符、组合附加符号。