矢量字体合并《注意事项》

时间:2024-09-30 18:23:48

前面与大家分享过矢量字体合并,详见:字体合并,原来这么简单!!!

工具软件:FontCreator

操作系统:Win7

字体合并是一个非常严谨且需要耐心、细心的活,在合并过程中,如下几点会经常碰到,注意了,否则会出现各种问题,甚至白忙活。

一、Family

修改Family是为了避免字体重名,导致覆盖已安装字体,以及在字体选择时,能更明确展示合成字体名。

具体操作图解如下:【菜单 Font - Properties...】

图片

1、Font Family

图片

图片

2、Typographic Family

图片

图片

二、Metrics

不同字体,Metrics信息可能不一致,若是强制合并【拷贝粘贴】,会出现一些弊端。

图片

特别注意Win Ascent,Win Descent,它们分别代表着字体的最高和最低边界。了解更多,详见:字体设计中“五线谱”的概念

1、将泰文字符拷贝到印地语字体,泰文部分字符可能越界(超出Win Ascent,Win Descent)。如下图示:

图片

若不做其它修改,会导致超出Win Ascent,Win Descent部分不能正常显示。

2、将印地语字符拷贝到泰文字体,虽说不会越界,但是在同等size下,印地语字符会变小。详见如下图示:

图片

说明:在印地语字体中的印地语字符,上边沿无限接近Win Ascent。

图片

说明:拷贝到泰文中的印地语字符,上边沿距离Win Ascent 保留了一定距离。

目前看好像很难有方法解决这个“边界”问题,若是最终需要转换点阵字库,建议先分别生成不同字体的点阵字库,然后通过合并点阵字库来达成多语言字库合并的目的。

三、Unmapped字符

由于考虑文本排版,某些字符会存在多形态或组合形态等,这些形态基本都没有映射编码,故统称为 Unmapped 字符。在做字体合并时,必须也同步拷贝过去。

图片

图片

注意:哪怕相同语言,不同字体,由于其整形规则不同,故 Unmapped 字符数也可能不同。若有幸研究小语种,切记第一件事:确定字体。

四、文本整形规则

针对一些特殊语种,如阿拉伯语,泰文,印地语等,做字体合并时,不仅只是字符合并,还需将(字体内嵌的)文本整形规则一起合并过去,否则合并后的矢量字体文件不完整,间接导致不能被正常使用。

朋友们,如对文本整形规则【Font - OpenType Designer...】感兴趣,也可以研究下。如下图示:

图片

有人问我,研究这些东西难不难?我的回复是:有心,不难,只是时间问题。

最近刻意研究了下文本整形规则合并,将泰文并入印地语字体,好像没法通过软件来完成这个动作,全凭人工,这样相对费时且易错。下图为合并后的泰文效果:

图片

注意:Unmapped字符和文本整形规则,相辅相成,缺一不可。

如对此内容感兴趣或有疑惑,欢迎探讨,共同进步。