Changes (Enhancements & Bug Fixes)
Changes since the last release may be found by performing a "cvs log" command
on the file stamp.c.
-
1-Dec-2005
-
Use GNU gettext rather than my nomen routines to handle translation of the
UI..
-
Add support for plugins.
-
I added a check in parsing tfm files to make sure I didn't read outside the
bounds of the kern table. But the table size was expressed in ints (32 bit
units), and my index was in bytes, so I frequently exceded it.
-
If we used Get Info on a reference in a ttf font, and that reference did
NOT do point matching we would generate an inappropriate error.
-
My support for using endchar as seac in type2 fonts only worked in bare cff
fonts, it did not work if the cff were inside an sfnt wrapper (opentype).
-
I have decided that I will now store all postscript strings in utf8 (copyright,
weight, familyname, etc.) They SHOULD all be ascii. But the occasional copyright
mark would sneak in. We went into an infinite loop on one such because that
was an illegal utf8 string. So fix a number of problems related to this.
-
Switch from using an internal routine to using freetype to rasterize b&w
bitmaps when debugging ttf instructions.
-
Make the gridfit/debug settings sticky across invocations (store in prefs).
-
Add popup info showing the level of greyness in a truetype font being debugged
in anti-alias mode.
-
Werner suggests altering the dynamic range of anti-aliased rasters in the
charview so that the outlines remain visible behind them.
-
Make the background color of the debugger raster window configurable by the
user
-
If a curved point had no control point in one direction, then ff thought
it had no direction and felt free to change it. It should inherit the direction
from the other side of the point. This was even more confusing if the point
went through a two step process, first simplifying one side into a line (losing
the cp) then simplifying the line away (losing the direction).
-
Use a better algorithm to indicate changed pixels. (in debug window)
-
Screwed up View->Show Grid Fit... in Mono mode.
-
Werner wants to be able to see grey scale rasters while debugging truetype.
He also points out that if the instruction before the end of instructions
changes pixels, ff would leave them marked "changed" even after finishing
the instructions.
-
We were getting multiple error windows.
-
Don't allow users to add instructions to a glyph containing both a reference
and contours. Or a glyph where a reference is scaled more than 200%. (tt
doesn't allow these combinations so the references need to be copied inline)
-
Typo in remove overlap caused bad bug in feta26. Error introduced 15 Sept.
-
Further work on what makes a spline linear.
-
The utf7 output routine in sfd did not convert from utf8 properly.
-
Panov has found yet another error in simplify. Be really exuberant about
turning splines that trace out lines into lines.
-
Panov finds another bug:
-
If we change the unicode value of a glyph, then we also need to change
-
the unicode value of any references to that glyph.
-
Panov presents four more bugs:
-
If an sfd file contains an unencoded glyph, it will crash
-
Force Encoding->Original will crash if there's a bdf font missing some
characters (ie. the piecemeal display font)
-
Goto Dlg tried to free an uninit value
-
Goto Dlg contained a string initialized by latin1 rather than utf8.
-
Hmm. the changedsincelasthinted flag doesn't apply to truetype. The equivalent
thing (I guess) is not having any instructions on a glyph with splines.
-
Panov wants a way to build up arrays using easier syntax than: create array,
assign each element.
-
Sometimes we would get both an EUC-CN and a GB2312packed entry in the Encoding
menu.
-
Create a plugin for GB12345, and treat it (in sfnt tables) as GB2312.
-
Add a new scripting funtion: NearlyLines to convert almost linear splines
to linear.
-
Tweak AddExtrema so that it doesn't create Extrema points which are too close
to the endpoints.
-
Didn't terminate an array of answer strings to a question dialog.
-
Fixed a crash in stem database.
-
28-Oct-2005
-
More work on the mac install procdure.
-
Redo the install documentation on the website & in the readmes
-
Add a hack to the directory browser so that on cygwin getting a directory
listing of "/" will include the magic (fake) directory /cygdrive (which gives
access to the rest of the PC)
-
Add a new scripting funtion: NearlyLines to convert almost linear splines
to linear.
-
Tweak AddExtrema so that it doesn't create Extrema points which are too close
to the endpoints.
-
I was dumping all opentype ligatures into an ofm(tfm) file. But I should
probably only add 'liga' and 'rlig' ligatures.
-
Omega has a bug where it thinks 0 width glyphs do not exist. Which means
it thinks none of the combining accents, etc. exist. So force the width of
any zero width glyphs to be the smallest positive width.
-
When reading ttf/otf fonts, FF gave alternate substitutions (and multiple
subs?) a tag of 0.
-
Add two scripting routines to allow people to read & write strings from
and to files. One string per file.
-
The ClearTable scripting command parsed the table's tag incorrectly.
-
23-Oct-2005
-
18-Oct-2005
-
KANOU points out that I was using too strict a rule for parsing svg polygons.
-
OFM output was not working in fonts with lots of kerning combinations.
-
16-Oct-2005
-
A number of fixes for ofm files.
-
Add default 'nukt' "ligature" substitutions to appropriate Devanagari characters
-
15-Oct-2005
-
The patch to the routine determining what glyphs got output broke bitmap
only fonts.
-
Ofm files didn't contain ligatures.
-
The ofm patch broke tfm output.
-
12-Oct-2005
-
29-Sept-2005
-
Add utf8 entry points for many (ucs2) routines. Minimal ability to draw non-BMP
glyphs now with bdf fonts with encodings:
*-UnicodePlane-1 (for plane 1), *-UnicodePlane-2 (for plane 2), etc.
-
Add a menu command to add values from the private dict into the cvt table
(BlueValues, StemSnaps).
-
The Edit cvt window usually failed to draw anything in itself when it popped
up (subsequent refreshes were ok).
-
Patch from Michal Nowakowski to improve memory usage in auto instr.
-
Printing sample text was broken in fonts with no kerning classes.
-
cygwin does very weird things with shared libaries, and we didn't support
them at all.
-
FontForge did not support the depreciated usage of endchar to mean (almost)
seac in type2 charstrings. It should now.
-
os2 typo linegap was not read out of sfd files.
-
Display 'gai' files in the open dlg.
-
I got some mnemonics wrong. Fix 'em up.
-
bdftopcf will use the glyph encoded at 0 as the default glyph if there is
no explicit DEFAULT_CHAR. It seems happy with a DEFAULT_CHAR of -1 to mean
no default, so use that if we don't want glyph 0 to be the default.
-
when outputting bdf, fnt or pt3 bitmap fonts with no outline font generated,
we'd get filenames like foo-*-13.bdf. Get rid of the "-*".
-
Support point numbering of composites even when not debugging.
-
Michal Nowakowski points out that the cvt editor crashed if we changed the
length of the table.
-
Provide two new scripting functions:
-
MoveReference(xoff,yoff,[ref-name/ref-unicode]+)
-
PositionReference(x,y,[ref-name/ref-unicode]+)
These search all selected glyphs, looking for any references in those glyphs
with the given name/unicode value, and then translating the reference by
(xoff,yoff) or positioning the reference absolutely at (x,y).
-
ff failed to read horizontal metrics properly from a type2 CFF CID font.
In most cases this would be masked by the fact that ff would correct the
bad width values by reading the hmtx table. But if one had a bare CFF font,
or a 'gai' font where there is no external source of widths, ff would get
things wrong.
-
Alexej Kryukov points out that most entries in the private dict should be
scaled when we do a ScaleToEm.
-
Fix a couple of problems with cid font display that "gai" fonts expose.
-
Michal Nowakowski points out that I generated truetype instructions --- and
then forgot to attach them to the glyph. Whoops.
-
Loading extensible glyph information from a tfm file was broken by the encoding
change.
-
19-Sept-2005
-
ff did not read AAT classes (kerning classes, etc) properly. It read one
extra element which could cause problems
-
Cleanup svg output for kerning classes with no members.
-
Out of bounds array reference in OS2FigureCodePages caused a crash on the
mac.
-
When loading a type1 font we failed to set the unicode encoding on seac
references. This probably broke lots of things, it certainly broke replace
with reference.
-
Add a DefaultRoundToGrid scripting function to set the Round-to-Grid truetype
reference bit (basically set it whenever we have a reference which isn't
point matched).
-
Add support for truetype point matching in references and anchor points
-
Improve the debugging heuristic that notices when we've jumpped to a new
routine to work better with composites
-
If I attempted to debug a glyph with no instructions there was a race condition
and if the race was won one way, ff would hang.
-
We weren't numbering points in a composite. This was only obvious when we
did a View->Show Grid Fit on a composite glyph.
-
When debugging a composite glyph, ff forgot that some references are translated
(or scaled or rotated), and failed to display this.
-
FF failed to keep track of the truetype "RoundToGrid" bit which applies to
references.
-
In the Points window of truetype debugging, if the penultimate point of a
contour was interpolated, then the contour boundary was drawn in the wrong
place.
-
Use to store debugging dpi/pointsize in the charview. Werner suggests that
it be global (so different glyphs will all share the same defaults).
-
Some Unicode code blocks have moved (probably those which only in the pipeline
or some such), and some others have been added to the pipeline.
-
15-Sept-2005
-
Can't use a subroutine to refer to a translated glyph which contains flex
hints in type1 output.
-
Hide another problem with rounding errors in remove overlap.
-
Don't produce multiple warnings about the local encoding.
-
In quadratic fonts the Remove Overlap menu item is disabled, but if you use
the hotkey the command is invoked (with disasterous results).
-
Typo in point info code to determine whether a hint mask contains conflicts
(matched vertical hints against horizontal ones)
-
12-Sept-2005
-
Added a scripting command DefaultUseMyMetrics() to set the use_my_metrics
bit in old fonts.
-
11-Sept-2005
-
When ff pastes refs from one font to another it tries to figure
out the width of a glyph containing references from the width of what appears
to be the base glyph. (because if you paste Aacute from one font to another,
the size of the "A" glyph may be quite different in the new font. Using the
width of the glyph in the original font would be wrong).
There are two problems with this:
-
It didn't take forward references into account, and would use the original
width rather than the modified width of the reference.
-
It would (probably) be confused by an Alphatonos where the width of Alphatonos
is not the same as that of Alpha.
instead figure widths out after all pastes have completed, looking at the
use_my_metrics bit to get things right.
-
Handle forward references to glyphs which will be pasted into by the current
command (used to work, broken by the encoding change)
-
Various fixes for pasting references from a font which has since been closed.
-
Support the ttf "_USE_MY_METRICS" bit on composite glyphs. This entails:
-
Retaining it when reading a truetype font
-
Setting properly when generating one
-
Storing it in sfd files
-
Giving the user a way to set it with the Element->GetInfo command
-
9-Sept-2005
-
ff crashed when given a bdf font with multiple glyphs with the same name
-
Try to avoid generating bdf fonts with multiple glyphs with the same name.
This happened when a single glyph was mapped to several encodings, a concept
bdf doesn't support. Now when it looks like this will happen we rename the
glyph.
-
Uninitialized variable in dependant sub-menu (broken by encoding change)
-
Pasting a reference into a font which did not contain the referred glyph
did not give you the option of copying the original outlines any more. (broken
by the encoding change)
-
Merging fonts where glyphs had multiple encodings caused crashes.
-
I'm very old fashioned. I like having error messages on stderr. But far too
many people don't see them there. I guess they invoke fontforge directly
from X with stderr directed to some invisible console window. Well create
a little window to contain warning messages about font errors (for instance
when reading an otf font we might complain about glyphs out of bounds, etc.)
-
Add support for postscript bitmap fonts. This means:
-
Ability to parse (simple forms of) the imagemask ps operator
-
Code to detect that a type3 is a ps bitmap, and convert it into a normal
bitmap font that people can edit.
-
Bitmap output as a ps type3 font (using imagemask)
-
Fixing a bug in my output routines which worked fine for images in eps files,
but failed horribly if that same code was stuffed into a charproc and executed
on demand.
-
-
ff could not handle an encoding specified as a simple array. (Not allowed
in typ e1 spec, but obvious for a type3)
-
And ff's handling of any type3s was broken by the encoding patch.
-
If a font contained fewer than 256 glyphs, then ff failed to load a format0
cmap subtable properly.
-
4-Sept-2005
-
In fontinfo, changed the tab "TTF Values" to be "OS/2", consolidated the
Panose tab underneath it. Added many more fields, almost all of OS/2.
-
Fixed a number of uninitialized variables, at the instigation of Pavel Roskin.
-
Applied several patches from Pavel Roskin.
-
The scripting WorthOutputting command insisted on an argument, even when
it should not have.
-
Scripting SetCharCnt command has been broken since the encoding change.
-
31-August-2005
-
The mac fix for 25-Aug wasn't quite enough.
-
I used to maintain a hidden value of the os2 linegap. This didn't change
when users set linegap with font info, leaving users annoyed.
-
It used to be that both the Hint->Add Hint and Hint->Create Hint commands
would destroy all hint masks. Now we update those hint masks appropriately.
-
The "Original" encoding was broken, and reencoding to it gaves us 256 blank
glyphs before glyph0. Sigh.
-
The CodeRange bit for symbol doesn't mean the font contains any standard
set of "symbol" glyphs, but rather either that it has a 3,0 cmap sub-table,
or that there are glyphs mapped to 0xf000-0xf0ff in the 3,1 (unicode) sub-table.
Setting this bit should give you a symbol encoding as well as all the other
encodings you've set bits for. It doesn't work under windows. It doesn't
work. TrueType fonts do not provide a symbol encoding, while 'CFF ' fonts
only provide a symbol encoding. But hey, let's support it anyway!
change View->Goto to know about this range as MS Symbol.
-
Importing an eps file (or pasting the x clipboard) made use of an uninitialized
variable. (introduced 7-Aug)
-
Cleanup pasting references from one font to another (gave some very strange
results when pasting refs with no unicode encodings).
-
25-August-2005
-
11-August-2005
-
The configure script did not find libfreetype when it lived (solely) in
/usr/X11R6/libs
-
On the Mac, menus incorrectly suggested using Cmd rather than Ctl. (Cmd used
to work on earlier versions of the X server, but now it is snagged by the
X11 menubar itself.)
-
ff uses the Alt/Meta key to alter the behavior of some tools (magnify, ruler,
pointer, pencil, etc.) in the editing windows. This doesn't work well on
the mac. First there is no real Alt/Meta key. If we contemplate using Option
or Command it will generally already be used to turn the single button mouse
into a three button mouse (Option - mouse => button 2, Command - mouse
=> button 3). So instead use the CapsLock key.
-
9-August-2005
-
The big5 encoding stopped at 64000, which confused routines which expected
unencoded glyphs to start at 65536.
-
We would crash when reencoding a font with enough unencoded alternate unicode
code points.
-
The code for creating an 8/16 cmap subtable didn't work.
-
ff would crash if it had two windows open on the same font and one got reencoded
-
Didn't set the length of the format4 'cmap' sub-table, so the offset to the
format12 (32bit unicode) table was wrong.
-
ttfcopyfile can complain about a ttf table offset being wrong. Give it the
info so that it will now tell us which table has the wrong offset.
-
Uninitialized variable in metricsview when creating a popup window.
-
Redo the ttfnames pane of the font info dlg. Now show the names as an editable
list.
-
Histogram dlg still used wrong encodings for selected glyphs when historgrams
invoked from Hints menu.
-
7-August-2005
-
SelectIf failed when passed an encoding which was out of bounds
-
Added a new scripting command: ToString
-
Using the X clipboard to paste a glyph into a glyph that contained stuff
caused a crash.
-
Using the X clipboard to paste a glyph with references or with multilayer
did no t work.
-
None of ttf, otf nor svg got multiply encoded glyphs output properly.
-
FF screwed up memory when creating ligatures from an svg font.
-
Merge fonts was writing to bad memory.
-
FF was confused by a strange MM font
-
FindExistingSlot should understand altuni.
-
Font View didn't display current unicode of multiply encoded glyphs. (same
for popups).
-
Still having problems generating type1 code for complicated reference glyphs.
-
Retain knowlege of multiple unicode encodings for some glyphs. Used when
a glyph has multiple encodings and is reencoded.
-
Add back an option to compact an encoding. It's not the same as the old compact
which kept track of the former encoding. This just compacts, user must explicitly
reencode.
-
Force encoding didn't work if the new encoding had more slots than the old.
-
FF also failed to parse glyph based contextual lookups properly
-
3-August-2005
-
FF failed to parse class based contextual lookups properly (contextual chaining
lookups were ok)
-
2-August-2005
-
The OS/2 ulCodeRanges field has been broken
for a long time, and has failed to mark the presence of any latin code
pages.
-
The ulCodeRanges field never set Vietnamese, TradChinese, Mac nor PC OEM
-
FF did not support EUC-CN, ISO-2022-CN, ISO=2022-KR iconv encodings properly.
-
Work around a bug in iconv's support for CP1258
-
Put some code in to warn users about unknown language/locales in the ttf
'name' table.
-
Enter some new language/locale codes for ms.
-
Crash when moving the end of an open path in an order2 font.
-
If one loaded an encoding specified by codepoint and then cancelled the dlg
which asked for a name for that encoding, then ff would crash.
-
Don't use Adobe's glyphnames when they are obviously wrong (use uni???? instead)
-
Add (better) support for the new dotlessj
-
Put a check into the context chain dlg to make sure that people don't add
sequence/lookup pairs where the sequence number is too big.
-
Make class be the default format for contextual/chaining substitutions rather
than coverage tables.
-
The format of the LineBreak.txt file changed
with Unicode 4.1, so all the line break info is wrong (essentially lines
never broke in text fields).
-
Reference to bad memory when creating a popup in combinations list.
-
Still problems in the 'name' table when Mac & Mac Unicode strings don't
match.
-
Use of the X clipboard for transfering glyphs resulted in a crash
-
When generating an old-style 'kern' table (either OpenType nor Apple modes
set) decompose all kerning classes into kern pairs as we do for AFM files.
-
Scripting didn't have a way to generate a font with neither Apple nor OpenType
tables. Add one.
-
Oops. wrong default extension for otb fonts from scripts.
-
Fix some potential crashes where loading font types left a new field unset.
-
28-July-2005
-
Redesigned the way encodings are handled.
From the user's perspective Encodings are no longer controlled by FontInfo,
but via an encoding menu.
-
If we create a bitmap strike in an empty font then change the fontview to
look at the strike.
-
The SetWidth command of FontView produced garbage defaults for empty fonts
-
Don't set the hinting needed bit on: bitmap only fonts, multilayered fonts,
stroked fonts nor quadratic fonts.
-
Fix some problems with the generated names in File->Generate multiple
-
The Save command failed to reset the font window's title (so it still looked
modified)
-
The enabled state of Encoding->Detach Glyphs was wrong
-
FF still didn't allow two ligatures to be created for the same glyph (ie.
it complained if you tried to make both "f + f + i => ffi" and "ff + i
=> ffi"
-
Added a TypeOf command to scripting
-
Added a GetPosSub command to scripting.
-
Werner says negative widths and depths be set to 0 in tfm files.
-
FontForge was generating an incorrect warning message. If a 'name' table
contains a duplicate entry for a given platform/specific/language/id that's
an error in the font. But ff conflated mac names with window names and so
was only checking language/id. So if the mac windows names were different
(which is probably a bad design idea, but not an error) ff said it was wrong.
It can also be caused by using a character in the string which is not in
the Mac Encoding for that language.
-
Don't set "Hinting needed" flag in bitmap only fonts.
-
AutoHint had a crash if there were open contours in a glyph being hinted.
-
Add a couple of browsers to the list to check by default.
-
Using the kerning pair closeup dlg to create a new kerning pair caused a
crash (eventually).
-
When saving a block of ttf bitmap glyphs all with about the same metrics,
-
Kern pairs were not scaled to emsize when loading from an afm file.
-
Add a series of new selection commands, to the font view and to scripting:
-
SelectChangedGlyphs
-
SelectHintingNeeded
(just to scripting)
-
SelectSingletons
-
SelectMoreSingletons
-
SelectFewerSingletons
-
Revert Glyph didn't work. One bug caused by multilayer, one caused by encoding
changes, and one really old one.
-
GetFontNames returned an uninitialized value on bad ttf files.
-
Add some new scripting commands to access the TeX per-glyph fields.
-
Werner suggested some improvements to tfm output.
-
Cleanup behavior of generating ttf bitmaps in a script.
-
I was attaching script/langs to lookups when parsing GPOS/GSUB. That wasn't
good enough. Each sub-table and have it's own set, so attach script/langs
to subtables as well. Still a flaw in that sub-tables could be referenced
through severel extension sub-tables or directly and I don't unravel that
complexity until too late.
-
ATM which handles some kerning for otf fonts for Word, does not handle 'kern'
features where the feature contains more than one lookup. So whenever we
have a feature with multiple lookups try to compress them into one lookup
with multiple sub-tables.
-
Transform (in fontview) and Scale To Em do not scale the vertical advance.
-
We didn't test the right thing when deciding where a subroutine containing
refs began.
-
Remove Undoes was broken by the encoding changes.
-
When saving multiple, make sure we don't get extraneous kerns. (to glyphs
not in the current sub-font).
-
Make sure the blue lines (marking hints needing to be updated) get cleared
properly.
-
Some display problems in the SameGlyphAs command.
-
The Apply Substitutions code did not consider the possibility of loops:
a->b->c->d->a
-
Werner suggests indicating multi-layer in the version string.
-
Mark to Mark anchor classes should allow each mark glyph also to contain
a base mark entry.
-
Give unicode name data (in grey) for dotted names. (ie for A.super give unicode
name data for "A", but in grey so it stands out as modified).
-
Add scripting routines to detach glyphs from the encoding and to remove them
from the font.
-
FF produced some very strange 'gasp' tables... depending on the bitmap fonts
in the sfd and not on the bitmaps in the output ttf for one thing.
-
Werner wants an Invert Selection command.
-
The position of Coptic and Glagolithic has been shifted in Unicode 4.1 (shifted
from some earlier proposal).
-
Patch by KANOU, ttc files were broken.
-
Some english language strings in the ttfnames pane of fontinfo where sort
of bound to equivalent fields in the names pane. Make this clearer, and
consistent.
-
Werner thinks my error messages for scripts should be improved.
-
Add a check in case sfd files contain unreasonable values for pixelsize,
etc.
-
Werner suggests a --dry <scriptfile> argument which does syntax checking
without actually executing the script. I think it is trivial.
-
Werner points out that the DSC Version comment has a very specific syntax:
%%Version: <version> <revision>
<version> is a real, <revision> is a uint. So we can't use the
font's version string here (which might be anything). Instead we now generate
a version comment
%Version: <string>
rather than a DSC Comment.
-
We used to assign a unicode value to ".notdef"s when reading ps encoding
file, if the encoding was in the region of control chars (so location 1 would
get uni0001, while location 65 would get -1). Seems inconsistent.
-
Oops. I failed to provide a mechanism to add other iconv encoding names into
my menu.
-
Code to support group display.
-
Was not reading ps encoding files properly.
-
Remove encoding should always be available.
-
19-July-2005
-
Extend to Unicode 4.1
-
Change to configuration system to allow relative pathspecs for
--with-freetype-src didn't work.
-
Context chain dlg had problems with empty patterns (no terminal NUL in empty
string used to represent them)
-
The [EditData] button in contextual fontinfo pane was disabled due to reasons
which are no longer valid..
-
Transforming by a negative scale factor screwed up the hints.
-
Add move up/down buttons to the kerning class dlg (class lists area) Use
the selection from the class lists to highlight offsets.
-
Print sample did not handle kerning by classes.
-
When we had: a glyph which contained refs where that glyph was itself used
as a reference in another glyph and all glyphs (except the last) lived in
subroutines then we got multiple declarations of hints and the middle glyph
was translated from where it should have been.
-
When changing lists they should not scroll back to the beginning.
-
Various fixes regarding hints: changing hints should set the char changed
flag changing a glyph should mark all glyphs that refer to it as having out
of date hints display out of date hints in font view. hints weren't being
preserved (and should have been) in charview in Paste and transform.
-
Apply Substitutions was badly broken when ff compiled with multilayer.
-
Kern Pair dlg looked at garbage memory when it closed (and crashed sometimes).
-
ff decides whether to add a 'gasp' table to a font based on whether the font
has instructions or not. ff's own ttf fonts contain instructions in .notdef
but nowhere else, so ignore .notdef when making this check.
-
One more attempt to rule out absurd results in simplify().
-
if the lsb/rsb dlg was given a negative value it complained about negative
widths. (whether the width would have been negative or not).
-
$italicangle has been broken since I added reals to scripting.
-
The kernclass dialog did not handle deleted classes properly.
-
Add ability to undo hints.
-
Once again starting a browser on windows is broken.
-
We didn't do a bounds check when indexing into the names array of an encoding
(when building a character from scratch). If the index was huge the result
was garbage, generally leading to a crash sometime thereafter.
-
An open path consisting of a single point caused replace with reference to
crash.
-
Generating a postscript resource font on the mac from a script did not work.
-
Werner points out that afm files generated by FontForge still claim to have
been made by pfaedit. Oops.
-
Didn't parse user defined encodings properly and often omitted the first
glyph.
-
24-June-2005
-
Improvements in the way type42 fonts where handled in printing.
-
Fix a crash when parsing mangled cff files
-
Marvelous triple bug:
-
Adobe's Tech Note 5176 (cff format) says that a private dict is required.
They mean it's required in a type1 font.
-
Because of this I put a null private dict entry into my cid cff fonts.
-
ghostview finds the null private dict entry and tries to read data from it
even though it is of 0 length.
-
Add postscript code necessary for loading a cff font to my cff font output.
-
Fix some uninitialized variables in the display dlg.
-
We didn't get DSC pages properly when printing a CID keyed font.
-
The default (notdef) glyph generated by my palm output routines was a little
wonky.
-
The rle image reader in my sfd routines had an off by one error causing it
to reject some images.
-
We used to munch memory when loading empty glyphs from mac NFNT resources.
-
It used to be that we didn't set the default background until the first font
view window was opened. This meant that if we loaded a grey scale bitmap
before opening a window (ie. from the command line) then that bitmap's clut
would be relative to white rather than the appropriate background.
-
Add some code to protect against badly generated bitmap strikes in sfnts.
-
vhea & vmtx tables were generally wrong in otf fonts (unless the last
full vmetric happened to be the last full hmetric). Also fix problems with
cid hmtx output.
-
The sfd reader looked in the wrong place for sli information in cid keyed
fonts.
-
Damn. Default output (for stdout) encoding never gets initialized when in
a script.
-
I realized a few months ago that there is a difference between encodings
based on names and encoding based on unicode codepoints. Unfortunately I
was only saving encodings as though they were based on names (generating
default names if necessary). This patch retains the distinction even when
encodings are saved to the preferences folder.
-
AddAccent behaved differently when passed a glyphname and a unicode code
point. In the first case it used the glyph specified. In the second it performed
an arcane search which would not always use the specified glyph (left over
from the days when it was important to use a glyph in Adobe Standard so you
could do a seac).
-
When debugging composite glyphs ff failed to notice when we switched from
one glyph to another and so failed to reset the instruction list to those
of the new glyph.
-
Problem with cubic to quadratic spline approximation. Fixed by a more careful
comparison between original and resulting spline.
-
Kerning (and Anchor positioning) didn't work when printing to pdf.
-
Won-kyu Park points out that ff's internal utf7 parser (deep in the guts
of sfd.c) only parses utf7 strings as produced by ff. He took a utf7 string
produced by python and inserted it and ff could not read it. He provides
a patch to fix the problem.
-
If we got an invalid second order spline, let's fix it up into some vaguely
reasonable form, so the poor user doesn't keep getting errors.
-
Extra "-" in type42 header removed.
-
The anchor dialog was all screwed up.
-
The test in show att that all components of a substitution existed failed
to handle a trailing space.
-
Make page Up/Down work in Show ATT
-
Sometimes the simplify algorithem fails to converge.
-
When generating a tfm file the width (height, depth, ic) table was being
scaled twice.
-
Remove a NaN that occurred when moving quadratic splines.
-
Oops. The unicode code point of a glyph was restricted to BMP by Glyph Info
dlg.
-
Werner gave me a font where the glyphs were not properly ordered. So you
can't tell the length of a glyph by loca[i+1]-loca[i]. The data appear valid
in spite of that. So put in a warning for this particular case (we were
generating a warning, but it wasn't as meaningful as it might be.)
-
Make View->Show ATT aware of the mark attachment class info so it can
show the classes.
-
When interpolating to quadratic fonts where the two designs didn't match
then the various possible errors gave us bad splines: Different numbers of
points on the paths meant that the control points at the end (after we reached
the end of the contour in one design but not the other) didn't match. Different
designs meant that interpolating a line (with no control points) to a curved
spline again produced nasties.
-
Drag and drop was broken.
-
Extend lookup flags support to include mark attachment classes (as defined
in GDEF).
-
Bad argument type checking on the AddAccent scripting command.
-
Infinite loop in a rare case involving a flex hint at the start of a contour.
-
The merge fonts command would crash.
-
Problems parsing some bare cff fonts.
Earlier Changes
Changes to PfaEdit (predecessor to
FontForge)