Python script cra sh: переполнение счета в NSResponder или подклассе. Слишком много несбалансированных - PullRequest
0 голосов
/ 23 января 2020

Я использую скрипт .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 со следующей ошибкой (кажется, что запуск его только с небольшим количеством букв будь в порядке): Я полагаю, это связано с управлением памятью. Есть ли простое решение, чтобы обойти проблему?

Спасибо за любые указатели!

...