網站可能被牆,請記住以下域名:
subhd.me subhd.one
登錄
註冊
SubHD
搜索
字幕
劇集
電影
2160p
論壇
上傳
字幕組
網址
電報羣
討論區
求字幕
發表新主題
【工具分享】基于浏览器的ASS字幕字体子集化工具
蒙太奇字幕组
2026年3月17日 03:08
大家好,我是蒙太奇字幕组的小p。去年八月从事字幕制作后不久,在咱们的这个 SubHD 论坛 ( https://subhd.tv/forum/f/84307 ) 看到有人提到字体子集化,那是我第一次接触到这个概念。
如今我专门开发了一个网页工具,实现基于浏览器的 ASS字幕字体子集化,帮助大家无需安装软件就能实现字体子集化功能。
这个帖子重点分为两部分:解释什么是字体子集化,以及我的发现思路。如果你只是想要使用工具,请直接看最下方的链接。
【什么是字体子集化?】
ASS 特效字幕里自定义字体很常见,但自定义后观众需要在设备上安装相应字体。桌面可以随意安装,手机和电视等封闭系统就麻烦了。
为了避免让观众安装字体,常见的解决办法有三种:
1. 把字体嵌入 ASS 字幕。问题是中文字体字量庞大,会把原本几百 KB 的字幕膨胀到 15MB 到 50MB;
2. 转为 .sup/.sub 的图形字幕。会失去可编辑性,改错字只能重做生成,并且播放时快进快退还可能出现卡顿;
3. 把字体和字幕封装进 MKV。既增大体积又不可编辑,融合了上面两种方法的缺点。
以上方法还有一个共同痛点:需要使用专用工具,很多甚至只有命令行界面,门槛高。
字体子集化的原理很简单:把字体中没有在字幕里使用的字符删除,只保留字幕实际用到的字符。典型中文字体有一万到七万字,但一个字幕常用字大概只有两千左右。把不用的字去掉后,嵌入字体的体积会大幅缩小。以前嵌入一个中文字体可能需要 25MB,现在处理后可以降到 1MB 甚至更小。
【为什么这项技术没被广泛使用?】
早期只能用命令行,近年有人做了带界面的桌面软件,这对推广这项技术很有帮助,很感谢那些投入时间的开发者们。
我想分享一下自己的体验。我了解这个功能已有半年,但一直没有采用,主要是因为需要安装软件。安装说起来简单,但意味着还要学习软件的使用方法。更重要的是,每次修改字幕后都需要重新子集化,这无形中增加了制作流程的成本。对于像我这样倾向于简化工作的人来说,这些因素足以让我暂时搁置这个想法。
我觉得这可能也是许多人还没有用字体子集化的原因,这正是我后来决定探索浏览器实现方案的初衷。
【为什么做成浏览器工具?】
做《至尊马蒂》字幕时 ( https://subhd.tv/a/s6wlH8 ),我第一次深入研究子集化。为了实现极致特效,我们用了大量绘图指令和动态追踪,结果 ASS 文件膨胀到 20MB(真的是 .ass)。为了解决体积问题,我写了一个 Python 脚本,把近 600 个重复的图形指令替换为 12 个字体字符,字幕从 20MB 降到 1MB。脚本虽然可用,但命令行门槛较高,实际使用者很少,基本只有我在用。于是我着手将其移植到浏览器,起初目的是缩小图形指令体积,随后把重心扩展到字体子集化,最终在浏览器端实现了两者的子集化,可能是首次有人这样做。
【网页工具能做什么?】
- 上传要子集化的 ASS 字幕;
- 自动分析字幕中是否包含图形指令和非系统字体,并提示是否进行子集化;
- 把图形指令子集化为字体并嵌入字幕以复用减少体积;对第三方字体会提示上传字体文件,浏览器端剥离实际使用的字符并嵌入字幕。
为了体验更好,我采用了一些现代 web 标准,页面可添加到任务栏或主屏幕,启动速度接近本地应用。桌面浏览器下支持离线使用(没错,加载完网页后可以拔掉网线继续用)。工具完全在浏览器本地运行,字幕和字体不会上传到服务器。已开源并部署在 GitHub Pages。
【在哪里使用?】
https://montagesubs.github.io/ass-subset/
欢迎反馈与帮助。我们希望通过这个工具降低字幕制作门槛,完善基础设施,推动字幕生态更繁荣。
如果你觉得有用,欢迎分享给更多人,也欢迎一起做字幕。
蒙太奇字幕组 (MontageSubs)
“用爱发电 ❤ Powered by Love”
發表留言
共 11 条
提交
蒙太奇字幕组
【2.8 版本发布】
本版本引入分组模式,并增强了字体版权提示,并为 MKV 打包工作流带来显著优化。
【新增功能】
• 分组模式:支持多字幕打包时的字体复用,避免冗余嵌入(鸣谢 粑粑超人)
• 字体限制警告:新增 fsType 限制提示,帮助识别字体授权问题(鸣谢 NickCollect)
【什么是分组模式?】
分组模式解决的核心问题是:当同一 MKV 中包含多个 ASS 字幕且使用相同字体时,传统方式会导致每个字幕独立嵌入相同字体,造成大量冗余字符。分组模式将多个字幕视作一个整体进行字体子集化、嵌入处理,实现字体复用。
核心优势:
• 减少文件冗余 - 避免相同字符在多个字幕中重复嵌入
• 优化文件体积 - 通过字体复用显著降低 MKV 体积
• 提升兼容性 - 避免多字幕播放时的缓存冲突导致缺字
【使用场景一:字体嵌入到单 MKV 的多字幕中】
如果需要将字体直接嵌入到字幕文件中,按以下步骤操作:
启用分组
上传该 MKV 所有需要的多个字幕
选择嵌入目标字幕(建议选择播放器首先加载的字幕,自动为第一个)
进行嵌入
这种方式下,字体会被嵌入到选定的字幕文件中。
【使用场景二:字幕与字体分离(单 MKV 的多字幕场景)】
如果希望在打包 MKV 时保持字幕和字体分离,按以下步骤操作:
启用分组
上传该 MKV 所有需要的字幕
选择"字幕与字体分离"选项
下载包含 fonts 文件夹的字幕包
下载的文件中会包含"fonts"文件夹,其中是这一组字幕所需的所有字体。在打包 MKV 时,可将多个字幕、fonts 文件夹内的字体和视频统一打包到同一个 MKV 中。
【可选设置:随机化字体名称】
如担心多字幕播放器因缓存导致跨字幕读取时丢失字符,可启用此选项。随机化字体名称能增强播放器的兼容性,避免字体名称冲突问题。
2026-6-30 05:14
提交
蒙太奇字幕组
我们的子集化工具目前主要为字幕制作完成后的嵌入字体环节设计,整个流程是围绕字幕制作工作而构建的。之前群内提到的,如果工作流涉及 MKV 打包,这个工具就很难直接适用,主要原因有两点:
1. 无法处理多字幕合并:当一个 MKV 包含多集动漫(比如 10 集动漫在一个文件中有 10 个字幕)时,工具无法把这些字幕的字符集合并,生成一个统一的子集化字体。
2. 缺少独立字体输出:虽然 UI 里有字体下载功能,但那本质上是用于调试字体问题的。工具目前不支持直接输出子集化后的字体文件供 MKV 打包流程使用(字体是嵌入在字幕内,而非独立提供)。
所以我想了解一下大家的实际使用场景:你们对这类"多字幕合并成一个字体"的需求是否比较常见?这会帮我们评估是否值得扩展工具功能。
2026-6-13 01:46
提交
RobCop
赞,开源吗?
2026-5-29 16:47
提交
蒙太奇字幕组
是的,完全开源,右下角有通往Github的链接
2026-6-13 01:46
提交
Orenji
感谢,感觉是目前字幕子集化工具里最好用的
2026-4-24 22:36
提交
蒙太奇字幕组
你好,我是小p,感谢你的支持。这一个月来我几乎每天都在根据大家的反馈改进,代码更新得很频繁,哈哈。现在功能应该比较稳定了,如果后续遇到任何问题或bug也欢迎继续反馈。
2026-4-30 09:36
提交
蒙太奇字幕组
2.6 版本正式发布了
这次我们实现了论坛字幕作者们期待的功能——字幕字体随机化支持。为了防止映射表丢失,我在字体表 ID 10 字段加入了 YAML 格式的映射数据:
FontSubsetMap: {original: 思源黑体, subset: QTSGQJIO, ass-subset: 2.6}
分别记录原始字体名、随机后的名字,以及生成工具版本。这样既能兼容其他开发者的字幕子集化软件,又能确保字体映射不会丢失。
第二个功能是按字重生成独立字体。现在支持为不同字重各自生成独立字体文件,播放器就能使用真实字重而不是合成字重,显示效果更好。这是可选功能,因为会增加嵌入字体数量,但能让 libass 更好地选择对应字体。
另外还有一些代码优化和 bug 修复。
欢迎使用!
2026-4-23 11:48
提交
蒙太奇字幕组
ASS 字幕子集化工具 v2.3 正式发布
基于大家的建议,v2.3 新增了 5 大功能:
新功能一览:
1. 批量去除子集化 - 快速清除已子集化的字体;
2. 字体下载服务 - 预览后即可下载子集化字体;
3. 文件夹上传 - 支持拖拽上传整个文件夹,批量处理效率翻倍;
4. 现代字体格式 - 新增 WOFF/WOFF2 格式支持;
5. 灵活命名方案 - 下载时可自由选择添加后缀或保持原名。
2026-4-14 12:44
提交
蒙太奇字幕组
2.0 版本重磅更新
感谢大家的支持和建议,新版本实现了以下核心功能:
批量字幕子集化处理 — 一次操作完成多个文件 (感谢 @sillonae 提议)
智能字体加载 — Chrome 和 Edge 浏览器自动识别系统字体,无需上传 (感谢 @zxj999 提议)
多线程加速引擎 — 处理速度显著提升,批量文件处理效率翻倍
实时字体预览 — 直接查看最终效果,免除加载步骤
系统字体嵌入支持 — 灵活选择是否嵌入系统安装的字体
此外还有众多细节优化和性能改进,欢迎体验。
额外惊喜:我们正式推出【基于浏览器的 SVG 转 ASS 绘图指令工具】,点击( https://subhd.tv/forum/f/84793 )查看详情。
特别感谢 @op200 在字体元数据提取上的代码思路,以及 @MoYuanCN 提供的大规模测试数据(40万行字幕文件),帮助发现并修复了工具在极端场景下的缺陷。
2026-4-13 08:38
提交
Kicom
试了,挺好用的,多一个选择,感谢
2026-4-11 20:37
提交
蒙太奇字幕组
我们还有另外一个工具【SVG转ASS绘图指令】这也是我们制作字幕期间解决痛点开发的,稍后过几天我们会再写一篇帖子解释那个。
不过,你现在就可以先使用了:https://montagesubs.github.io/svg-to-ass/
2026-3-17 03:27
提交
最新評論
4k版必须重新调轴 简单调整用不了 - recivet
@魔满月:这个早就改了,可能之前兼容性不好吧 - Jack
我平时下载字幕都是开下载器下的,今天点之后默认是浏览器自己下临时文件.tmp,然后完成之后文件名字是之前zip打包的文件名。就是以前下载是"xxxxxxxxxxxxxxxxxxxxx.zip“ x是数字,现在下载是“明天也要上班KR.E03.2026.AMZN(中韩双语).zip”。我觉得这个变化很好 - 魔满月
@Jack:https://subhd.cc/a/kAGiVK 之前下午五点之前一直尝试更新不行,现在可以了 - 魔满月
谢谢,电脑页面也想翻译来着,有一个是yes和no,而且我觉得不知道电脑屏幕说啥其实挺有意思的,和男主一起疑惑下去,就犯懒没翻译 - Balding
全站最佳字幕。 连手机里的短信都翻译了。这个是那些只靠AI囫囵过的翻译没法比的。 - baki
调整了时间处理方法,所以现在时间有些错乱,明天就好了 - Jack
点赞感谢分享 谢谢 - grxibanez
谢谢翻译!谢谢字幕! - xiaziyan
可以了 - Jack
@魔满月:哪条字幕 - Jack
@BaiYebo:是的 - Jack
怎么显示你的是7月1号发布的?站长超越了?! - BaiYebo
刚编辑字幕修正重新上传,显示 出错啦: HTTP 500) 平时新字幕用zip打包后的都能在线预览字幕的头部内容 - 魔满月
管理员,帮忙把字幕关联下 https://subhd.me/a/pQFPWk 提示“本条记录暂时未收录”,豆瓣ID 36611300 - 沐夜流星
谢谢,之前的字幕我为了可以用GangwonEduSaeeum.ttf基本都首选srt双语,当时第12集没上传估计就做得不满意,过不了自己这关就没传 - 魔满月
页面错误太多,重构了下基本功能先替换上来,看看有啥bug - Jack
时间轴精校,谢谢。 - 天赋
40分钟后时间轴问题已修正 - dajusha
哇,实在是太感谢大大了,上传了好多内容 ,多谢多谢 ,另外 请问大大这部剧结尾一集的字幕还能看到吗 - marissa
最近确实有很高的频率出现错误页面,无法得知原因,等改版吧只能,尽快。。 - Jack
谢谢你,asshole (坏笑 - lemonade66
其中: “一个小时前我的生活还井井有条,各就其位,现在你却把它尽数颠覆…” “就把它以‘这本来的模样’献给神吧!” 我漏掉了“以这本来的模样”的定语,只写到“以这副模样”。英文说的很直接,as it is,但那时并没有“生活本如是(不会完美)”的认知,它就从意识中被漏掉了。 - asssssshole
【2.8 版本发布】 本版本引入分组模式,并增强了字体版权提示,并为 MKV 打包工作流带来显著优化。 【新增功能】 • 分组模式:支持多字幕打包时的字体复用,避免冗余嵌入(鸣谢 粑粑超人) • 字体限制警告:新增 fsType 限制提示,帮助识别字体授权问题(鸣谢 NickCollect) 【什么是分组模式?】 分组模式解决的核心问题是:当同一 MKV 中包含多个 ASS 字幕且使用相同字体时,传统方式会导致每个字幕独立嵌入相同字体,造成大量冗余字符。分组模式将多个字幕视作一个整体进行字体子集化、嵌入处理,实现字体复用。 核心优势: • 减少文件冗余 - 避免相同字符在多个字幕中重复嵌入 • 优化文件体积 - 通过字体复用显著降低 MKV 体积 • 提升兼容性 - 避免多字幕播放时的缓存冲突导致缺字 【使用场景一:字体嵌入到单 MKV 的多字幕中】 如果需要将字体直接嵌入到字幕文件中,按以下步骤操作: 启用分组 上传该 MKV 所有需要的多个字幕 选择嵌入目标字幕(建议选择播放器首先加载的字幕,自动为第一个) 进行嵌入 这种方式下,字体会被嵌入到选定的字幕文件中。 【使用场景二:字幕与字体分离(单 MKV 的多字幕场景)】 如果希望在打包 MKV 时保持字幕和字体分离,按以下步骤操作: 启用分组 上传该 MKV 所有需要的字幕 选择"字幕与字体分离"选项 下载包含 fonts 文件夹的字幕包 下载的文件中会包含"fonts"文件夹,其中是这一组字幕所需的所有字体。在打包 MKV 时,可将多个字幕、fonts 文件夹内的字体和视频统一打包到同一个 MKV 中。 【可选设置:随机化字体名称】 如担心多字幕播放器因缓存导致跨字幕读取时丢失字符,可启用此选项。随机化字体名称能增强播放器的兼容性,避免字体名称冲突问题。 - 蒙太奇字幕组
@Jack:imdb已经挺好,区分起来也容易。全是数字的就是豆瓣,前面有tt前缀的就是imdb - richardsxie
只相信衣柜组! - lawwhy
感谢分享,请问六到十一季会出么 - migemiao
最多支持douban和imdb,各种db太多而且互相不共通 - Jack
能绑 tmdb 就好了,有些片子豆瓣无法收录 - AI_Srt
求更新最后一集。 - zachariah
SubHD
繁体
|
聯繫我們
可用网址
目前可用网址:
subhd.me
subhdtw.com
subhd.one
subhd.top
subhd.cc
subhd.tv
(疑似被墙)
subhd.com
(疑似被墙)
请收藏记录以备不时之需