원클릭으로
epub-font-coverage-analyzer
用于 EPUB 出现生僻字、方块字、跨阅读器字形不一致、Kindle 字体回退失败,或需要验证嵌入字体、子集字体和候选大字库是否覆盖全书字符时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
用于 EPUB 出现生僻字、方块字、跨阅读器字形不一致、Kindle 字体回退失败,或需要验证嵌入字体、子集字体和候选大字库是否覆盖全书字符时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
优化中文/CJK EPUB 排版,包括正文节奏、font-family 链、嵌入字体、生僻字 fallback、标题字体、中西文混排和阅读器安全段落间距。用于文字拥挤、裁切、跨阅读器字体不一致或字体规则需要清理时。
将 EPUB 封面式页面、卷首、章首或海报页转换为项目的 A-lite 可重排全页方案,同时保留原有图文叠加构图、文字、图片和资源。
重构和维护 EPUB CSS 分层。用于 CSS 规则重复、放错文件、层级边界不清,或新增正文、弹注、文字效果、文学结构、图片混排、竖排、A-lite 海报等样式时。
优化英文 EPUB 书籍排版,包括书籍类型判断、英语语言标记、serif 字体链、段落缩进、标题层级、插图、断字、引用/诗歌/信件、Kindle/Readest/Apple Books 大字号回归。用于英文小说、散文、非虚构或英文为主的 EPUB 需要形成可重排、可验证的排版方案时。
优化 EPUB 图片版式、figure 环绕、图注、栅格格式、封面声明与阅读器兼容性。用于图片过小、裁切、Kindle 空白、图文环绕差、缺图注,或封面/海报图片处理需要 EPUB 安全规则时。
检查 EPUB 的 Kindle/KDP 兼容风险,包括图片格式、封面 metadata、nav + NCX、MathML properties、CSS fallback、文字裁切、表格/代码溢出和转换日志 warning。用于 Kindle 交付前或 Kindle Previewer/App 与其他阅读器表现不一致时。
| name | epub-font-coverage-analyzer |
| description | 用于 EPUB 出现生僻字、方块字、跨阅读器字形不一致、Kindle 字体回退失败,或需要验证嵌入字体、子集字体和候选大字库是否覆盖全书字符时。 |
先区分“字体里没有字形”和“字形存在但阅读器没有走到回退字体”。本 skill 只读,不嵌入、不子集化、不包裹 span。
先运行 EPUB preflight;发现真实加密资源时停止。
运行公开入口:
python3 scripts/epub_font_coverage_adapter.py book.epub --format json > work/font-coverage.json
查看:
summary.by_profile_risk:不同 reader profile 的 ok/risk/fail。char_inventory:问题字、出现位置、覆盖位置和原因。unresolved:无法解析的 CSS;非零时结论不完整。chain_health:字体链顺序、缺失资源和回退风险。p。当前分析器不会采集 quotes、content 等 CSS 生成字符;须从 CSS 另行枚举,加入子集工具的 extraCodepoints,并对写出字体的 cmap 人工复核。按原因分派:
true-missing:链上没有字体覆盖,寻找大字库或造字。fallback-not-reached:调整链首或改用 .rare 专用类,不先造字。subset-cut:检查子集输入字符和 fontspec。only-non-embedded:属于阅读器依赖,只能结合目标 reader 实测。字体链或 class 修改交给 epub-typography-optimizer;正文角色不确定时先用 epub-content-analyzer。
| 目标 | 建议 |
|---|---|
| 普通正文无缺字 | 保持自由模式,不为“锁字体”额外嵌入 |
| 少量生僻字 | .rare + 专用补字字体 |
| 设计要求锁定正文,或全书必须统一特定字形,且正文角色覆盖完整 | 评估 C1-body、体积和 reader matrix |
| Kindle 只在后备字体有字 | 不依赖逐字回退;调整链或拆专用类 |
| CSS unresolved | 先修解析边界或人工检查,不声称全覆盖 |
若 Apple Books 正常而 Kindle 显示方块,报告显示问题字只在 later-embedded 命中,应判断为回退未到达;把同一字体再重复塞进链中不会解决问题。
中文标点或数字样式异常时,先核对源码码位,再核对实际命中的字体角色及其 cmap,最后才判断阅读器渲染。“”(U+201C/U+201D)与 ASCII 引号、〇(U+3007)与 ○(U+25CB)都不是可由子集化流程互换的字符。
python3 scripts/test_epub_font_coverage_adapter.py
cd tools-font/coverage-detector && uv run pytest -q