Skip to main content

Module metrics

Module metrics 

Source
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 回退字体。
FontTables 🔒
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 🔒
浏览器排版时不占宽度的字符:软连字符、零宽空格与方向符、变体选择符、组合附加符号。