Fonts 希伯来文字体PUA标记在Word中放置不正确

Fonts 希伯来文字体PUA标记在Word中放置不正确,fonts,ms-word,typography,fontforge,Fonts,Ms Word,Typography,Fontforge,我正在使用FontForge修改Unicode希伯来文字体。我在希伯来语PUA范围的U+05C9处添加了一个铭文,并将其命名为“Dageshazaq”。我将U+5BC“dagesh”(包括所有锚点)的标志复制到该标志中,并将“Dageshazaq”添加到包含“dagesh”的所有查找表中。在“度量”窗口中,“Dageshazaq”标记正确显示在基础图示符内。但是,在生成字体并转到Word之后,我可以插入“Dageshazaq”,但它的位置不正确 问题不在于字体,而在于单词,我说的对吗 我该如何解

我正在使用FontForge修改Unicode希伯来文字体。我在希伯来语PUA范围的U+05C9处添加了一个铭文,并将其命名为“Dageshazaq”。我将U+5BC“dagesh”(包括所有锚点)的标志复制到该标志中,并将“Dageshazaq”添加到包含“dagesh”的所有查找表中。在“度量”窗口中,“Dageshazaq”标记正确显示在基础图示符内。但是,在生成字体并转到Word之后,我可以插入“Dageshazaq”,但它的位置不正确

  • 问题不在于字体,而在于单词,我说的对吗
  • 我该如何解决这个问题

  • 谢谢

    首先,您应该避免将自己的新字符分配给保留的Unicode插槽。您不应使用U+05C9,而应将其分配到专用范围U+E000至U+F8FF中的插槽。这可能不是Word无法正确显示的原因,但它可能会导致问题,特别是在Unicode编码其他内容时,可能会导致将来的兼容性问题

    根据我的调查,Word 2010+似乎支持标记定位和标记对标记定位。我已经看到了这一点,包括在我自己的建设字体

    您的标记图示符需要设置右侧的OT图示符类:“标记”(在“图示符信息”对话框中)。标记的前进宽度应为零。 您需要为适当的类创建一个标记锚,并将其放置在适当的位置。您应该能够通过元素>字体信息>查找>GPOS>[您的标记表]>[您的标记子表]>编辑数据>[您的标记类]>锚定控件查看和调整标记相对于基础图示符的位置。这将打开一个对话框,您可以在其中微调标记锚的位置,如果您走到这一步,这将是一个有希望的迹象

    记住将字体生成为OpenType!在Windows中有一个复杂的问题,我还没有找到解决方法,那就是Windows有时会在某个地方缓存旧版本的字体,但无法自动更新,即使您先从字体文件夹中明确删除旧版本。这可能会使您的修复程序看起来无法更改任何内容


    即使您可以在Word中使用它,在不处理OpenType标记定位的软件中定位标记以使其看起来尽可能好仍然是最佳实践。将一个meyim或类似的文件复制到背景层上,并将Dageshazaq相对于背景层进行定位:直觉上,它将位于字形原点的右侧,即使我们正在处理RTL脚本。是的,这是一个黑客攻击,是的,在某些情况下效果很差,但至少是一个退路。

    如果你使用私人区域,它不会是rtl