Я использую скрипт .py для управления Adobe Indesign 2020 через приложение Glyphs, с оригинальным скриптом можно ознакомиться здесь: https://github.com/mekkablue/Glyphs-Scripts/blob/master/Kerning/Steal%20kerning%20from%20InDesign.py
Я сделал небольшую модификацию, начиная в строке 188, начиная с этого:
kernValue = float(thisline[3:])
if kernValue:
thisFont.setKerningForPair(thisFontMasterID, leftSide, rightSide, kernValue)
kernPairCount += 1
print(" Kerning for %s:%s set to %i." % (leftSide, rightSide, kernValue))
К этому:
kernValue = float(thisline[3:])
kernParam = thisFontMaster.customParameters["kernOffset"] or 0
kernOffset = float(kernParam)
# Round to nearest five
kernPretty = round((kernValue + kernOffset) / 5) * 5
# Only if actual result is visible
if kernValue and abs(kernPretty) > 5:
thisFont.setKerningForPair(thisFontMasterID, leftSide, rightSide, kernPretty)
kernPairCount += 1
print(" Kerning for %s:%s set to %i." % (leftSide, rightSide, kernPretty))
По сути, я хочу проанализировать значения, очистить их и применить, только если они больше 5.
Запуск этого скрипта со значительным количеством буквенных комбинаций (Aa, Bb, Cc et c.) Приводит к тому, что он обрабатывает sh со следующей ошибкой (кажется, что запуск его только с небольшим количеством букв будь в порядке): Я полагаю, это связано с управлением памятью. Есть ли простое решение, чтобы обойти проблему?
Спасибо за любые указатели!