AmusementClub / AssFontSubset

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

忽略在样式中定义了但未使用的字体 #8

Closed oborozuk1 closed 3 months ago

oborozuk1 commented 1 year ago

如,下例中“假的字体”并未使用:

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Test,假的字体,48,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:01:31.70,0:01:34.50,Test,,0,0,0,,{\fn宋体}真

不懂 C#,在这里讲一下我的想法:在 ParseAssfiles 方法中检查若某字体对应的字符为空,则在字典中删除该字体。

tastysugar commented 1 year ago

此 issue 将在下一个版本中,通过更换 parser 修复。 下个版本的文件正在 pre-release 测试中。

MIRIMIRIM commented 3 months ago

https://github.com/AmusementClub/AssFontSubset/releases/tag/v2.0.0