restore-diacritics-kerning.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:inter 作者: rsms 项目源码 文件源码
def loadKerning(filename):
  kerning = plistlib.readPlist(filename)
  # <dict>
  #   <key>@KERN_LEFT_A</key>
  #   <dict>
  #     <key>@KERN_RIGHT_C</key>
  #     <integer>-96</integer>

  leftIndex = {}  # { glyph-name => <ref to plist right-hand side dict> }
  rightIndex = {} # { glyph-name => [(left-hand-side-name, kernVal), ...] }
  rightGroupIndex = {} # { group-name => [(left-hand-side-name, kernVal), ...] }

  for leftName, right in kerning.iteritems():
    if leftName[0] != '@':
      leftIndex[leftName] = right

    for rightName, kernVal in right.iteritems():
      if rightName[0] != '@':
        rightIndex.setdefault(rightName, []).append((leftName, kernVal))
      else:
        rightGroupIndex.setdefault(rightName, []).append((leftName, kernVal))

  return kerning, leftIndex, rightIndex, rightGroupIndex
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号