Skip to content

Commit 50bdcd1

Browse files
Merge pull request #148 from aliftype/guideline-locked
Make sure Guideline.locked is saved as boolean
2 parents e7024bc + 6374cf8 commit 50bdcd1

3 files changed

Lines changed: 10 additions & 7 deletions

File tree

src/fontra_glyphs/backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,7 +1413,7 @@ def gsGuidelineToFontraGuideline(gsGuideline):
14131413
y=gsGuideline.position.y,
14141414
angle=gsGuideline.angle,
14151415
name=gsGuideline.name,
1416-
locked=gsGuideline.locked,
1416+
locked=bool(gsGuideline.locked),
14171417
)
14181418

14191419

@@ -1695,7 +1695,7 @@ def fontraGuidelineToGSGuide(guideline):
16951695
gsGuide.position.x = guideline.x
16961696
gsGuide.position.y = guideline.y
16971697
gsGuide.angle = guideline.angle
1698-
gsGuide.locked = guideline.locked
1698+
gsGuide.locked = 1 if guideline.locked else 0
16991699
return gsGuide
17001700

17011701

tests/data/GlyphsUnitTestSans3.fontra/font-data.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
"name": "",
8989
"x": -126,
9090
"y": 90,
91-
"locked": 1
91+
"locked": true
9292
},
9393
{
9494
"name": "",

tests/test_backend.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -703,15 +703,18 @@ async def test_addGuideline(writableTestFont):
703703
)
704704
glyph.layers[layerName] = Layer(glyph=StaticGlyph(xAdvance=0))
705705
glyph.layers[layerName].glyph.guidelines.append(Guideline(name="top", x=207, y=746))
706+
glyph.layers[layerName].glyph.guidelines.append(
707+
Guideline(name="bottom", x=207, y=0, locked=True)
708+
)
706709

707710
await writableTestFont.putGlyph(glyphName, glyph, glyphMap[glyphName])
708711

709712
savedGlyph = await writableTestFont.getGlyph(glyphName)
713+
savedGuidelines = savedGlyph.layers[layerName].glyph.guidelines
710714

711-
assert (
712-
glyph.layers[layerName].glyph.guidelines
713-
== savedGlyph.layers[layerName].glyph.guidelines
714-
)
715+
assert glyph.layers[layerName].glyph.guidelines == savedGuidelines
716+
assert savedGuidelines[0].locked is False
717+
assert savedGuidelines[1].locked is True
715718

716719

717720
async def test_getKerning(testFont, referenceFont):

0 commit comments

Comments
 (0)