- UID
- 27
- 积分
- 4109
- 帖子
- 116
- 主题
- 7
- 论坛币
- 6642
- 威望
- 29
- EP值
- 1567
- MP值
- 17
- 阅读权限
- 100
- 注册时间
- 2011-8-6
- 在线时间
- 287 小时
- 最后登录
- 2017-9-12
|
给字母一个合适的宽度
为什么有些英文字母这么……窄?
大多数日文字体里的拉丁字母宽度都很小,又不能自动调整缩放(也就是说字母i和m的宽度相同),所以看上去很诡异。因为大多数日文字体中字母都存在此问题,更改为另一种日文字体不是合适的选择。
最开始想到的办法是fscx标签。一般来说,在每个字母前加上fscx(120)即可将字母调回正常宽度。不过这里强调每个字母而不是每个单词,在每个字母都有一个pos坐标的情况下,加上fscx120才能生效。如果你以单词/音节为单位划分k值,每几个字母才有一个pos坐标,fscx必然导致字母重叠(见图)。加之卡拉计时一般不单个字母为依据分割,所以,推荐在歌词中只有极少数字母或单词的情况下使用此方法。例如,某句歌词里仅有一个英文字母,或仅穿插了一个单词,其它全为日文,fscx就可以帮上忙,排版也不会因此错乱。
更多数的情况是,一句歌词里有半句是英文,或者整句都是英文。目前一种较为有效的方法是使用中文字体:使用中文字体显示日文歌词中的英文部分。这样不仅符合我们的视觉习惯,而且也允许我们多语言混排;此外,这样做还保证了原文和译文字形相同,唱到英文部分时,原文和译文显示的字体没有任何区别,非常美观。以TCAX为例,具体操作时,需要将工程内的k值、特效脚本和tcc文件复制一份,k值内的所有非英文部分都以全角空格代替,这样便可以准确无误地获取英文pos坐标;特效脚本主体保持不变,通过if语句筛选出所有英文;tcc中使用中文字体,然后执行脚本,即可将所有英文部分单独生成在一个ass文件内。这样既解决的字母宽度问题,又允许按音节分割k值,还允许混排。这也解释了为什么不直接选用英文字体,英文字体均不支持全角空格和特殊符号,会引发TCAX报错,加之英文字体会自动调整字母和半角空格缩放,英文与日文并存时,获得的pos坐标就存在误差。 |
|