TA的每日心情 | 开心 2026-3-16 19:59 |
|---|
签到天数: 1 天 [LV.1]初来乍到
白金会员
  
- 积分
- 76385
|
本帖最后由 蒙太奇字幕组 于 2026-6-14 05:07 编辑
聊了那么久都忘记自我介绍了,顺便一说,我是小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加群一起交流和分享想法哦(在工具右上角点开的讨论区可见入口),也祝你晚安。
|
|