将阿拉伯字体移植到iOS系统

时间:2015-08-07 16:08:17

标签: ios fonts custom-font

我只是希望使用自定义字体更好地了解我的iPad。

iOS8设备的默认阿拉伯字体是 GeezaPro 。并且它采用 .ttc 格式。

我正在尝试用自定义字体替换它。

我使用 DOSBOX 将系统字体 ttc 文件分解为 ttf 文件,以使其可编辑。

然后我使用 FontLab Studio 将系统字体字形替换为我的自定义字体字形。

我只是从自定义字体中复制字形并将其粘贴到系统字体中(使用特殊粘贴选项提供FontLab)。

然后我再次使用DOSBOX将这些ttf文件加入到ttc文件中。

这适用于我使用的自定义英文字体。但使用阿拉伯字体显示一些问题。

文字字母在iOS应用中随处可见分开。(因为您已经知道阿拉伯语使用加入字母,有时根据上下文分隔字母。如果字母是第一个字母,它将会使用特定的字形,如果字母在中间或最后使用不同的字形,则同样如此。而在英语中,无论什么,所有字母始终保持分离。除了手写脚本。)

任何想法如何解决?

一些链接:

tutorial I followed to port my fonts

the arabic font I am trying to accomplish (it's free and legit)

P.S:有些人可能会说使用 Bytafont 字体库,但我想使用这种特定的字体。和阿拉伯语字体也限制在图书馆(只有20字体可用)。

1 个答案:

答案 0 :(得分:1)

字体是在嵌入式硬件解释器和字体引擎上运行的复杂程序(与游戏ROM在游戏硬件或模拟器上运行的方式相同),并且不仅包含每个字母的图片,还包含有关如何操作的所有说明根据被告知要处理的输入顺序来定位,组合和替换这些字母。

对于几乎所有字体,仅仅复制字形轮廓是不够的,还需要确保:

  1. 保留原始字体的字形顺序
  2. GPOS table被复制(确定标记定位,字距调整等),
  3. GSUB table被复制(处理字形替换,没有它,你甚至不能写阿拉伯语。例如,你需要ب,ب,ب或ب取决于相同的“字母”的上下文BA')
  4. 所以你通常想要解包TTC(从OpenType 1.7开始可以是truetype或者postscript / type2,所以这是将来要记住的事情),然后执行字形的替换(使用订单保留),以及替换GPOS和GSUB表(使用FontForge或TTX),然后将其打包回TTC