Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make GlyphsBackend writable #76

Open
wants to merge 58 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
de23e83
Add all missing 'put' methods from WritableFontBackend as stubs
ollimeier Jan 8, 2025
35015d3
GlyphsBackend work in progress: two options for discussion
ollimeier Jan 16, 2025
417d2fd
Remove option 2, use some better options for openstep_plist.dump, adj…
ollimeier Jan 17, 2025
1f25bbb
Rework putGlyph based on brainstorming together with Just
ollimeier Jan 17, 2025
e8ef42a
Add A-cy for testing
ollimeier Jan 17, 2025
e2a2626
get the right glyphspackage glyph file name
ollimeier Jan 17, 2025
6dcbf38
Add _findAndReplaceGlyph
ollimeier Jan 17, 2025
d8ac61e
openstep_plist: Fix order issue with toOrderedDict
ollimeier Jan 17, 2025
354e7fd
Remove _findAndReplaceGlyph idea
ollimeier Jan 17, 2025
bf1bfb9
Commit current stage.
ollimeier Jan 17, 2025
c7a66a4
Use pen for drawing
ollimeier Jan 19, 2025
62d0e93
Adding some comments
ollimeier Jan 19, 2025
f76ea61
Add A-cy also to Glyphs 2 and 3 file for unittests
ollimeier Jan 19, 2025
b560a89
Rework unittests and fix issue based on self.parsedGlyphNames
ollimeier Jan 19, 2025
fc5469a
Fixing the special layer issue with adding a gsLayer.layerId mapping …
ollimeier Jan 19, 2025
eaf8559
Extend unittest with test_deleteLayer
ollimeier Jan 19, 2025
53a106d
Add unittest test_addLayer (work in progress)
ollimeier Jan 19, 2025
c27e22e
Add support for 'intermediate layer'
ollimeier Jan 20, 2025
e343a3d
putGlyph including components and anchors + unittests
ollimeier Jan 21, 2025
b43907a
Adjust comments, restructure a bit + more unittests
ollimeier Jan 22, 2025
f6a6728
Fix missing comma and remove 'local hack'
ollimeier Jan 22, 2025
7afe3fa
Rework gsFormatting
ollimeier Jan 22, 2025
f6fe46c
Extend Readme file
ollimeier Jan 22, 2025
14144d3
Move getGlyphspackageGlyphFileName to utils and add unittest
ollimeier Jan 22, 2025
6d8e783
Move comment and make it a bit more clear.
ollimeier Jan 22, 2025
3a210e6
Remove seenLayerIDs. Use 'new' layerName (equal to layerId)
ollimeier Jan 22, 2025
698722f
Update test data "A-cy" + fix test_getGlyph: bug in GlyphsApp 2 file
ollimeier Jan 22, 2025
a40a429
Replace getGlyphspackageGlyphFileName with userNameToFileName (fontto…
ollimeier Jan 22, 2025
f25b1b6
Refactor and fix unittests
ollimeier Jan 22, 2025
1e0ae6a
rework _writeRawGlyph (dumps)
ollimeier Jan 22, 2025
e4e097e
Remove resolved comment
ollimeier Jan 22, 2025
f1fc7e0
Fix variable name, add and remove some comments
ollimeier Jan 22, 2025
7d56bac
Improve getAssociatedMasterId + unittests
ollimeier Jan 23, 2025
248fdf1
Raise NotImplementedError for stubs
ollimeier Jan 23, 2025
00753f9
Update self.glyphMap within putGlyph
ollimeier Jan 23, 2025
834dfe7
replace gsFormatting with convertMatchesToTuples
ollimeier Jan 23, 2025
a7fbd45
Fix customBinaryData formatting with regEx
ollimeier Jan 23, 2025
d41b0b2
Adding guideline to get- and putGlyph
ollimeier Jan 23, 2025
2161e6d
Removing toOrderedDict, not necessary anymore
ollimeier Jan 23, 2025
33840a3
Updating fontra data, because of missing guideline
ollimeier Jan 23, 2025
3568338
Raise error when trying to delete a master layer. Remove numbers from…
ollimeier Jan 23, 2025
0d558d8
Update workflow pytest.yml with Just's openstep-plist
ollimeier Jan 23, 2025
5a0b821
Return copy, as callers may mutate the result. This fixes googlefonts…
justvanrossum Jan 23, 2025
4ed0ac5
Better deepcopy the glyphMap, as clients may mutate
justvanrossum Jan 23, 2025
eb1a70c
Remove fixCustomBinaryDataFormatting and fix some unittests
ollimeier Jan 28, 2025
e1452c1
Don't raise error if some deletes master layer
ollimeier Jan 28, 2025
1ec4a25
Removing fixCustomBinaryDataFormatting
ollimeier Jan 28, 2025
b00dd76
Removing Just's version of openstep-plist because it's part of the of…
ollimeier Jan 31, 2025
2f99a3a
Fix issue with fontra source name
ollimeier Feb 4, 2025
df72ef5
Fix round-trip issue with adding non-master-layer
ollimeier Feb 5, 2025
3d8a990
Fix round-trip unittest + fix issue with smartcomonent
ollimeier Feb 5, 2025
fa207bf
duplicate glyph and add as new glyph
ollimeier Feb 5, 2025
e0bc5ca
Create new glyph + unittest
ollimeier Feb 5, 2025
a39e88a
figure out if master layer based on location + use 'Default' for unit…
ollimeier Feb 5, 2025
af1e72d
Rework gsLocation
ollimeier Feb 5, 2025
b458ba9
Update Fontra test data (dense location)
ollimeier Feb 5, 2025
36127f9
Update getLocationFromSources
ollimeier Feb 5, 2025
43ebf28
Fix typing
justvanrossum Feb 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
# fontra-glyphs

Fontra file system backend for the Glyphs app file format. **Read-only** for now.
Fontra file system backend for the Glyphs app file format.

It supports the following features:

- Brace layers
- Smart components (for now restricted to interpolation: axis values need to be within the minimum and maximum values)


## Write

### Glyph Layer
- Contour (Paths, Nodes) ✅
- Components ✅
- Anchors ✅
- Guidelines ✅
Loading