TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: 部分字体下文字定位的错误 (font size issue) [打印本页]

作者: lijingjie    时间: 2012-2-28 22:17:36     标题: 部分字体下文字定位的错误 (font size issue)

先上图:

100版本:

110

118版本:

118

第一行是ASS字幕,第二行是TCAS字幕,字体使用的是微软雅黑。

可以看出118版本的ASS字幕,字与字的间距变大了,显然这么大的字距是错误的。

图片附件: [118] 118.png (2012-2-28 22:12:40, 14.9 KB) / 下载次数 2003
http://tcax.org/forum.php?mod=attachment&aid=MzQ3fDIxZThlM2RkfDE3MzI0NjUwOTd8MHww



图片附件: [110] 100.png (2012-2-28 22:12:18, 12.56 KB) / 下载次数 1938
http://tcax.org/forum.php?mod=attachment&aid=MzQ2fGZmYWJkMTY3fDE3MzI0NjUwOTd8MHww


作者: milkyjing    时间: 2012-2-28 22:22:58

不应该是 "这么小的字" 是错误的么?

定义的字体大小是多少? 同样的大小, 换个日文字体试试


作者: lijingjie    时间: 2012-2-28 22:25:44

118版的ASS字幕的字与字的间距不应该变大,应该跟100版本字与字的间距相同才对!
作者: lijingjie    时间: 2012-2-28 22:33:50

milkyjing 发表于 2012-2-28 22:22
不应该是 "这么小的字" 是错误的么?

定义的字体大小是多少? 同样的大小, 换个日文字体试试

难道我们不是应该让TCAX生成的ASS字幕与直接编写ASS字幕的效果一样吗?最终ASS字幕是要靠VSFilter来解析的……
作者: milkyjing    时间: 2012-2-28 22:37:46

lijingjie 发表于 2012-2-28 22:25
118版的ASS字幕的字与字的间距不应该变大,应该跟100版本字与字的间距相同才对! ...

恩, 我明白你的意思了, 是我看问题不周到了, 只以TCAS的标准去衡量问题. 真是矛盾啊. 不, 应该说纠结-_-

我总觉得ASS(或者说VSFilter)字体大小有问题, 但它既然这样子了, 如果我们勉强改个看起来更加正确的, 用到错误的地方, 也就成了错误的了.

其实我最头疼的还是英文字体... 如果原来的定义方式对英文字体也适用的话, 我大可把cairo和magick的代码给改了来迎合ASS.

另外, 对于同样的字体大小, 旧的定义方式, 雅黑等字体会明显偏小我也挺纠结的. 唯一值得庆幸的是, 对日文字体影响不大? (我也没有做太多的实验来证实这个)

