我正在使用FontForge修改Unicode希伯来语字体。我在希伯来语PUA范围内的U + 05C9处添加了一个字形,并将其命名为“ dageshhazaq”。我将U + 5BC“ dagesh”(包括所有锚点)的字形复制到该字形,然后将“ dageshhazaq”添加到所有包含“ dagesh”的查询表中。在“度量”窗口中,“ dageshhazaq”标记正确显示在基本字形中。但是,生成字体并转到Word后,我可以插入“ dageshhazaq”,但是放置不正确。
谢谢!
答案 0 :(得分:1)
首先,应避免将自己的新字符分配给保留的Unicode插槽。而不是使用U + 05C9,您应该将其分配给专用范围U + E000至U + F8FF的插槽。这可能不是Word无法正确显示它的原因,但是它可能会引起问题,尤其是当Unicode在那里编码其他东西时为了将来的兼容性!
根据我的调查,似乎Word 2010+确实支持标记定位和标记到标记的定位。我已经看到了这种工作方式,包括使用自己构造的字体。
您的标记字形将需要设置正确的OT字形类:“标记”(在“字形信息”对话框中)。标记的前进宽度应为零。 您需要创建适当类别的Mark锚点,并适当放置。您应该能够通过元素>字体信息>查找> GPOS> [您的标记表]> [您的标记子表]>编辑数据> [您的标记类]来查看和调整标记相对于基本字形的位置。 >锚定控制。这应该会打开一个对话框,您可以在其中微调标记锚的位置,如果到此为止,这是一个有希望的信号。
请记住将您的字体生成为OpenType! Windows中存在一个尚未解决的复合问题,即Windows有时会在某个地方缓存旧版本的字体,并且即使您从“字体”中明确删除了旧版本,也无提示地无法更新它文件夹第一。这可能会使您的修补程序似乎无法更改任何内容。
即使您可以在Word中使用它,也仍然是最佳实践,即在不处理OpenType标记定位的软件中将标记定位为看起来尽可能好。将meyim或类似代码复制到背景层上,并将dageshhazaq相对于背景层放置:与直觉相反,即使在处理RTL脚本时,它也位于字形来源的右侧。是的,这是一个hack,是的,在某些情况下,它的效果不佳,但至少是后备。