Changes since the last release may be found by performing a "cvs log" command on the file stamp.c.
TEGEUS:
Tell me,
What is your opinion of Progress? Does it, for example,
Exist? Is there ever progression without retrogression?
Therefore is it not true that mankind
Can more justly be said increasingly to Gress?-- A Phoenix too Frequent
Christopher Fry, 1950
"The trouble is," he said, "is that things never get better,
they just stay the same, only more so.--
FaustEric
Terry Pratchett, 1990
So instead, when loading and saving a Type2 font use double precision temporaries. This should mean there will be no errors to accumulate. There will be slight errors when converted to SplinePoints, but these errors will not accumulate.
Change the "Ref with bad ttf transformation" so that it checks for integral coordinates too.
Add a problem which will look at the glyphs a lookup is active for, and then checks the script of each glyph against the scripts attached to the features which invoke this lookup. If the script doesn't match anything, then complain.
Barry also complains that spiro points are rounded. This is more debatable. The bezier conversion will put bezier points where there were spiros, so if we don't round the spiros we get non-integral points. But if we do round the spiros we mess up the splines. Hmm.
Add subtables to hold:
This is a finer grain approach, but similar to, the previous one. There we skipped the whole table, presuming it redundant. But in CharisSIL the morx table has a lot of functionality orthogonal to GSUB. So we must parse both.
Make the window open at 33% instead.
- Previously I forgot to mention Alexey's changes in DStems hinting code.
$ ./configure $ make $ make install $ make fontforgegtk $ make install_gtk
About all it can do is open a font and display it. If a menu command does not require a dialog then it might work. There are probably scores of bugs even in the little bit that supposedly does work.
I think the open dialog is extremely ugly. That's not my fault, that's gtk's widget. The open dialog is far less functional than the one in the gdraw fontforge -- I can't figure out how to enhance it.
In theory.
Add python support for the contour_name.
However, they ain't gwana change, so I must. Always dump out an Encoding dictionary even when it shouldn't be needed.
It expected to find spiros in a glyph marked as being edited in spiro mode, and was surprised when none were available.
The new stuff all worked as far back as 10.3 -- but FontForge source is no longer compatible with 10.2.
Edit->Select->Autohintable
$ ./configure --enable-pyextension
More debateable: if we change "f" to "u0066" then change "f.sc" to "u0066.sc" and "f_f_l" to "u0066_u0066_l" (and recurse on those name changes).
So, I'll support this now as my only way of handling type3 style svg fonts with embedded bitmaps.
The standard points out that URIs are limitted to 1024 bytes, but I don't pay any attention to that restriction, and will stuff arbetrary sized images into these things.
Also extend fontlint to do validity checking in glyphs against the 'maxp' table. (This won't matter when editing fonts, as ff will fixup the maxp values when it generates the font, but there might be some existing fonts with buggy 'maxp' values).
Added some new members to glyph:
Also the contents of one of the structures has changed a bit, and a value that used to live in one field has moved to another (the ppem value moved from (exc)->size->metrics.x_ppem to (exc)->size->root.metrics.x_ppem.
Well, David warned me that this might happen.
Warn the user (rather than just silently failing) when we have a freetype version mismatch.
The dialog is no longer modal, however it does not get updated with each change to the font (that would make moving a point around in the outline view far too sluggish), instead there is a [Refresh] button the user can press to force an update.
So I've added a Ligature Caret count to the Element->Glyph Info dialog to give the user control over it when necessary.
The first creates a new layer by interpolating between the current layer
and the layer in the first argument.
The second creates a new glyph in the font by interpolating between the first
two arguments. The glyph's unicodecode point and name will be copied from
the first argument (the font must not already contain this glyph).
If amount is 0 the result will look like the first glyph, if 1 then like
the second.
% MF2PT1: bbox 0 90 834 422
where the third (so called) bounding box entry is actually the glyph's advance width. I was reluctant to use this at first, because that clearly isn't something that belongs in a bounding box...
Earlier Changes
Changes to PfaEdit (predecessor to
FontForge)