找回密码
 立即注册

【工具分享】基于浏览器的ASS字幕字体嵌入子集化工具

回帖奖励 4400 活跃度 回复本帖可获得 100 活跃度奖励! 每人限 1 次(中奖概率 80%)
  • TA的每日心情
    开心
    2026-3-16 19:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    55

    回帖

    0

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    76385
    蒙太奇字幕组  楼主| 发表于 3 天前 | 显示全部楼层
    本帖最后由 蒙太奇字幕组 于 2026-6-14 05:07 编辑
    HanTaNiA 发表于 2026-6-14 02:54
    是的,我在第二次回复中特意强调了这是对于我提到的这一种需求:

    聊了那么久都忘记自我介绍了,顺便一说,我是小p,这个工具开发者和维护者,也是在这个论坛用字幕组账号发帖的人。

    关于你的帖子中,实际上有两处理解和我的设计有些差异,所以我需要逐一解释下。

    第一个是关于随机化字体名。你提到的"改成子集化后的标识",我在这里必须澄清,那个"标识"其实就是所谓的"随机化字体名",但这并非子集化所必需的功能。

    我的工具最开始时根本不支持随机化,直到2.6+才开始支持的。之所以后来加入这个功能,是因为社区内其他工具这样做,而随机化字体名其实是中文字幕社区在子集化基础上开发的新功能。产生这个需求的原因是,子集化和MKV多集打包这两个东西有点鱼和熊掌不可兼得,多集打包时可能会引起一些播放器因缓存问题导致丢字符,所以随机化就是为了解决这个问题。

    但我的工具默认设计是不随机化的。你在字幕里写着"思源黑体",那么字幕内的字体引用完全不会改,保留原始字体名称,只是字幕里额外多了内嵌字体部分,且内嵌的字体仍然叫"思源黑体"。这是我一开始的设计哲学。

    后来在2.6才意识到随机化的作用,随即加入了随机化功能,并且更进一步,采用字体内映射表新规范。这样的好处是,即便字幕内头部的映射表丢失也没有关系,只要你有字幕和随机化的字体,他们就能自动匹配。这样既能实现双向转换,也不需要依赖写在字幕文本里的映射信息。如果感兴趣可以看看这里:https://github.com/MontageSubs/a ... F%E8%A7%84%E8%8C%83

    第二个误解是关于"完整嵌入字体"选项。这里我必须澄清,完整嵌入并不是用来嵌入已经子集化的字体的,整个工具默认行为就是子集化、无随机的子集化。"完整嵌入字体"选项的真实含义是,比如你的字幕引用了思源黑体,实际使用1500个字符,但思源黑体内部其实有5到6万个字符。完整嵌入就是把整个思源黑体都嵌入进去,完全不进行子集化。


    这样做的好处是什么呢?

    第一,欧美字幕社区对子集化需求几乎没有,日韩也很少,子集化只是中文字幕社区在中文字符很多的场景下开发的功能。对于欧美和日韩来说,完整嵌入才是他们所需的,毕竟一个英文字体才几MB,字母字符也就几十个。

    第二,对于中文字幕社区也有优势。子集化有个诟病,就是你无法修改字幕。比如说你的字幕使用了10个字符,于是你嵌入了对应的字体,但后来你想改进翻译,字符变成了15个不同的字符,此刻如果你继续复用之前嵌入的子集化字体必然会缺字,所以必须重新子集化。而如果嵌入完整字体就不存在缺字的可能性,也无需重新处理。

    实际上你使用的场景完全无需勾选"完整嵌入字体",因为你上传的已经是子集化字体了,勾选和不勾选的效果是一样的。不过如果你后面修改了字幕导致新增了之前字体里不存在的字符,那么你继续上传那个已经随机化的FACAS561字体是无法确保缺字被解决的,因为那个子集里根本不包含你新增的字符。所以此刻就需要上传原始的完整字体"Aa方萌"。在2.7.2版本,你两个字体都可以上传,无论是随机化后的还是原始的完整字体。如果有缺字,日志里会显示缺少几个字符。

    我还想额外提示一下,在2.7.2中,如果你上传随机化字体和随机化字幕之后,没有勾选UI里的"随机化字体名称"选项,工具会生成还原的"原始字幕加内嵌字体"。这就是我前面说的最初设计哲学。如果你需要保留内部的随机化,只需要勾选那个选项即可。

    但说实话,如果你没有遇到播放器缓存导致上下集缺字的问题,我个人是不建议这样做的。这也是UI那个很显眼的警告信息存在的原因。基本上随机化是为了修补其他人(播放器)错误的缓解措施,不应该被视为字幕内嵌字体的标准做法,因为它根本不是标准。

    另外我们在不同的时区,所以活动时间会不同。

    也欢迎你可以通过Telegram或者IRC加群一起交流和分享想法哦(在工具右上角点开的讨论区可见入口),也祝你晚安。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 682 天

    [LV.9]以坛为家II

    3

    主题

    24

    回帖

    16

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    56102
    皆神孝介 发表于 3 天前 | 显示全部楼层

    回帖奖励 +100 活跃度

    本帖最后由 皆神孝介 于 2026-6-14 22:05 编辑

    尝试用了一下
    686793573.png
    这个按钮按下去,肿么没反应?

    追加:
    换个了任务,好像又能下载了

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2026-3-16 19:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    55

    回帖

    0

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    76385
    蒙太奇字幕组  楼主| 发表于 前天 01:04 | 显示全部楼层
    皆神孝介 发表于 2026-6-14 21:43
    尝试用了一下

    这个按钮按下去,肿么没反应?

    感谢反馈,从截图来看,可能是你选择了完整嵌入字体,字体和字幕太多,打包需要时间。

    如果希望子集化则无需选中“完整嵌入字体”,否则体积会增大很多的。

    此外,如果还是遇到问题,请提供使用的浏览器、具体版本、字幕、字体用于排查。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2026-3-16 19:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    55

    回帖

    0

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    76385
    蒙太奇字幕组  楼主| 发表于 11 小时前 | 显示全部楼层
    本帖最后由 蒙太奇字幕组 于 2026-6-17 02:36 编辑

    2.7.3版本发布。

    该版本是2.8版本的前置发布,包含已在2.8-beta中实现且已稳定的功能。由于具有独立性且2.8还需要时间,因此提前单独发布。

    更新内容:

        1. 修复字体多名映射问题

    之前存在同一字体的不同名称被识别为不同字体的问题。例如"思源黑体"和"Source Han Sans"会生成两个子集化文件。2.6.19版本修复了此问题(讨论见23楼),但引入了新的限制:在随机化字体模式下,因为随机化映射表采用一对一关系,如果一个字体有多个名字但映射表只有一个,转换后会导致失真且不可无损还原为原始的多个名字。

    2.7.3找到了一个解决方案。Source Han Sans和思源黑体各自独立映射为随机名字,但仍指向同一字体。字体在不同语言版本下分别保存为随机名字,生成两份映射表,从而支持完整的无损还原。

        2. 新增字幕与字体分离选项

    下载字幕时,在下载按钮旁增加了"字体分离"选项。启用后字体不会嵌入ASS文件,而是独立打包提供。此功能为2.8版本即将推出的MKV制作流程(详见32楼)提前支持。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表