[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1v68w5gfw8808":3},{"code":4,"message":5,"data":6,"timestamp":31},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":27,"homepage":28,"updated_at":29,"history":30},"antfu\u002Ffurifont",24,"A Japanese font that shows furigana by itself.","TypeScript",405,3,32,12,[],"一款自带注音的日文字体：文字保持纯文本，也能在汉字上方显示假名读音。","如果你发布日文内容，希望在不改标记的情况下显示读音，Furifont 值得一试；但如果你更看重句子语境中的读音准确性，它并不合适。\n\n## 解决什么问题\n\n你手头有日文内容——学习页面、阅读应用或博客——想在汉字上标出假名。常见做法是用 ruby 标记逐个包住词语，或者用 JavaScript 处理文本；这既增加工作量，也会在复制、粘贴或遇到不认这些标记的渲染环境时出问题。Furifont 改的是渲染这一步：你只需指定字体族，文本保持原样。最终得到的是这样一段文字：词典中收录的词会带小号读音，而底层字符没有被动过。\n\n## 有什么不同\n\n机制是 OpenType 连字。Furifont 基于 Source Han Sans JP 或 Source Han Serif JP 编译，构建时读取词表，并为每个词画出把读音放在上方的新字形。今日 会变成一个字形，上方带 きょう；较长的词优先于较短的词，因此先处理 日本語，再处理 日本。这与 Fira Code 在代码中用连字的思路相同，只是移到了日文读音上。\n\n好处是部署简单：任何支持自定义字体的环境——网站、电子书阅读器、设计工具——都能显示读音，不需要 `\u003Cruby>`、插件或脚本。代价作者也写得很直接：字体一次只能看到一段汉字，看不到整句上下文，所以注音可能错误；没有明确读音的汉字会保持无注音。应把它当作学习辅助或方便阅读的叠加层，而不是正确性保证；专有名词、特殊读法和依赖语境的词，最容易让这种基于词典的方式出错。\n\n## 谁值得试\n\n适合制作日语学习材料或阅读页面、想在不改内容流程的前提下快速加一层注音的人，也适合想通过网站上的 [bookmarklet 和用户脚本](https:\u002F\u002Ffurifont.antfu.me\u002F) 给任意网页临时加读音的读者。主要在浏览器里读纯文本、希望随时看到读音的学习者也适用。\n\n不适合需要连续文本中读音准确的人，也不适合错误读音不可接受的排版场景，例如面向高级学习者的教材。它也不是给想逐词控制显示哪些读音的人准备的；字体会按词典原样应用。\n\n## 使用条件与边界\n\n在网页上，关键设置是行高：README 建议至少 1.6，示例用 1.7，否则注音会被裁掉。字体可从 [最新发布](https:\u002F\u002Fgithub.com\u002Fantfu\u002Ffurifont\u002Freleases\u002Flatest) 获取，含 Sans 和 Serif、平假名或罗马字版本，以及注音随字重变化的可变字体。许可分开：代码为 MIT，字体为 SIL OFL 1.1，词典数据为 CC BY-SA 4.0；若要再分发定制字体，需要核对词典来源的署名要求。\n\n构建自己的版本——换基础字体、词表、注音字符或字号——需要 Node 22.18 或更高版本，通过 `furifont` CLI 完成。设置写在配置文件中，默认值在仓库里；[设计说明](https:\u002F\u002Fgithub.com\u002Fantfu\u002Ffurifont\u002Fblob\u002Fmain\u002Fdocs\u002Fdesign.md) 解释了字形和连字是如何规划的。日常维护主要是更新词典，因为读音来自打包的数据，而不是句子分析。\n\n## HotRepo 点评\n\nHotRepo 首次记录时项目仅 12 天，在 TypeScript 的 新项目榜（不是总榜）上以 405 个总 star 排第 24，观测日期为 2026-10-25——只有一个带日期的快照，不是每日增长序列；可比的历史不足以判断热度能否持续。采用前具体要查的是词典对你实际发布词汇的覆盖情况；[设计文档](https:\u002F\u002Fgithub.com\u002Fantfu\u002Ffurifont\u002Fblob\u002Fmain\u002Fdocs\u002Fdesign.md) 可以帮你在决定前理解读音为什么会出错。",{"slug":19,"name":20},"media","多媒体与设计",[22,23,24,25,26],"devframe","font","furigana","japanese-learning","ligatures-font","MIT","https:\u002F\u002Ffurifont.antfu.me\u002F","2026-10-25T06:47:18Z",[],1792919803]