国语视界

 找回密码
 立即注册
查看: 2125|回复: 12

[技术交流] 【求助】使用BDX_Bete转换成SUP时闪退和纯英文字体的问题

[复制链接]

18

主题

2179

帖子

1028

积分

营长

大洋
32852
阅读权限
50
发表于 23-5-14 01:46 | 显示全部楼层 |阅读模式
本帖最后由 woaiyingui 于 23-5-14 01:48 编辑

刚开始学习做字幕,还有很多问题需要请教,不管问题有多么可笑,也请笑的不要太大声,谢谢。

第一个问题,做好的ASS转SUP,编码类型必须是UTF-8 + BOM,如果是UTF-8,汉字部分会变成乱码;如果是Unicode,直接闪退。目前1.29/1.30/1.31/1.36都是这样,因为是写这个的时候才发现有1.35和1.36,做试过1.36没试1.35。







第二个问题,使用纯英文字体的时候,不能正常显示



本来是想让数字部分让字幕和视频自身的部分保持一直,用图搜索到对应的字体安装后,其他软件是正常用,但是播放视频的时候加载ASS字幕不能正常显示。试过很多办法,OTF转TTF,TTF转OTF,修改字体文件内部信息改成中文,都不行。现在用一种特别恶心的办法来曲线救国,用FontCreator把想要的字体部分覆盖到一个其他的中文字体上,就得到想要的效果,只是麻烦。





希望大神能指点指点,非常感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

98

主题

5050

帖子

7336

积分

版主

大洋
79737
阅读权限
140

帅哥宣传达人皇马褂热心会员版主

发表于 23-5-14 07:05 | 显示全部楼层
电脑里需要安装avisynth2.5,另外不能替换vsfiltermod.dll文件。还有在Aegisub软件里面要加载mod

国语视界我的家园!
回复 支持 反对

使用道具 举报

155

主题

338

帖子

5596

积分

超级版主

大洋
413050
阅读权限
150

太空探索计划

发表于 23-5-14 07:29 | 显示全部楼层
Unicode是一个字符集,定义了大约14万个字符,它包含了几乎所有语言和符号的字符。而UTF-8是一种字符编码方式,用于将Unicode字符映射为字节序列。UTF-8编码是Unicode字符集的一种实现,能够表示更广泛的字符范围,并具有兼容性和高效性的优点。Unicode和UTF-8的区别差不多就是PCM跟WAV的区别。UTF-8+BOM和UTF8区别就是在开头加了EF BB BF三个字节,告诉使用者我是UTF8。Aegisub默认使用UTF-8+BOM所以BDX使用UTF-8+BOM
回复 支持 反对

使用道具 举报

25

主题

811

帖子

319

积分

禁止访问

大洋
1218
阅读权限
0
发表于 23-5-14 11:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

18

主题

2179

帖子

1028

积分

营长

大洋
32852
阅读权限
50
 楼主| 发表于 23-5-14 16:01 | 显示全部楼层
gjp0975 发表于 23-5-14 07:05
电脑里需要安装avisynth2.5,另外不能替换vsfiltermod.dll文件。还有在Aegisub软件里面要加载mod

...

刚开始用easyavs2bdnxml的时候 就装了还作了设计。谢谢!
回复 支持 反对

使用道具 举报

18

主题

2179

帖子

1028

积分

营长

大洋
32852
阅读权限
50
 楼主| 发表于 23-5-14 16:02 | 显示全部楼层
bobo 发表于 23-5-14 07:29
Unicode是一个字符集,定义了大约14万个字符,它包含了几乎所有语言和符号的字符。而UTF-8是一种字符编码方 ...

感谢Bo大,明白了
回复 支持 反对

使用道具 举报

18

主题

2179

帖子

1028

积分

营长

大洋
32852
阅读权限
50
 楼主| 发表于 23-5-14 16:05 | 显示全部楼层
猪小乐 发表于 23-5-14 11:45
为这个字体单独做一个开头的style试试,我也不知道行不行

字体的问题应该不是,在不同的ass上用作不同的字体,结果都是一样的,同样的一个字符在中文字体上就能显示,英文字体不行,肯定是有什么差异,只是现在还找到。谢谢
回复 支持 反对

