Fontforge Python:添加字距调整类

问题描述

我已经花了太多时间尝试用fontforge脚本执行以下操作: *字根的值是任何字形的400(正),“ space”后跟“ s”。

我该怎么做?

这是通过界面执行的操作:

gif example

解决方法

我最终手动将每个字形与下一个字形一起定位:

这是我的最终代码,它与我在问题中所要求的完全没有完全一样,但这可能会对遇到此问题的人们有所帮助。

def add_kerning(font):
    s_index = svg_map.index("s")

    offsets = [0] * len(svg_map) ** 2
    for index in range(len(svg_map)):
        offsets[index + len(svg_map) * index] = 400

    for index in range(len(svg_map)):
        offsets[index * len(svg_map) + s_index] = 400

    offsets_tuple = tuple(offsets)

    font.addLookup("kern","gpos_pair",None,[["kern",[["latn",["dflt"]]]]])
    font.addKerningClass("kern","kern-1",tuple(svg_map),tuple(offsets_tuple))