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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
|
<HTML>
<HEAD>
<!-- Created with AOLpress/2.0 -->
<!-- AP: Created on: 30-Mar-2009 -->
<!-- AP: Last modified: 3-Feb-2010 -->
<TITLE>Change log for FontForge's sfd format</TITLE>
<LINK REL="icon" href="ffanvil16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<DIV id="in">
<H1 ALIGN=Center>
<A NAME="change-log">Changes</A> to the sfd format
</H1>
<P>
FontForge's <A HREF="sfdformat.html">sfd (spline font database) format</A>
changes over time as fontforge supports more things. I have only recently
started keeping track of these changes, so older changes are not listed here.
<UL>
<LI>
03-Feb-2010
<UL>
<LI>
Added woff keywords (woffMajor, woffMinor (for version #) and woffMetadata
for unparsed xml metadata).
<LI>
Added sfntRevision keyword
</UL>
<LI>
22-Oct-2009
<UL>
<LI>
Add WidthSeparation keyword
<LI>
Add extension to subtable specification to handle storing default separation,min
kerning and touching values of the subtable in the sfd
<LI>
Hmm. Document how vertical kerning subtables are indicated
<LI>
Hmm. Document how default prefixes for single substitution subtables are
stored.
</UL>
<LI>
12-May-2009
<UL>
<LI>
Add MarkAttachmentSet entries
<LI>
Add names for features 'ss01'-'ss20'
</UL>
<LI>
15-Mar-2009
<UL>
<LI>
Add a BDFRefChar keyword to support bitmap references (Alexey Kryukov)
</UL>
<LI>
5-Mar-2009
<UL>
<LI>
Add support for the JSTF table in sfd.
</UL>
<LI>
12-Nov-2008
<UL>
<LI>
Add a field to the font: ExtremaBound. Any spline where the distance between
its end points is less than or equal to this will not be checked for extrema.
</UL>
<LI>
22-Aug-2008
<UL>
<LI>
Add a flag to the Layer keyword (in the font) to say whether the layer is
a background layer or not. As the flag is at the end of the line, previous
versions of fontforge will just ignore it
</UL>
<LI>
10-July-2008
<UL>
<LI>
Extend the image output format to support red/green/blue/alpha images. (not
much of an extension -- there's just more data)
</UL>
<LI>
26-May-2008
<UL>
<LI>
Adobe says UniqueID and XUID are deprecated. Add flags (UseXUID/UseUniqueID)
to indicate we still want to include them in fonts in spite of that.
</UL>
<LI>
30-Mar-2008
<UL>
<LI>
Bump the sfd version number to 3. This is a bit late, but better late than
never. It should have happened with the Layers release on 2-Mar.
<LI>
Support for BASE table, new keywords
<UL>
<LI>
BaseHoriz
<LI>
BaseVert
<LI>
BaseScript
</UL>
<P>
This also involved removing the old vertical origin keyword which is (I hope)
a subset of the BASEline information.
<LI>
Support for Gradient and Pattern Fills in Type3 fonts, new keywords
<UL>
<LI>
FillGradient
<LI>
StrokeGradient
<LI>
FillPattern
<LI>
StrokePattern
</UL>
<LI>
Added support for clipping paths in Type3 fonts, new keyword
<UL>
<LI>
PathFlags
</UL>
</UL>
<LI>
2-Mar-2008
<UL>
<LI>
<B><BIG>Layers</BIG></B><BR>
<FONT COLOR="RED">This turned out to be a change which was backwards
incompatible. I did not realize that at the time</FONT>
<P>
All fonts may now have multiple layers (before only Type3 fonts could). The
Type3 format has not changed so the discussion that follows concentrates
on normal fonts and should be understood not to refer to type3 fonts.
<P>
All glyphs in a given (non-type3) font have the same number of layers so
there is a LayerCount keyword in the font which provides that (there is also
a LayerCount keyword now in each glyph. This provides redundant information,
it should be the same as the font's layer count (for non type3 fonts).
<P>
Before this the foreground and background and Guide layers all had the same
spline type (quadratic or cubic), now that can vary from layer to layer.
There is a font level keyword "Layer" which provides the spline order and
name of each layer. The old "Order2" keyword has been removed.
<P>
Previously only the foreground layer of a glyph could contain references,
now any layer can. Before the "Refer" keyword could appear with no layer
name preceding it (as this unambiguously meant that the references would
go into the foreground layer), now there must be a layer name preceding a
"Refer" keyword.
<P>
Each layer output is preceded by one of "Fore", "Back" or "Layer: d" (where
"d" is the layer number).
<P>
Before the SplineSet keyword was not needed (and was usually omitted) after
a "Fore" or "Back" layer name. It is now required, and this seems to render
new sfd files incompatible with old.
<P>
(If there is no layer tag before a Refer keyword then the parser will apply
it to the foreground layer)
<P>
Previously the validation status applied only to the foreground layer. Now
every layer can have its own status, so again the "Validated" keyword must
now be tagged with a layer.
<P>
There is a font level keyword "DisplayFont" which indicates what layer should
be displayed in the font view by default.
<P>
There is a font level keyword "GridOrder2" which may appear before the "Grid"
layer name in the font to set the spline order of the guideline semi-layer.
</UL>
<LI>
3-Feb-2008
<UL>
<LI>
The point flags bitmap in a SplineSet has been extended by<BR>
0x200 -- Any extrema on the preceding spline are marked as acceptable to
the validator
<LI>
Some sfnt tables are now output in text instead of binary.
<UL>
<LI>
cvt,maxp -- output as decimal numbers (with possibly with comments for cvt)
<LI>
prep,fpgm -- output as ASCII instructions
</UL>
<LI>
Get diagonal hints working again
<LI>
Add a FontLog field
</UL>
<LI>
9-Nov-2007
<UL>
<LI>
Add support for Raph Levien's spiro curves.
<LI>
Add the ability to name contours
</UL>
<LI>
...
</UL>
</DIV>
</BODY></HTML>
|