shoyoo
发表于 2024-9-25 23:33:49
大佬,咨询个问题,假如我只需要ass转sup应该用什么指令,我试过
mkvtool-windows-amd64 s 2.ass --enable-ass-pgs-coexist--framerate string -f "D:\Download\AviSynth\mkvtool-next\bin"
这种,貌似无法输出sup文件
b8b41e3c
发表于 2024-9-26 08:59:02
本帖最后由 b8b41e3c 于 2024-9-26 09:04 编辑
shoyoo 发表于 2024-9-25 23:33
大佬,咨询个问题,假如我只需要ass转sup应该用什么指令,我试过
这种,貌似无法输出sup文件 ...
mkvtool s a.ass --enable-pgs-output
上面的意思是为a.ass生成一个分辨率为1080p,帧率为23.976的pgs,且不保留子集化后的产物.
更多选项:
--enable-ass-pgs-coexist Enable pgs and ass coexistence mode.
--framerate Set pgs or blank video frame rate (e.g., 23.976, 24, 25, 30, 29.97, 50, 59.94, 60, or custom fps like 15/1). (default "23.976")
--resolution Set pgs or blank video resolution (e.g., 720p, 1080p, 2k, or custom resolution like 720*480). (default "1920*1080")
QH7B
发表于 2024-9-29 18:08:24
发现对于微软雅黑字体的处理还是有点问题:
系统自带的微软雅黑字体的Regular和Bold字型是独立的两个文件,文件名是msyh.ttc和msyhbd.ttc,并且这两个字体文件都有 微软雅黑 和 Microsoft YaHei 这两个名称,于是当这两个名称同时出现在一个字幕文件里,并且字型分别为Bold和Regular的情况下,如果使用 Regular 的样式(Style)的对话(Dialogue)后面使用了 {\b1} 这种代码,Regular 字型的字体文件(msyh.ttc)子集化后{\b1}后面出现的文字就会全部缺字。
b8b41e3c
发表于 2024-9-30 09:43:59
本帖最后由 b8b41e3c 于 2024-9-30 09:49 编辑
QH7B 发表于 2024-9-29 18:08
发现对于微软雅黑字体的处理还是有点问题:
系统自带的微软雅黑字体的Regular和Bold字型是独立的两个文件, ...
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: OPJP,Microsoft YaHei,15,&H0019CA69,&HFF0000FF,&H00FFFFFF,&HB4FFFFFF,0,0,0,0,100,100,0,0.00,1,2,2,8,10,20,7,1
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:05.00,OPJP,NTP,0000,0000,0000,,啊{\b1}白
Dialogue: 0,0:00:06.00,0:00:10.00,OPJP,NTP,0000,0000,0000,,才
无法复现,你给个有问题的版本
Regular 字型的字体文件(msyh.ttc)子集化后{\b1}后面出现的文字就会全部缺字
这不是可以预见的情况?因为{\b1}的意思是,后面的字全部用粗体啊,那这部分字应该分配给msyhbd.ttc,关msyh.ttc什么事?
QH7B
发表于 2024-9-30 11:58:28
b8b41e3c 发表于 2024-9-30 09:43
无法复现,你给个有问题的版本
鬼灯的冷彻 S01E04
蓝奏云:ikkdt2b7q89e
注意 subsetted 文件夹里ASS文件的第 517 行
在封装字幕前我习惯用ListAssFonts再扫描一遍,确保没有错误。
结果昨天有部番剧扫描出大量缺字问题,而且缺字字体都是微软雅黑,这个是其中有问题的一话。
QH7B
发表于 2024-9-30 12:48:08
目前我能想到的解决办法只有移除msyhbd.ttc这个文件。我觉得问题在于msyh.ttc和msyhbd.ttc被识别成了不同的字体,而非同一字体的不同字型,导致加了{\b1}后的文字播放器还是会在Regular字型的字体文件里找,如果能将这两个文件子集化成同名字体应该就没问题了。
b8b41e3c
发表于 2024-9-30 13:41:25
本帖最后由 b8b41e3c 于 2024-9-30 13:58 编辑
QH7B 发表于 2024-9-30 12:48
目前我能想到的解决办法只有移除msyhbd.ttc这个文件。我觉得问题在于msyh.ttc和msyhbd.ttc被识别成了不同的 ...
你看看这个像是缺字的吗?
而且我用你给的subsetted也没有问题,然后,在PotPlayer,子集化后就不粗了,不知道是为啥.
QH7B
发表于 2024-9-30 14:12:37
https://p.sda1.dev/19/42e2bd53061c162050b4e6cff6639e1a/1.JPG
字体文件里确实没有这几个字啊
https://p.sda1.dev/19/a7078011d2937c314ec2b91e6149a80b/2.JPG
b8b41e3c
发表于 2024-9-30 14:18:45
本帖最后由 b8b41e3c 于 2024-9-30 14:46 编辑
QH7B 发表于 2024-9-30 14:12
字体文件里确实没有这几个字啊
有,还有一个同前缀的文件啊,那个才是粗体
经人提点,你可以用 --no-font-rename 参数子集化,这样可以解决PotPlayer的问题.mpv一直没有问题.
目前最终的解决方案是,不要在同一个字幕里用多个字体名字,统一一下
QH7B
发表于 2024-9-30 14:52:03
没有同前缀的啊?明明就是识别成了不同字体,分别改名成了FU91V8T7和8959XMG6,FU91V8T7里有这几个字,8959XMG6没有。。
https://p.sda1.dev/19/99ed4c835c46a8cd544e27c9e75b0cae/4.JPG
用assfonts子集化的倒是有:
https://p.sda1.dev/19/fe4b9a19dc351c2b26602737df63999a/3.JPG