This repository has been archived by the owner on Jan 28, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathnotes.txt
101 lines (90 loc) · 3.69 KB
/
notes.txt
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
ufoLib
------
- UFOReader
- need to add up-conversion for kerning and kerning groups
- this needs to be done in three different methods:
- readInfo
- default suffixes can be set in __init__
- readGroups
- maybe skim the kerning for referenced groups and rename on the fly.
this creates a race condition of sorts in that he kerning could be modified
after the groups have been read. there isn't any way around this. maybe the
doc should say that for < version 3 kerning and groups should always be read
at the same time.
- readKerning
- need to temporarily read the groups for conversion. see above.
- readInfo
- double check to make sure that no conversion is needed
- add support for new attributes
- add a method for getting the images path
- add a method for getting the directory path
- add a getLayerNames method
- how will this handle indicating that a layer is the default?
- getGlyphSet
- add a layerName=None argument
- UFOWriter
- change default version
- writeInfo
- need down-convert function to filter out >= 3 attributes
- add support for new attributes
- writeKerning and writeGroups
- down conversion of modified group names is going to be a problem
when writing into an existing < 3 file.
- getGlyphSet
- add layerName=None argument
- add the user name to file name conversion abstraction to glifLib
- add an isDefaultLayer=True (or something) argument for when the default layer has a name
- update layercontents.plist each time a glyph set is created or make the caller do it?
- add a method for getting the images path
- add a method for getting the directory path
- change the directory mod time for each write
- build version 3 attribute definitions
- maybe do a dynamic copy of the version 2 data
- update validation functions
- are the in place version converters necessary?
glifLib
-------
X roll in server optimizations
- make GlyphSet a new style class
- GlyphSet
- add a readLayerInfo(info) method
- add a writeLayerInfo(info) method
- writeGlyph
- need to support guides
- glyph object must have a list like object located at the guidelines attribute.
the objects returned from that object must have a dict like behavior.
API sketch:
for guideline in glyph.guidelines:
x = guideline["x"]
y = guideline["y"]
...
- need to support images
- glyph object must have a dict like object located at the image attribute.
API sketch:
fileName = glyph.image["fileName"]
xScale = glyph.image["xScale"]
- readGlyph
- need to support guides
- glyph object must accept a list of dicts at the guidelines attribute.
API sketch:
glyph.guidelines = [
dict(x=100, y=100, angle=12.3, name="name", color="0,0,0,1", identified="identifier1"),
dict(x=100, y=100, angle=12.3, name="name", color="0,0,0,1", identified="identifier2")
]
- need to support images
- glyph object must accept a dict at the image attribute.
API sketch:
glyph.image = dict(fileName="foo.png", xScale=1, yScale=1, ..., color="1,0,0,0.5")
- GLIFPointPen
- update to new API
- writeGlyphToString needs to be adapted
- add a formatVersion=3 argument
- add a buildOutline_Format2 function
- add the user name to file name conversion from the UFO spec
- don't write "180.0"
point pen protocol
------------------
- add an identifier=None to the beginPath method
- add an identifier=None to the addComponent method
- add an identifier=None to the addPoint method?
- add **kwargs to beginPath and addComponent?