summaryrefslogtreecommitdiff
path: root/misc/glyphs-scripts/copy-guides.py
blob: 2830bd41db0a3a06c1498405d3bc959cd775c743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#MenuTitle: Copy global guides from roman to italic masters
# -*- coding: utf-8 -*-
import GlyphsApp
import copy

Glyphs.clearLog()
font = Glyphs.font

romanMasters = [m for m in font.masters if m.italicAngle == 0.0]
#print(romanMasters)

def find_matching_roman(im):
  wght = im.axes[0]
  opsz = im.axes[2]
  for rm in romanMasters:
    if wght == rm.axes[0] and opsz == rm.axes[2]:
      return rm

for im in font.masters:
  if im.italicAngle == 0.0:
    continue
  rm = find_matching_roman(im)
  if rm is None:
    raise Exception("rm not found (im=%r)" % im.name)
  print(im.name, '<-', rm.name)
  im.guides = [copy.copy(g) for g in rm.guides]