使用道具 举报

22

主题

422

帖子

114

积分

班长

大洋
1685
阅读权限
20
发表于 23-5-14 16:41 | 显示全部楼层

最省事的方法是把字幕全部转换成utf8编码,并且字幕全部使用gb18030 ttf字体,不要用谷歌思源那种民间改造出来的ttf字体,谷歌官方是没有ttf字体的,因为做出来的单条双字字幕行间距很大,也不要用gbk字体,上面这些字体跟utf8的字体编码不是100%对应的,只有gb18030字体才是100%对应的,现在的跨平台字幕软件为了兼容手机机顶盒外挂字幕都是使用utf8-bom编码,比较老旧的手机或者机顶盒识别不了utf8-bom,只能识别utf8-withoutBOM。另外有些国产播放器是不支持utf8字幕的,比如迅雷看看和暴风影音,直接显示乱码,potplayer和恒星播放器支持utf8字幕,为了照顾这些播放器,人人影视的字幕全部用utf16编码。批量把非utf8字幕转换成utf8的方法如下。

游客,如果您要查看本帖隐藏内容请回复

字幕软件里面的unicode指的是utf16,不论中文还是英文都占用两个字节。
首先,我们要明白,GB2312、GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码。只是对于我们中国人的网站来说,用这三种编码 比较多。简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASC II码,每一个字符对应着唯一的ASCII码。最初计算机是由美国发明的,他们也用的是键盘和上面的字母,所以他们的字符ASCII好解决。但是我们中国 的就不同了,每个汉字要对应唯一的ASCII码。这样,就出来了国家制定的字符编码标准:GB2312、GBK等。其他国家,其他语言也有他们对应的编码 标准。 GB 就是国标的意思,GB2312和GBK主要用于汉字的编码,而UTF-8是全世界通用的。意思就是说,如果你的网页主要面对使用汉语的中国人的话,使用 GB2312和GBK非常好,文字储存体积要小,有一些优点。如果你的网页要面向世界的话,你再用GB2312和GBK作为网页编码的话,有些电脑上的浏 览器没有这种编码,你的网页汉字内容就会变成无法识别的乱码。 它们通常用在网页的meta标签内,例如:,表示这个页面使用的是GB2312编码。这个信息是给浏览器看的,浏览器会优先考虑使用从网页头部提取出来的编码信息对网页进行解码。当然, 我们也可以强制浏览器使用某种编码解释网页,这样我们就看到了传说中的乱码。

GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312
对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。
如果是中文的网站 推荐GB2312 GBK有时还是有点问题 为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便 UTF-8可以看作是大字符集,它包含了大部分文字的编码。
回复 支持 反对

使用道具 举报

22

主题

5380

帖子

802

积分

连长

大洋
6020
阅读权限
40
发表于 23-5-14 19:57 | 显示全部楼层
学习学习再学习。
回复 支持 反对

使用道具 举报

18

主题

2179

帖子

1028

积分

营长

大洋
32852
阅读权限
50
 楼主| 发表于 23-5-15 11:05 | 显示全部楼层
i990049 发表于 23-5-14 16:41
最省事的方法是把字幕全部转换成utf8编码,并且字幕全部使用gb18030 ttf字体,不要用谷歌思源那种民间改造 ...

是的,我的网站就是用UTF8,一般换主题的时候也需要看清楚。
回复 支持 反对

使用道具 举报

2

主题

5629

帖子

598

积分

连长

大洋
8520
阅读权限
40
发表于 23-5-15 13:23 | 显示全部楼层
也来学习一下
回复 支持 反对

使用道具 举报

2

主题

343

帖子

52

积分

列兵

大洋
4200
阅读权限
10
发表于 23-5-25 09:57 | 显示全部楼层
看不懂,但是今天新版BDX加入ass后也崩溃了,老版的没这问题
回复 支持 反对

使用道具 举报

2

主题

343

帖子

52

积分

列兵

大洋
4200
阅读权限
10
发表于 23-5-25 09:59 | 显示全部楼层
我就是UTF-8 + BOM,新版BDX还是会崩溃,哭了= =
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表