Changes (Enhancements & Bug Fixes)
-
29-Oct-2003
-
When removing an ATT feature from a glyph using a script, PfaEdit would screw up
memory. Leading to unpredictable results.
-
28-Oct-2003
-
PfaEdit would crash when converting from cubic to quadratic splines in a
script
-
PfaEdit would leave a dangling pointer when converting from cubic to quadratic.
This did not affect ttf generation, but would affect most other opperations.
-
27-Oct-2003
-
PfaEdit would crash when changing the encoding of a font with a .notdef character
to a user defined encoding.
-
If one had multiple ligatures for the same glyph with the same tag and script,
PfaEdit would eat all but one of them.
-
When generating most kinds of font, of a font which had ligatures containing
glyph names that were not in the font, then PfaEdit would often screw up
memory and eventually crash.
-
26-Oct-2003
-
Simplify sometimes removed points at extrema even when it should not have
-
If one had a ttf font (with instructions) and merged in a postscript font
and then generated a ttf font, PfaEdit would complain about an internal error,
but go on to produce a valid font. It should no longer complain.
-
When generating fonts from a script, if the font were in compacted format
the generated font would have a compact encoding (instead of the desired
encoding).
-
Kanou provided a patch to speed up importing bitmap fonts.
-
23-Oct-2003
-
The change on the 20th to make custom encoding support 32bit unicode was
incomplete and made custom encodings crash instead.
-
The File->Display dialog ignored the left-sidebearing of a glyph causing
output of some fonts to look awful.
-
Was getting the AdobeStandardEncoding a bit wrong (after the 5-Oct change
to the new unicode glyph list which does not contain "fi" nor "fl")
-
I used to set the "widthset" bit on .notdef characters, but there's really
no point to that.
-
Maxim Iorsh tells me that U+fb4f should be a historic ligature.
-
On some displays right scrolling the Histogram dlg would leave black lines
on the window.
-
AutoHint removed too many stems from consideration as hints on some very
bold fonts
-
Make FontBBox of Type1 fonts be executable. Adobe says it doesn't have to
be, but dvips expects it to be.
-
20-Oct-2003
-
Windows XP & 2000 insist on having (what cygwin describes as) the execute
bit of the file set. So PfaEdit now sets execute permissions on ttf, otf
and pfb fonts on the cygwin platform.
-
If a menu was so big that it had to be positioned over the menubar (instead
of above or below it), and the user clicked on the menubar to invoke it,
then the mouse release would go to the new menu and invoke whatever item
happened to be under the cursor. Not good.
-
Oops. The Effects sub-menu should have been disabled for quadratic (truetype)
fonts.
-
Added a new configuration option --with-regular-link to disable my dlopening
of libraries. I dislike this. I don't think it is anywhere near as flexible
as the dlopen method. It makes it much harder to ship something that will
work with freetype (detecting whether the bytecode interpreter is present
must be done at link time rather than run time and that is a severe disadvantage.
But I have been asked for it.
-
Change internal format so that custom encodings can handle 32 bit unicode.
-
16-Oct-2003
-
PfaEdit was still outputting a disordered name table.
-
The source tarball on the website included many files twice and some files
that it should not have included at all. I should now be less than half the
size it used to be.
-
15-Oct-2003
-
PfaEdit did not bother to open files in binary mode. If cygwin was configured
with DOS linebreaks, then pfaedit failed to generate valid font files on
cygwin.
-
Added some more warnings to the default build list and fixed the problems
they indicated.
-
12-Oct-2003
-
Several bad bugs in last night's build (name table was (usually) all screwed
up, conversion from PS to TTF got incorrect Internal Error msgs)
-
Order tables in truetype output
-
My 5-Oct-2003 libpng fix broke it completely. Should now be refixed.
-
11-Oct-2003
-
Another patch from Kanou to recognize encodings better in bdf files.
-
Various memory fixes found by valgrind
-
The Element->Find Problems->ATT->Missing glyph names fixup dlg had
some formatting problems and failed to skip properly.
-
Draw an "x" through encodings which do not map to glyphs
-
If the user is in a compacted encoding and asks to print a font, then revert
to the uncompacted encoding for the duration of the printing.
-
View->Show ATT would show ligatures (and substitutions) even if some of
the glyphs in the glyph list were missing.
-
Fix a number of bugs found by the MS Font Validator
-
I misunderstood (and the spec incorrectly documented) the behavior of the
maxp table
-
I had a typo in figuring out the OS/2 table
-
I had one more case where I was computing the point count of a glyph incorrectly.
-
Make the width line snap to zero when the user drags near it.
-
6-Oct-2003
-
Give the Metrics View a vertical mode in which it does vertical kerning,
etc.
-
Add a hack to allow PfaEdit to parse a wierd pfb file.
-
6-Oct-2003
-
Fixed a number of bugs in the new kerning class dlg including:
-
Vertical kerning classes were displayed horizontally
-
When adding a new class the new offsets were garbage
-
The routine to convert a horizontal kerning class to the equivalent vertical
kerning class (of the vertical varients of the glyphs in the horizontal class)
didn't work.
-
In Back and Lookup Classes of a contextual chaining substitution by class,
the [New] button was never enabled. (it was disabled if []SameAs was on,
and then never enabled).
-
My new 94x94 encodings were actually 93x93. Patch by kanou.
-
5-Oct-2003
-
Got rid of GreekFixup and added Interpretations of encodings to FontInfo
-
PfaEdit failed to output ligature substitutions nested under a context/chain
sub
-
If a font had more than about 5 nested ligatures, pfaedit would screw up
its memory and (likely) crash
-
Fixed various problems pertaining to adding a kerning class to an empty font
-
Add a runtime check for the case where the user's system has a dynamic libpng
installed without libz
-
If a character had ligature carets then PfaEdit could crash when determining
its script
-
PfaEdit was reading mac 'kern' format 3 incorrectly.
-
Rewrote the Kerning class creation dialog. I hope it is clearer now.
-
2-Oct-2003
-
got rid of my strange 94x94 encodings for JIS/KSC/GB (based on the kuten
array) and used instead the much more obvious encoding that everyone else
uses.
-
BDF files were output with the wrong encoding name for JISX0208 (I was outputting
"JISX208" instead-- missing a "0").
-
Autotrace failed to read potrace output properly if there were more than
one contour in a given glyph.
-
Upgraded psunicodenames to the current Adobe Glyph List for New Fonts.
-
Simplify now works for quadratic splines. If one uses the []Allow Slopes
to Change checkbox then results are not good. I need a better algorithem.
-
If asked to generate a type0 postscript font for a font encoded with an extended
1byte encoding (ie. one that had about 300 characters) PfaEdit would probably
crash.
-
29-Sept-2003
-
When a path was both stroked and filled (in a postscript/eps file), pfaedit
would ignore the stroke.
-
I forgot that the stroke linewidth needs to be transformed by the current
transformation matrix. This meant that when a path should have been stroked
by an ellipse (when reading a ps/eps file) pfaedit would blithely stroke
it with a circle.
-
Added some support for reading the /Metrics array.
-
If there were a sharp corner (where the "radius of curvature" of the corner
was less than the radius of the pen used to stroke the path) then PfaEdit
would generate an incorrect path.
-
Round line joins were not a good approximation to circular arcs.
-
When filling the outline character view, rounding errors caused the fill
bitmap to stray from the outline.
-
Extend the functionality of the magnifying (or minifying) tool so that if
the user drags out a rectangle with it then the view will be shifted and
scaled so that rectangle fits in the window.
-
PfaEdit will no longer auto-generate hints on non-integral boundries. In
Type1 fonts such hints become meaningless and just confuse things.
-
PfaEdit will now draw a halo around points which will be part of a flex hint.
See the UpdateFlex preference item.
-
PfaEdit now has as set of commands for manipulating typographic features
in large lumps rather than one at a time.
-
Copy features from one font to another
-
Remove certain features
-
Give features a new tag
-
I have greatly rewritten the code for dealing with AAT fonts
-
PfaEdit now supports mac feature/setting values to be used as feature tags
as well as opentype 4 letter tags
-
PfaEdit will now read any feature in even if it doesn't map to an opentype
tag
-
PfaEdit understands the most of the state machines in the morx/mort tables
(it does not understand ligature state machines, it parses these for all
unconditional ligatures, but it will miss any condtional ones).
-
PfaEdit now lets you edit apple state machines
-
PfaEdit lets you specify feature/setting names in the font to override the
default values specified in preferences
-
Added support for reading Apple's format 3 kern sub-table format (another
way of storing a kerning class)
-
Oops. SVG didn't read relative movetos properly in a path option. Patch by
Kengo Ichiki.
-
Simplify had a bug when passed a path which consisted of a single point with
a zero length spline connecting it to itself
-
Simplify was not greyed out properly in quadratic fonts
-
Some of the low-level error routines consumed massive amounts of cpu time
while waiting for events
-
The PostScript parsing routines would sometimes think that "noaccess" was
part of the value of something in the private dictionary.
-
Several other patches to importing images by templates from scripts. By Kengo
Ichiki
-
Importing pcf bitmaps into the background had some problems.
-
4-Sept-2003
-
the 17-Aug addition of context/chaining broke anchor classes. Should be fixed
now.
-
Károly László has added Hungarian translations for the
style codes to Font Info->TTF Names
-
If a font had comments, an svg file generated from it had syntax errors.
-
Add support for generating multilingual strings (in 'name') for the apple
platform.
-
Add support for the packed gb2312 which mac and windows seem to use.
-
Make a UniqueID of -1 in Font Info mean that the font has no UniqueID.
-
31-Aug-2003
-
Add problems for maximum number of hints (96) and maximum number of subroutine
nests (references) ~10.
-
I looked at AppleChancery again and figured out why I was having trouble
parsing its 'mort' ligature tables, and put in code to make it easy to parse
tables of this type.
-
After figuring that out, I realized there was a bug in my own table generation.
Suppose we have two ligatures "f l => fl" and "s t => st", and are
given "fst". Then my table would fail to find the "st" ligature. The state
of 'read "f" waiting for "l"' would see that it didn't get an "l" and revert
back to the initial state. It should instead have checked to see if "s" could
start a ligature in its own right, and if so jump to the 'got "s" waiting
for "t"' state.
-
The same fix needs to be done for contextual glyph substitution.
-
29-Aug-2003
-
PfaEdit failed to display the morx table if all it contained were simple
substitutions.
-
PfaEdit generated incorrect simple substitution (AAT) tables if it found
a substitution with no valid elements
-
New problem for find problems. Check for characters with more than 1500 points
in them.
-
PfaEdit will now draw selected points in a different color (currently yellow),
and draws them bolder. This makes them stand out better for Find Problems
(but also makes it harder to distinguish between corner and curved points).
-
Redid the way PfaEdit handled arabic forms in AAT. Old method was cleaner
but depended on behavior which is unspecified in Apple's docs.
-
27-Aug-2003
-
The preference dlg has been broken since about
12 July. Anything on the Preference->Font Info tab is probably
wrong.
-
PfaEdit wasn't always getting the script/lang right when filling in the fields
of the New Substitution dlg.
-
The newly generated apple state machines for context/chaining were quite
wrong. I hope I've got them right now.
-
The []PSNames checkbox (in Generate Font, Options dlg) did the opposite of
what it was documented to do. Behavior has been changed to conform to the
documentation (and expectations).
-
PfaEdit would crash when loading some sfd files from a few months ago.
-
26-Aug-2003
-
When I added metadata to svg fonts (20-Aug) I inadvertantly put in two closing
metadata tags. Which broke the font.
-
Fixed a bug conversion of context/chain coverage sub-table into a morx subtable.
-
Figured out in what cases I could generate a morx subtable from context/chain
glyph or class format subtables.
-
Fixed problems reading required features from ttf files.
-
Updated French UI
-
25-Aug-2003
-
View->Show ATT didn't show contextual/chaining tables even if they would
be put in the 'morx' table
-
View->Show ATT had problems showing anything in 'morx'
-
Make it possible to edit contextual/chaining lookups that are formated by
class
-
parsing/generating ttf files with class format context/chaining had problems
-
loading a class format context/chaining lookup caused memory problems when
closing the file.
-
PfaEdit would sometimes lose track of script/languages of lookups when reading
from a ttf file
-
Added a conversion routine from glyph to class format context/chain
-
Kanou points out that not all encodings available in Font Info->Encoding
are present in the scripting interface, and fixes that.
-
22-Aug-2003
-
Fix simplify again
-
Patch from Andrey V. Panov to improve bluevalues
-
KDE refused to make the find problems explanation window visible, so now
I shan't make it invisible in the first place.
-
Generate mac family crashed instead (introduced 2-July)
-
20-Aug-2003
-
Support for potrace
-
Fix some bugs with simplify more
-
Mac build was badly configured and linked with a shared library it should
not have.
-
When compiled with -O2 pfaedit had rounding errors which resulted in a bad
bezier order3=>order2 conversion (PS->TTF)
-
SetPanose sometimes didn't
-
Patch from KANOU to set ulUnicodeRange for version 4
-
18-Aug-2003
-
PfaEdit did not interpret SVG relative paths
properly, and did not generate correct SVG output because of
this. PfaEdit was mistakenly assuming things should
be interpreted as in the Type1 rrcurveto operator (where each point is relative
to the previous point in the operator) rather than the rcurveto operator
(where each point is relative to the initial point).
-
If PfaEdit opened a Bold font stored in OTF CFF format, then when it closed
that font it would either crash, or screw up memory so that a crash would
happen later.
-
17-Aug-2003
-
Support for contextual, chaining contextual and reverse chaining contextual
sub-tables of GPOS/GSUB.
-
Will generate an Apple contextual glyph substitution table if:
-
There is an apple feature which matches the otf tag
-
The sub-table is in coverage format
-
The sub-table contains either exactly one nested single glyph replacement
substitution, or
it contains exactly two single glyph replacements and one of them refers
to the last glyph matched (and the other does not)
-
KANOU points out that on screens with high dpi PfaEdit would sometimes draw
splines 2 pixels wide and sometimes 1 pixel wide (122dpi had this effect)
-
KANOU provided another patch for reading bitmaps one part covered a memory
leak the other fixed a bug reading ttc files.
-
Added a LoadEncodingFile scripting command
-
New french ui.
-
PfaEdit was using the wrong definition of ascent & descent to set those
fields in the 'hhea' table. This confused some mac programs (perhaps others).
-
Added a "BBox" item to CharInfo scripting.
-
Added a FontsInFile scripting command to return an array containing the fontnames
of all fonts in a file. If an error occurs, a zero length array is returned.
-
Change so that when opening a file containing multiple fonts the font's filename
contains the fontname (so it is possible to open other fonts from the same
file).
-
Kanou provides a patch for compressing bitmaps with more than 8 bits of white
space to their left.
-
Markus Schwarzenberg provides a patch to make pfaedit recognize $cidfamilyname
as it should have done.
-
Add the ability to generate fonts which contain both OpenType and Apple Advanced
Typography tables (ie. a font that should work everywhere).
-
Added Utf8(int), Chr(int), Ord(int) to interconvert between strings and their
encodings.
-
Add two problems to Find problems
-
Search for substitutions, contexts, kerning classes, etc. which refer to
a name which does not match any glyph in the font
-
Search for contexts, chains, etc. which refer to a nested lookup which does
not exist
-
Add a new command line argument "-last" which will load the last sfd file
closed.
-
PfaEdit would crash when importing bitmap fonts
-
PfaEdit would crash when trying to do an Element->Default ATT->Suffix
to Tag command
-
3-Aug-2003
-
I still wasn't getting r2l kerns correct
-
Add support for vertical kerning
-
In 'GPOS', 'kern' tables of Open/TrueType
-
In SVG fonts
-
menu commands
-
Remove VKern
-
Vertical Kern By Classes
-
VKern From HKern
-
scripting
-
RemoveVKern
-
SetVKern
-
VKernFromHKern
-
Add a "VKern" item to CharInfo
-
Type argument to SelectByATT has changed!!!
-
Add support for other Pairwise positioning features.
-
Add a $panose command to return an array of panose values (scripting)
-
Add a SetPanose command allowing scripts to change panose values
-
PfaEdit was not rotating .vert glyphs properly
-
31-Jul-2003
-
Installed KANOU's fix for a buffer overrun
-
Installed KANOU's fix for compacted cid-keyed fonts
-
Fixed another bug with compacted cid-keyed fonts
-
Mathias Wollin points out that my pfm files don't have the correct kerning
table format
-
Handles the case where a font has both a 'glyf' and a 'CFF ' table by asking
user which to use
-
Various improvements to the goto dialog from James Crippen.
-
If the ttf "Apple" box got checked then it remained checked in subsequent
Generate Fonts even though the [Options] dialog did not show it checked.
-
PfaEdit would crash if given an Anchor class with no marks.
-
Hmm... I notice that volt only uses format 2 coverage tables. I wonder if
windows fails to handle format 1 tables...
-
30-Jul-2003
-
Add support for svg fonts
(and add dependency on libxml2 for reading them in)
-
Add support for importing/exporting svg files (again libxml2 needed for import)
-
Add support for required features.
-
In quadratic fonts the ellipse tool did not draw ellipses
-
Add support for rectangles/ellipses drawn center out rather than just within
the bounding box
-
Preserve the rect/ellipse tool settings across invocations
-
Put a license entry into the help menu
-
20-Jul-2003
-
made the default linux browser be mozilla rather than netscape.
-
If the metrics view were displaying an anchored pair (mark-base), and a character
were typed into the text field at top before the anchored pair, then the
display got very strange.
-
PfaEdit got confused when merging a font which contained multiple encodings
for the same glyph
-
PfaEdit got confused if there were an lparen in a directory name (thought
this meant a font collection).
-
15-Jul-2003
-
We weren't parsing any type3 fonts properly any more
-
Extend our ps interpreter to understand some of METAPOST's idioms better.
-
I used to call all characters which weren't in the encoding ".notdef" this
could cause problems if a user forgot to name them. I now give them unique
names starting with "NameMe". I still leave characters <256 called ".notdef"
if the encoding calls for it, this may be a mistake...
-
Fix on 14-July to simplify was incomplete.
-
More fiddling with autohint
-
Added support for the new X11 opentype bitmap format.
-
14-Jul-2003 (Bastille Day!)
-
There are still cases where I'm getting the truetype point count wrong. If
a truetype file had a control point that lay under an end point, then I would
treat that as a "no control point" mark, and ignore the cp. But if I do that
blindly I mess up the point count, so during font generation I must be prepared
to put the cp back.
-
Kanou provided a patch to fix a bug in the underlying graphics library.
-
Add a popup menu to Show Att to allow those data to be saved (as utf8 text)
-
Fixed (I hope) right to left kerning
-
Added 'ccmp' entries by default for Hebrew
-
Fixed a couple of bugs with the new simplify more options
-
pfaedit didn't compile on solaris. It now does.
-
12-Jul-2003
-
Remove weirdness in scripting interface to TeX font parameters
-
Kanou points out that the code for reading format 4 embedded (ttf) bitmaps
was ambiguous and would behave incorrectly sometimes. He provided a patch.
-
PfaEdit used not to create ghost hints for curved splines. It does now.
-
PfaEdit did not find some of the hints needed for n021004l.pfb
-
New French UI
-
PfaEdit would sometimes crash when autotracing characters
-
Don't snap to points when moving control points
-
Directory browsing didn't work if the local encoding wasn't latin1 and the
directory name contain non-ascii characters.
-
Add an entry to find problems to look for 'GSUB' entries to non-existant
characters.
-
Expanded the simplify more command
-
The GPOS output routines got very unhappy if a duplicate glyph happened to
have GPOS data. Fixed on both ends I hope.
-
The pcf reader was unhappy if
-
the glyph bb width was a multiple of 8 (we read an extra byte per line which
made the result appear as garbage)
-
several glyphs had the same name.
-
the FontInfo dlg failed to parse the merge_with field of Anchor Classes properly,
meaning that each time [OK] was pressed in fontinfo each anchor class name
got a number prepended to it.
-
Change the way the merge_with field of anchor classes is handled by the UI
so that it makes more sense. We used to display a number, now display the
name of another anchor class with which it can be merged.
-
Added an arabic text sample, courtesy of Thomas Milo.
-
Upgraded to Unicode 4.0 (Note:
libuninameslist has also been
upgraded)
-
Added a new preference item CharCenterHighest to assist in accent placement.
-
Oh. This isn't documented, but each langsys table can only point to one (1)
feature with a given tag. So if I have multiple 'mark' lookups, I can't have
multiple 'mark' features, I must have one 'mark' feature with pointers to
many lookups.
-
PfaEdit could crash when generating a tfm file from a CID keyed font
-
Change GDEF output so that the class def table isn't generated when it isn't
needed (we used to generate a 0 length one, which would confuse the freetype-1
opentype code, and perhaps others).
-
Fixed a bug in autohint caused by negative stem widths.
-
4-July-2003
-
Added a page to the font info dlg which allows users to set TeX font parameters
-
Added a mechanism for specifying TeX charlists and extension characters
-
Added a mechanism for specifying TeX Italic Correction
-
Revamped support for reading tfm files so that it sets all these new things
correctly.
-
2-July-2003
-
Add an Options dialog to the Generate Font window, and remove the check boxes
from it.
-
Add a UI for the 'PfEd' table
-
Add a UI to turn off PostScript hinting
-
PfaEdit can now generate a tfm and enc file (for TeX)
-
Earlier Changes