AmusementClub / AssFontSubset

使用 fonttools 生成 ASS 字幕文件的字体子集,并自动修改字体名称及 ASS 文件中对应的字体名称
179 stars 4 forks source link

提示:The given key 'family_name' was not present in the dictionary #16

Closed braxiong closed 2 months ago

braxiong commented 2 months ago

请问大佬 用的最新版的程序和fonttools 压一些番剧的时候提示:The given key 'family_name' was not present in the dictionary. 求问是为何,用了2个不同字幕组的文件都不行,换了别的字体依旧这样提示

字幕文件: [Snow-Raws] 旦那が何を言っているかわからない件 第01話 (BD 1920x1080 HEVC-YUV420P10 FLACx2).SumiSora.txt [YYDM-11FANS][Danna][01][BDRIP][720P][X264-10bit_AAC][90EF3D4E].YY-sc.txt

MIRIMIRIM commented 2 months ago

第一个文件我测试没有问题,不知道能否使用 AssFontSubset.Console your.ass 从控制台复制一份完整的 log 看一下 第二个可能涉及到其他的问题我要看一下,但也未复现出你提到的这个问题

braxiong commented 2 months ago

您看看这样行吗 我重新尝试了一下,发现用1.2.4.1版本是能正常生成的 但是2.0beta或者2.0正式版都会有这个提示

output.log

MIRIMIRIM commented 2 months ago

您看看这样行吗 我重新尝试了一下,发现用1.2.4.1版本是能正常生成的 但是2.0beta或者2.0正式版都会有这个提示

output.log

我漏说了,可以再指定下 --debug,也就是 AssFontSubset.Console your.ass --debug 再复制一份 log

顺便打包一份 fonts 内的字体我看一下,如果太大可以用临时外链,任意网盘均可

braxiong commented 2 months ago

加了--debug参数后,输出的结果是一样的 我刚重复测试后发现问题点了: 例如单独处理01.ass(第一集字幕,没有迷你简毡笔黑字体),此时如果fonts文件夹不放“迷你简毡笔黑”字体,则能正常子集化; 但如果在fonts文件夹放入了“迷你简毡笔黑”字体,即使该ass没有调用“迷你简毡笔黑”,程序仍然会报错误; 而像是02.ass(第二集)的字幕文件因含了该字体,故必定报错 可此问题仅发生在2.0版本中,如果使用1.2.4.1版本则能正常子集化

fonts link:(删除.zip后缀,然后7zip解压,因单个文件不能超25M故分了2个包) fonts.7z.001.zip fonts.7z.002.zip

sub link: [字幕] 关于完全听不懂老公在说什么的事 (SumiSora 简, 匹配 Snow-Raws).zip

braxiong commented 2 months ago

按首页说的,用FontForge把“迷你简毡笔黑”字体处理了一遍后,可以正常子集化了; 但是就比较奇怪,为何没处理前的字体,用1.2.4.1程序能正常子集化,2.0反倒不行了; 因为1.2.4.1能生成,我就没往字体的问题上多想了。。。 此贴应该算是能终结了。。。。辛苦大佬

braxiong commented 2 months ago

TAT 大佬!!!又发现一个专属2.0的问题 例如本文案例中第五集,systel中已经有方正少儿的字体定义,而下面正文中又有fn方正少儿的内容 用2.0生成就会报错:An item with the same key has already been added. Key: 方正少儿_GBK,0,0 但是换回1.2.4.1能正常生成

MIRIMIRIM commented 2 months ago
  1. 迷你简毡笔黑.TTF 是没有英文 family name 所以报错,这个已修
  2. 方正黑体_GBK.ttf方正平和_GBK.ttf 字体内无英文 family name,却在字幕中使用应该也会报错,这个应该需要更换正确的字体

TAT 大佬!!!又发现一个专属2.0的问题 例如本文案例中第五集,systel中已经有方正少儿的字体定义,而下面正文中又有fn方正少儿的内容 用2.0生成就会报错:An item with the same key has already been added. Key: 方正少儿_GBK,0,0 但是换回1.2.4.1能正常生成

这个已经和上面的第一点一起修复,可以等下试下 https://github.com/AmusementClub/AssFontSubset/actions/runs/9566617903

braxiong commented 2 months ago
  1. 迷你简毡笔黑.TTF 是没有英文 family name 所以报错,这个已修
  2. 方正黑体_GBK.ttf方正平和_GBK.ttf 字体内无英文 family name,却在字幕中使用应该也会报错,这个应该需要更换正确的字体

TAT 大佬!!!又发现一个专属2.0的问题 例如本文案例中第五集,systel中已经有方正少儿的字体定义,而下面正文中又有fn方正少儿的内容 用2.0生成就会报错:An item with the same key has already been added. Key: 方正少儿_GBK,0,0 但是换回1.2.4.1能正常生成

这个已经和上面的第一点一起修复,可以等下试下 https://github.com/AmusementClub/AssFontSubset/actions/runs/9566617903

大佬神速,牛~逼~