Skip to content

Commit 0d8e942

Browse files
committed
Fix underscores, table updating, suffix guesses
- Fixed #8 - Fixed #6 - Support #7 - Version up
1 parent bea810e commit 0d8e942

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

info.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ developer: Ryan Bugden
33
developerURL: http://github.com/ryanbugden
44
launchAtStartUp: false
55
mainScript: main.py
6-
version: 0.9.2
6+
version: 0.9.3
77
addToMenu:
88
- path: main.py
99
preferredName: Anchor Dropper

source/lib/main.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ def guess_y_pos(g_name, anchor_name):
4040
return 3 # Baseline
4141
elif "right" in anchor_name:
4242
return 0 if check_lowercase(g_name) else 1 # Ascender or Cap-Height
43+
elif "top" in anchor_name and (".cap" in g_name or ".case" in g_name):
44+
return 1 # Cap-Height
4345
elif check_lowercase(g_name) or g_name in VALID_ANAMES or any(x in g_name for x in ["comb", "cmb"]):
4446
return 2 # X-Height
4547
else:
@@ -135,7 +137,7 @@ def build(self):
135137
>> (+-) @mainTableAddRemoveButton
136138
>> (*) @settingsButton
137139
>> (Clear Anchors... ) @clearAnchorsButton
138-
>> (Drop Anchors) @addAnchorsButton
140+
>> (Drop Anchors) @dropAnchorsButton
139141
"""
140142

141143
# Make anchor name table items
@@ -148,7 +150,7 @@ def build(self):
148150
clearAnchorsButton=dict(
149151
width=main_button_w,
150152
),
151-
addAnchorsButton=dict(
153+
dropAnchorsButton=dict(
152154
width=main_button_w,
153155
),
154156
anchorNameTable=dict(
@@ -372,18 +374,21 @@ def anchorNameTableAddRemoveButtonAddCallback(self, sender):
372374
anchorName="(Anchor Name)",
373375
)
374376
table.appendItems([item])
377+
self.update_main_table_items()
375378

376379

377380
def anchorNameTableAddRemoveButtonRemoveCallback(self, sender):
378381
table = self.w.getItem("anchorNameTable")
379382
table.removeSelectedItems()
380383
self.update_data()
384+
self.update_main_table_items()
381385

382386

383387
def anchorNameTableDeleteCallback(self, sender):
384388
table = self.w.getItem("anchorNameTable")
385389
table.removeSelectedItems()
386390
self.update_data()
391+
self.update_main_table_items()
387392

388393

389394
def mainTableAddRemoveButtonAddCallback(self, sender):
@@ -422,7 +427,7 @@ def mainTableMenuCallback(self, sender):
422427
self.w_over.getItem("posInput").set(sel_item['y_pos'])
423428

424429

425-
def addAnchorsButtonCallback(self, sender):
430+
def dropAnchorsButtonCallback(self, sender):
426431
f = CurrentFont()
427432
if not f:
428433
print("Please open a UFO first.")
@@ -436,16 +441,18 @@ def addAnchorsButtonCallback(self, sender):
436441
if drop_anchor and g_name in f.keys():
437442
g = f[g_name]
438443
y = local_dimensions[y_pos] + int(y_adjust)
444+
prefix = ""
439445
if g_name in VALID_ANAMES or "cmb" in g_name or "comb" in g_name:
440-
anchor_name = "_" + anchor_name
441-
if overwrite or anchor_name not in [a.name for a in g.anchors]:
446+
prefix = "_"
447+
final_anchor_name = prefix + anchor_name
448+
if overwrite or final_anchor_name not in [a.name for a in g.anchors]:
442449
if overwrite:
443450
for a in g.anchors:
444-
if a.name == anchor_name:
451+
if a.name == final_anchor_name:
445452
g.removeAnchor(a)
446453
break
447-
append_anchor(g, anchor_name, y)
448-
report.setdefault(anchor_name, []).append((g.name, y))
454+
append_anchor(g, final_anchor_name, y)
455+
report.setdefault(final_anchor_name, []).append((g.name, y))
449456
f.changed()
450457
star_length = 40
451458
print()

0 commit comments

Comments
 (0)