ssa/ass无法加载自定义中文字体的问题很常见,几乎所有用过ssa/ass的人都遇到过。有些人通过更改DirectVobSub默认字体的方式暂时解决了该问题。但这毕竟不是根本的解决方法。
今天,终于搞明白为什么会无法加载自定义中文字体了。其实很简单,DirectVobSub按照指定的文字编码(Encoding)读入字幕并显示。而默认情况下,文字编码为0,即ANSI。在这个状态下,所有文字都会被认为是英文,从而调用Arial字体。而遇到中文按照Arial字体显示,则自动调用宋体。所以,要解决这个问题,只要把文字编码改回中文就行了。
打开字幕文件,在[V4 Style]区域中找到相应的样式,将最后一个值(即Encoding)从0(ANSI)改为134(GB2312)即可。再次在播放中调用字幕文件,问题已解决,自定义字体显示正常。
感谢兄弟,我去试试先
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: mine,宋体,24,&Hdcdc23,&Hdd9ce2,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
Style: Default,宋体,25,&H003300,&H0424d9,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
本来最后一个就是这样了啊!
谢谢,搞定了!