p.s. 也许还是返回原来的方式更好点? 毕竟ASS还是主流. 我再考虑考虑 (撞豆腐...



作者: milkyjing    时间: 2012-2-28 22:38:24

lijingjie 发表于 2012-2-28 22:33
难道我们不是应该让TCAX生成的ASS字幕与直接编写ASS字幕的效果一样吗?最终ASS字幕是要靠VSFilter来解析 ...

恩, 你说的对
作者: 四月一日 君寻    时间: 2012-2-28 22:41:22

是不是我要用回1.0.0呢 等待BUG修正 话说帮忙测试的时候还真没注意这个问题- -
作者: milkyjing    时间: 2012-2-28 22:41:48

七海の游风 发表于 2012-2-28 22:41
是不是我要用回1.0.0呢 等待BUG修正 话说帮忙测试的时候还真没注意这个问题- - ...


因为你用的日文字体吧?

p.s. 这问题没那么简单... 毕竟英文字体的问题还留在那儿呢...


作者: 四月一日 君寻    时间: 2012-2-28 22:42:31

milkyjing 发表于 2012-2-28 22:41
因为你用的日文字体吧?

确实是日文字体- -
作者: lijingjie    时间: 2012-2-28 22:44:18

milkyjing 发表于 2012-2-28 22:37
恩, 我明白你的意思了, 是我看问题不周到了, 只以TCAS的标准去衡量问题. 真是矛盾啊. 不, 应该说纠结-_-
...

纠结啊,纠结!矛盾啊,矛盾!

毕竟不能让ASS字幕成为118版那么大间距,否则就舍本逐末了,还是想想其他办法来平衡ASS和TCAS吧……
作者: milkyjing    时间: 2012-2-28 22:50:17

lijingjie 发表于 2012-2-28 22:44
纠结啊,纠结!矛盾啊,矛盾!

毕竟不能让ASS字幕成为118版那么大间距,否则就舍本逐末了,还是想想其他 ...

恩, 确实纠结-_-|

可能在天朝, 没几个人用英文字体, 其实这问题一直存在着的, 只是老的定义方式对中文支持还算不错. 光返回以前的用法, 也没有实际的解决问题... 还得花时间研究研究..

p.s. 你可以用100 sp1的tcax.exe替换118的... (别的不需要换...), 暂时先用着吧...

作者: milkyjing    时间: 2012-2-28 22:57:18

噗... 突然想吐槽字幕了...
作者: lijingjie    时间: 2012-2-28 23:01:09

milkyjing 发表于 2012-2-28 22:57
噗... 突然想吐槽字幕了...

应该吐槽VSFilter,刚刚试了最新版,还是一个样!我也感觉VSFilter是错误的,文字怎么能那么小……
作者: milkyjing    时间: 2012-2-28 23:10:07

lijingjie 发表于 2012-2-28 23:01
应该吐槽VSFilter,刚刚试了最新版,还是一个样!我也感觉VSFilter是错误的,文字怎么能 ...

么办法... 全部丢掉不用又太可惜了...

唉, 这种问题, 根本的解决办法还是得从代码入手... 改天找皮神交流交流... (貌似他有玩过VSFilter的代码..
作者: milkyjing    时间: 2012-2-29 00:11:28

想到一個雖然不算完美,但應該確實可行的辦法:-P
白天起來實驗一下XD
作者: saiyaku    时间: 2012-2-29 09:33:13

路過 我就吐槽一下字幕好了
作者: milkyjing    时间: 2012-2-29 13:01:58

皮神给了一个不错的链接, 先保存下 http://lists.gnu.org/archive/html/freetype/2010-03/msg00007.html


----------------------- 2012-03-01 22:38 编辑 -------------------

刚注册了个FreeType的Mailing List就让我找到了...

http://lists.nongnu.org/archive/ ... 07-01/msg00048.html


作者: milkyjing    时间: 2012-2-29 15:30:08

努力了一下午, 貌似终于见到一丝曙光了...

不过, 大致的修正方向已经确定了.

由于GDI与FreeType之前的差异性(尝试了所以字体大小定义方式, 也找不到一个对所有字体都适用的, 能让他们输出相同大小的字符的方法), 所以只能引入一个新的字体大小, 让TCC中设置的字体大小作为参照(不管是指定给GDI或是FT, 对应的为ASS普通文字与其他类型文字), 程序自动计算出一个字体大小给另一个字体引擎, 从而使两个引擎的结果相同.

使用该解决方案应该能得到一个最理想的结果, 但会对以前的脚本(用到了像素字, Mask, tcas等非纯ASS普通文字特效)造成一定的兼容性问题, 好在修改起来应该会非常容易 --> 只需要修改 GetVal(val_FontSize) 为 GetVal(val_ftFontSize) 或 GetVal(val_gdiFontSize) 即可, GetVal(val_FontSize)仍然会保留, 其含义应该会等价于 GetVal(val_gdiFontSize) --> 也即ASS普通文字的大小定义.

具体要看最终实现以及影响范围评估而定.

-------------- 19:12 编辑 ----------------

   惊奇的发现用目前这算法不会造成任何兼容性问题... XD




作者: milkyjing    时间: 2012-2-29 18:04:42

一波三折之后, 应该算是终于找到正确的方法了... (计算一个合理的FontSize)

估计会保持以VSFilter为基准... 这样的话, 只有118是脱离这基准的... ---> 但之前的所有版本其实都包含了这个BUG, 只是在这里118体现得更明显一点...

大概下个版本就可以修复这个恼人的字体大小问题了...

p.s. 关于定位问题, 还未有很理想的解决方案, 目前的一个想法是编写一个小程序, 用来帮助校正位置...

------------------------------- 23:12 编辑 -----------------------------

新版本已发布 http://www.tcax.org/forum.php?mod=viewthread&tid=13

呼.. 感谢皮神陪我折腾了一个下午...

------------------------------ 2012-03-03 11:39 编辑 -------------------

测试用例 http://www.tcax.org/forum.php?mo ... =1654&fromuid=2







欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2