
RCS file: /cvsroot/fontforge/fontforge/fontforge/stamp.c,v
Working file: stamp.c
head: 1.3366
branch:
locks: strict
access list:
symbolic names:
	by-features: 1.1718.0.2
	features: 1.1716
	nomen: 1.965.0.2
	DirectEncoding: 1.675.0.2
keyword substitution: kv
total revisions: 3441;	selected revisions: 3441
description:
----------------------------
revision 1.3366
date: 2010/04/29 03:52:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two python methods:
  contour.similar
  layer.similar
which allow you to compare two contours (or layers) and specify an error bound on how far they may diverge.
----------------------------
revision 1.3365
date: 2010/04/29 03:16:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Sigh. the last attempt at fixing addextrema's stupdities didn't work either.
----------------------------
revision 1.3364
date: 2010/04/29 00:26:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Khaled also wants the per-glyph math tabled data, like glyph variants, construction and math kerning.
----------------------------
revision 1.3363
date: 2010/04/28 19:27:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Khaled would like access to the math constant table from python.
----------------------------
revision 1.3362
date: 2010/04/28 00:27:49;  author: pfaedit;  state: Exp;  lines: +3 -3
If the method of approximating a cubic spline by subdivision fails, then relax the precision requirements for a match, and try again.
----------------------------
revision 1.3361
date: 2010/04/27 22:10:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the "style" attribute from svg 1.2.
----------------------------
revision 1.3360
date: 2010/04/27 22:04:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Stroking doesn't work if radius<3
----------------------------
revision 1.3359
date: 2010/04/27 15:54:54;  author: pfaedit;  state: Exp;  lines: +2 -2
python glyph.ImportOutlines would crash if it were not given a flags argument.
----------------------------
revision 1.3358
date: 2010/04/27 14:33:20;  author: pfaedit;  state: Exp;  lines: +3 -3
The last patch fixed up the kerning subtable list when a font info dlg was dismissed. This patch fixes the feature list. A much less grave problem (no crashes) just user confusion.
----------------------------
revision 1.3357
date: 2010/04/26 21:26:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry reports that the metrics view crashes for him because things in the pairwise kerning subtable pulldown list are sometimes garbage. Mmm. This can happen if the user has a metrics view open and then uses font info to delete a kerning subtable (or lookup). (And presses [OK] in fontinfo).
----------------------------
revision 1.3356
date: 2010/04/25 09:21:05;  author: michal-n;  state: Exp;  lines: +3 -3
Patch by Andy Balholm:
Suppress warnings about 'showpage' operator when importing PS files.
----------------------------
revision 1.3355
date: 2010/04/23 02:40:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Speed up approximating a spline given a bunch of on-curve points and slopes at the endpoints.
I have been trying for years to figure out how to apply least-squares to this problem. I kept having 4 equations and 2 unknowns. An over specified system with no solutions. I realized last night that I was looking at the problem wrong (of course). Instead of seperating it into x and y components and minimizing errors in each, I should have been minimizing the sum of the x and y errors. Simple. Worked first try. Makes stroking about 10-15 times faster.
----------------------------
revision 1.3354
date: 2010/04/23 02:17:03;  author: pfaedit;  state: Exp;  lines: +3 -3
When doing square pens or polygons then long bendy splines will be broken up roughly every 90 degrees (every time we switch verteces, actually). That turns out to be a good thing (makes it easier to approximate the curve). It doesn't happen automagically for circle pens, so add a little bit of code that detects 90 degree slope transitions and inserts a point there. Results are more accurate now.
----------------------------
revision 1.3353
date: 2010/04/22 00:57:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Various optimizations to speed up stroking.
----------------------------
revision 1.3352
date: 2010/04/18 20:01:40;  author: pfaedit;  state: Exp;  lines: +3 -3
The various dialogs involving the fontview did not resize properly when the user changed the display size.
----------------------------
revision 1.3351
date: 2010/04/16 21:55:14;  author: pfaedit;  state: Exp;  lines: +2 -2
FF failed to put a trailing NUL on some strings for glyph classes resulting in strange displays (and complaints from pango about bad utf8 strings).
----------------------------
revision 1.3350
date: 2010/04/16 21:40:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by François Charette to allow UTF8 to be spelled as "utf8" in locales.
----------------------------
revision 1.3349
date: 2010/04/16 21:37:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to hide the kerning pane of the kern class dialog, thus allowing more room for data.
----------------------------
revision 1.3348
date: 2010/04/16 20:44:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Some users don't like having the character representation of a glyph name showing up in lists of glyph names, so add a preference item: Prefs->Font Info->AddCharToNameList to let them turn that off.
----------------------------
revision 1.3347
date: 2010/04/16 20:24:04;  author: pfaedit;  state: Exp;  lines: +2 -2
If you have freetype rasterizing in the metrics view, and if you are working on a cubic layer, nd if you are editing a glyph in a char view and looking at it in the metrics view, and if you make a change to the glyph -- then Undo doesn't do what you expect. Instead the glyph gets autohinted (by default) before a font is generated for freetype, and a hint undo gets added to the undo list. Undo undoes the hint change (which the user probably isn't aware of) and leaves his/her changes untouched.
----------------------------
revision 1.3346
date: 2010/04/16 02:59:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Andrew Robbins points out that when generating an svg font the unicode-range attribute should look like U+0020-0E4A rather than U+0020-U+0E4A (no second U+).
----------------------------
revision 1.3345
date: 2010/04/16 02:54:45;  author: pfaedit;  state: Exp;  lines: +2 -2
d binderman points out a missing closedir.
----------------------------
revision 1.3344
date: 2010/04/16 02:52:09;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge failed to handle archives with double extensions (like ".tar.bz2").
Also d binderman points out that I was missing an fclose in archive processing.
----------------------------
revision 1.3343
date: 2010/04/16 02:28:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in code for parsing extenders in tfm file.
----------------------------
revision 1.3342
date: 2010/04/16 02:18:04;  author: pfaedit;  state: Exp;  lines: +3 -3
The python operators which tested if two contours were equivalent would crash when called.
Add a "dup()" member to Points, Layers and Contours to produce a deep copy of the object.
----------------------------
revision 1.3341
date: 2010/04/15 20:44:48;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing Add Extrema on a spline where a control point was close to the base point (and pointed off so as to generate an invisible extremum very close to the base point, then ff's attempts to remove that extremum could cause the spline to become almost linear.
----------------------------
revision 1.3340
date: 2010/04/15 16:51:51;  author: pfaedit;  state: Exp;  lines: +2 -2
The default __iter__ for a selection type (in python) didn't work.
It was supposed to return all the selected encoding slots (that is, numbers) instead it returned the empty set (when I tested it, actually it's return would be random depending on an uninitialized variable).
----------------------------
revision 1.3339
date: 2010/04/15 16:17:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry thinks an error message should be improved.
----------------------------
revision 1.3338
date: 2010/04/15 10:47:36;  author: michal-n;  state: Exp;  lines: +2 -2
Some seemingly valid bdf fonts were rejected. Thanks to Andrey V. Panov for providing a sample.
----------------------------
revision 1.3337
date: 2010/04/15 10:35:56;  author: michal-n;  state: Exp;  lines: +2 -2
Patch from Alan Coopersmith to fix "showttf -verbose filename" behavior.
----------------------------
revision 1.3336
date: 2010/04/15 10:07:17;  author: michal-n;  state: Exp;  lines: +2 -2
Khaled Hosny spots duplicate "Descent" fields written to sfd files.
----------------------------
revision 1.3335
date: 2010/04/15 00:43:03;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a cursive attachment anchor lookup fontforge did two passes through the glyph list. The first did everything needed. And the second thought it was handling marks (rather than cursives) and produced garbage.
----------------------------
revision 1.3334
date: 2010/04/15 00:30:11;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating a feature file for a mark to mark lookup fontforge could generate gibberish.
----------------------------
revision 1.3333
date: 2010/04/14 23:46:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Three bugs in reading feature files:
1) FF dereference garbage (and probably, but not necessarily) crash when parsing a glyph class with no glyphs in it inside an anchor specification.
2) When freeing data describing a list of anchors FF would crash if one of the anchors were defined to be NULL
3) A multiple substitution entry with just a single element in it looks exactly like a single substitution.  FF would complain about multiple substitution lookups containing both single and multiple entries.
----------------------------
revision 1.3332
date: 2010/04/14 22:12:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Hot keys for the grid fit Bigger/Smaller pointsize menu commands got lost when I merged in the mingw changes. (Not saying the fault lies with the mingw people, that's just when they vanished. I might have removed them myself).
----------------------------
revision 1.3331
date: 2010/04/14 21:55:29;  author: pfaedit;  state: Exp;  lines: +2 -2
The bluezones weren't marked in the charview when hinting display was turned off.

Patch by Michal Nowakowski.
----------------------------
revision 1.3330
date: 2010/04/14 21:50:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge fonts doesn't merge bitmap strikes if one font has a different number of strikes than the other.

Patch by Won-Kyu Park.
----------------------------
revision 1.3329
date: 2010/04/14 21:48:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Jeff Harmon reports that ff writes "Postscript" into PFM files rather than "PostScript" and that this matters.

Change all instances of "Postscript" to "PostScript".
----------------------------
revision 1.3328
date: 2010/04/14 21:03:08;  author: pfaedit;  state: Exp;  lines: +3 -3
FF crashes if asked to produce a small-caps variant of a lower case letter for which there is no corresponding upper case.

Patch from Rogerio Brito via debian.
----------------------------
revision 1.3327
date: 2010/04/11 20:22:46;  author: pfaedit;  state: Exp;  lines: +3 -3
More work on enforcing ASCII in the copyright notice.
----------------------------
revision 1.3326
date: 2010/04/09 21:26:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Some time ago MS put in a patch to their OS so that they would refuse to load a font with a name table >5K. They have now decided that was an error
http://support.microsoft.com/kb/978909/
And have removed the limitation.

So remove the warning ff used to generate about name tables bigger than 5K.
----------------------------
revision 1.3325
date: 2010/04/09 21:18:48;  author: pfaedit;  state: Exp;  lines: +2 -2
The Hint->Edit cvt dlg would crash if you resized the dlg window.
----------------------------
revision 1.3324
date: 2010/04/09 20:56:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Complain when the user attempts to put a unicode copyright symbol into the copyright string of a PostScript font.
----------------------------
revision 1.3323
date: 2010/04/08 00:58:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of patches from Louis Simard:
1) in the kern class dlg, if classes were very long then could segfault when displaying popup messages listing both first and second class members.
2) Would complain that the special case string "{Everything Else}" was a missing glyph.
3) Would crash when switching from a newly-created First class entry directly to the <New> entry at the bottom of the Second class column.
----------------------------
revision 1.3322
date: 2010/04/08 00:48:06;  author: pfaedit;  state: Exp;  lines: +2 -2
MatixEdits with up/down buttons never enabled the down button.
----------------------------
revision 1.3321
date: 2010/04/08 00:46:33;  author: pfaedit;  state: Exp;  lines: +3 -3
FF could display multiline utf8 textfield strings incorrectly.
----------------------------
revision 1.3320
date: 2010/04/07 22:53:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Updated Vietnamese translation from Clytie.
He also fixes various typos on my part.
----------------------------
revision 1.3319
date: 2010/04/05 20:19:01;  author: pfaedit;  state: Exp;  lines: +3 -3
A new algorithm for stroking splines. Allows the user to specify arbetrary convex polygons as pens as well as more traditional circles (ellipses) and slanted rectangles (calligraphic pens).

Extended the python interface to allow for this.
Also added a new python function to the module: fontforge.unitShape(n) which returns a contour containing a regular n-gon.
----------------------------
revision 1.3318
date: 2010/02/26 23:01:00;  author: pfaedit;  state: Exp;  lines: +3 -3
ApproximateSplineFromPointsSlopes depended on the magnitude of the control points, not just the slopes. Didn't work too well when handed unit vectors.
----------------------------
revision 1.3317
date: 2010/02/12 01:00:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Grab many patches from the mingw build.
I did not grab the winmmap files because I'm not sure what the license is for that.
----------------------------
revision 1.3316
date: 2010/02/11 23:21:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal to remove some hard coded colors in the ff ui (mostly yellow for selections and black for text).
----------------------------
revision 1.3315
date: 2010/02/09 02:23:32;  author: pfaedit;  state: Exp;  lines: +2 -2
If FF had to split a GPOS pairwise kerning subtable into several bits (because it was bigger than 65535) then ff would go into an infinite loop -- at least sometimes.
----------------------------
revision 1.3314
date: 2010/02/09 01:21:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix another place where I was using strcpy against the spec.
----------------------------
revision 1.3313
date: 2010/02/08 04:46:24;  author: pfaedit;  state: Exp;  lines: +3 -3
When doing a Rename to Namelist operation prior to generating a font, FF neglected to clear the glyph-name hash table. This meant that any glyph lookups by name on renamed glyphs would fail. Meaning we would inexplicably lose substitutions.
----------------------------
revision 1.3312
date: 2010/02/07 19:20:59;  author: pfaedit;  state: Exp;  lines: +2 -2
On 64 bit machines, in a contextual chaining display, nested lookups were not shown by name.
----------------------------
revision 1.3311
date: 2010/02/07 18:18:14;  author: pfaedit;  state: Exp;  lines: +2 -2
When FF lists glyph names, it appends the unicode character of the glyph after the name. It probably should not do that if the glyph name maps to the private use area -- if the display font has a glyph there, it probably won't match the one in the designed font and will just add confusion.
----------------------------
revision 1.3310
date: 2010/02/07 18:05:01;  author: pfaedit;  state: Exp;  lines: +3 -3
In a list of a simple substitution subtable the arrow between glyphs was pointing the wrong way so it looked as if the replacement glyph became the source glyph.
----------------------------
revision 1.3309
date: 2010/02/05 14:59:23;  author: pfaedit;  state: Exp;  lines: +3 -3
At Kevin Fenzi's request warn about use of seac instructions in type2 charstrings.
Similarly warn about other type1 but not type2 operators (we warned about some. I think I'm now warning about all).
----------------------------
revision 1.3308
date: 2010/02/04 17:42:38;  author: pfaedit;  state: Exp;  lines: +2 -2
New copyright notices for 2010.
----------------------------
revision 1.3307
date: 2010/02/04 01:21:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a bug in woff support.

Retain woff metadata, and version numbers.
Provide python access to them.
sfd support for them.
Font Info support for them.

Retain sfnt version number.
Provide python access
sfd support
Font Info.
----------------------------
revision 1.3306
date: 2010/02/02 04:35:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for the Web Open Font Format (woff) which is basically just an sfnt with its tables compressed and some extra metadata.
http://people.mozilla.com/~jkew/woff/woff-2009-09-16.html
----------------------------
revision 1.3305
date: 2009/12/31 21:07:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Samaritan moved from its proposed location. Remove the old.
----------------------------
revision 1.3304
date: 2009/12/31 04:46:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Unicode 5.2
----------------------------
revision 1.3303
date: 2009/12/26 23:04:51;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge had no error checking for bad GIDs in the JSTF table.
----------------------------
revision 1.3302
date: 2009/12/26 22:26:40;  author: pfaedit;  state: Exp;  lines: +2 -2
A bad 'kern' table could send fontforge into an infinite loop.
----------------------------
revision 1.3301
date: 2009/12/26 22:12:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Stephen Hartke, contour slicing still not working properly.
----------------------------
revision 1.3300
date: 2009/12/26 22:08:22;  author: pfaedit;  state: Exp;  lines: +2 -2
More patches from Barry to make ff work with Python 3
----------------------------
revision 1.3299
date: 2009/12/26 22:03:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Patches from Barry so fontforge will work with Python 3.
----------------------------
revision 1.3298
date: 2009/12/26 21:52:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Annie Olsen of SIL says that the big tick marks in the rulers in the glyph window aren't obvious enough. So make them longer and of a different color.
----------------------------
revision 1.3297
date: 2009/12/26 21:32:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Extension of previous patch by Tilman Blumenbach
----------------------------
revision 1.3296
date: 2009/12/26 21:29:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Tilman Blumenbach. Legacy scripting GetPrefs crashed when asked about "AutotraceArgs".
----------------------------
revision 1.3295
date: 2009/12/26 21:24:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Khaled to add an optional flags argument to the python glyph.importOutlines()
----------------------------
revision 1.3294
date: 2009/12/26 21:02:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Alexey Kryukov to make legacy scripting commands GetAnchorPoints and AddAnchorPoint to be consistant.
----------------------------
revision 1.3293
date: 2009/12/26 20:58:29;  author: pfaedit;  state: Exp;  lines: +2 -2
New fix by Martin Hosken to do the same thing as the last one.
----------------------------
revision 1.3292
date: 2009/12/26 20:55:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Martin Hosken to fix some problems with UFO metrics output.
----------------------------
revision 1.3291
date: 2009/12/26 20:50:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski to fix an autohinting problem with hint masks.
----------------------------
revision 1.3290
date: 2009/12/26 20:47:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some typos.
----------------------------
revision 1.3289
date: 2009/12/26 20:44:31;  author: pfaedit;  state: Exp;  lines: +2 -2
FF used to map the characters U+1D400-U+1D7FF to equivalent ascii (in the appropriate font). Khaled says that Pango can do that for us.
----------------------------
revision 1.3288
date: 2009/12/26 20:26:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Khaled to add some missing feature tags.
----------------------------
revision 1.3287
date: 2009/12/15 22:16:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Rework yesterday's changes.
----------------------------
revision 1.3286
date: 2009/12/15 02:28:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow the user to provide a python routine which will calculate the optical spacing between two glyphs. Used to override fontforge's default routine when calculating autokern, autowidth and left and right optical bounds.
  fontforge.registerGlyphSeparationHook
----------------------------
revision 1.3285
date: 2009/11/12 03:00:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov wants the kerning display visible at all times in the kern class dlg. It's a tiny bit too big for a 1024 wide 100dpi screen, but I think it will do...
----------------------------
revision 1.3284
date: 2009/11/11 23:29:43;  author: pfaedit;  state: Exp;  lines: +2 -2
I recently broke loading sfd files which contain multiple kerning subtables.
----------------------------
revision 1.3283
date: 2009/11/11 21:48:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Rework the other dialogs which use glyph classes (or sets) so that they now use matrix edits (which I hope make more sense) and have better glyph entry, in line with the kerning dlg.
----------------------------
revision 1.3282
date: 2009/11/05 16:33:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Make mark classes/sets use a matrix edit in the font info dlg.
(Fix a bug in kern classes dlg).
----------------------------
revision 1.3281
date: 2009/11/04 03:58:46;  author: pfaedit;  state: Exp;  lines: +3 -3
More work on the kern class dlg.
The Goto Char dlg now has an option (when executed in the fontview) to merge the new glyph into the selection (before it simply set the selection to the new glyph).
----------------------------
revision 1.3280
date: 2009/11/03 22:44:27;  author: pfaedit;  state: Exp;  lines: +3 -3
More improvements (I hope) to the kerning by classes dialog, suggested by Panov.
----------------------------
revision 1.3279
date: 2009/10/30 22:30:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov complains that the afii* names (and uni* or u*) don't mean much. So when we have a glyph name (or a list of glyph names) append the unicode character itself to the name inside parens. I don't do this everywhere yet, but moving in that direction. (don't do this for glyph names where it is obvious (like "A"), nor for names that might cause parsing confusion (like close paren itself or space)).
----------------------------
revision 1.3278
date: 2009/10/29 02:43:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov points out that AutoKern used to have an "Only kern closer" option.
----------------------------
revision 1.3277
date: 2009/10/29 00:33:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey points out a bug on 64 bit machines (in autokern stuff).
Clean up behavior of pairwise autokern on r2l scripts.
Oops. Minimum side bearing needs very different values for italic fonts than for upright ones.
----------------------------
revision 1.3276
date: 2009/10/28 20:25:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a dangling pointer when we get a delete window event for the kern format dlg.
----------------------------
revision 1.3275
date: 2009/10/27 23:12:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov wants to be able to pick different sets of glyphs for first and last of kerning pairs.
----------------------------
revision 1.3274
date: 2009/10/27 00:02:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Kerning class dlg didn't expand the kerning matrix when the window was resized.
----------------------------
revision 1.3273
date: 2009/10/23 23:20:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an autokern command to python.
Fix some bugs.
----------------------------
revision 1.3272
date: 2009/10/23 04:25:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Change scripting commands to use the new autowidth rather than the old (both python and legacy).
Extend the python addkerningclass command to allow autokerning.
----------------------------
revision 1.3271
date: 2009/10/23 02:18:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a way to have fontforge guess good kerning classes and then autokern them.
Char Info should default to autokern when it adds a kern pair.
----------------------------
revision 1.3270
date: 2009/10/21 21:44:15;  author: pfaedit;  state: Exp;  lines: +3 -3
New autowidth/autokern.
Remove AutoKern menu item from fontview
Integrate AutoKern into the Kerning Subtable and Kerning class dialogs.
Use same idea to find optical bounds for 'lfbd' and 'rtbd'
----------------------------
revision 1.3269
date: 2009/10/11 09:04:54;  author: akryukov;  state: Exp;  lines: +3 -3
Make the checks in IsStubOrIntersection() a bit more strict to prevent some undesired effects.
----------------------------
revision 1.3268
date: 2009/09/24 00:04:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone pointed out that Clockwise and CounterClockwise should only be disabled if the selected contours self-intersect, while correct direction should be disabled if there are any intersections.
----------------------------
revision 1.3267
date: 2009/09/21 03:13:19;  author: pfaedit;  state: Exp;  lines: +3 -3
PDF has changed since I last downloaded the spec, and Barry wanted support for Cross-reference streams (which required also supporting object streams).
----------------------------
revision 1.3266
date: 2009/09/20 17:11:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Apple keeps changing the environment. In 10.2 the Option key would produce the keyboard state mask of 0x2000. In 10.4 it produced 0x0008. In 10.6 it again produces 0x2000. Constant change makes it difficult to create a program which will work on all versions of the OS.
----------------------------
revision 1.3265
date: 2009/09/20 14:06:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Alexey K so that ff will look for (and parse) unicode cmaps when loading fonts from pdf files. Loaded fonts will then have an encoding rather than just being a list of glyphs.
----------------------------
revision 1.3264
date: 2009/09/16 21:26:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Memory bug when generating ttc files with a 'post' table.
----------------------------
revision 1.3263
date: 2009/09/14 17:32:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that some fields in OS/2 were set incorrectly if the font were a cff.
----------------------------
revision 1.3262
date: 2009/09/14 17:24:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Previous patch regarding PUA and namelists went too far the other way and placed ugrave.sc in the PUA instead of unencoded.
----------------------------
revision 1.3261
date: 2009/09/14 17:01:07;  author: pfaedit;  state: Exp;  lines: +3 -3
in winfonts.c under 64 bit mode, the sizeof(FARPROC16) is 8 rather than 4 and this screws up the font dump. We'd already fixed it for FARPROC, but FARPROC16 escaped. Thanks to Alexey.
----------------------------
revision 1.3260
date: 2009/09/14 16:01:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Was writing random memory locations on 64 bit machines when generating ttc files (possibly on 32 machines too, but no crashes involved and valgrind didn't find anything).
----------------------------
revision 1.3259
date: 2009/09/13 17:03:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Several fixes to the resource editor.
----------------------------
revision 1.3258
date: 2009/09/13 03:34:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey suggests that Control + Mouse wheel should Zoom the metrics window just as it does the glyph view.
----------------------------
revision 1.3257
date: 2009/09/13 03:23:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple of problems with the Set Point Size dlg of the metrics view.
----------------------------
revision 1.3256
date: 2009/09/13 00:05:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Blending a new Apple MM instance left us in a font with no encoding.
----------------------------
revision 1.3255
date: 2009/09/12 23:37:53;  author: pfaedit;  state: Exp;  lines: +2 -2
 The pulldown list in the apple version of the MM dlg did not get set to the correct default value.
----------------------------
revision 1.3254
date: 2009/09/12 23:21:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Attempt to free something that should not have been freed in MM dlg.
----------------------------
revision 1.3253
date: 2009/09/12 22:28:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Loading LastResort.ttf was extremely slow because some glyphs had hundreds of thousands of altunis and whenever we added a new one we went all through that list to check for duplicates. When parsing a standard encoding there won't be any duplicates.
----------------------------
revision 1.3252
date: 2009/09/12 21:59:54;  author: pfaedit;  state: Exp;  lines: +2 -2
More problems reading apple tables from ttc files. Some crashes, etc.
----------------------------
revision 1.3251
date: 2009/09/12 21:12:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants to have review hints regenerate substitution points and hint masks.
----------------------------
revision 1.3250
date: 2009/09/12 02:07:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up some minor issues which show up on Mac 10.6
----------------------------
revision 1.3249
date: 2009/09/11 20:09:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Alexey to add a NameFromUnicode function to both native and python scripting.
----------------------------
revision 1.3248
date: 2009/09/11 19:48:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Drag & dropping a glyph into the metrics view didn't mark the end of string properly so cruft left over could be displayed.
----------------------------
revision 1.3247
date: 2009/09/11 18:01:29;  author: pfaedit;  state: Exp;  lines: +2 -2
In CharView Element->Join and Element->Correct Direction were turned off when they should not have been.
----------------------------
revision 1.3246
date: 2009/09/11 17:57:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics View Edit menu still not working to Alexey's satisfaction.
----------------------------
revision 1.3245
date: 2009/09/11 17:31:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Khaled to add some feature names to my list and extend the lookup type to which others apply.
----------------------------
revision 1.3244
date: 2009/09/11 16:17:52;  author: pfaedit;  state: Exp;  lines: +2 -2
new python fields:
  glyph.topaccent
  glyph.italicCorrection
  glyph.isExtendedShape
----------------------------
revision 1.3243
date: 2009/09/11 14:15:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Khaled provides a patch. 'Top Accent Pos' value in Glyph Info -> TeX & Math was not being retained when user pressed OK.
----------------------------
revision 1.3242
date: 2009/09/11 14:12:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey points out that wordlists in the metrics view really assumed ASCII letters and didn't handle utf8 well.
----------------------------
revision 1.3241
date: 2009/09/10 20:04:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal to render more strings translateable.
----------------------------
revision 1.3240
date: 2009/09/09 22:39:12;  author: pfaedit;  state: Exp;  lines: +2 -2
See if I can speed up execution of "<glyphname> in <font>"
----------------------------
revision 1.3239
date: 2009/09/09 21:44:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Alexey K to add two preference items which control features of the autohintor/instructor.
----------------------------
revision 1.3238
date: 2009/09/09 21:27:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Dave Crossland tells me that some security patch to windows considers fonts with
 a 'name' table bigger than 5K to be insecure (Don't ask me why they think this)
 and windows will refuse to load any such fonts.
This means Windows won't load any font with the Open Font License in the 'name'
table.
This patch adds three checks:
 1) When generating a font it will let the user know if the name table is too bi
g.
 2) When loading a font in validation mode it will warn if the name table is too
 big.
 3) Font Info will make a rough approximation to the size of the name table (an
approximation which will always be too small) and warn if this approximation is bigger than 5K
----------------------------
revision 1.3237
date: 2009/09/08 02:41:24;  author: pfaedit;  state: Exp;  lines: +2 -2
When opening a ttf file the guideline psuedo-layer was cubic not quadratic.
----------------------------
revision 1.3236
date: 2009/09/08 02:39:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal:
  * Duplicate "Raster Dark Color" in xresources editor.
#   "Delta Grid Color" was really meant the second time
  * Duplicate charview->point->tools->rotate menu item.
  * In charview palettes, it was impossible to unset "don't stroke" in freehand
  * Charview->hinting->autohint and Charview->hinting->autoinstr were not
#    disabled if guide were the active layer. This resulted in segfaults
  * In GlyphInfo->Unicode, "variant selector" matrix had headers untranslated.
----------------------------
revision 1.3235
date: 2009/09/07 18:37:09;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: added aspect-ratio correction for new diagonal code.
----------------------------
revision 1.3234
date: 2009/09/07 17:01:46;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: pushes EF2Dot14 values in a more compact manner.
----------------------------
revision 1.3233
date: 2009/09/05 22:59:13;  author: pfaedit;  state: Exp;  lines: +2 -2
In the metricsview Cut/Copy/Paste/Undo/Redo menu commands all apply to the textfields as well as the glyphs. So don't disable them. It used not to matter because disabling didn't affect the shortcuts, but it does now.
----------------------------
revision 1.3232
date: 2009/09/05 19:35:44;  author: pfaedit;  state: Exp;  lines: +2 -2
File->X Resource Editor...->FontView->Font Size
was supposed to allow the user to set the size of the glyph labels in the fontview. It didn't. Fixed.
----------------------------
revision 1.3231
date: 2009/09/05 13:49:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new problem (Find Problems) and a new validation state indicative of whether a glyph (or hint mask) has overlapping hints.
----------------------------
revision 1.3230
date: 2009/09/04 19:06:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Alexandre Prokoudine to make an error message translatable.
----------------------------
revision 1.3229
date: 2009/09/04 16:57:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Stephen Hartke to make contour splicing (in fontforge's python module) work the way splicing normally does in python.
----------------------------
revision 1.3228
date: 2009/09/04 16:51:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Back in the dark ages adobe provide a set of encodings for the PUA. For instance A.small was encoded into PUA. Nowadays it is thought better to leave A.small unencoded. But if a modern font contained an A.small glyph FontForge would think it should be encoded into the PUA. So I added a preference item to turn off adobe's obsolete names.

Sadly the preference item wasn't very smart and turned off names like uE001 as well. Fix that.
----------------------------
revision 1.3227
date: 2009/09/04 09:17:48;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: made much faster by caching SplinePointListIsClockwise() results.
----------------------------
revision 1.3226
date: 2009/09/03 01:16:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Problem when converting an OpenType contextual subtable to an Apple state machine.
----------------------------
revision 1.3225
date: 2009/09/03 01:09:02;  author: pfaedit;  state: Exp;  lines: +3 -3
If an old-style kerning table kerns glyphs which are outside unicode BMP then windows has problems. Someone provide a patch to check for this. Sadly the patch had a bug which could cause crashes.
----------------------------
revision 1.3224
date: 2009/09/02 19:54:03;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: patch from Alexey to fix artifacts caused by diagonal hints
at small and medium PPEMs. Code now sets projection vector from the stack,
because that's more accurate than using dual projection vector, so some font
validators may give warnings due to aspect-ratio-dependent nature of SPVFS.
----------------------------
revision 1.3223
date: 2009/09/02 19:43:29;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: Alexey pointed out that inaccurate strong points
interpolation caused assymetry of implied perpendicular extremas.
----------------------------
revision 1.3222
date: 2009/09/01 03:15:33;  author: pfaedit;  state: Exp;  lines: +2 -2
I was supposed to translate espace_espace_i to space_space_i and espace.small to space.small but that didn't work.
----------------------------
revision 1.3221
date: 2009/09/01 02:44:20;  author: pfaedit;  state: Exp;  lines: +3 -3
When renaming a font to a new namelist I only renamed glyphs, but not the places where glyph names ocurred in lookups or math variants.
----------------------------
revision 1.3220
date: 2009/08/31 20:43:32;  author: pfaedit;  state: Exp;  lines: +2 -2
I used to have a separate set of default Generate [Option] flags for ttf and otf. There's no real need for that, and it's probably a bit confusing, and it makes life hard with ttc files.
----------------------------
revision 1.3219
date: 2009/08/31 20:01:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in code for converting an OpenType contextual sub to an apple state machine.
----------------------------
revision 1.3218
date: 2009/08/17 02:44:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the post table reasonable in ttcs.
----------------------------
revision 1.3217
date: 2009/08/16 00:51:36;  author: pfaedit;  state: Exp;  lines: +3 -3
If a ttc in CFF format is going to share its glyphs, then all fonts must have the same private dict.
----------------------------
revision 1.3216
date: 2009/08/14 05:18:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. Both mac and freetype support ttc files with CFF tables. So I might as well make it possible to generate them. The opentype docs say that windows doesn't support them though.
----------------------------
revision 1.3215
date: 2009/08/12 00:27:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a couple of ttc related bugs.
----------------------------
revision 1.3214
date: 2009/08/11 04:00:07;  author: pfaedit;  state: Exp;  lines: +2 -2
A stupid typo breaks ttcs with .notdef.
----------------------------
revision 1.3213
date: 2009/08/11 00:37:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Yesterday (or the day before) I put in a free I thought was missing, but valgrind points out it was somewhere else. So take it out again.
----------------------------
revision 1.3212
date: 2009/08/09 18:50:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a python command to generate a ttc file
  font.generateTtc
----------------------------
revision 1.3211
date: 2009/08/09 04:14:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. the width of generated .notdef glyphs in ttf files was 65534.

FF could not handle mort/morx tables in ttc files (because I didn't think they existed until recently). The result was that ligature glyphs and substitution glyphs did not get loaded into the font out of a ttc file.

Generate a merged 'glyf' table in ttc files (as an option).
----------------------------
revision 1.3210
date: 2009/08/06 01:43:00;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating truetype from cubic splines, each glyph needs a bounding box, and ff would calculate the bounding box before converting to quadratic. In almost all cases this won't make a difference, but every now and then the bounding box is a little too small (due to approximations in the conversion).
----------------------------
revision 1.3209
date: 2009/08/05 23:11:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to create stupid ttcs. Stupid in the sense that they don't try to merge tables, each font remains an individual, just stuffed in a ttc file.
----------------------------
revision 1.3208
date: 2009/08/04 21:31:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Recent patch to make ff work with python 3 failed to compile if there were no python whatever.
----------------------------
revision 1.3207
date: 2009/08/04 21:29:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Hunh. If we configured with gb12345 then that encoding appeared twice in the encoding list and the first occurance was broken. Remove the broken occurance.
----------------------------
revision 1.3206
date: 2009/08/04 20:51:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry complains that when a feature file creates glyphs which aren't in the encoding then those glyphs aren't visible (until you reencode, of course). This causes confusion. I think the solution is simply to encode the new glyphs.
----------------------------
revision 1.3205
date: 2009/08/04 19:04:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal. Some of the strings for the new delta suggestor were not marked for translation (also resizing the window didn't reset the scrollbar properly).
----------------------------
revision 1.3204
date: 2009/08/04 02:00:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new python method glyph.preserveLayerAsUndo() to add an undo to the undo list which will restore the layer to its current state.
----------------------------
revision 1.3203
date: 2009/08/04 01:36:10;  author: pfaedit;  state: Exp;  lines: +3 -3
embedded bitmaps in CID keyed fonts didn't work.
----------------------------
revision 1.3202
date: 2009/08/03 22:56:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Interpolate fonts would screw up internals if the first font had a layer count which wasn't 2. This would almost certainly cause a crash later.
----------------------------
revision 1.3201
date: 2009/08/03 21:40:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Hunh. Python creates an iterator for my cvt type which doesn't work. So create a real one.
----------------------------
revision 1.3200
date: 2009/08/03 21:35:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wanted a selection field in python glyph.anchorPoints so create a new routine glyph.anchorPointsWithSel()
----------------------------
revision 1.3199
date: 2009/08/03 21:30:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Peter, python cvt[i] returned an unsigned value.
----------------------------
revision 1.3198
date: 2009/08/03 21:25:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Python cvt.find function crashed if there were no cvt table.
----------------------------
revision 1.3197
date: 2009/08/03 21:21:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner suggests that .02 is a better default value for delta checking than .01.
----------------------------
revision 1.3196
date: 2009/07/29 17:24:46;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating a type3 font from a script, ff would convert to type0 if it had a two byte encoding.
----------------------------
revision 1.3195
date: 2009/07/18 02:41:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner keeps asking for a clearer header in the GASP part of fontinfo.
----------------------------
revision 1.3194
date: 2009/07/17 14:44:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Just in case...
----------------------------
revision 1.3193
date: 2009/07/17 13:42:17;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a temporary font for rasterization purposes, don't output GPOS GSUB, or any AAT tables.
----------------------------
revision 1.3192
date: 2009/07/17 04:43:35;  author: pfaedit;  state: Exp;  lines: +3 -3
A patch to the patch to provide a warning for windows being stupid about kerning.
----------------------------
revision 1.3191
date: 2009/07/16 16:49:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Herbert Duerr. With traditional 'kern' tables, windows has problems with kerning glyphs which do not have BMP encodings. So produce a warning in this case.
----------------------------
revision 1.3190
date: 2009/07/16 16:39:52;  author: pfaedit;  state: Exp;  lines: +2 -2
SVG kerning produced garbage. Two typos. Patch by Simo Kinnunen.
----------------------------
revision 1.3189
date: 2009/07/16 16:07:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Bug in feature file (and hence UFO) output. When outputing a contextual class-based lookup ff would crash if class 0 was unused.
----------------------------
revision 1.3188
date: 2009/07/14 19:40:32;  author: michal-n;  state: Exp;  lines: +3 -3
Updated Polish translation.
----------------------------
revision 1.3187
date: 2009/07/13 21:20:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Final work (final significant work anyway) on the suggest deltas command.
----------------------------
revision 1.3186
date: 2009/07/13 04:58:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Delta code closer to being finished.
----------------------------
revision 1.3185
date: 2009/07/13 01:30:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner requests a command to check when a spline gets very close to the center of a pixel as this might be a candidate for a delta instruction.
That is: Grid fit many glyphs at many pixel sizes and see which splines come close to which pixel centers.
This is a functional but ugly implementation.
----------------------------
revision 1.3184
date: 2009/07/10 00:40:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up last patch for layer mnemonics.
----------------------------
revision 1.3183
date: 2009/07/09 20:51:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. Somehow a patch from last month got broken again. fix it.
----------------------------
revision 1.3182
date: 2009/07/09 20:38:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Add mnemonics for the first 10 layers (Guide is _0, Back _1, Fore _2, <user layer 1> _3, ...). Guide, Back and Fore already had mnemonics... Now they have two.
----------------------------
revision 1.3181
date: 2009/07/09 17:03:21;  author: pfaedit;  state: Exp;  lines: +3 -3
In autogoto events, ignore masks we don't understand.
----------------------------
revision 1.3180
date: 2009/07/05 00:31:36;  author: pfaedit;  state: Exp;  lines: +3 -3
I think Barry wants to have different menu keybindings in different windows? That seems a really bad idea in general.

The cvs tree now contains a hack so that you can rebind the charview menus separately from the others.

If you have an entry like:
  msgid "CV*Open|Ctl+O"
  msgstr "Super+O"
then that will rebind Open in the charview and nowhere else.

Note that the string "CV*Open|Ctl+O" will not appear in the pot file, you must add it manually if you want to do this (that's because I don't want people to do this).

If you have a rebinding for
    msgid "Open|Ctl+O"
and no entry for "CV*Open|Ctl+O" (ie. the common case) then all menus (including the charview) will follow the rebinding.
----------------------------
revision 1.3179
date: 2009/07/04 19:48:44;  author: pfaedit;  state: Exp;  lines: +2 -2
When listing all languages used in a script, ff would only look at gpos.
----------------------------
revision 1.3178
date: 2009/07/04 19:44:25;  author: pfaedit;  state: Exp;  lines: +2 -2
When creating an ellipse or rectangle, ff would round the points to be integers -- but it would not refigure the splines after doing that (so the spline polynomials do not actually reach their endpoints causing peculiar errors).
----------------------------
revision 1.3177
date: 2009/07/04 19:07:53;  author: pfaedit;  state: Exp;  lines: +2 -2
When reading a featurefile from a ufo there is no associated fv yet, but there is an associated map. Use the map instead of fv->map when checking encodings.
----------------------------
revision 1.3176
date: 2009/07/04 19:04:03;  author: pfaedit;  state: Exp;  lines: +3 -3
FF was not translating the spiro point menu in charview.
----------------------------
revision 1.3175
date: 2009/07/02 16:55:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a mechanism so user can specify a modifier mask to be applied to characters for navigation. Used to be that user typed "a" and the glyph for "a" was selected in the fontview (or the charview shifted to show "a"). No modifier was used. Now I've added "NavigationMask|None" to the pot file for hotkeys. If left as "None" then there will continue to be no modifier. If changed to something like "Super" then the super key must be used.
----------------------------
revision 1.3174
date: 2009/06/29 22:20:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Set Width (Set Right Bearing, etc.) from the fontview would change the width of a glyph even if it were composite with a "use my metrics" reference.
----------------------------
revision 1.3173
date: 2009/06/29 21:26:01;  author: pfaedit;  state: Exp;  lines: +2 -2
If cairo was turned off, and a glyph had background images, then deleting those images (Cut or Clear) in the charview did not update the display. (That's a simplification, but is what it looked like).
----------------------------
revision 1.3172
date: 2009/06/29 20:19:43;  author: pfaedit;  state: Exp;  lines: +2 -2
In python font.save(), if the script does not specify a filename, and the font isn't associated with an sfd file, then generate the same name as used in SaveAs by default.
----------------------------
revision 1.3171
date: 2009/06/29 19:53:04;  author: pfaedit;  state: Exp;  lines: +2 -2
python font.save had bad error checking and an attempt to save a font with no associated sfd file resulted in a crash rather than an error message.
----------------------------
revision 1.3170
date: 2009/06/29 19:10:09;  author: pfaedit;  state: Exp;  lines: +2 -2
FF can save spiro info into an sfnt.
Unfortunately FF didn't read it back in properly.
----------------------------
revision 1.3169
date: 2009/06/29 17:09:37;  author: pfaedit;  state: Exp;  lines: +3 -3
python cvs.find didn't work for negative cvs entries.
----------------------------
revision 1.3168
date: 2009/06/26 18:06:20;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: patch from Alexey to fix a bug reported by Andrey V. Panov:
- sometives the last vertical stem protruded beyond the advance width.
----------------------------
revision 1.3167
date: 2009/06/22 22:41:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Various patches from Michal. Array bounds out of bound kind of thing.
----------------------------
revision 1.3166
date: 2009/06/22 22:11:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a "find" method to the python cvt object which returns the index in the cvt table of a given value (or -1 if not found).
----------------------------
revision 1.3165
date: 2009/06/22 21:42:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Two issues:
Apple has changed the name of the preference file for X11. Annoying. Pointless.

Apple (or xorg) has changed the default setting of DISPLAY.
----------------------------
revision 1.3164
date: 2009/06/20 00:52:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When faced with non-integral coordinates ff would sometimes introduce rounding errors so the start and end of a contour were slightly different in type1 output. I think this is now fixed...
----------------------------
revision 1.3163
date: 2009/06/19 02:06:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Try to improve non linear transform.
Fix some problems with the nlt dlg.
----------------------------
revision 1.3162
date: 2009/06/18 02:15:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a nltransform method (non-linear transform) to python font, glyph and layer.
----------------------------
revision 1.3161
date: 2009/06/18 01:30:38;  author: pfaedit;  state: Exp;  lines: +2 -2
python simplify could crash.
----------------------------
revision 1.3160
date: 2009/06/18 01:14:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal to fix problem when compiled with long doubles.
----------------------------
revision 1.3159
date: 2009/06/18 01:00:29;  author: pfaedit;  state: Exp;  lines: +3 -3
If used twice, tilepath would screw up memory.
----------------------------
revision 1.3158
date: 2009/06/17 22:52:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone wants a Reverse contour direction command (in addition to correct contour direction).
----------------------------
revision 1.3157
date: 2009/06/17 22:30:51;  author: pfaedit;  state: Exp;  lines: +2 -2
The code used to check bounding boxes in otf fonts had a bug which caused it to report a minimum value of 0 when the min value was positive. This meant we got erroneous reports of points outside the font's bounding box in fontlint.

The code used to check spline intersections had a typo which occasionally caused erroneous intersections to be reported.

fontlint said bad 'glyf' table when it meant bad glyph data in CFF table.
----------------------------
revision 1.3156
date: 2009/06/17 21:29:23;  author: pfaedit;  state: Exp;  lines: +3 -3
If a font had multiple glyphs in the ff clipboard, and we sent that clipboard through X11 (rather than just using the internal clip) then only one glyph would come out on the other side. Provide a mechanism for specifying multiple glyphs in the X clipboard too.
----------------------------
revision 1.3155
date: 2009/06/14 18:13:32;  author: michal-n;  state: Exp;  lines: +3 -3
Refined fix to 'kern pair loss' problem, reported by Louis Simard.
There probably was also a similar 'ligature loss' problem.
----------------------------
revision 1.3154
date: 2009/06/13 14:25:56;  author: michal-n;  state: Exp;  lines: +2 -2
Fixed buffer overrun when filling GASP with default values.
----------------------------
revision 1.3153
date: 2009/06/13 14:22:52;  author: michal-n;  state: Exp;  lines: +2 -2
Fixed frequent losses of kerning pairs in quadratic fonts.
----------------------------
revision 1.3152
date: 2009/06/13 14:18:21;  author: michal-n;  state: Exp;  lines: +2 -2
Enlarging Metrics window made the feature pane and kerning values grid illegible.
----------------------------
revision 1.3151
date: 2009/06/13 14:08:30;  author: michal-n;  state: Exp;  lines: +3 -3
Fixed a bug reported by Louis Simard:
 'Build composite glyph' was enabled in wrong situations and crashed.
----------------------------
revision 1.3150
date: 2009/06/12 20:49:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal Nowakowski

when saving an sfd after adding a new
"kerning by classes" subtable and cancelling its edit dialog.
----------------------------
revision 1.3149
date: 2009/06/11 01:50:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski:

FF crashes just after closing an open spiro contour (by dragging
its first point over the last one, and then a bit further).
----------------------------
revision 1.3148
date: 2009/06/11 01:48:54;  author: pfaedit;  state: Exp;  lines: +3 -3
When reading strings from the name table, certain platform/specific settings would cause ff to:
  1) read the wrong string
  2) screw up memory.
----------------------------
revision 1.3147
date: 2009/05/31 22:20:51;  author: pfaedit;  state: Exp;  lines: +3 -3
A Ukrainian UI.
Update to the Russian UI.
----------------------------
revision 1.3146
date: 2009/05/27 21:56:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Consolidate various mechanisms for finding the xHeight/capHeight of a font. Look for flat lines at the top of appropriate glyphs and then snap to the closest bluevalue. If no flat lines, then try curves.

Add new python commands
  font.capHeight
  font.xHeight

Output Cap/X Height into UFO.
----------------------------
revision 1.3145
date: 2009/05/27 15:54:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Was outputting dates in <date> but should be in <string>
----------------------------
revision 1.3144
date: 2009/05/26 02:37:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow users to turn off the ability to export fontforge's internal clipboard to X11. Some things ff puts in its internal clip can't be exported. If an X11 clipboard manager demands that they be exported then data will be lost and fontforge's functionality will be crippled. If ff doesn't tell X11 it is using the clipboard then this won't happen.
----------------------------
revision 1.3143
date: 2009/05/26 00:46:24;  author: pfaedit;  state: Exp;  lines: +2 -2
A font with erroneous GSUB tables (referring to non-existant glyphs) and an incomplete set of glyphs (caused by having bitmaps for glyphs without outlines) caused ff to crash.
----------------------------
revision 1.3142
date: 2009/05/26 00:25:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo.
----------------------------
revision 1.3141
date: 2009/05/25 04:19:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Fail to parse Inkscape's spiro notation.
----------------------------
revision 1.3140
date: 2009/05/25 01:19:03;  author: pfaedit;  state: Exp;  lines: +2 -2
In svg paths, if you omit a command after a 'moveto' then it defaults to a lineto, not another moveto.
----------------------------
revision 1.3139
date: 2009/05/25 00:52:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a python font.saveNamelist(filename) command.
----------------------------
revision 1.3138
date: 2009/05/25 00:30:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Jakub Steiner thinks it would be a good idea if the tool bindings of mouse clicks in the glyph editor were sticky across invocations.
----------------------------
revision 1.3137
date: 2009/05/24 23:16:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner finds a place where the new jstf code was corrupting memory.
----------------------------
revision 1.3136
date: 2009/05/24 23:04:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Cancelling Element->Validation->Set Extremum Bound caused a crash.
----------------------------
revision 1.3135
date: 2009/05/24 22:44:45;  author: pfaedit;  state: Exp;  lines: +2 -2
When closing a metrics view associated with a CID keyed font, ff would crash.
----------------------------
revision 1.3134
date: 2009/05/24 22:33:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone wanted to be able to set both the left and right side bearings at the same time.
----------------------------
revision 1.3133
date: 2009/05/18 04:24:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Alexey to unlink bitmap code.
----------------------------
revision 1.3132
date: 2009/05/14 13:14:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Barrty points out it would be better to use fputs when I use fprintf.
----------------------------
revision 1.3131
date: 2009/05/14 01:39:51;  author: pfaedit;  state: Exp;  lines: +3 -3
If the user didn't have freetype, then the anti-aliased metrics view was faint.
----------------------------
revision 1.3130
date: 2009/05/13 00:34:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, could write but not read styleset names from a feature file.
----------------------------
revision 1.3129
date: 2009/05/12 22:57:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for friendly names for the style set features (in 1.6 of OTF).
----------------------------
revision 1.3128
date: 2009/05/12 16:27:01;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge appears to handle mark sets in a self-consistant fashion. I hope that means it works.
----------------------------
revision 1.3127
date: 2009/05/12 14:08:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Baby steps toward mark sets. They don't work yet, but they compile.
----------------------------
revision 1.3126
date: 2009/05/11 22:53:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Show Att didn't display cursive anchor positioning anchor classes properly.
----------------------------
revision 1.3125
date: 2009/05/11 19:55:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov wants a python function to determine the extent in the x direction of a contour when y is fix. That is, the minimum and maximum values x can attain for a given y. And vice versa.

Extend this a little so the user can specify a range of y values (return the extent in x when y is between ybottom and ytop).

  contour.xBoundsAtY(ybottom[,ytop])
  contour.yBoundsAtX(xleft[,xright])
  layer.xBoundsAtY(ybottom[,ytop])
  layer.yBoundsAtX(xleft[,xright])
----------------------------
revision 1.3124
date: 2009/05/11 18:43:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Dave wants a python function to return a random text string.
----------------------------
revision 1.3123
date: 2009/05/11 17:46:16;  author: pfaedit;  state: Exp;  lines: +2 -2
If ff opened a bad bitmap font file and tried to place it in a font's background layer, ff would crash.
----------------------------
revision 1.3122
date: 2009/05/11 17:39:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Adjusting the Previous Control Point from the Get Info (point) window of an HVCurve point had very odd effects.
----------------------------
revision 1.3121
date: 2009/05/11 16:53:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Ubuntu now checks that if you use "%3$s" in a sprintf format string you must also use "%1$" and "%2$".
----------------------------
revision 1.3120
date: 2009/05/11 16:28:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Nicolas Spalinger improving OFL tooltip.
----------------------------
revision 1.3119
date: 2009/05/11 15:17:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Andrey Panov to add GetAnchorPoints to legacy scripting.
----------------------------
revision 1.3118
date: 2009/05/11 15:14:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Widhaya Trisarnwadhana points out that the mnemonic _N is bound to two items in the View menu of outline glyphs.
----------------------------
revision 1.3117
date: 2009/05/10 18:58:04;  author: pfaedit;  state: Exp;  lines: +3 -3
I let people assign any name to glyphs in the private use area without destroying the encoding.
But due to a bug, if you changed the glyph's encoding to the PUA it fell into that code and would not change the font's encoding either.
----------------------------
revision 1.3116
date: 2009/04/10 23:09:28;  author: pfaedit;  state: Exp;  lines: +2 -2
If a point had control points which were less than 1 em-unit from it, then FF would sometimes think it was a curve point when it wasn't. That's probably still true, but some of the more egregious cases have been fixed.
----------------------------
revision 1.3115
date: 2009/04/10 23:01:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov suggests that for cubic points, when we round them we should not round the locations of the controls but should round the distance from the on-curve point. Things are a bit trickier for quadratic controls. If the on-curve point is interpolated, then obviously the controls should be rounded and not the on-curve point.
----------------------------
revision 1.3114
date: 2009/04/10 22:15:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Exporting bitmap formats chose the wrong format.
----------------------------
revision 1.3113
date: 2009/04/08 19:11:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Last release Werner asked me to put in checks for glyphs that exceded various limits in the font (glyphs outside the bounding box, glyphs with advance widths bigger than the max, etc.) The problem is that erroneous fonts often have thousands of these errors, so only report once -- unless they turn on fontlint.
----------------------------
revision 1.3112
date: 2009/04/08 05:09:32;  author: pfaedit;  state: Exp;  lines: +2 -2
More problems simplifying quadratic splines.
----------------------------
revision 1.3111
date: 2009/04/08 02:24:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Simplify bumps on lines didn't work for quadratic splines.
----------------------------
revision 1.3110
date: 2009/04/08 01:53:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Could still get control points pointing diametrically opposite their desired position when converting cubics to quadratics (happened when we could not find a good solution by subdividing the spline and had to try another approach).
----------------------------
revision 1.3109
date: 2009/04/08 01:10:09;  author: pfaedit;  state: Exp;  lines: +3 -3
AddExtrema could go into an infinite loop.
----------------------------
revision 1.3108
date: 2009/04/07 21:08:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that when converting something to a CID font through a CMAP the last glyph in the encoding will be lost.
----------------------------
revision 1.3107
date: 2009/04/07 20:54:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a set of new python functions for manipulating CID keyed fonts:
  * cidConvertTo(registry,ordering,supplement)
  * cidConvertByCmap(filename)
  * cidFlatten()
  * cidFlattenByCmap(filename)
  * cidInsertBlankSubFont()
  * cidRemoveSubFont()
----------------------------
revision 1.3106
date: 2009/04/07 15:20:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Some inconsistancies in ff python docs and reality.
----------------------------
revision 1.3105
date: 2009/04/07 14:59:44;  author: pfaedit;  state: Exp;  lines: +3 -3
The regen bitmaps dlg sometimes did not use freetype for all glyphs.
----------------------------
revision 1.3104
date: 2009/04/06 22:33:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics view had problems with cid fonts.
----------------------------
revision 1.3103
date: 2009/04/06 22:32:13;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge was supposed to check that the compile time (include file) freetype library version number matched the installed version number. But it didn't. Only matters in the debugger, but is important there.
----------------------------
revision 1.3102
date: 2009/04/02 19:59:07;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: fixed a hang reported by Andrey V. Panov.
----------------------------
revision 1.3101
date: 2009/04/01 17:44:35;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: patch from Alexey:
- More tweaking to diagonal stems.
- Added support to horizontal ghost hints
  not tied to blue zones and vertical ghost hints.
----------------------------
revision 1.3100
date: 2009/03/30 18:48:35;  author: akryukov;  state: Exp;  lines: +3 -3
Create faked HV stems for corner points at the ends of diagonal stems when
preparing data for the autoinstructor.
----------------------------
revision 1.3099
date: 2009/03/29 20:15:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out a free which is sometimes inappropriate.
----------------------------
revision 1.3098
date: 2009/03/29 03:28:02;  author: pfaedit;  state: Exp;  lines: +3 -3
The transform function from the fontview (and python) would transform images in the background layer multiple times -- once for each selected layer.
----------------------------
revision 1.3097
date: 2009/03/27 15:10:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Alexey Kryukov to support composites (references) in bitmap fonts.
----------------------------
revision 1.3096
date: 2009/03/26 03:51:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I broke contextual ligatures in feature file parsing.
----------------------------
revision 1.3095
date: 2009/03/26 03:02:31;  author: pfaedit;  state: Exp;  lines: +2 -2
suport for the JSTF table.

new sfd syntax.
----------------------------
revision 1.3094
date: 2009/03/26 02:32:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for reading/writing version 1.8 of Adobe's feature file format
(while, I hope, retaining the ability to read version 1.6). Fix a number
of bugs in parsing feature files.

FontForge now supports the 'BASE' table (in feature files).

The new format is considerably better than the old and can now be used to
express almost all of OpenType.

Changes:
  * ability to name anchors and value records and use them later.
  * contourpoints used to be expressed as "<contourpoint 2>" and are
      now expressed as "contourpoint 2" (no brokets). Adobe does not
      mention this in the changelog.
      [Incompatible change]
  * It is now possible to specify a GDEF mark attachment class in the
      lookupflags statement.
  * The syntax for mark to base/ligature/mark lookups is completely
      different.
      [Incompatible change]
  * The syntax for contextual lookups has been extended to allow them
      to reference lookups by name.
      [FontForge has always done this. When I suggested to Adobe that
       they follow suit they said they would not. They have now followed
       suit but have used an incompatible syntax to accomplish the same
       ends. So this is an
       Incompatible change
       for FontForge]
   * The syntax for contextual lookups has been extended to allow for
       the new mark lookups.
   * It is now possible to specify a reverse chaining substitution
       lookup.
   * It is now possible to specify descriptive names for the ss00-ss99
       features.
       FontForge doesn't support this but will parse and ignore it

There are some ambiguities in the spec, however
 * In section 4.d we are told that MarkAttachmentType/UseMarkFilteringSet
  both take <glyph class name>s, yet in 9.b we are told they take
  <mark class name>s
 * In 6.e a NULL anchor is defined by <anchorNULL>, shouldn't this be
  <anchor NULL>? In that same example the NULL anchor is not followed by
  a mark keyword and class, is this correct syntax?
----------------------------
revision 1.3093
date: 2009/03/20 10:38:48;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: patch from Alexey:
- Fix an issue reported by Andrey V. Panov (counter control again).
- One type of dependent stems were positioned with wrong method;
  resulting in serifs pushed beyond their blue zones and other quirks.
----------------------------
revision 1.3092
date: 2009/03/20 10:34:55;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: patch from Alexey to fix bugs reported by Andrey V. Panov:
- RP1 was not set correctly after MDRP'ing first edge of dependent stems.
- Vertical stems with no snappable points at left edge were improperly handled.
- Use new FPGM 16, 17, 18 instead of 1, 11, 12 on 'control counters' enabled.
- Now off-curve points can be used as dstem key points.
- Use ALIGNRP instead of MDRP to place points at dstem edges if possible.
- Some dstems benefit from NOT trying to maintain the slope.
----------------------------
revision 1.3091
date: 2009/03/20 09:41:08;  author: akryukov;  state: Exp;  lines: +3 -3
Some "right" points on diagonal stems could be incorrectly identified as
"left", and vice versa.

There was a typo in UnitCloserToHV(), which resulted into a wrong unit
vector being sometimes preferred.

Some stems may mark more than one ball terminal, and those ball terminals
may depend from different "base" stems. Attempt to take care of this.
----------------------------
revision 1.3090
date: 2009/03/14 19:26:58;  author: akryukov;  state: Exp;  lines: +2 -2
Forgot to remove a debug statement.
----------------------------
revision 1.3089
date: 2009/03/14 19:23:24;  author: akryukov;  state: Exp;  lines: +3 -3
Don't make a stem dependent from another stem, if these two stems are linked
to different blue zones.
----------------------------
revision 1.3088
date: 2009/03/10 09:31:47;  author: akryukov;  state: Exp;  lines: +2 -2
Reformatting and minor corrections. Under certain conditions two almost
coincident diagonal stems could be detected, and this resulted into very
old effects when autoinstructing the glyph.
----------------------------
revision 1.3087
date: 2009/03/10 02:31:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the new MarkAttachmentType lookup flag in Adobe's feature file syntax.
----------------------------
revision 1.3086
date: 2009/03/10 00:22:42;  author: pfaedit;  state: Exp;  lines: +3 -3
New feature file syntax.
contourpoint is now implemented in an incompatible way from before.
Support for named value records and anchor points.
----------------------------
revision 1.3085
date: 2009/03/06 05:23:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix bugs in the justify dlg. Too numerous to describe.
----------------------------
revision 1.3084
date: 2009/03/05 21:41:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Add Justify table to show att.
----------------------------
revision 1.3083
date: 2009/03/05 05:11:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for the OpenType JSTF table. read/write the table, extend sfd to support, and a set of dlgs to examine.
----------------------------
revision 1.3082
date: 2009/03/04 22:30:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some more oddities in the math kerning dlg.
----------------------------
revision 1.3081
date: 2009/03/04 01:25:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a crash bug in the math kern dlg.
----------------------------
revision 1.3080
date: 2009/03/03 05:13:42;  author: pfaedit;  state: Exp;  lines: +3 -3
If a tt control point were on top of an on-curve point, then ff would ignore it. So when I read things in I moved it, slightly. But that didn't work, because the instructions would do the wrong thing with it, and if it were part of an interpolated sequence that info would be garbled. So only swallow control points if they don't have a nextcpindex.
----------------------------
revision 1.3079
date: 2009/02/24 14:25:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants to know the freetype version, so display this when debugging on the info line.
----------------------------
revision 1.3078
date: 2009/02/23 22:54:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Panov to allow legacy scripting to guess values for the private dictionary. PrivateGuess(key).
----------------------------
revision 1.3077
date: 2009/02/23 21:51:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the label "Unicode Name" to "Glyph Name" in Glyph Info.
----------------------------
revision 1.3076
date: 2009/02/23 15:49:27;  author: pfaedit;  state: Exp;  lines: +3 -3
If a CID font contained a ".notdef" glyph, then when FF generated a Type1 CID font resource from it, FF would omit the .notdef glyph.
----------------------------
revision 1.3075
date: 2009/02/13 19:41:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Upgrade to UFO 2.
----------------------------
revision 1.3074
date: 2009/02/12 01:32:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Change UFO output to support revision 2 of the format. (input doesn't).
----------------------------
revision 1.3073
date: 2009/02/09 22:25:38;  author: pfaedit;  state: Exp;  lines: +3 -3
In TrueType debugging Werner originally asked to mark pixels which changed state. (So there were four states: on and still on, just recently turned on, just recently turned off, always off). Now he'd like to see exactly the current state.
----------------------------
revision 1.3072
date: 2009/02/08 03:23:40;  author: pfaedit;  state: Exp;  lines: +3 -3
People complain that under window managers that try to behave like MS Windows, the palettes slowly walk off the screen. This patch should (almost) fix that. A palette may start to walk off but each time it does, it will be brought back close to the zero point.
----------------------------
revision 1.3071
date: 2009/02/07 13:59:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Pango doesn't like a utf8 string which consists solely of a variation selector. So don't draw them.
----------------------------
revision 1.3070
date: 2009/02/07 04:32:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner doesn't want to see anchor points when debugging.
----------------------------
revision 1.3069
date: 2009/02/06 23:40:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Change weight from the fontview usually crashed.
----------------------------
revision 1.3068
date: 2009/02/06 23:34:38;  author: pfaedit;  state: Exp;  lines: +2 -2
In the past if someone had a glyph with a negative advance width, FF would output a large postive number to the 'hmtx' table, instead output 0.
----------------------------
revision 1.3067
date: 2009/02/06 23:21:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. One of the checks I put in for Werner on maxAdvanceWidth had a bug which caused a crash.
----------------------------
revision 1.3066
date: 2009/02/06 23:15:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Yet another undo problem caused by the [Apply] button in the expand stroke dlg. This one on cancelling the dlg.
----------------------------
revision 1.3065
date: 2009/01/30 04:38:33;  author: pfaedit;  state: Exp;  lines: +3 -3
The other day Werner asked if FF could mark points as touched (in the tt debugger), so I put something in which did that. Back out that patch.
Instead use a more general thing which marks which points are used by the next instruction, whatever it may be. Points about to change (usually means they might move) are shown as if selected, Points used as reference points by the operation have a gold circle around them.
----------------------------
revision 1.3064
date: 2009/01/30 03:05:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Update copyright notices to 2009
----------------------------
revision 1.3063
date: 2009/01/29 15:16:33;  author: pfaedit;  state: Exp;  lines: +3 -3
FF needed libxml to compile.
----------------------------
revision 1.3062
date: 2009/01/27 22:36:09;  author: pfaedit;  state: Exp;  lines: +3 -3
If there were no undoes in a glyph then Expand Stroke would crash.
----------------------------
revision 1.3061
date: 2009/01/23 22:17:26;  author: pfaedit;  state: Exp;  lines: +3 -3
In debug mode, when drawing point numbers, follow them with X or Y to indicate the point has been touched (in x or y or both).

I used to use H or V in the points window, change that to X and Y -- more consistent with the rest of the world.
----------------------------
revision 1.3060
date: 2009/01/21 22:40:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Two patches which got lost. One sets the advance width properly when building small caps for glyphs like Alpha.
----------------------------
revision 1.3059
date: 2009/01/21 22:35:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Ah. Werner wants ff to tell him when an isFixedPitch font has a glyph with an andvance width which differs from advanceWidthMax.
----------------------------
revision 1.3058
date: 2009/01/21 21:31:21;  author: pfaedit;  state: Exp;  lines: +2 -2
When creating a metrics view with many glyphs, one of which needed to be autohinted, then ff might crash.
----------------------------
revision 1.3057
date: 2009/01/21 15:49:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Width was not set when building some small-caps glyphs out of references.
----------------------------
revision 1.3056
date: 2009/01/18 20:29:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner suggests adding a check that advance widths are all less than hhea.advanceWidthMax

Add a check that glyphs are within the font's bounding box too.
----------------------------
revision 1.3055
date: 2009/01/16 22:21:05;  author: pfaedit;  state: Exp;  lines: +3 -3
When I boxified Page Setup a typo meant that one radio button occurred twice and another got lost. Resulting in -- a crash.
----------------------------
revision 1.3054
date: 2009/01/03 01:24:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Some dialogs don't get destroyed after they are finished with. Instead they hang around, invisible, containing state information that becomes relevant next time they appear. They need to be able to change their transient_for hints, since they may pop up with a new owner window.
----------------------------
revision 1.3053
date: 2009/01/03 00:22:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Points of extrema weren't being marked correctly in the glyph view.
----------------------------
revision 1.3052
date: 2009/01/02 23:50:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Mark to ligature anchor points not output properly to feature files.
----------------------------
revision 1.3051
date: 2008/12/24 16:18:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Another member problem in merge fonts.
----------------------------
revision 1.3050
date: 2008/12/23 19:28:33;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font were missing a .notdef glyph.
If the user tried to display a font sample of text which included a character not in the font.
Then (after the recent patches for grid-fit metrics in Print dlg) fontforge would crash.
----------------------------
revision 1.3049
date: 2008/12/23 05:37:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a bug in old cubic to quadratic conversion.
----------------------------
revision 1.3048
date: 2008/12/22 23:54:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Lots of changes to extrema code.
  1) Find problems and add extrema had different defn of "short" splines
	(ones which could have extrema) so we'd get conflicting behavior.
  2) FontView add extrema couldn't be undone.
  3) Many improvements in the algorithm. Too worried of rounding errors before.
----------------------------
revision 1.3047
date: 2008/12/22 05:24:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Add code which will (I hope) check for a bad version of X on Mac 10.5 and complain to the user about it rather than just crashing.
----------------------------
revision 1.3046
date: 2008/12/20 02:21:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Initializing the font info dialog crashed on the mac when -O2 was specified.
----------------------------
revision 1.3045
date: 2008/12/20 01:58:12;  author: pfaedit;  state: Exp;  lines: +2 -2
After adding an Apply button the Transform dlg would crash if invoked in a glyph with no undoes.
----------------------------
revision 1.3044
date: 2008/12/20 01:20:39;  author: pfaedit;  state: Exp;  lines: +3 -3
I think a buffer was too small for the sprintf that wrote to it -- at least sometimes.
----------------------------
revision 1.3043
date: 2008/12/17 20:20:11;  author: pfaedit;  state: Exp;  lines: +3 -3
legacy scripting command AddPosSub didn't work for non-single-substitution GSUB lookups.
----------------------------
revision 1.3042
date: 2008/12/15 21:35:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Prefs with no ui should also be locale independant.
----------------------------
revision 1.3041
date: 2008/12/15 21:31:48;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on intersections and contour direction.
----------------------------
revision 1.3040
date: 2008/12/15 14:51:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by "JustFillBug" to exend python scripting by making the find interator become a find/replace iterator.
----------------------------
revision 1.3039
date: 2008/12/15 14:14:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Taco to fix a memory problem reading bad baseline data.
----------------------------
revision 1.3038
date: 2008/12/15 14:06:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Andrey PANOV to extend GlyphInfo by adding "XProfile" and "YProfile" options.
----------------------------
revision 1.3037
date: 2008/12/15 01:47:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Boxify the Expand stroke dlg.
----------------------------
revision 1.3036
date: 2008/12/14 18:56:14;  author: pfaedit;  state: Exp;  lines: +2 -2
enums for matrix edit popups weren't being translated in fontinfo.
----------------------------
revision 1.3035
date: 2008/12/14 18:06:10;  author: pfaedit;  state: Exp;  lines: +3 -3
PANOV thinks there should be an [Apply] button in the Transform dlg. (He suggested some others, but let's start with Transform). This only makes sense to me in the outline view, so do it there.
----------------------------
revision 1.3034
date: 2008/12/14 00:13:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Make ff parse preference files independent of the decimal point local in which they were written (that is -- accept either "." or "," in floating numbers).
----------------------------
revision 1.3033
date: 2008/12/13 04:18:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Setting the Right Side Bearing field of a glyph in the metrics view caused very strange (and undesirable) behavior.
----------------------------
revision 1.3032
date: 2008/12/13 03:42:52;  author: pfaedit;  state: Exp;  lines: +3 -3
If a Cubic layer had a notdef glyph, then sometimes, rasterizing using freetype would fail (not a freetype problem, I didn't set things up right).
----------------------------
revision 1.3031
date: 2008/12/12 21:07:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Anti-Aliased glyphs in the metrics view were drawn with the wrong clut which made them too dark. Magnified glyphs had some vertical alignment issues. Magnified glyphs had some rounding issues.
----------------------------
revision 1.3030
date: 2008/12/11 22:34:02;  author: akryukov;  state: Exp;  lines: +2 -2
When comparing slopes, compare angles themselves, rather than sines/cosines.
This makes the code a bit clearer and allows to make the allowed deviations
customizable via the Prefs dialog.

Fix one more problems with points being snapped to a wrong stem side (it
was still possible in case of off-curve points).
----------------------------
revision 1.3029
date: 2008/12/11 00:55:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Metrics View and Display dlg weren't showing grid fit metrics properly. Several bugs.
----------------------------
revision 1.3028
date: 2008/12/10 23:51:06;  author: pfaedit;  state: Exp;  lines: +2 -2
FF used to shift glyphs left if "build accented" created something with a large enough negative left side bearing (ie. generally when centering a large accent over an "I"). Panov doesn't like this.
----------------------------
revision 1.3027
date: 2008/12/10 23:37:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Michal needs "Background" disambiguated.
----------------------------
revision 1.3026
date: 2008/12/09 23:38:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the metrics view be more like the display dlg in that you can specify a point-size/dpi to view stuff. Fix Display dlg so that it passes freetype a point size/dpi combination rather than the (almost) equivalent pixelsize.
----------------------------
revision 1.3025
date: 2008/12/09 20:53:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Boxify some more dlgs.
----------------------------
revision 1.3024
date: 2008/12/09 18:11:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Change so that only modal dialogs are marked transient. Make sure everybody is marked as a dlg.
----------------------------
revision 1.3023
date: 2008/12/09 04:38:01;  author: pfaedit;  state: Exp;  lines: +2 -2
FF got confused by format 4 cmaps which weren't unicode.
----------------------------
revision 1.3022
date: 2008/12/09 04:35:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Goto dlg would not test altunis when looking for a unicode code point.
----------------------------
revision 1.3021
date: 2008/12/09 00:14:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Boxify the goto dialog.
----------------------------
revision 1.3020
date: 2008/12/08 23:33:53;  author: pfaedit;  state: Exp;  lines: +2 -2
If a langsys table had a required feature, then ff would drop one feature from the list of features. This omitted feature should have been the required one (which is marked specially), but wasn't always.
----------------------------
revision 1.3019
date: 2008/12/08 21:21:24;  author: pfaedit;  state: Exp;  lines: +3 -3
In my eternal vigilence against rounding errors I failed to report some intersections which were very close to the end points.

Change the contour direction tester so that instead of looking at the first part of the contour it sees, make it check the whole thing, so if there are self-intersections we will get inconsistent results. Change everyone who looks at the direction tester to be prepared for an error return.
----------------------------
revision 1.3018
date: 2008/12/07 02:16:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Dave says he wants to see grid-fit characters in the metrics view.
This makes no sense to me. But it does seem reasonable to want to specify the pixel size in the metrics view. And a zoom factor. So give people that option.
----------------------------
revision 1.3017
date: 2008/12/06 21:58:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the extension ".lzma" to the list of compression styles that ff is prepared to deal with.
----------------------------
revision 1.3016
date: 2008/12/06 04:16:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Put "View" in a slightly more logical place in the order in the resource dlg.
----------------------------
revision 1.3015
date: 2008/12/06 00:06:29;  author: pfaedit;  state: Exp;  lines: +2 -2
patch by Taco for sfnts with know understandable encoding.
----------------------------
revision 1.3014
date: 2008/12/06 00:02:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Panov to add a new scritping command SelectGlyphsBoth.
----------------------------
revision 1.3013
date: 2008/12/05 23:29:15;  author: pfaedit;  state: Exp;  lines: +2 -2
loading Apple gvar fonts broken.
----------------------------
revision 1.3012
date: 2008/12/05 04:51:51;  author: pfaedit;  state: Exp;  lines: +3 -3
More for the resource editor.
----------------------------
revision 1.3011
date: 2008/12/04 21:44:23;  author: pfaedit;  state: Exp;  lines: +2 -2
More for the resource editor.
----------------------------
revision 1.3010
date: 2008/12/04 15:27:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Redo all the default font family names we ask for. For example "Helvetica" is provided by X11 bitmaps, but not be fontconfig. So make our names work with both.
----------------------------
revision 1.3009
date: 2008/12/04 04:31:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Back before supporting multiple layers, the transform dlg had an entry "Transform Background too", that should be changed to "Transform all layers".
----------------------------
revision 1.3008
date: 2008/12/04 04:23:24;  author: pfaedit;  state: Exp;  lines: +3 -3
When doing a "Scale Emsize", glyphs containing references with UseMyMetrics set were not set to the correct width if the refered glyph occured later in the encoding.
----------------------------
revision 1.3007
date: 2008/12/03 15:21:21;  author: pfaedit;  state: Exp;  lines: +2 -2
More resource editor stuff.
----------------------------
revision 1.3006
date: 2008/12/03 04:10:34;  author: pfaedit;  state: Exp;  lines: +2 -2
More stuff for the resource editor.
----------------------------
revision 1.3005
date: 2008/12/03 00:36:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the definition of FontView.FontSize. Used to be in pixels. Make it be in points.
----------------------------
revision 1.3004
date: 2008/12/02 08:12:17;  author: pfaedit;  state: Exp;  lines: +3 -3
More stuff for the resource editor.
----------------------------
revision 1.3003
date: 2008/12/01 03:04:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Add an X resource editor.
It is by no means complete. I just want to post to the net before travel.
----------------------------
revision 1.3002
date: 2008/11/24 03:01:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Find Problems needs to check self-intersection too, I guess.
Validation already does.
----------------------------
revision 1.3001
date: 2008/11/24 02:50:07;  author: pfaedit;  state: Exp;  lines: +2 -2
In the glyph view, add the option to check for self-intersections before calculating whether a contour is clockwise or anti-. However, this check can be extremely slow for complex glyphs (those with lots of splines) so include an option to turn it off.
----------------------------
revision 1.3000
date: 2008/11/24 01:30:09;  author: pfaedit;  state: Exp;  lines: +2 -2
We could get into infinite recursion when CVChar and DVChar each passed non-latin characters to the other in hopes the other could handle it. Neither could. They kept calling deeper and deeper.
----------------------------
revision 1.2999
date: 2008/11/24 01:18:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some more checks for badly numbered glyphs.
----------------------------
revision 1.2998
date: 2008/11/23 04:44:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Memory problems with merge:
  Counter masks
  Diagonal stems
  Mismatch layers
----------------------------
revision 1.2997
date: 2008/11/23 02:15:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Memory bug when copying contextual chaining lookups.
----------------------------
revision 1.2996
date: 2008/11/23 01:35:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Scrolling the GPOS/GSUB lookups panes for font info cause lots of nasty flickering.
----------------------------
revision 1.2995
date: 2008/11/19 15:51:12;  author: pfaedit;  state: Exp;  lines: +3 -3
The text fields in the metrics view (right, left bearings, width, kern, etc) drew black text on top of a black selection. It wasn't legible.
----------------------------
revision 1.2994
date: 2008/11/17 21:49:46;  author: pfaedit;  state: Exp;  lines: +2 -2
In the View menu of the Font View listed all bitmap strikes, but it treated the strings containing the strike names as latin1 rather than utf8, so Russian (and probably everything not english) got mangled.
----------------------------
revision 1.2993
date: 2008/11/17 21:38:54;  author: pfaedit;  state: Exp;  lines: +3 -3
The "fix" to make the TeX pane reflow when user changed from TeX Text to TeX math, broke things so they would not flow back when the user went back to Text.
----------------------------
revision 1.2992
date: 2008/11/15 04:24:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh, let the user know that we can import jpegs.
----------------------------
revision 1.2991
date: 2008/11/15 03:11:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Show gridfit omitted a round to int when displaying grid fit outlines. If you use 72dpi, then all was fine, otherwise there would be a slight difference between where the outline was and where it should have been.
----------------------------
revision 1.2990
date: 2008/11/15 02:30:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Remove the preference item to specify a pixmap dir.
Add an xresource to specify a pixmap path (multiple pixmap directories separated by ":". Interpret ~/ to mean home dir. Interpret = to mean installed pixmap directory.
Add resources for the box to the right of a combo box's textfield, for numeric fields, and for the box containing the up/down arrows of the numeric field.
----------------------------
revision 1.2989
date: 2008/11/14 16:14:06;  author: pfaedit;  state: Exp;  lines: +2 -2
All dialogs should be marked as transient for tiling window managers (I'm told). So keep track of the last non-dialog window in which a key or mouse event happened and use that as the transient for window in each dialog.

Oh, and it appears some dialogs aren't actually marked as dialogs.
----------------------------
revision 1.2988
date: 2008/11/14 14:55:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Boxify the Print Setup dialog.
----------------------------
revision 1.2987
date: 2008/11/14 14:33:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Doing a print sample of a truetype font produced bad CID output.
----------------------------
revision 1.2986
date: 2008/11/14 03:46:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Widths of dependent glyphs where not changed by changing the rbearing of a glyph in the metrics view.
----------------------------
revision 1.2985
date: 2008/11/14 02:40:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Force a reflow of the TeX box when the user changes from TeX Text to TeX Math. The labels change, and in polish the label gets so long it hides under the text field.
----------------------------
revision 1.2984
date: 2008/11/14 01:27:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Boxify the TeX More Params dialog of fontinfo.
----------------------------
revision 1.2983
date: 2008/11/13 21:52:46;  author: pfaedit;  state: Exp;  lines: +2 -2
When a point was exactly midway between its control points, FontForge would not detect that it was a curve point after recent work. As this happens frequently in TrueType (all interpolated points) we shouldn't do that.
----------------------------
revision 1.2982
date: 2008/11/13 21:37:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some more cases where the "link" buttons in the FontInfo->UnicodeRanges
and Generate Fonts dlgs looked wrong.
----------------------------
revision 1.2981
date: 2008/11/13 21:15:01;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge has been generating bad bounding box information for BDF fonts.
----------------------------
revision 1.2980
date: 2008/11/13 02:39:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Solve the problem of unexpected backgrounds in the metricsview by giving the drawing area its own window, instead of just using a clip rectangle.
----------------------------
revision 1.2979
date: 2008/11/12 22:22:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Adobe doesn't define how big a spline must be for the "no extrema" restriction to apply. Phillip Poll suggests that fontforge have a command that defines this on a per-font basis. Element->Validation->Set Extremum Bound.
----------------------------
revision 1.2978
date: 2008/11/12 05:34:55;  author: pfaedit;  state: Exp;  lines: +2 -2
make the lock icon (used to show the glyph has a use-my-metrics reference) a triffle smaller.
----------------------------
revision 1.2977
date: 2008/11/12 05:26:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new problem to find glyphs with multiple references with use my metrics set.
Also put something in to the ttf parser to check for this as we load a font.
----------------------------
revision 1.2976
date: 2008/11/11 22:58:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some new resources:
  fontforge.View.Background
   Sets the background color on the drawing areas in the fontview, glyph view,
   metrics view and bitmap view.
 ...Box.GradientBG
   Draws the background of the gadget using a gradient with Box.GradientStartCol at the top and bottom and the normal background in the middle of the gadget.
 ...Box.GradientStartCol

On the mac make the buttons look a tiny bit more like mac buttons.
----------------------------
revision 1.2975
date: 2008/11/11 15:08:33;  author: pfaedit;  state: Exp;  lines: +2 -2
More accurate catagorization of whether a point is curve or tangent.
----------------------------
revision 1.2974
date: 2008/11/11 04:19:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Yet more work on order2 hv points.
----------------------------
revision 1.2973
date: 2008/11/10 22:02:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Sequence/Lookup dlg of contextual lookup dlgs can be too small.
----------------------------
revision 1.2972
date: 2008/11/10 21:36:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal points out some strings which are not translated.
----------------------------
revision 1.2971
date: 2008/11/10 21:28:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal suggests merging two messages which should be identical. He says they aren't and I'm sure he's right. Merging them is easier than figuring out how they differ.
----------------------------
revision 1.2970
date: 2008/11/10 21:24:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal points out that the [Default using suffix] button in the single substitution subtable dialog didn't work if the lookup were bound to no features.
----------------------------
revision 1.2969
date: 2008/11/10 04:20:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a lock icon beside a reference name if that reference has "use-my-metrics" set.
----------------------------
revision 1.2968
date: 2008/11/10 00:08:29;  author: pfaedit;  state: Exp;  lines: +3 -3
If a quadratic glyph is put into spiro mode, modified, and then put back into bezier mode then it LOOKS as if it is still quadratic (there are interpolated points shown) but it is actually cubic.
----------------------------
revision 1.2967
date: 2008/11/09 19:45:24;  author: pfaedit;  state: Exp;  lines: +2 -2
If someone changed the button shape to round rect, then the link button in Font Info->Unicode Ranges became a blot.
----------------------------
revision 1.2966
date: 2008/11/09 17:24:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The name of a reference in the active layer of the charview was drawn with the wrong font if an anchor point were present.
----------------------------
revision 1.2965
date: 2008/11/08 02:44:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey suggests using typo-line-gap between lines in the print dialog.
He also provides a patch to fix old church slavonic and a couple of other issues.
----------------------------
revision 1.2964
date: 2008/11/08 00:09:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey wants to be able to turn of pango.
----------------------------
revision 1.2963
date: 2008/11/08 00:05:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Get rid of some of the cruft that accumulated in trying to figure out how best to use cairo.
----------------------------
revision 1.2962
date: 2008/11/07 22:10:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Kanou. SetPanose in legacy scripting did not set the panose_set bit so all changes were lost.
----------------------------
revision 1.2961
date: 2008/11/07 21:10:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Added duplicate name and duplicate unicode to the things validate checks for.
(Note to me: Need to add these new masks to the scripting docs).
----------------------------
revision 1.2960
date: 2008/11/07 04:15:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a command to set the color of all selected glyphs.
----------------------------
revision 1.2959
date: 2008/11/07 04:04:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Give instructions in Find Problems on how to figure out which two glyphs have the same name, or the same unicode code point.
----------------------------
revision 1.2958
date: 2008/11/07 03:39:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Pango has caniptions if I ask it to draw one of the code points reserved for surrogates or some of the "NOT A UNICODE CHARACTER" codepoints (0xffff, etc.). So don't draw these, and mark them as unusable slots instead.
----------------------------
revision 1.2957
date: 2008/11/07 02:47:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the selection menu in the font view.
  If the user holds down the shift key then the selection is enlarged by
    any glyphs specified in the command. (logical or)
  If the user holds down the control key then any glyphs specified by the
    command are removed from the selection.
  If the user has both shift and control down then only glyphs currently
    selected and specified by the command will remain selected (logical and)
  Otherwise the selection is set to what is specifed by the command.

Add new commands to select glyphs which
   Contain nothing by references
   Contain nothing by splines
   Contain both splines and references (bad idea)
   Are whitespace (and contain neither splines nor references).
----------------------------
revision 1.2956
date: 2008/11/06 02:03:58;  author: pfaedit;  state: Exp;  lines: +3 -3
The print dialog had a nasty habit of crashing when asked to undo.

Off by one error with scrollbar would sometimes hide the last line.
----------------------------
revision 1.2955
date: 2008/11/05 06:43:38;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on quadratic hv points.
----------------------------
revision 1.2954
date: 2008/11/05 05:58:59;  author: pfaedit;  state: Exp;  lines: +3 -3
The last patch to the print dlg caused as many problems as it fixed.

Also lines of text in the Insert Text Outlines dialog were drawn in the reverse order from that shown in the dialog (ie. top line on the bottom).
----------------------------
revision 1.2953
date: 2008/11/04 04:47:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a number of problems with my pango code.
----------------------------
revision 1.2952
date: 2008/11/03 05:24:26;  author: pfaedit;  state: Exp;  lines: +2 -2
It used to be that if a glyph had instructions, and the background was order2, then editing the background (or any order2 background layer) would clear the instructions.
----------------------------
revision 1.2951
date: 2008/11/03 05:17:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Peter Baker says:
In both "Show Grid Fit" and the TT debugger it used to be
possible to turn off the display of outlines in the foreground layer
simply by unchecking "fore". Now it can no longer be done, and as a
result it's become more difficult to check at a glance the overall
effect of TT instructions. It would be nice to have this capability back.
----------------------------
revision 1.2950
date: 2008/11/03 04:18:51;  author: pfaedit;  state: Exp;  lines: +2 -2
HV points don't work well with quadratic splines. Too many cases where they just specify an impossiblility. Attempt to improve on that. Merge on quadratic splines also left much to be desired.
----------------------------
revision 1.2949
date: 2008/11/03 02:20:43;  author: pfaedit;  state: Exp;  lines: +2 -2
When FF starts browsing the OFLib it creates a thread which requests the new state of OFLib (ie. any fonts since last time I looked?). This thread should die after it has read all the new stuff. It did die, but then someone restarted it and the whole process repeated. Which might be ok -- we'd get a new state whenever the site changed -- except that it meant a flicker of the display every minute or so.
----------------------------
revision 1.2948
date: 2008/11/03 02:05:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Nicolas Spalinger points out that a license search in the oflib dialog (of fontforge) finds exactly the opposite of what was asked for (searching for PD finds OFL and vice versa).
----------------------------
revision 1.2947
date: 2008/11/03 01:13:48;  author: pfaedit;  state: Exp;  lines: +3 -3
There exist sfds where the width of a glyph does not match that specified by use my metrics on references. So when we read these guys in, fix up the erroneous widths and complain.
----------------------------
revision 1.2946
date: 2008/11/02 04:58:48;  author: pfaedit;  state: Exp;  lines: +2 -2
More work to find the right libraries even if the distributions hide them.
----------------------------
revision 1.2945
date: 2008/11/02 03:20:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Distributions no longer provide .so files -- unless you ask for -dev packages, and sometimes those don't exist. This means that dlopening a library doesn't work. I think that's really stupid on the distibutioner's part. What do they gain by removing the .so file? But I won't even try to change their minds. Instead try to open the appropriate foo.so.? file if we can't find foo.so  (Not always, but in the more important cases).
----------------------------
revision 1.2944
date: 2008/11/02 00:59:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Add pango and its suite of sublibraries to the --library-status command line argument.
----------------------------
revision 1.2943
date: 2008/11/02 00:37:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When deleting a mark-to-mark anchor class, then any mark glyph which had both a base mark anchor point and a normal mark anchor point would have only one of them deleted. The other would be a sort of ghost point pointing to an anchor class that didn't exist and causing problems.
----------------------------
revision 1.2942
date: 2008/11/02 00:09:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a crash bug in the print dialog.
----------------------------
revision 1.2941
date: 2008/11/01 05:06:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Jason Pagura points out that while the short cuts in menus may be changed by the user, the short cuts which appear in windows without menus may not be. So Cut/Copy/Paste in textfields always use Cntl-X/C/V rather than Cmd-X/C/V. Fix this.
----------------------------
revision 1.2940
date: 2008/10/30 04:41:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Give up on cairo groups and go back to pixmaps. I understand how to do that now.
----------------------------
revision 1.2939
date: 2008/10/30 03:33:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey wanted a way to set the foreground color of selected glyphs in the fontview.
----------------------------
revision 1.2938
date: 2008/10/28 20:42:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it so that fontforge uses pango routines, not just the widget set.
----------------------------
revision 1.2937
date: 2008/10/28 09:26:53;  author: akryukov;  state: Exp;  lines: +3 -3
Points could be snapped to a wrong edge of a non-ghost stem controlling
a blue zone.
----------------------------
revision 1.2936
date: 2008/10/28 04:03:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Ok, perhaps cairo shouldn't be on for everything -- it does make stuff rather slow.
Cairo does two things:
  1) It gives us fuzzy splines
  2) It gives us fuzzy text
I want the fuzzy spline option in the outline glyph view (perhaps the bitmap glyph view which will also draw the outline).
I want fuzzy text everywhere. But fuzzy text is also done by pango. And if we use pango instead of cairo we get all the nice advanced typography stuff that pango does. So let's use pango.
(and cairo -- but just in the outline glyph view).
----------------------------
revision 1.2935
date: 2008/10/27 01:44:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Each time it started, ff would turn off the splash preference item -- so splash screens didn't happen.
----------------------------
revision 1.2934
date: 2008/10/27 00:15:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Put in code to complain when a font contains a hint mask with bits set indicative of hints which have not been defined.
----------------------------
revision 1.2933
date: 2008/10/25 04:06:07;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating random text for a font in the print dlg, FF would alocate one character to few and trample memory.
----------------------------
revision 1.2932
date: 2008/10/25 03:45:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Prefs file was treating hvoffset as a float rather than an int.
----------------------------
revision 1.2931
date: 2008/10/23 13:58:31;  author: pfaedit;  state: Exp;  lines: +2 -2
the "Define Almost" menu item should not be checkable.
----------------------------
revision 1.2930
date: 2008/10/23 01:01:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Snap Outlines to Pixel Grid should be disabled but checked if cairo isn't active.
----------------------------
revision 1.2929
date: 2008/10/22 21:39:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal to allow user control over whether points are snapped to pixels in charview, or whether we get sub-pixel positioning (and fuzzy lines).
----------------------------
revision 1.2928
date: 2008/10/22 20:58:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Markers for lines/curves which are almost, but not quite, horizontal or vertical.
----------------------------
revision 1.2927
date: 2008/10/22 19:18:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Reapply the patch from the other day.
----------------------------
revision 1.2926
date: 2008/10/22 15:10:02;  author: pfaedit;  state: Exp;  lines: +3 -3
People don't like sub-pixel rendering of horizontal/vertical lines.
----------------------------
revision 1.2925
date: 2008/10/21 22:11:42;  author: pfaedit;  state: Exp;  lines: +2 -2
If I use "helvetica" as a font name, then I seem to get bitmap fonts with only certain sizes available. If I use "sans" then I get a more continuous range of sizes. I hope.
----------------------------
revision 1.2924
date: 2008/10/21 21:37:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey says the patch did not help him.
----------------------------
revision 1.2923
date: 2008/10/21 02:19:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexej has some weird results which I can't reproduce. This patch might fix them at the expense of some quality...
----------------------------
revision 1.2922
date: 2008/10/20 21:48:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The french translation of the Unicode Names List database changed encodings from latin1 to utf8 when they came out with version 5.0, and I didn't notice.
----------------------------
revision 1.2921
date: 2008/10/20 01:20:55;  author: pfaedit;  state: Exp;  lines: +2 -2
With cairo, the charview could pick rather large fonts for the rulers (even though I ask it not to). The result was that numbers written vertically could overlap. Don't use the full font height to separate digits, but the digit height instead.
----------------------------
revision 1.2920
date: 2008/10/20 00:52:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey points out that the preference item to control cairo shouldn't show in the list if fontforge were compiled without cairo.

He also points out that windows weren't being buffered properly when cairo mode was off.
----------------------------
revision 1.2919
date: 2008/10/18 23:36:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new preference item to allow the user to turn cairo on and off. Changing the preference will apply to windows created after the change, already existing windows will continue to use (or not use) cairo as before.
----------------------------
revision 1.2918
date: 2008/10/18 23:22:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej provides some new preferences for truetype hinting:
InstructDiagonalStems -- Generate instructions for diagonal stem hints
InstructSerifs        -- Try to detect serifs and other elements protruding from base stems and generate instructions for them.
InstructBallTerminals -- Generate instructions for ball terminals
InterpolateStrongPoints-- Interpolate between stem edges some important points, not affected by other instructions.
CounterControl        -- Make sure similar or equal counters remain the same in gridfitted outlines. Enabling this option may result in glyph advance widths being inconsistently scaled at some PPEMs
----------------------------
revision 1.2917
date: 2008/10/18 23:16:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Ah. What cairo calls xor drawing operation, has nothing to do with the X11 xor drawing function (or ms windows xor, or anyone's else xor). So it didn't do what I wanted. The following patch should provide a mechanism which lets me do a real xor in spite of cairo.
----------------------------
revision 1.2916
date: 2008/10/17 21:03:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the fontview so it no longer uses XOR to draw itself. Used to do that when selecting glyphs, and marking a glyph as changed. I can't figure out how to do xor from cairo, so just avoid the issue by not using it. Here anyway.
----------------------------
revision 1.2915
date: 2008/10/17 01:59:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Many problems when number points in glyphs with references.
----------------------------
revision 1.2914
date: 2008/10/16 23:45:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Back in Feb, Werner gave me clear instructions on how to handle fonts where bit one of 'head'.flags was unset. I did something I thought was equivalent, but which wasn't. The result broke some glyphs in the "Vista fonts".
----------------------------
revision 1.2913
date: 2008/10/16 18:24:40;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: some fixes to strong point optimizer.
----------------------------
revision 1.2912
date: 2008/10/16 12:54:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Old bug still exists for monospaced fonts. Glyphs were positioned at 65,000+ rather than with a negative left side bearing.
----------------------------
revision 1.2911
date: 2008/10/16 02:11:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up some minor issues.
----------------------------
revision 1.2910
date: 2008/10/15 22:16:43;  author: pfaedit;  state: Exp;  lines: +3 -3
More work on libcairo. Drawing with xor mode doesn't seem synchronized, but other things seem to work now.
----------------------------
revision 1.2909
date: 2008/10/14 17:42:38;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: patch from Alexey:
- fix to dependent stem control to get rid
  of stray touching tome points second time.
----------------------------
revision 1.2908
date: 2008/10/14 04:18:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a pathway through gdraw that uses libcairo. Test it on menus.
----------------------------
revision 1.2907
date: 2008/10/10 08:34:56;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: some points didn't really need to be touched by 'strong point' interpolation.
----------------------------
revision 1.2906
date: 2008/10/10 04:08:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Be a little more careful about TeX pk and gf files in the openfont dlg. Alexej points out that .*gf also matches .xgf.
----------------------------
revision 1.2905
date: 2008/10/07 01:46:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the gridfit patch. Much cleaner now.
----------------------------
revision 1.2904
date: 2008/10/06 22:25:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it so that moving a point around will not (exactly) turn off grid fit.
----------------------------
revision 1.2903
date: 2008/10/06 21:38:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Andy Balholm points out that Help->Help often fails on the mac because DYLD_LIBARY_PATH points to /sw/lib which often contains libjpeg.so which conflicts with apple's libjpeg.so which means oascript doesn't work to invoke things. Undefine it before trying to open the help file.
----------------------------
revision 1.2902
date: 2008/10/06 21:35:27;  author: pfaedit;  state: Exp;  lines: +3 -3
It used to be that when we changed glyphs in a charview we would turn off gridfit. Now it will simply refigure gridfit info for the new glyph.
----------------------------
revision 1.2901
date: 2008/10/02 16:47:11;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: patch from Alexey:
- code is now configurable at runtime rather by conditional compilation,
- some fixes to counter control.
----------------------------
revision 1.2900
date: 2008/10/02 14:05:18;  author: pfaedit;  state: Exp;  lines: +3 -3
make acorn2sfd work again.
----------------------------
revision 1.2899
date: 2008/10/02 14:03:51;  author: pfaedit;  state: Exp;  lines: +2 -2
When an svg font specified kerning with more than one glyph name in glyph1 or 2 then ff would create a kerning by class thing ... except it didn't do any of the checking needed to insure that we were given a valid set of glyph classes, and so generally produced garbage. Just make lots of kern pairs.
----------------------------
revision 1.2898
date: 2008/10/02 14:02:13;  author: pfaedit;  state: Exp;  lines: +3 -3
When processing svg arc commands (in a path) we could get rounding errors that lead to NANs. Clip the range so that doesn't happen.
----------------------------
revision 1.2897
date: 2008/09/29 20:35:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Add font.importBitmaps to python scripting.
----------------------------
revision 1.2896
date: 2008/09/29 20:25:33;  author: pfaedit;  state: Exp;  lines: +2 -2
the cli argument "--library-status" was broken.
----------------------------
revision 1.2895
date: 2008/09/29 14:44:18;  author: pfaedit;  state: Exp;  lines: +3 -3
A couple of important textfields were not using an input context and were limited to ASCII (probably) when they should not have been. Font Comment, lookup name, etc.
----------------------------
revision 1.2894
date: 2008/09/27 02:39:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Popup menu in fontview was missing some icons.
----------------------------
revision 1.2893
date: 2008/09/27 02:24:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch to custumize fonts for dlgs had a typo for edit cvt dlg.
----------------------------
revision 1.2892
date: 2008/09/23 09:48:39;  author: akryukov;  state: Exp;  lines: +3 -3
Implement a concept of "master counters" (similar to PS counter hints, but
more flexibe). I. e. if there are two or more equal or similar counters in the
glyph, then references pointing to stems forming the first counter are added to
stems forming the subsequent counters. This can be used to implement a sort of
counter control in the autoinstructor.

Adjust the width to length ratio used to determine if a diagonal stem is acceptable.
----------------------------
revision 1.2891
date: 2008/09/22 19:51:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Add code to allow users to customize the font used in various dialogs and windows which previously could not be customized.
----------------------------
revision 1.2890
date: 2008/09/22 03:17:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Multiple Master dlg was broken.
----------------------------
revision 1.2889
date: 2008/09/16 22:23:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Saving and Reading quadradic splines to the 'PfEd'.'layr' subtable didn't work.
Also if we didn't save the background layer (layer=0) then a random layer would (inappropriately) become the background.
Extend the 'layr' format to store a background/foreground flag per layer.
----------------------------
revision 1.2888
date: 2008/09/16 13:16:06;  author: akryukov;  state: Exp;  lines: +3 -3
The previous patch for italic stems was incomplete, so a nan still could
occur when processing DStems in scstyles.c.

Sometimes our code generated several ajacent active zones for a continuous stem,
and this caused some DStems to be recognized as invalid. So make sure all
adjacent segments are merged.
----------------------------
revision 1.2887
date: 2008/09/15 20:05:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Still problems in importing lookups on 64bit machines.
----------------------------
revision 1.2886
date: 2008/09/14 04:19:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the menu handler so it can draw mac menu icons (cloverleaf for command, up arrow for shift, ^ for control and weird squiggly for option).
Remove the hack that if the modifier mask for the command key was set then we'd also set the control mask (this meant that the command key would work as control, but it meant it could only work as control).
Let the command key work as itself, and put in special code so that if X11 is going to give us the command key (instead of using it in the X11 menubar) then we load a special set of keymap bindings (which, presumably, will use command). If we don't find a special set of keymaps, then fall back on normal processing.
----------------------------
revision 1.2885
date: 2008/09/11 18:06:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the pixelsize in anchor control be saved in prefs file
(clean up prefs file for scripting, bring up to date).
----------------------------
revision 1.2884
date: 2008/09/11 00:26:17;  author: pfaedit;  state: Exp;  lines: +3 -3
We didn't have any way to remove an sfnt table (like 'fpgm') even though we tell the user to do exactly that in the auto instructor.
----------------------------
revision 1.2883
date: 2008/09/10 23:37:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Was not allocating enough memory for comments in the cvt table structure when user did a [Change Length].
----------------------------
revision 1.2882
date: 2008/09/10 14:53:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Thomas ?. When FF loaded a ufo font (actually any glyf file) it used integers for the coordinates instead of reals.
----------------------------
revision 1.2881
date: 2008/09/09 16:02:30;  author: akryukov;  state: Exp;  lines: +2 -2
We used to move left and right point coordinates to the baseline for italic
stems, so that they may well fall outside of the glyph bounding box. So prevent
the situation where this could lead to a nan in spline creation. Also
don't change the slope of italic stems when resizing a glyph.
----------------------------
revision 1.2880
date: 2008/09/09 00:31:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey wants the pixelsize preserved in Anchor Control Dlg.
----------------------------
revision 1.2879
date: 2008/09/08 23:38:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Clear should only clear anchors, hints and tt instructions if it is the last foreground layer.  We could get picky and clear hints when the last cubic foreground layer went, and instructions whent he last quadratic layer went, but I don't think it is worth the bother.
----------------------------
revision 1.2878
date: 2008/09/08 21:20:19;  author: pfaedit;  state: Exp;  lines: +3 -3
If we have a 'TYP1' sfnt with a kern table which kerns a glyph with no unicode encoding, then FF would likely crash.
----------------------------
revision 1.2877
date: 2008/09/07 23:11:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Typo in Generic change function.
Crashed when doing change glyph on a glyph with only references
----------------------------
revision 1.2876
date: 2008/09/07 23:01:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Just as the paste command should only set the width in foreground layers if all other foreground layers are empty, so the clear command should only reset the width in similar conditions.
----------------------------
revision 1.2875
date: 2008/09/07 17:03:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Internal conversion from fontforge splinesets to ff python contours would often leave interpolated points showing in the contour.
----------------------------
revision 1.2874
date: 2008/09/06 01:05:12;  author: pfaedit;  state: Exp;  lines: +2 -2
When FF generated a default name for a lookup when adding a new lookup from font info, that lookup index was always set to 0, which meant multiple lookups for the same feature would stand a good chance of getting the same default name. Do a little better.
----------------------------
revision 1.2873
date: 2008/09/06 00:27:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Extend the small caps dlg to create petite caps as well.
----------------------------
revision 1.2872
date: 2008/09/05 23:26:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix an uninitialized variable in GXDrawGrabSelection.

Tweak to RefCharFree.
----------------------------
revision 1.2871
date: 2008/09/05 22:49:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Python quadratic patch was wrong. Hope this is better.
----------------------------
revision 1.2870
date: 2008/09/05 21:57:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Clicking on a selected glyph used to deselect it. Didn't after last drag and drop patch.
----------------------------
revision 1.2869
date: 2008/09/05 21:41:30;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing anchor attachment at a mark, if the backward search lead to a glyph which did not have an appropriate anchor point for the mark then FF would crash.
----------------------------
revision 1.2868
date: 2008/09/05 21:36:49;  author: pfaedit;  state: Exp;  lines: +2 -2
FF would attach a mark to the first anchor point in the correct subtable in the base glyph. It would not check for the correct anchor class.
----------------------------
revision 1.2867
date: 2008/09/05 19:19:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Python contour conversions would often introduce a control point on a linear order2 spline. The control point was at an end-point so it simply vanished when converted back into fontforge format, but it was disconcerting.
----------------------------
revision 1.2866
date: 2008/09/05 15:22:45;  author: pfaedit;  state: Exp;  lines: +2 -2
List of Panose letterforms was missing an entry from the middle so all later entries were off by one.

"Fore" and "Back" weren't localized in one significant place.
----------------------------
revision 1.2865
date: 2008/09/05 01:44:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a few more checks (when reading in) on the validity of the 'MATH' table.
----------------------------
revision 1.2864
date: 2008/09/05 01:32:09;  author: pfaedit;  state: Exp;  lines: +3 -3
FF would generate a bad MATH table if given a glyph with assembly data but no variant sizes.
----------------------------
revision 1.2863
date: 2008/08/30 22:57:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Dropping a drag and drop into the metricsview after the last character tried to insert the drop before the first character.

Clean up drag and drop from the font view a bit.
----------------------------
revision 1.2862
date: 2008/08/30 22:02:19;  author: pfaedit;  state: Exp;  lines: +2 -2
I have been trying to attach marks to bases backwards. It is the mark which moves, so the attachment should happen when we get to the mark, and we should look backwards to find the base. I have been finding the base, and then walking forward to find the mark.

My approach fails if the lookup contains multiple subtables and a base glyph has two marks being attached, one from each subtable -- I would attach the mark in the first subtable, but then having found a subtable that worked would stop, and the second mark never got attached.
----------------------------
revision 1.2861
date: 2008/08/30 19:02:10;  author: pfaedit;  state: Exp;  lines: +2 -2
When dragging and dropping lookups, allow dropping a lookup subtable into a different lookup of the same font (assuming it's got the right lookup type).
----------------------------
revision 1.2860
date: 2008/08/30 18:47:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The recent patch to insure that [Imported] lookups from one font to another came across in the right order didn't work if there were nested lookups involved. The order of nested lookups is irrelevant -- unless they are also used in a non-nested context.
----------------------------
revision 1.2859
date: 2008/08/30 01:43:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to define a "Group" by glyph color.
----------------------------
revision 1.2858
date: 2008/08/28 00:33:48;  author: pfaedit;  state: Exp;  lines: +3 -3
FF's opentype layout engine probably didn't position mark to base properly when the base was moved by GPOS.
----------------------------
revision 1.2857
date: 2008/08/27 23:44:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Apple's 'typ1'  sfnts seem to contain some garbage (about 22 bytes) at the start. Skip over it. (since the garbage usually begins with a NUL we skipped it
anyway, but let's be explicit.

Also a PostScript token can be terminated by "/" as well as " ".
----------------------------
revision 1.2856
date: 2008/08/27 21:22:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Arg. When initializing the layers pane in font info there were writes to invalid memory addresses. More bad writes the more layers there were.
----------------------------
revision 1.2855
date: 2008/08/27 20:35:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey points out still missing some unicode ranges from 5.1
----------------------------
revision 1.2854
date: 2008/08/27 20:01:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Half the time validate looked at the current layer, and half the time it looked at the foreground layer. This could lead to a crash in some cases.
----------------------------
revision 1.2853
date: 2008/08/25 15:14:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Still more cases where we weren't noting instructions were out of date (Unlink references).
----------------------------
revision 1.2852
date: 2008/08/24 23:23:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Turn off debugging if the user switches layers.
----------------------------
revision 1.2851
date: 2008/08/24 23:15:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The truetype debugger really wanted to debug the foreground layer and not any other.
----------------------------
revision 1.2850
date: 2008/08/24 22:58:05;  author: pfaedit;  state: Exp;  lines: +2 -2
When validating a font, and double clicking to bring up find problems in a charview, then the layer setting of find problems was (usually) incorrect.
----------------------------
revision 1.2849
date: 2008/08/24 22:16:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a command font.correctReferences() to python scripting to fixup cases of mixed outlines and references (outlines get moved into a newly created glyph and then a reference will be made to it). Also fix cases where the transformation matrix  can't be expressed in truetype (scaling by 2 or more, for example).
----------------------------
revision 1.2848
date: 2008/08/24 22:07:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out a typo introduced in the background layers patch which would cause crashes in fonts with many layers.
----------------------------
revision 1.2847
date: 2008/08/24 13:05:04;  author: akryukov;  state: Exp;  lines: +2 -2
Minor improvements and bugfixes in resolving stem conflicts. Also, lists
of HV stems are now built in stemdb.c, so rely on these data instead of
doing a double work in autohint.c.
----------------------------
revision 1.2846
date: 2008/08/24 02:40:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Ah ha! Someone complained about problems with references, without giving examples, and here are some problems.
----------------------------
revision 1.2845
date: 2008/08/24 01:36:07;  author: pfaedit;  state: Exp;  lines: +2 -2
When scripting without a UI, the char changed routine did not check to see if it should clear the instructions on a change. It now does.
----------------------------
revision 1.2844
date: 2008/08/24 01:16:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Just as pasting references screws up instructions, so do replace with reference. Do the same thing that we just did to rplref.
----------------------------
revision 1.2843
date: 2008/08/24 00:56:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that Contour.round and Layer.round are supposed to have an optional argument, but instead have a required arg.
----------------------------
revision 1.2842
date: 2008/08/24 00:47:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry's unexplained patch had a bug. This should fix that issue.
----------------------------
revision 1.2841
date: 2008/08/24 00:34:08;  author: pfaedit;  state: Exp;  lines: +2 -2
In the charview, unlink ref only worked on the foreground layer.
----------------------------
revision 1.2840
date: 2008/08/24 00:30:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Barry. He doesn't explain what it's for.
----------------------------
revision 1.2839
date: 2008/08/23 22:11:24;  author: pfaedit;  state: Exp;  lines: +2 -2
When pasting a reference into an order2 layer, ff would sometimes miss the fact that the instructions were out of date.
----------------------------
revision 1.2838
date: 2008/08/23 21:25:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants an $iscid variable to determine whether a font is a cid-keyed font or not.

add font.iscid to python too.

python font.cid* variables didn't work, fix them.

Add $haspython variable to normal scripting so I can detect if python is available.
----------------------------
revision 1.2837
date: 2008/08/23 03:17:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that I made a backwards incompatible change to the sfd format. It's not too late, wrip it out, redo it in a backwards compatible (albeit uglier) form. (This was the addition of a background flag to the Layer: keyword in a font.
----------------------------
revision 1.2836
date: 2008/08/23 02:59:21;  author: pfaedit;  state: Exp;  lines: +2 -2
SCCharChangedUpdate can still write to bad memory if the layer argument is ly_none.
----------------------------
revision 1.2835
date: 2008/08/23 02:33:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Spurious memory reference.
----------------------------
revision 1.2834
date: 2008/08/23 01:45:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Add ... to appropriate menu lines in the popup menu in fontinfo->lookups.
----------------------------
revision 1.2833
date: 2008/08/23 01:32:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the python font.importLookup to be importLookups which will accept a tuple of lookup names so that many lookkups can be imported at once (and in order) and an optional third argument which will allow them to be placed properly.
----------------------------
revision 1.2832
date: 2008/08/22 23:59:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Fixup some problems with refereces in non-type3 fonts caused by adding multiple layers.
----------------------------
revision 1.2831
date: 2008/08/22 01:33:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Drag and drop features didn't always find the right window in which to drop features.
----------------------------
revision 1.2830
date: 2008/08/21 01:49:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the option to use a color wheel to the layer dialog of type3 glyphs.
----------------------------
revision 1.2829
date: 2008/08/21 01:03:18;  author: pfaedit;  state: Exp;  lines: +2 -2
A previous patch made redrawing the charview really slow. This should fix.
----------------------------
revision 1.2828
date: 2008/08/21 00:33:48;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating bitmaps automatically from a script it was possible that the freetype library got initialized too late and we'd pass a NULL pointer to FT_Memory_Face.
----------------------------
revision 1.2827
date: 2008/08/20 22:50:47;  author: pfaedit;  state: Exp;  lines: +2 -2
In a quadratic layer of a glyph, when selecting an on-curve point and trying to make it interpolated, if that point had no control points then behavior was odd.
----------------------------
revision 1.2826
date: 2008/08/20 22:15:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Rearrange stuff, moving gcolor into gdraw where it belongs.
----------------------------
revision 1.2825
date: 2008/08/20 15:11:10;  author: pfaedit;  state: Exp;  lines: +3 -3
more work on the color picker.
----------------------------
revision 1.2824
date: 2008/08/19 17:54:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a color picker so users can select glyph label colors other than red, cyan, green, etc.
----------------------------
revision 1.2823
date: 2008/08/18 23:38:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Layers can now be marked as either background or foreground.
Foreground layers may be generated into fonts
Background layers may contain images. Pasting into an empty glyph in a background layer will not set the width. Splines in background layers do not make a glyph worth outputting.
----------------------------
revision 1.2822
date: 2008/08/18 14:18:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Setting device table adjustments from the accent pane of the Math dlg didn't work.
----------------------------
revision 1.2821
date: 2008/08/18 03:12:56;  author: pfaedit;  state: Exp;  lines: +2 -2
User wants fontforge to support non-standard colors for glyphs. Scripting doesn't care, but Glyph Info in the UI was more limited.
----------------------------
revision 1.2820
date: 2008/08/18 02:52:07;  author: pfaedit;  state: Exp;  lines: +2 -2
File->Revert File (from the UI) didn't work.
----------------------------
revision 1.2819
date: 2008/08/18 01:48:18;  author: pfaedit;  state: Exp;  lines: +2 -2
If a contextual chaining pos/sub in a sfd file referred to a non-existant lookup we would insert a NULL lookup into a rule. This would cause almost anything that used that lookup to crash. Now, simply remove the sequence/lookup info.
----------------------------
revision 1.2818
date: 2008/08/18 01:41:11;  author: pfaedit;  state: Exp;  lines: +3 -3
When importing lookups we might import a lookup twice if it were nested.
----------------------------
revision 1.2817
date: 2008/08/12 17:42:56;  author: pfaedit;  state: Exp;  lines: +3 -3
didn't create an input context for top level window char and font views. This meant could only use ASCII in menus if the focus were in the top level window (in the scroll bars, or the menu bar.
----------------------------
revision 1.2816
date: 2008/08/11 14:58:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Still more fixes for build composite.
----------------------------
revision 1.2815
date: 2008/08/11 00:11:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in the code to display side bearings in the charview.
----------------------------
revision 1.2814
date: 2008/08/10 03:27:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Make it possible to drag and drop lookups
  * from one font info window to another
	(copy lookups from one font to another)
  * within a font info window
        (reorder lookups)
----------------------------
revision 1.2813
date: 2008/08/08 22:40:44;  author: pfaedit;  state: Exp;  lines: +2 -2
When I put in the backslash newline patch I did so secure in the knowledge that a backslash could not occur at the end of a line. Well, it can. In ASCII85 encoded text (images, ttf tables, bitmaps). However ASCII85 output already has short lines so there is no need to worry about it there. So turn of backslash detection in those places.
----------------------------
revision 1.2812
date: 2008/08/08 04:21:37;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge assumed that all anchor classes for a given subtable were in sequence, but Panov has a font where an anchor class for a different subtable appears in the middle of a list of classes for the desired subtable. Result was garbage output, and View->Show Att crashed.
----------------------------
revision 1.2811
date: 2008/08/08 03:20:30;  author: pfaedit;  state: Exp;  lines: +2 -2
View->Next/Prev [Def] & Find In Font View don't work in charviews when there are tabs active.
----------------------------
revision 1.2810
date: 2008/08/08 02:21:43;  author: pfaedit;  state: Exp;  lines: +2 -2
R. Sander points out that if you select an ordered set of lookups in one font and import them into another they become disordered. Not good.
----------------------------
revision 1.2809
date: 2008/08/08 00:28:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Better way to separate kerning and advance widths in metrics view.
----------------------------
revision 1.2808
date: 2008/08/07 02:49:11;  author: pfaedit;  state: Exp;  lines: +3 -3
When pasting into a charview we only set the width if there was nothing in foreground. When pasting into the fontview we always set the width because we were clearing the foreground before we pasted (unless we did paste into -- then we didn't set the width).

With layers that should all change. We should only set the width if there is nothing in any of the potential foreground layers. Don't count the background layer or the grid psuedo layer. Don't count open contours (might be a secondary guide line layer or something). If we're going to clear a layer before pasting (normal behavior in fontview) then don't count the layer cleared.
----------------------------
revision 1.2807
date: 2008/08/06 22:00:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Some more cases where python doesn't note that a glyph has changed (Patch by Barry).
----------------------------
revision 1.2806
date: 2008/08/06 21:45:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow the user to restrict mousing in the metrics view so that it will only change kerning. (and make that the default).
----------------------------
revision 1.2805
date: 2008/08/05 21:10:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Due to a typo, merging two splinesets at a curve point generally left the point marked with default adjustment enabled on its control points.
----------------------------
revision 1.2804
date: 2008/08/05 21:08:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Another layers problem. Only in the foreground layer could anchor points be moved.
----------------------------
revision 1.2803
date: 2008/08/05 03:40:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Python glyph.unlinkReference command didn't work.
----------------------------
revision 1.2802
date: 2008/08/05 03:33:27;  author: pfaedit;  state: Exp;  lines: +3 -3
  My intent was that ligature carets with positioned at 0 didn't count (0 isn't meaningful -- a ligature with a zero-width first component?) but that only got implemented for 'lcar' table not for 'GDEF'. So fix that.
  Also allow the user to specify exactly how many ligature carets s/he wants rather than just setting a minimum bound.
  Also 'lcar' output was broken.
  Also neither AAT nor OpenType supports negative lig carets, so if the user drags a lig caret line negative, have it stick at 0.
----------------------------
revision 1.2801
date: 2008/08/04 14:56:06;  author: akryukov;  state: Exp;  lines: +2 -2
Forgot to remove a debug operator.
----------------------------
revision 1.2800
date: 2008/08/04 14:51:47;  author: akryukov;  state: Exp;  lines: +3 -3
Minor improvements in serif detection and dependent stems handling.
----------------------------
revision 1.2799
date: 2008/08/03 01:34:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Moving ligature carets always marked for an undo in the foreground layer. Register the movement in the layer in which it happens.
----------------------------
revision 1.2798
date: 2008/08/01 21:40:33;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on accent placement with non-unicode glyphs.
----------------------------
revision 1.2797
date: 2008/08/01 14:56:30;  author: pfaedit;  state: Exp;  lines: +2 -2
When placing an accent glyph about which we know nothing, assume it should be centered on top.
----------------------------
revision 1.2796
date: 2008/08/01 02:37:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Change sfd.c so that it will treat the sequence "backslash newline" as no characters on input. And so that it thinks it can parse version 4 or the sfd format.

We don't generate version 4 yet, and we won't for a while. Version 4 will include the ability to insert backslash newline into long lines. This is so we can conform to the internet requirements of fewer than 990 bytes on a line. And the delay is so that people don't scream at me for making an incompatible change to the format -- if I give the parser time to perculate through the user community, with luck no one will even notice -- especially as long lines are rare.
----------------------------
revision 1.2795
date: 2008/08/01 01:22:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Selections/Clipboard didn't work in textfields on 64bit intel. I'm not sure why. The attached optimization (which was intended to be there all along) makes things work.
----------------------------
revision 1.2794
date: 2008/07/31 01:26:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to clear all device tables associated with a kerning by classes table. (Needed because of a bug which introduced garbage).
----------------------------
revision 1.2793
date: 2008/07/31 00:34:48;  author: pfaedit;  state: Exp;  lines: +3 -3
We didn't think we could read in a kerning subtable (class or pair) with device tables, so we converted them to pst data. We can read them in in optimized form and we should do so.
----------------------------
revision 1.2792
date: 2008/07/30 22:52:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej points out that if a glyph has "instructions_out_of_date" set on it, then setting the instructions via a script should clear the bit -- but didn't.
----------------------------
revision 1.2791
date: 2008/07/30 22:21:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Adobe have admitted that the obvious reading of their spec is incorrect (they can't quite bring themselves to say the spec is wrong). So revert to the way we were parsing type2 charstrings.
----------------------------
revision 1.2790
date: 2008/07/30 22:06:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry complains that when building ff does not apply the ".cap" suffix when using inverted breve. As he doesn't provide a test case, I'm not sure if this is a fix or not.
----------------------------
revision 1.2789
date: 2008/07/30 21:32:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Valgrind finds a bug in drawing non-BMP characters in the metrics view.
----------------------------
revision 1.2788
date: 2008/07/30 21:16:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexej would like to be able to manipulate non-unicode glyphs with the text field of the metrics view.  The textfield used to map all non-unicode code points to 0xfffd, but if the font doesn't make use of the supplementary private use areas (planes 15&16) then create a mapping from the font into these areas so that we can represent non-unicode glyphs as funky private use glyphs.

(Only do this if font doesn't use these areas).
----------------------------
revision 1.2787
date: 2008/07/29 22:14:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej points out that in non-foreground quadratic fonts the "Points->Dont Interpolate" command doesn't do anything.

Fix a couple of other foreground specific things too.
----------------------------
revision 1.2786
date: 2008/07/29 21:42:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that setting a glyph's anchorPoints from python does not mark a glyph as changed nor force an update.
----------------------------
revision 1.2785
date: 2008/07/29 11:09:10;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: large patch from Alexey:
- handlles conflicting H/V stems much better;
- tries to place HStems between blues better;
- adds optional apparatus for instructing serifs;
- relies on generic point-to-stem snapping routines from stemdb.c;
- needs FPGM changed (older FF's glyph programs should still work, but FPGMs need updating!).
----------------------------
revision 1.2784
date: 2008/07/29 02:12:34;  author: pfaedit;  state: Exp;  lines: +2 -2
If the user has opened a backup sfd file (one that ends in .sfd~) and does a save on it, then pop up a save as dlg instead of blindly saving it. Saving it back to the backup is probably wrong, yet saving it onto the non-backup version without prompting the user is questionable.
----------------------------
revision 1.2783
date: 2008/07/29 01:06:11;  author: pfaedit;  state: Exp;  lines: +3 -3
glyph.appendAccents didn't mark the glyph as changed nor did it force an update.
----------------------------
revision 1.2782
date: 2008/07/28 04:13:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants a way to control the use_my_metrics bit of a reference from python.
Give him a hack
  glyph.useRefsMetrics(name[,set])
----------------------------
revision 1.2781
date: 2008/07/28 03:48:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a glyph.appendAccent() command.
----------------------------
revision 1.2780
date: 2008/07/28 03:20:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Ralf from end-if.de points out that when trying to change the kerning between two glyphs which have a kern class setting of 0, then ff keeps asking the same question several times before a non-zero value is entered. (once when the field is clicked in, once when a minus sign is typed, and once more when a number is entered).
----------------------------
revision 1.2779
date: 2008/07/28 03:03:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Try this once more.
----------------------------
revision 1.2778
date: 2008/07/28 02:53:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that if a type2 charstring contained a sequence <num> endchar then ff would set the width of the charater even if the the width had already been set. Width can only be set on first stack clearing operation, any extra params on subsequent calls get ignored.
----------------------------
revision 1.2777
date: 2008/07/27 00:57:49;  author: pfaedit;  state: Exp;  lines: +2 -2
The python stuff won't compile under cygwin because it used pointers to stuff in shared libraries as initializers of static variables. It seems windows can't handle that. This patch should provide a work around.
----------------------------
revision 1.2776
date: 2008/07/27 00:51:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a font.importLookup (from another font) function to python scripting.
----------------------------
revision 1.2775
date: 2008/07/27 00:19:45;  author: pfaedit;  state: Exp;  lines: +3 -3
When joining two splinesets (during glyph editing) we didn't pay attention to any user settings for the control points, and we'd just always refigure default control points. Now use user specified directions when possible.
----------------------------
revision 1.2774
date: 2008/07/26 04:19:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Changes to create a stub Mac application. This little guy sits there eating apple events and passing them on to fontforge. The result is that it looks as though fontforge is responding to these events. So one can double click on the application icon and fontforge pops up. One can double click on an sfd file and ff pops up editing that file. One can drag some sfd files to the FF icon and they open. Etc.
----------------------------
revision 1.2773
date: 2008/07/25 03:47:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Some tweaks so ff can start (in a very stupid way) inside a mac Application bundle.
----------------------------
revision 1.2772
date: 2008/07/25 03:41:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Extra #endif appeared when ?Jouk? did some VMS mods.
----------------------------
revision 1.2771
date: 2008/07/24 19:32:36;  author: pfaedit;  state: Exp;  lines: +2 -2
If -unique was not specified and two ffs were started, then the first would crash.
----------------------------
revision 1.2770
date: 2008/07/24 03:28:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a command which will look through all glyphs for those with both contours and references, and which will create a new glyph to contain the contours and make a reference to it in the original.

Do something similar for bad transformation matrices (those with members 2 or more (or less than -2)).
----------------------------
revision 1.2769
date: 2008/07/23 23:23:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Importing a kerning class from one font to another (and perhaps merging fonts) could cause memory problems if the number of second classes were bigger than the number of first classes.
----------------------------
revision 1.2768
date: 2008/07/23 23:08:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Retain sizes of bitmap and metrics views. People seem to like this even if I don't.
----------------------------
revision 1.2767
date: 2008/07/23 22:05:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Still problems with the guide lines layer
  1) Displaying a point read bad memory (probably harmless, might cause visual
	artifacts).
  2) Edit->Undo in guide layer trampled memory.
----------------------------
revision 1.2766
date: 2008/07/23 21:10:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Find Problems would occasionally pop up a blank problem dlg.
----------------------------
revision 1.2765
date: 2008/07/22 22:41:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Only show points of inflection in the active layer.
----------------------------
revision 1.2764
date: 2008/07/22 22:34:43;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph window were displaying something other than the foreground layer then changes in that window would not be reflected in dependant glyph windows (a change to tilde didn't show in atilde) nor in the fontview.
----------------------------
revision 1.2763
date: 2008/07/22 22:19:14;  author: pfaedit;  state: Exp;  lines: +2 -2
In a cubic glyph with references, turning on point numbering did not renumber the references. They seem to be numbered for TrueType. Not sure where that comes from.
----------------------------
revision 1.2762
date: 2008/07/22 21:49:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey points out that after deleting the active layer, ff does not update the internal bitmap font it used to display glyphs in the font view.
----------------------------
revision 1.2761
date: 2008/07/22 21:03:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Make "-lang ff" work for "-lang=ff", it's more consistent with the rest of the arguments.

Add a -unique argument which means that FF checks to see if another fontforge is running on the current screen. If no other fontforge exists things proceed normally, but if there is another, then we send it our arguments and ask it to open them, and then we exit.
----------------------------
revision 1.2760
date: 2008/07/22 02:16:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the OFLib dialog have an option to download a preview when you click on a line (rather than requiring you press the [Preview] button for each).
----------------------------
revision 1.2759
date: 2008/07/21 20:34:02;  author: pfaedit;  state: Exp;  lines: +2 -2
The BitmapsAvail and BitmapsRegen scripting functions were broken by the layers patch (they generated bitmaps of whatever was in the background layer).
----------------------------
revision 1.2758
date: 2008/07/21 20:07:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Put in some checks to warn the user when a 'kern' table subtable uses more than 10920 pairs.
----------------------------
revision 1.2757
date: 2008/07/21 19:25:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the user one of those "This operation cannot be undone" warnings when deleting a layer in Font Info. (Similar warning about instructions if user changes last quadratic layer(s) to cubic without deleting any).
----------------------------
revision 1.2756
date: 2008/07/21 19:02:50;  author: pfaedit;  state: Exp;  lines: +2 -2
When deleting the last quadratic layer, delete the tt instructions also.
----------------------------
revision 1.2755
date: 2008/07/21 18:56:26;  author: pfaedit;  state: Exp;  lines: +2 -2
When deleting a layer from a font, ff very carefully went through all open glyph views to make sure none was looking at the layer being deleted (and fixing them up if they were) -- but it totally ignored the font views. Their layers needed to be updated too. And the metrics views too.
----------------------------
revision 1.2754
date: 2008/07/21 03:52:27;  author: pfaedit;  state: Exp;  lines: +2 -2
The Import menu item in Font Info->Lookups popup menu was always enabled. It should not have been.
----------------------------
revision 1.2753
date: 2008/07/21 03:43:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Add menu items in Font Info->Lookups (popup menu) to do a global add/remove language from a specified script in all selected lookups.
----------------------------
revision 1.2752
date: 2008/07/20 23:06:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Get Info (maybe a few other things) didn't work on a selected reference which wasn't in the foreground layer.
----------------------------
revision 1.2751
date: 2008/07/20 22:53:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Copy/Paste of references only worked well in foreground layer.
----------------------------
revision 1.2750
date: 2008/07/20 22:32:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Only in the foreground layer was it possible to select a reference by clicking on it.
----------------------------
revision 1.2749
date: 2008/07/20 09:46:04;  author: akryukov;  state: Exp;  lines: +2 -2
Snapping to blues was broken due to a typo in the code.
----------------------------
revision 1.2748
date: 2008/07/20 00:07:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Still were a number of places where behavior depended on the spline order in the foreground layer:
  * Could only debug a glyph if the foreground layer were quadratic
  * Show gridfit used some point numbers from the foreground layer and some from the layer being shown.
  * Gridfit didn't change when changing layers.
----------------------------
revision 1.2747
date: 2008/07/19 23:27:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Peter Lunicks points out that a tooltip in the prefs dlg actually was for a different preference item.
----------------------------
revision 1.2746
date: 2008/07/19 22:07:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Cosmetic changes to the OFLib interfaces (both browse and upload).
----------------------------
revision 1.2745
date: 2008/07/19 13:29:07;  author: akryukov;  state: Exp;  lines: +2 -2
Turn the debug flag off.
----------------------------
revision 1.2744
date: 2008/07/19 13:27:08;  author: akryukov;  state: Exp;  lines: +2 -2
Minor improvements to resolving stem conflicts.
----------------------------
revision 1.2743
date: 2008/07/19 12:12:24;  author: akryukov;  state: Exp;  lines: +2 -2
Still bugs in handling BBox hints and scaling counters.
----------------------------
revision 1.2742
date: 2008/07/19 12:09:48;  author: akryukov;  state: Exp;  lines: +3 -3
There was a bug in flipping DStem hints.
----------------------------
revision 1.2741
date: 2008/07/18 22:06:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some bugs in feature file generation of contextual chaining lookups which refer to marks. Note these are not supported in the spec. This is a FontForge only extension.
----------------------------
revision 1.2740
date: 2008/07/18 20:58:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Fixes for long double mode.
----------------------------
revision 1.2739
date: 2008/07/18 03:30:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the Kern Pair (anchor pair) dlg be autosized.
----------------------------
revision 1.2738
date: 2008/07/18 02:27:04;  author: pfaedit;  state: Exp;  lines: +2 -2
If a script contain no default language features (but did contain some languages) then ff produced a garbage script table for GPOS/GSUB.
----------------------------
revision 1.2737
date: 2008/07/18 01:55:54;  author: pfaedit;  state: Exp;  lines: +3 -3
If the font is large, and the cvt dlg empty, then I'm told ff complains.
----------------------------
revision 1.2736
date: 2008/07/17 20:53:10;  author: pfaedit;  state: Exp;  lines: +2 -2
On systems using different font metrics, the debug pane looks bad with the buttons partly covered by the instruction pane.
----------------------------
revision 1.2735
date: 2008/07/17 20:13:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that Add Encoding Slots scrolls to the wrong place.
----------------------------
revision 1.2734
date: 2008/07/17 19:35:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a [reset] button to the Change GLyph (Small caps, etc) dlg to reset all fields back to their defaults.
----------------------------
revision 1.2733
date: 2008/07/17 13:25:51;  author: akryukov;  state: Exp;  lines: +2 -2
An uninitialized variable in GetStemCounterZone().
----------------------------
revision 1.2732
date: 2008/07/17 02:32:23;  author: pfaedit;  state: Exp;  lines: +2 -2
typo.
----------------------------
revision 1.2731
date: 2008/07/17 01:07:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some "How I Did It" information to the OFLib upload.
----------------------------
revision 1.2730
date: 2008/07/16 22:59:06;  author: pfaedit;  state: Exp;  lines: +2 -2
When I tried to make the create hints dialog be autosized (24 Jun) I maded a typo, which caused a crash.
----------------------------
revision 1.2729
date: 2008/07/16 22:24:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Adding glyphs in compacted encodings caused problems.
----------------------------
revision 1.2728
date: 2008/07/16 21:05:15;  author: pfaedit;  state: Exp;  lines: +2 -2
The change glyph dlg (and friends, small caps, sub/super script) will now remember settings from the last use (settings are not saved to prefs though).
----------------------------
revision 1.2727
date: 2008/07/16 20:37:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Alexey fixing more smallcaps problems.
----------------------------
revision 1.2726
date: 2008/07/16 20:30:45;  author: pfaedit;  state: Exp;  lines: +2 -2
When the user resizes the outline glyph window, retain that size and use it for the default size of subsequent invocations of the window.
----------------------------
revision 1.2725
date: 2008/07/16 20:16:16;  author: pfaedit;  state: Exp;  lines: +2 -2
It used to be that whenever ff opened an sfd file then all subsequent new fonts (or fonts opened from real font files) would be displayed in windows the same size as the one requested in the sfd file. Only set the window size preference when the user explicitly changes it, not upon openning something with a different setting.
----------------------------
revision 1.2724
date: 2008/07/16 20:12:08;  author: pfaedit;  state: Exp;  lines: +2 -2
In a CID-keyed font, when opening an empty CID slot, ff could trample memory.
----------------------------
revision 1.2723
date: 2008/07/16 12:31:13;  author: akryukov;  state: Exp;  lines: +2 -2
Fix several issues related with snapping points to BBox hints.
----------------------------
revision 1.2722
date: 2008/07/16 00:27:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Refs didn't get updated quite right in some cases.
----------------------------
revision 1.2721
date: 2008/07/15 22:58:20;  author: pfaedit;  state: Exp;  lines: +2 -2
More fixes to small caps and friends.
----------------------------
revision 1.2720
date: 2008/07/15 11:45:27;  author: akryukov;  state: Exp;  lines: +2 -2
BlueFuzz support for autohinter and metafont.
----------------------------
revision 1.2719
date: 2008/07/15 00:02:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some checks to make sure that we can survive bad font data without crashing.
----------------------------
revision 1.2718
date: 2008/07/14 22:13:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to upload a license.txt and a FontLog.txt file when uploading to the Open Font Library.

Unfortunately OFLib won't accept text files, so these attempts currently fail.
----------------------------
revision 1.2717
date: 2008/07/14 20:53:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When trying to change kerning between the last two glyphs in the metrics view using the text field (rather than dragging the line) then the textfield would change, but the kerning would not.
----------------------------
revision 1.2716
date: 2008/07/14 20:43:19;  author: pfaedit;  state: Exp;  lines: +3 -3
In the metrics view, give the user several options about the grid (which shows the advance widths of the glyphs)
  hidden
  fully displayed
  small lines at the top and bottom of the pane
  fully displayed except when the user is adjusting kerning or the advance width, etc. When adjusting grid vanishes until user releases the mouse button.
(setting is sticky).
----------------------------
revision 1.2715
date: 2008/07/13 16:36:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow the user to customize the colors in the metrics view.
----------------------------
revision 1.2714
date: 2008/07/11 22:09:06;  author: pfaedit;  state: Exp;  lines: +2 -2
In the metrics view (or in the print display dlg) when glyphs are overlapping (e asier to see when glyphs are large) then the places where one glyph ends and another begins often have a faint halo of lighter pixels. Try to improve things and make these joins be more uniform in color.
----------------------------
revision 1.2713
date: 2008/07/11 10:06:48;  author: akryukov;  state: Exp;  lines: +3 -3
Forgot to swap ltick/rtick when swapping stem edges, and this could lead
to a crash under certain conditions.
----------------------------
revision 1.2712
date: 2008/07/10 21:17:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Add minimal support for alpha channels (treat them as a bitmask for transparent).
----------------------------
revision 1.2711
date: 2008/07/10 16:24:44;  author: akryukov;  state: Exp;  lines: +2 -2
Various corrections and bugfixes to the new code for changing/resizing glyphs.
----------------------------
revision 1.2710
date: 2008/07/10 15:38:57;  author: akryukov;  state: Exp;  lines: +3 -3
Still was having problems with snapping corner extrema to predefined stems.

Some steps to add a special handling for italic stems and separate them from
regular diagonal stems.
----------------------------
revision 1.2709
date: 2008/07/08 19:22:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a translation issue.
----------------------------
revision 1.2708
date: 2008/07/07 21:23:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Restructured glyph change dlg to make it match Alexey's patch (I hope).
----------------------------
revision 1.2707
date: 2008/07/07 20:31:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Large patch by Alexey Kryukov to improve creation of small caps, etc. He has added processing for diagonal stems and made numerous improvements to the algorithm.
----------------------------
revision 1.2706
date: 2008/07/07 02:32:07;  author: pfaedit;  state: Exp;  lines: +3 -3
I find it really hard to believe that this is an error, but I have a second hand report that MicroSoft claims that it is. To me making it erroneous is pointless and annoying, but I don't write the spec.

Add to Find Problems and Validate a check to see that if a base glyph (or mark) contains an anchor point in one anchor class in a lookup subtable, then it must have anchor points for ALL anchor classes in that subtable.
----------------------------
revision 1.2705
date: 2008/07/06 22:28:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a dialog to browse the open font library.

Also fontimage would crash if asked to process a font with glyphs not in BMP. Make fontimage better about fonts which contain no standard scripts (Apostolos's Phaistos font).
----------------------------
revision 1.2704
date: 2008/07/05 10:26:54;  author: akryukov;  state: Exp;  lines: +3 -3
A few tweaks to make stemdb.c usable for resizing glyphs and stem control.

Assigning lines to stem edges still could lead to unacceptable deviations
and even assigning left points to the right edge and vice versa. Make one more
attempt to prevent this.
----------------------------
revision 1.2703
date: 2008/07/03 21:25:20;  author: pfaedit;  state: Exp;  lines: +3 -3
When importing lookups into a font, append the fontname to the lookup name only if there is already a lookup in the new font with the original name.
----------------------------
revision 1.2702
date: 2008/07/01 17:50:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Empty glyphs containing a "." in the name could cause ff to crash when doing or checking to see if it could do a build accented.
----------------------------
revision 1.2701
date: 2008/07/01 17:43:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Gasp editing was broken (still) from the change to the cleartype stuff.
----------------------------
revision 1.2700
date: 2008/06/30 21:00:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Andrey P. would like to see a reference's bounding box in the Element->Get Info dlg for the reference.
----------------------------
revision 1.2699
date: 2008/06/30 20:09:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey points out that serifs are not a fixed height, and my attempts to enforce that are counter-productive.
----------------------------
revision 1.2698
date: 2008/06/30 19:12:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Still bugs in revert glyph. If a font had more than the default two layers, then for all glyphs but the first, any non-cubic layers would be read in as cubic.
----------------------------
revision 1.2697
date: 2008/06/30 00:02:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Add two proposed language tags for IPA use (one for IPA and one for Americanist).
----------------------------
revision 1.2696
date: 2008/06/29 23:06:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the Add Small Caps (Sub/Super, Change Glyph) dialogs. Make them consistent and far too complicated.
----------------------------
revision 1.2695
date: 2008/06/27 01:20:29;  author: pfaedit;  state: Exp;  lines: +3 -3
In an empty python layer layer.boundingBox should return a tuple of 4 zeros, instead it returned a tuple of 2 zeros and 2 random garbage values.
----------------------------
revision 1.2694
date: 2008/06/26 20:56:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Revert glyph had some stray memory references.
----------------------------
revision 1.2693
date: 2008/06/26 20:08:30;  author: pfaedit;  state: Exp;  lines: +2 -2
in python layer.boundingBox returned the wrong values.
----------------------------
revision 1.2692
date: 2008/06/26 02:44:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Validate dlg's scrollbar was broken, and you couldn't drag the thumb up to the top (you could get it to the top by other ways).

Add a revalidate all menu item to the window to force a reevaluation of the entire font.
----------------------------
revision 1.2691
date: 2008/06/25 16:06:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Add ability to import graphics from a page of a pdf file.
----------------------------
revision 1.2690
date: 2008/06/24 19:46:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Python interface does not catagorize points.
----------------------------
revision 1.2689
date: 2008/06/24 19:21:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix "Create Hint", "Review Hint", "Simplify More", "Non Linear Trans", "Point Of View" dialogs so they reconfigure themselves appropriately to non-English text.
----------------------------
revision 1.2688
date: 2008/06/24 17:17:22;  author: akryukov;  state: Exp;  lines: +2 -2
Still was getting undesired wide stems due to enabling "secondary" opposite
edges for curved extrema.
----------------------------
revision 1.2687
date: 2008/06/24 03:27:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej wants to be able to change stem width without creating a new glyph.
----------------------------
revision 1.2686
date: 2008/06/24 02:07:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Alexey to make small caps and friends look nicer.
----------------------------
revision 1.2685
date: 2008/06/24 01:11:14;  author: pfaedit;  state: Exp;  lines: +2 -2
The psMat.skew command skewed vertically, rather than horizontally and by the wrong amoung.
----------------------------
revision 1.2684
date: 2008/06/24 00:12:51;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing a font sample from a script which did not set the page width/height explicitly, then ff would use a size of 0 for each. All text drawn was out of the imaging area, lines were too short (as well as invisible), too many pages (all blank).
----------------------------
revision 1.2683
date: 2008/06/24 00:09:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry points out that "print" is a python keyword. So font.print() doesn't work. Call it printSample() instead.
----------------------------
revision 1.2682
date: 2008/06/23 20:17:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Freetype now (or in the next release, 2.3.7) supports dropout modes, which
means fontforge must do a bit of work when generating rasters for the debugger.
----------------------------
revision 1.2681
date: 2008/06/23 19:53:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to upload a preview image along with a font when uploading to OpenFontLibrary.
----------------------------
revision 1.2680
date: 2008/06/22 12:06:29;  author: akryukov;  state: Exp;  lines: +2 -2
A few more debug print operators.
----------------------------
revision 1.2679
date: 2008/06/22 11:46:22;  author: akryukov;  state: Exp;  lines: +2 -2
Forgot to turn the debug flag off.
----------------------------
revision 1.2678
date: 2008/06/22 10:43:39;  author: akryukov;  state: Exp;  lines: +3 -3
Did not change next_is_l/prev_is_l when swapping stem edges.
----------------------------
revision 1.2677
date: 2008/06/21 18:44:56;  author: akryukov;  state: Exp;  lines: +3 -3
Convert diagonal stems, marking serifs and feature terminations, to HV
stems, if the slant and the distances between points lying on the same
edge allow that.

Fix a couple of bugs introduced by previous patches.
----------------------------
revision 1.2676
date: 2008/06/20 06:11:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Move some logic out of fontimage.pe and into fontforge to make a default string for a font image more widely available.
----------------------------
revision 1.2675
date: 2008/06/20 03:51:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When saving an image fromt the print dlg, the top line was off the top of the image.
----------------------------
revision 1.2674
date: 2008/06/20 03:30:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some rounding errors in spline/line intersection.
----------------------------
revision 1.2673
date: 2008/06/20 01:55:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Interpolated points need not be on integral boundaries, but ff was checking for them. Different problems in validator and find problems, but both wrong.

In the point near hint check, ff was leaving the hint selected.
----------------------------
revision 1.2672
date: 2008/06/20 01:31:18;  author: pfaedit;  state: Exp;  lines: +3 -3
in Font Info, after user pressed [OK] FF set the state of the subscript superscript default checkbox to the panose default checkbox by mistake. This means if the user defined panose and not sub/super garbage would appear in the OS/2 sub/super fields.
----------------------------
revision 1.2671
date: 2008/06/19 19:35:27;  author: pfaedit;  state: Exp;  lines: +2 -2
fontimage didn't get the script right, so features weren't applied properly.
----------------------------
revision 1.2670
date: 2008/06/19 16:01:31;  author: akryukov;  state: Exp;  lines: +3 -3
More work on conflicting stems. First attempt to collect information
about serifs, beaks, ball terminals and other features protruding from
their base stems and thus make some use of additional stems, found by
our stem detector but considered "too big" to be useful for PS hinting.

'nextedge', 'prevedge' and related fields are now arrays. Thus assotiating
more than one "next" ot "previous" opposite spline with the same point is
possible. Currently this is used only for better detection of ball terminals.

Got rid of the 'bothstem' property: no longer needed, as we can assotiate
any number of "next" or "previous" stems with the same point. 'bothedge'
is still preserved however.
----------------------------
revision 1.2669
date: 2008/06/18 23:46:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Pressing [Done] in the print dialog would right to a random address on the stack. Depending on what was going on when this was done it could cause a crash.
----------------------------
revision 1.2668
date: 2008/06/18 23:35:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix an uninitialized variable introduced by the last change to order2 conversion.
----------------------------
revision 1.2667
date: 2008/06/18 22:09:50;  author: pfaedit;  state: Exp;  lines: +2 -2
The Change X-Height dialog would crash if you clicked in the "current xheight" field.
----------------------------
revision 1.2666
date: 2008/06/18 21:46:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to open an archive and peek inside it for fonts. Useful if we want to open stuff from the open font library which is often packaged in zip files.
----------------------------
revision 1.2665
date: 2008/06/17 22:24:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new validation check to see if a glyph has non-integral coordinates. Only an error in TrueType (and can't happen when fontlinting a truetype file, but could happen on an sfd file). Add some logic to ask user if they intend to generate truetype in cases where we aren't sure.
----------------------------
revision 1.2664
date: 2008/06/17 21:40:16;  author: pfaedit;  state: Exp;  lines: +2 -2
I forgot pixmaps for the Points menu of the charview.

Add a preference which allows people to change the pixmap dir -- and do what we can to reload images from the new dir. Some old windows may not be updated, but new ones should reflect the new stuff.
----------------------------
revision 1.2663
date: 2008/06/17 17:17:50;  author: pfaedit;  state: Exp;  lines: +3 -3
When ff changed the name of a glyph, it fixed up all the tabs in charviews to the new name -- but in neglected to refresh them. So they still showed on the screen with the old name (until something forced a refresh).
----------------------------
revision 1.2662
date: 2008/06/16 22:29:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Final (for now) set of menu icons.
----------------------------
revision 1.2661
date: 2008/06/16 20:04:13;  author: pfaedit;  state: Exp;  lines: +2 -2
More new icons
----------------------------
revision 1.2660
date: 2008/06/16 03:47:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Some new menu icons.
----------------------------
revision 1.2659
date: 2008/06/16 02:48:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Still problems with building accented.
----------------------------
revision 1.2658
date: 2008/06/15 21:26:53;  author: pfaedit;  state: Exp;  lines: +2 -2
still problems with the recent fix to build accents.
----------------------------
revision 1.2657
date: 2008/06/15 03:50:31;  author: pfaedit;  state: Exp;  lines: +2 -2
The Anchor Class dialog (which lists all anchor classes of a subtable) only let you create an Anchor Control dialog for the first anchor class.
----------------------------
revision 1.2656
date: 2008/06/15 03:24:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Guard (harder) against generating pathological results when converting cubic to quadratic splines.
----------------------------
revision 1.2655
date: 2008/06/15 01:49:14;  author: pfaedit;  state: Exp;  lines: +3 -3
If we had a spline which almost doubled back on itself, sufficiently so that the spline intersector found lots of really close points, which it called intersections, but not sufficiently so that our colinear detector caught it, then we'd generate a ton of intersections, overflow certain arrays, and trash the stack. => ff would crash. I didn't think this could happen, until someone provided a test case, so put in guards against this.
----------------------------
revision 1.2654
date: 2008/06/12 23:41:59;  author: pfaedit;  state: Exp;  lines: +2 -2
provide python access to
  glyph.altuni
either None, or a tuple of tuples, one sub-tuple for each alternate. each sub-tuple is (alternate-unicode, variation selector (or -1), reserved for future=0 now).
----------------------------
revision 1.2653
date: 2008/06/12 23:02:58;  author: pfaedit;  state: Exp;  lines: +2 -2
FF assumed that all reals read from the private dictionary in a cff font had a default value of 0 and omitted them when it parsed the cff. But most have different defaults so information was being lost.
----------------------------
revision 1.2652
date: 2008/06/12 22:02:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Trying to build dieresis with "PreferSpacingAccents" set meant that we tried to build it out of itself, and crashed.

Also fix so that 0x22EF (ellipsis variant) is built out of centered dot in a spacing mode, while Ldot uses it in a non-spacing mode.
----------------------------
revision 1.2651
date: 2008/06/12 04:29:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Provide a mechanism for loading image files to make menu item icons (instead of expecting the images to live in memory inside of fontforge). Then provide a bunch of these icons so the menus will look more interesting.
Also update the install procedure to put them in the right place.
----------------------------
revision 1.2650
date: 2008/06/11 18:36:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge fonts broken again. This time references didn't work.
----------------------------
revision 1.2649
date: 2008/06/11 15:42:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Icon for change x-height.
----------------------------
revision 1.2648
date: 2008/06/11 15:01:19;  author: pfaedit;  state: Exp;  lines: +3 -3
FF crashed when opening CID keyed fonts with compact_on_open set.
----------------------------
revision 1.2647
date: 2008/06/10 22:40:11;  author: pfaedit;  state: Exp;  lines: +2 -2
If fontforge got an end of file in the middle of reading a (corrupt) cff font, then ff would sit there reading endlessly and ignoring the error.
----------------------------
revision 1.2646
date: 2008/06/10 21:49:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Off by one error in drawing the large "pixel" rectangles that show grid fit generated.
----------------------------
revision 1.2645
date: 2008/06/10 19:58:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a "Change X-Height" command.
----------------------------
revision 1.2644
date: 2008/06/10 02:47:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Lower case letters with ascenders/descenders had those ascenders/descenders badly scaled by Sub/Super.
----------------------------
revision 1.2643
date: 2008/06/10 01:45:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that my instruction glosses are out of date:
  1) Was following Apple's docs for SCANTYPE, not MS. MS has a number of new
	values.
  2) Was using an old convention for accessing PPEM which broke after
	freetype 2.3.5
  3) Added the FreeType return for GETINFO.
----------------------------
revision 1.2642
date: 2008/06/10 01:11:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Featurefile patch from Barry.
----------------------------
revision 1.2641
date: 2008/06/09 02:03:52;  author: pfaedit;  state: Exp;  lines: +3 -3
I used to think that the max glyph instruction length field of 'maxp' refered to fpgm and prep. I thought this because there was a footnote (which I now see was for a different field) saying the the field also applied to fpgm and prep.
----------------------------
revision 1.2640
date: 2008/06/07 22:37:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple more fontlint checks.
----------------------------
revision 1.2639
date: 2008/06/07 19:01:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Depending on where ff was started it might not set the message locale directory properly. Which meant (for me) that it fell back to an obsolete set of translations hidden in a random directory.
----------------------------
revision 1.2638
date: 2008/06/07 03:49:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Last tweak to small caps dlg. I hope.
----------------------------
revision 1.2637
date: 2008/06/07 02:53:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet another patch by Barry for mutually exclusive kerning classes.
----------------------------
revision 1.2636
date: 2008/06/07 02:50:00;  author: pfaedit;  state: Exp;  lines: +2 -2
CIDFromName had a bug and could read random memory if a glyph name were not a cid name.
----------------------------
revision 1.2635
date: 2008/06/07 02:28:02;  author: pfaedit;  state: Exp;  lines: +3 -3
FF will crash if one loads a feature file when font info is open. So close font info if someone tries to do this.
----------------------------
revision 1.2634
date: 2008/06/06 20:50:18;  author: akryukov;  state: Exp;  lines: +2 -2
Check control point numbers before attempting to generate point data for them
(control points aren't correctly numbered in glyphs with mixed splines
and references).
----------------------------
revision 1.2633
date: 2008/06/06 13:56:01;  author: pfaedit;  state: Exp;  lines: +2 -2
when validating check for presence of standard tables and that those tables with fixed lengths have the correct length.
----------------------------
revision 1.2632
date: 2008/06/06 11:47:02;  author: akryukov;  state: Exp;  lines: +2 -2
Group horizontal and vertical stems into bundles and thus simplify
further processing by autohinter/autoinstructor.

Attempt to establish some stem hierarchy, i. e. to figure out which
of conflicting stems should be positioned first.

Switch to using sp->ptindex instead of sp->ttfindex and thus get rid of
temporary implicit point numbering.
----------------------------
revision 1.2631
date: 2008/06/06 04:19:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix an uninitialized variable in smallcaps.
Adding diagonal (italic) serifs didn't work in truetype
SmallCaps didn't handle eszet properly (at all).
----------------------------
revision 1.2630
date: 2008/06/05 20:55:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Various bugs in argument handling in python fontforge.askChoices() command.
----------------------------
revision 1.2629
date: 2008/06/05 20:44:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Change python font.removeGlyph so it will accept a single string (a glyph name) as an argument.
----------------------------
revision 1.2628
date: 2008/06/05 03:05:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Let users set different stem scaling factors for x and y in small caps.
(fix a few bugs)
----------------------------
revision 1.2627
date: 2008/06/05 00:13:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it clear that the transform dlg from the fontview will move the width of a glyph by default, and provide a checkbox so the user can turn this off.
----------------------------
revision 1.2626
date: 2008/06/05 00:04:28;  author: pfaedit;  state: Exp;  lines: +3 -3
FF didn't like decimal points in the metrics view l/r bearing fields -- even though it could put them there itself.
----------------------------
revision 1.2625
date: 2008/06/04 23:50:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics windows weren't being remetricked after a feature file was loaded (nor an afm file for that matter). Nor were they remetricked after lookups changed in fontinfo.
----------------------------
revision 1.2624
date: 2008/06/04 23:34:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Backed out one of the patches on 1 Jun for making ff better at handling errors in feature files. That patch was too enthusiastic. Add a more complex patch which fixes the original problem but doesn't break other things.
----------------------------
revision 1.2623
date: 2008/06/04 22:53:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Add to python
   font.revert()
   font.revertFromBackup()
----------------------------
revision 1.2622
date: 2008/06/04 22:48:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two new python commands
  font.italicize()
  layer.stemControl()
----------------------------
revision 1.2621
date: 2008/06/04 16:49:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Changing a glyph's width from a python script didn't update the metrics window.
----------------------------
revision 1.2620
date: 2008/06/04 16:31:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Adding two languages in the same script to a lookup in a feature file didn't work.
----------------------------
revision 1.2619
date: 2008/06/04 16:09:23;  author: pfaedit;  state: Exp;  lines: +2 -2
It wasn't possible to rename an anchor class (at least not by the obvious method through the dlg). Attempting to delete an anchor class popped up an error message which didn't provide all its own arguments and so could crash on some systems.
----------------------------
revision 1.2618
date: 2008/06/04 15:11:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Barry to fix his previous kerning class patch.
----------------------------
revision 1.2617
date: 2008/06/04 15:09:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Better error recovery in feature file parsing.
----------------------------
revision 1.2616
date: 2008/06/03 20:06:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Further work on sub/superscript addition. Pay attention to xheight.
----------------------------
revision 1.2615
date: 2008/06/03 03:24:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Do some minimal work on serifs at the end of diagonal stems in the italic conversion.
----------------------------
revision 1.2614
date: 2008/06/02 21:27:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new dlg allowing the creation of subscripts and superscripts.
----------------------------
revision 1.2613
date: 2008/06/02 21:12:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the small caps dlg many more options.
----------------------------
revision 1.2612
date: 2008/06/02 15:18:26;  author: pfaedit;  state: Exp;  lines: +2 -2
FF's error recovery when parsing erroneous feature files wasn't good. This fixes a crash.
----------------------------
revision 1.2611
date: 2008/06/02 03:18:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that since I allow the user to see points in references transformed to their ultimate position, I should also transform the raster.
----------------------------
revision 1.2610
date: 2008/06/01 23:37:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Barry to fix kerning classes (ie. figuring out WHAT glyphs go into a class).
----------------------------
revision 1.2609
date: 2008/06/01 23:22:15;  author: pfaedit;  state: Exp;  lines: +2 -2
When parsing a feature file which used a default languagesystem setup, ff only used the most recent script.
----------------------------
revision 1.2608
date: 2008/06/01 22:57:44;  author: pfaedit;  state: Exp;  lines: +2 -2
If a lookup contained no data (no subtables, or empty subtables) then when generating a feature file ff would output stuff to declare a lookup, but when there was no content that frame could not be parsed as it would be impossible to figure out the lookup type.  Try to avoid that.
----------------------------
revision 1.2607
date: 2008/06/01 22:39:30;  author: pfaedit;  state: Exp;  lines: +2 -2
FF did not put contextual lookups on all the lists they needed to be on when loading them from a feature file.
----------------------------
revision 1.2606
date: 2008/06/01 22:09:31;  author: pfaedit;  state: Exp;  lines: +3 -3
New python command
  font.buildOrReplaceAALTFeatures
----------------------------
revision 1.2605
date: 2008/05/31 02:39:56;  author: pfaedit;  state: Exp;  lines: +3 -3
It looks as though it's possible for a box with an invisible first column to be shifted so the second column is positioned left beyond the begining of the box.
----------------------------
revision 1.2604
date: 2008/05/30 22:37:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Barry Schwartz. "include" syntax in feature files didn't work.
----------------------------
revision 1.2603
date: 2008/05/30 22:33:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Sort button in the lookups pane of font info didn't refresh the window after
it finished (so things looked unsorted even after pressing it).
----------------------------
revision 1.2602
date: 2008/05/30 22:20:51;  author: pfaedit;  state: Exp;  lines: +3 -3
When doing a Build Accented on dotted glyphname (agrave.sc, etc.) the accent was positioned using anchors in the undotted base glyph (a rather than a.sc).
----------------------------
revision 1.2601
date: 2008/05/27 01:04:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix various problems with tt debugging.
----------------------------
revision 1.2600
date: 2008/05/27 00:18:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Andrey points out that small caps aren't always the same height as the x-height and so there needs to be a dlg to set the small-caps height.
----------------------------
revision 1.2599
date: 2008/05/26 22:19:51;  author: pfaedit;  state: Exp;  lines: +2 -2
The XUID and UniqueID fields of a PostScript font are deprecated, yet FF has continued to output them by default. Make it so FF no longer does so.
----------------------------
revision 1.2598
date: 2008/05/26 20:35:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey suggests some improvements.
----------------------------
revision 1.2597
date: 2008/05/25 18:02:43;  author: akryukov;  state: Exp;  lines: +2 -2
Allow assigning multiple stems as 'next' or 'previous' for a point. Thus
it is now always possible to get a list of stems each point is assigned to.

Fix various bugs which affected calculating active space for curved stem segments.
----------------------------
revision 1.2596
date: 2008/05/25 01:07:51;  author: pfaedit;  state: Exp;  lines: +2 -2
When outputing an sfd file, ff would sometimes output a truetype spline as a line if it had a colinear control-point. I thought I'd taken care of that, but here's another case which needed fixing.
----------------------------
revision 1.2595
date: 2008/05/25 00:47:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo when loading the underline position field from a 'post' table. I was subtracting half the underline width. I should have been adding it instead. (Why did adobe use a different definition of the same concept in two places? GRRR).
----------------------------
revision 1.2594
date: 2008/05/24 12:45:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Further italic fixes.
----------------------------
revision 1.2593
date: 2008/05/24 03:03:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Various bug fixes to Italic.
Didn't work at all on quadratic fonts.
----------------------------
revision 1.2592
date: 2008/05/23 02:33:07;  author: pfaedit;  state: Exp;  lines: +3 -3
The Italic dlg basically works. There's lots it doesn't do, of course, but I think it now is useful.
----------------------------
revision 1.2591
date: 2008/05/22 03:31:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Initial version of italic transform. Dialog isn't done, but many transformations are in place.
----------------------------
revision 1.2590
date: 2008/05/21 14:56:17;  author: pfaedit;  state: Exp;  lines: +2 -2
It wasn't possible to make the foreground layer invisible.
----------------------------
revision 1.2589
date: 2008/05/21 00:40:10;  author: pfaedit;  state: Exp;  lines: +3 -3
When the file chooser bookmark list got too long ff would crash.
----------------------------
revision 1.2588
date: 2008/05/19 21:36:39;  author: pfaedit;  state: Exp;  lines: +3 -3
I wasn't doing the obvious checks to the sfnt header in font lint. So now:
  1) Check that there are no duplicate table entries
  2) Check that there are no overlapping tables
  3) Check that no tables extend beyond the end of file
  4) Check that the file's checksum is correct
  5) Check that each table's checksum is correct
  6) Check that the number of tables is reasonable and that the binary
	search header is consistent with the number of tables.
----------------------------
revision 1.2587
date: 2008/05/18 21:04:50;  author: pfaedit;  state: Exp;  lines: +2 -2
It used to be that if someone asked for "a.sc" in a font without a glyph with that name, then the goto dlg would give you "a" instead. That doesn't sound like a good idea today.

The Add SmallCaps command didn't hash the correct glyph name when it added a small caps glyph. So that asking for "a.sc" took you to "a".
----------------------------
revision 1.2586
date: 2008/05/18 15:05:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops.
----------------------------
revision 1.2585
date: 2008/05/18 14:59:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner would like to be able to debug (truetype instructions) when using non-square pixels (x_ppem != y_ppem).
----------------------------
revision 1.2584
date: 2008/05/18 04:00:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants to be able to close a tab. Add a menu item.
----------------------------
revision 1.2583
date: 2008/05/18 03:33:11;  author: pfaedit;  state: Exp;  lines: +2 -2
When a glyph's name changed, I did not update the names in any tabs in the charviews -- so those tabs would stop working after the change.
----------------------------
revision 1.2582
date: 2008/05/18 03:04:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Scrollbar in points debug window wasn't set right.
----------------------------
revision 1.2581
date: 2008/05/16 22:03:24;  author: pfaedit;  state: Exp;  lines: +2 -2
A. Panov provides a patch. Prefs was losing bookmarks.
----------------------------
revision 1.2580
date: 2008/05/16 22:01:46;  author: pfaedit;  state: Exp;  lines: +3 -3
the new release of volt reveals some new opentype tags.
----------------------------
revision 1.2579
date: 2008/05/15 16:14:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Copy anchor points into small caps too.
----------------------------
revision 1.2578
date: 2008/05/15 13:38:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Add ability to create small caps variants of glyphs.
----------------------------
revision 1.2577
date: 2008/05/13 02:48:28;  author: pfaedit;  state: Exp;  lines: +3 -3
If we have a glyph named "agrave.sc" or "eacute.sc" then FF will now let you build this as an accented character. It will remove the suffix from then name, and look up the components of the bare glyph. Then for the first component it will search for a glyph named "a.sc" and insert it. For the accents it will use "grave.sc" if present, and "grave" if it is not.
----------------------------
revision 1.2576
date: 2008/05/09 23:50:23;  author: pfaedit;  state: Exp;  lines: +3 -3
FF wasn't handling a FontMatrix in the top dict of a cid font.
----------------------------
revision 1.2575
date: 2008/05/08 20:50:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Trying to filter for fig files in the Import dlg caused a crash.
----------------------------
revision 1.2574
date: 2008/05/08 19:30:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Check for bad OS/2 versions (that is, versions windows will reject) when loading a font.
Connect validation's "Points too far" with Find Problem's version.
Make fontlint aware of the new validation states.
When generating a font we complained about bad os/2 version only if they asked for a validation. Move it somewhere more prominant.
----------------------------
revision 1.2573
date: 2008/05/08 17:09:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two new problems to find
  1) Points too far apart
  2) Bitmap advance width different from scaled outline advance widths

(also boxify the Find Problems dlg).
----------------------------
revision 1.2572
date: 2008/05/08 04:29:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new validation state: Test that points aren't too far appart (must be within 32767 of each other or we can't output them).
----------------------------
revision 1.2571
date: 2008/05/08 03:27:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Try a little harder to get some of the obscure code pages right in the OS/2 table.
----------------------------
revision 1.2570
date: 2008/05/08 02:22:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Was getting the first glyph index of OS/2 wrong for OTF fonts.
----------------------------
revision 1.2569
date: 2008/05/07 21:45:05;  author: pfaedit;  state: Exp;  lines: +3 -3
If an sfnt contains embedded bitmaps, and if those bitmaps contain a glyph whose advance width is different from that expected by scaling the horizontal advance of the vector data, then windows will only get the correct metrics if the "Instructions modify width" bit is set in the 'head'.flags field.
----------------------------
revision 1.2568
date: 2008/05/06 21:04:09;  author: pfaedit;  state: Exp;  lines: +3 -3
If the "changedsincelasthinted" bit got set on a glyph by the unlink/remove overlap flag on a glyph during font saving, then the glyph did not get restored to its original state.
----------------------------
revision 1.2567
date: 2008/05/05 23:39:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Doing an Undo in the Guidelines layer didn't work, usually crashed.
----------------------------
revision 1.2566
date: 2008/04/29 00:38:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Validate didn't work on CID keyed fonts.
----------------------------
revision 1.2565
date: 2008/04/29 00:11:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Pierre Hanser wants an X Resource (fontforge.CharView.Rulers.FontSize) to specify the font size of text displayed in the info line and the rulers. I have applied his patch, but have made no effort to insure that text will fit in the space allowed for it.
----------------------------
revision 1.2564
date: 2008/04/28 22:48:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Somehow I broke ttf output -- Opening the output file with "wb" rather than "wb+".
----------------------------
revision 1.2563
date: 2008/04/28 21:12:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. Freetype seems to dislike rasterizing some complex outlines at large pixelsizes in black and white, but seems fine with doing them in greyscale.
----------------------------
revision 1.2562
date: 2008/04/26 01:55:47;  author: pfaedit;  state: Exp;  lines: +2 -2
When opening a ttc file (and posting a dlg which lists all the fonts in the file) try to find a fontname in the current locale. We used to look first for English and then anything. Now try: First current locale, then english, then anything.
----------------------------
revision 1.2561
date: 2008/04/25 01:07:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Couple of tweaks.
----------------------------
revision 1.2560
date: 2008/04/24 20:57:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Now that we support ftp URLs we need a dialog for entering passwords as something other than clear text.
----------------------------
revision 1.2559
date: 2008/04/24 20:48:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to upload a font to an ftp url.
----------------------------
revision 1.2558
date: 2008/04/24 02:02:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Move the gio stuff from gdraw into gutils.
Fix some problems with ftp.
----------------------------
revision 1.2557
date: 2008/04/23 15:03:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Ability to load a font from an ftp url.
----------------------------
revision 1.2556
date: 2008/04/22 17:36:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Make file chooser bookmarks work.
----------------------------
revision 1.2555
date: 2008/04/22 04:07:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the Open Font dlg (and similar file chooser dlgs) be customizable, and store that info in prefs.
----------------------------
revision 1.2554
date: 2008/04/21 22:39:24;  author: pfaedit;  state: Exp;  lines: +2 -2
The validation patch broke the save mac family dialog, and then the upload to open font library broke it further.
----------------------------
revision 1.2553
date: 2008/04/21 03:32:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up treatment of http urls.
----------------------------
revision 1.2552
date: 2008/04/20 22:18:00;  author: pfaedit;  state: Exp;  lines: +3 -3
It is now possible for fontforge to load a font from an HTTP server, so one could say:
$ fontforge  http://openfontlibrary.org/people/Nasenbaer/Nasenbaer_-_Widelands.ttf
----------------------------
revision 1.2551
date: 2008/04/18 04:38:22;  author: pfaedit;  state: Exp;  lines: +3 -3
fontimage didn't draw the first line.
----------------------------
revision 1.2550
date: 2008/04/16 00:14:15;  author: pfaedit;  state: Exp;  lines: +2 -2
More fixes to embolden.
----------------------------
revision 1.2549
date: 2008/04/15 17:50:00;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing expand stroke, it is possible to have two points so close together that there is no data on the curve in between the two. If this happens ApproximateFromPointsSlopes can't do a good job. So be careful of this case.
----------------------------
revision 1.2548
date: 2008/04/15 16:56:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Layers change introduced a potential crash in the Embolden command.
----------------------------
revision 1.2547
date: 2008/04/13 17:33:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up the display dlg a bit.
----------------------------
revision 1.2546
date: 2008/04/13 16:10:04;  author: pfaedit;  state: Exp;  lines: +2 -2
More for insert text.
----------------------------
revision 1.2545
date: 2008/04/13 04:22:07;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on binding text to a path.
----------------------------
revision 1.2544
date: 2008/04/13 00:44:04;  author: pfaedit;  state: Exp;  lines: +3 -3
In the Display dlg, if you changed the font, or the point size without selecting something, then that change would vanish instantly. Fix that.

Also, was a crash bug when mixing a font with a baseline table and a font without one (in the disply dlg).
----------------------------
revision 1.2543
date: 2008/04/12 03:11:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a command to insert text into a glyph. (Element->Insert Text Outlines)
It adds the text outlines directly (instead of a draw command using another font) because most fonts can't include text drawing in their glyphs.
Also include a Bind to Path variant.
----------------------------
revision 1.2542
date: 2008/04/10 00:17:31;  author: pfaedit;  state: Exp;  lines: +3 -3
GLyph lists in kerning classes (in show att) were displayed as ligatures.
----------------------------
revision 1.2541
date: 2008/04/08 00:10:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Upgrade to unicode 5.1
----------------------------
revision 1.2540
date: 2008/04/07 21:13:21;  author: pfaedit;  state: Exp;  lines: +3 -3
If an sfd file were saved with spiros active, and then loaded into a version of fontforge without libspiro, then bad things would happen. Whenever we check that spiros are active also check that they can be active, and add some warnings for the user to let him/her know that spiros aren't available.
----------------------------
revision 1.2539
date: 2008/04/06 19:37:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a tile pattern command (if --enable-tile-path) this allows the user to replicate any given pattern in another glyph.

This could be used to produce a grid of guidelines, or, in conjunction with Element->Overlap->Intersect it could provide a poor man's "Pattern Fill" (Since Pattern fills are only available in type3 fonts this sort of makes them work for any font type).
----------------------------
revision 1.2538
date: 2008/04/06 19:28:50;  author: pfaedit;  state: Exp;  lines: +3 -3
If a glyph had references in the foreground layer, then when one switched to the background layer they would not be displayed in the char view.
----------------------------
revision 1.2537
date: 2008/04/04 19:20:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry reports that doing a transform on spiro points will crash fontforge. I can't repeat this, but perhaps if the spiro algorithm fails to converge this could happen -- so add a guard with a fallback position in case it does.
----------------------------
revision 1.2536
date: 2008/03/30 16:36:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Instead of just dying with a file corrupted error, add a warning that the version number is wrong.
----------------------------
revision 1.2535
date: 2008/03/30 16:32:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Bump the version number on the sfd file to 3.0. Should have done this with the layers change last month, but better late than never (I think).
----------------------------
revision 1.2534
date: 2008/03/29 22:38:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Apostolos points out that the layers change broke compilation on systems without freetype. (Solaris).
----------------------------
revision 1.2533
date: 2008/03/28 20:30:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an option to create a dummy DSIG table so MS will mark fonts with a ttf extension with an OpenType icon.
----------------------------
revision 1.2532
date: 2008/03/28 18:49:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Opacity should default to 1, not 0 in gradient fills dlg.
----------------------------
revision 1.2531
date: 2008/03/28 18:43:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Add python scripting access to baseline information.
----------------------------
revision 1.2530
date: 2008/03/28 03:46:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Show ATT now displays BASE and bsln tables.
----------------------------
revision 1.2529
date: 2008/03/27 20:34:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner would like to see glyph images even for things which don't get substituted.
----------------------------
revision 1.2528
date: 2008/03/27 20:10:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner suggests a non case concious sort for glyph names in show att.
----------------------------
revision 1.2527
date: 2008/03/27 00:04:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Order glyph lists in Show ATT alphabetically by glyph name (it used to be (in most cases) by GID).
----------------------------
revision 1.2526
date: 2008/03/25 17:02:37;  author: michal-n;  state: Exp;  lines: +2 -2
Patch from Alexey, for better handling conflicts between diagonal and H/V stems.
----------------------------
revision 1.2525
date: 2008/03/25 16:15:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in gradient output for ps/pdf when more than two stops.
----------------------------
revision 1.2524
date: 2008/03/25 12:11:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Baseline patch broke reading ligature carets from sfd files.
----------------------------
revision 1.2523
date: 2008/03/22 20:44:25;  author: akryukov;  state: Exp;  lines: +3 -3
Do a more consistent job of handlong curved stem segments. Also collect
point data for off-curve points too (may be useful in future for TTF hinting).
----------------------------
revision 1.2522
date: 2008/03/21 22:20:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Last month I put in a patch to make sure the lsb as stored in the 'hmtx' table was really the glyph's lsb if bit 1 of the head.flags field were set. Unfortunately I read in the lsb as an unsigned number which shifted negative lsbs off to around 65535. FF sometimes refused to rasterize them. Of course when the font was generated they got truncated back to negatives in the output.
----------------------------
revision 1.2521
date: 2008/03/21 00:43:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Support for Apple's 'bsln' table (except I don't support their centered ideographic baseline tag).
----------------------------
revision 1.2520
date: 2008/03/20 15:09:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Baseline data need to be scaled with scale to em.
----------------------------
revision 1.2519
date: 2008/03/20 03:04:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Minimal support of baseline alignment in the print dialog (not in the metrics view).
----------------------------
revision 1.2518
date: 2008/03/20 01:25:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Code to read language extents didn't work.
----------------------------
revision 1.2517
date: 2008/03/19 22:22:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a preference item so that fonts will be automagically compacted when they are opened.
----------------------------
revision 1.2516
date: 2008/03/19 21:36:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new preference item (SeekCharacter) to allow users to control which character will be displayed when opening a new font. Normally FontForge displays 'A', but that's a bit latin-alphabet-centric.
----------------------------
revision 1.2515
date: 2008/03/18 17:21:00;  author: pfaedit;  state: Exp;  lines: +2 -2
When I removed the vertical origin field, I didn't do it quite right in font info and ended up with doubled text boxes for "Interpretation".
----------------------------
revision 1.2514
date: 2008/03/18 16:58:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Rasterizer did not handle clipping paths which were larger than thing being clipped.
----------------------------
revision 1.2513
date: 2008/03/18 02:10:38;  author: pfaedit;  state: Exp;  lines: +3 -3
If palettes were not docked, the a complicated series of events could lead to a crash after closing a TilePath (Math kerning, Gradient Fill, etc.) dialog.
----------------------------
revision 1.2512
date: 2008/03/18 01:10:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the opentype 'BASE' table
----------------------------
revision 1.2511
date: 2008/03/17 04:57:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Add IO routines for the 'BASE' table. Both in the context of 'sfnt' and in sfd files.

Remove the old vertical_origin field of the splinefont. Stored in the 'BASE' table now (note this means that the python commands to access this field is no longer meaningful).

(No UI as yet).
----------------------------
revision 1.2510
date: 2008/03/16 15:49:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for parsing svg gradients.
(not svg patterns, not type3 nor pdf gradients nor patterns).
----------------------------
revision 1.2509
date: 2008/03/16 01:18:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. Find BOunds should not include the clip path.
----------------------------
revision 1.2508
date: 2008/03/14 22:18:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Improve rasterizing patterns.
Add a UI for patterns.
----------------------------
revision 1.2507
date: 2008/03/14 01:05:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for generating tiling patterns in svg, ps type3, and pdf type3 fonts.
Add support for rasterizing tiling patterns.
Making tiling patterns work in the sfd file.
----------------------------
revision 1.2506
date: 2008/03/13 02:21:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a more obvious way to set the clip path in a type3 font.
----------------------------
revision 1.2505
date: 2008/03/13 01:34:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Was not outputting the %%LanguageLevel DSC comment.
----------------------------
revision 1.2504
date: 2008/03/13 01:09:53;  author: pfaedit;  state: Exp;  lines: +3 -3
How silly of me. When the PDFReference manual (page 96) says the /Resources dictionary for a type3 font go in the content stream dictionary, it really means the font dictionary.
----------------------------
revision 1.2503
date: 2008/03/12 23:38:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Generating a CID-keyed otf font was broken by the layers patch. (Only the background layer was output).
----------------------------
revision 1.2502
date: 2008/03/12 23:36:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Encoding->Add Encoding Slots didn't work for CID-keyed fonts.
----------------------------
revision 1.2501
date: 2008/03/11 18:16:53;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor does more consistent vertical stem placement for mono and grayscale.
Advance width scales much better. One downside: letters tend to 'glue' at small ppems.
----------------------------
revision 1.2500
date: 2008/03/11 00:15:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Provide a (rather crude) mechanism for editing gradients in type3 fonts.
----------------------------
revision 1.2499
date: 2008/03/10 01:45:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Uninitialized variable when generating a font with a symbol cmap.
----------------------------
revision 1.2498
date: 2008/03/09 22:22:50;  author: pfaedit;  state: Exp;  lines: +2 -2
When FF read in a pairwise positioning lookup with no change to the pos of the first glyph, and an x change to the second glyph it treated that as a r2l kern pair even if the lookup was l2r. This lead to problems.
----------------------------
revision 1.2497
date: 2008/03/09 21:43:31;  author: pfaedit;  state: Exp;  lines: +2 -2
A variable was placed on the stack in font info which needed a longer lifetime. This would probably mean that after several remetrickings of that window the jump to OS/2 Unicode ranges in the Unicode ranges pane would appear in a strange color and oddly shaped. I never saw it happen, but it should have. The variable is now static.
----------------------------
revision 1.2496
date: 2008/03/09 21:24:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Round To Int called SCCharChangedUpdate with a bad layer (usually) and could cause random crashes.
----------------------------
revision 1.2495
date: 2008/03/09 20:22:03;  author: pfaedit;  state: Exp;  lines: +3 -3
In the Print/Display window all vertical GPOS positioning was diametrically opposed to the direction it should have gone (there was a sign error).
----------------------------
revision 1.2494
date: 2008/03/08 04:03:47;  author: pfaedit;  state: Exp;  lines: +2 -2
The code which decided on whether to apply a chaining lookup approached backtrack data in the wrong order (so only lookups with either 0 or 1 backtrack entries worked. Which was all I used to test).
----------------------------
revision 1.2493
date: 2008/03/08 03:09:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Print managed to break itself somehow. Print of a font display to ps file (or was it pdf) didn't work. Type3 pdf fonts were broken, last glyph omitted.

Added support for images in pdf.

Added support for outputting gradient fills in svg, ps, pdf. and rasterizing them.
----------------------------
revision 1.2492
date: 2008/03/05 21:50:19;  author: pfaedit;  state: Exp;  lines: +2 -2
When ff read in a contextual subs by glyphs it would reorder each glyph list (backtrack, lookahead and normal) so that the glyphs were in GID order. So "a b c" would probably come out fine in the lookahead list, but would be reversed in the backtrack, while "c b a" would be reversed in the lookahead). Ug.
----------------------------
revision 1.2491
date: 2008/03/05 17:28:23;  author: pfaedit;  state: Exp;  lines: +2 -2
New fonts were created with relative filenames, this screwed up some font searches. Make 'em absolute.
----------------------------
revision 1.2490
date: 2008/03/05 16:50:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix uninitialized variable.
----------------------------
revision 1.2489
date: 2008/03/05 16:37:41;  author: pfaedit;  state: Exp;  lines: +2 -2
In the fontview the horizontal advance and baseline metrics lines were drawn as if bitmap magnification were 1 (so if bitmap mag>1 they were in the wrong place).
----------------------------
revision 1.2488
date: 2008/03/05 16:22:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Deleting something in the guidelines layer probably caused a crash.
----------------------------
revision 1.2487
date: 2008/03/04 23:54:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Initial work toward supporting gradients and tile patterns in type3/svg fonts.
----------------------------
revision 1.2486
date: 2008/03/04 03:11:47;  author: pfaedit;  state: Exp;  lines: +2 -2
In the char view, when the active tool is the scale tool, show the scale factors on the info line.
----------------------------
revision 1.2485
date: 2008/03/04 02:48:57;  author: pfaedit;  state: Exp;  lines: +2 -2
The default set for control points of a corner point before/after an hv curve point was to have no control point. Make it be the same as a normal curve.
----------------------------
revision 1.2484
date: 2008/03/04 01:42:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a (minimal) clipping path to type3 editing.
----------------------------
revision 1.2483
date: 2008/03/04 01:30:09;  author: pfaedit;  state: Exp;  lines: +3 -3
layers patch broke type3 editing in that: in a type3 font glyphs don't have the same number of layers so it is possible to move from one glyph to another in the char view and have the current layer become invalid. Fix this.
----------------------------
revision 1.2482
date: 2008/03/03 07:53:03;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor: Alexey told me memory problems with his code all had subtler cause than I suspected. So fix them properly.
----------------------------
revision 1.2481
date: 2008/03/02 21:45:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Uninitialized value in svg output.
----------------------------
revision 1.2480
date: 2008/03/02 20:42:37;  author: pfaedit;  state: Exp;  lines: +2 -2
in python scripting fontforge.printSetup would crash.
----------------------------
revision 1.2479
date: 2008/03/02 19:48:54;  author: michal-n;  state: Exp;  lines: +2 -2
Fixed a truetype stack overflow.
----------------------------
revision 1.2478
date: 2008/03/02 16:30:33;  author: michal-n;  state: Exp;  lines: +2 -2
Previous patch 'fixed' too much.
----------------------------
revision 1.2477
date: 2008/03/02 16:23:02;  author: michal-n;  state: Exp;  lines: +2 -2
Fixed two memory problems related with DStems.
----------------------------
revision 1.2476
date: 2008/03/02 15:49:55;  author: akryukov;  state: Exp;  lines: +2 -2
Fix a bunch of uninitialized variables in stemdb.c. Attempt to correct the
active zone calculation for serifs and similar features, which are not exactly
horizontal or vertical. Also remove GDPreprocess() and GDReassignPoint() from
autohint.c, as these functions did nothing useful anyway.
----------------------------
revision 1.2475
date: 2008/03/02 14:45:33;  author: michal-n;  state: Exp;  lines: +2 -2
An obvious opportunity to make things a bit more compact.
----------------------------
revision 1.2474
date: 2008/03/02 14:25:33;  author: michal-n;  state: Exp;  lines: +2 -2
Refined previous patch. Fixed a memory leak.
----------------------------
revision 1.2473
date: 2008/03/02 13:54:49;  author: michal-n;  state: Exp;  lines: +2 -2
I used previously freed data.
----------------------------
revision 1.2472
date: 2008/03/02 10:05:30;  author: michal-n;  state: Exp;  lines: +2 -2
Patch by George to fix an uninitialised pointer.
----------------------------
revision 1.2471
date: 2008/03/02 02:00:28;  author: pfaedit;  state: Exp;  lines: +2 -2
M.P. Suzuki requests a way to load the entire 'glyf' table of a ttc. Actually he would like to load all 'glyf' tables of a ttc, but that would cause all kinds of problems (multiple fpgm, prep, maxp, cvt tables, trying to fix up GIDs in GPOS/GSUB/kern/* tables, dealing with fonts with so many glyphs they could not be generated, ...)

So the command line now takes an --allglyphs argument, and the scripting open commands now take a value of 4 for the openflags argument to mean this.
----------------------------
revision 1.2470
date: 2008/03/02 01:13:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal to fix a problem with unitialized rp0 in fpgm function code which deals with overlapping stems.
----------------------------
revision 1.2469
date: 2008/02/29 22:36:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Make sure the first character in marlett is 0xf020.
----------------------------
revision 1.2468
date: 2008/02/29 21:12:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Another problem with the guide layer.
----------------------------
revision 1.2467
date: 2008/02/27 22:04:54;  author: akryukov;  state: Exp;  lines: +2 -2
Oops. The recent patch broke assigning points to predefined stems.
----------------------------
revision 1.2466
date: 2008/02/27 18:30:49;  author: pfaedit;  state: Exp;  lines: +3 -3
The Number Points menu was initialized to the foreground layer, not the current layer.
----------------------------
revision 1.2465
date: 2008/02/26 23:12:39;  author: pfaedit;  state: Exp;  lines: +2 -2
More problems looking at the guideline layer.
----------------------------
revision 1.2464
date: 2008/02/26 23:10:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops all that work on Make Arc broke the old behavior of Make Line.
----------------------------
revision 1.2463
date: 2008/02/26 22:59:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When building a ligature, ff would mark the first letter with use_my_metrics. That should only happen when building accented glyphs.
----------------------------
revision 1.2462
date: 2008/02/26 22:58:06;  author: pfaedit;  state: Exp;  lines: +2 -2
When displaying the guideline layer in a charview, ff would often crash.
----------------------------
revision 1.2461
date: 2008/02/26 22:54:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Put in a way for the user to leap easily from Font Info->Unicode Ranges to
Font Info->OS/2->Charsets->Unicode Ranges.
----------------------------
revision 1.2460
date: 2008/02/26 18:27:38;  author: pfaedit;  state: Exp;  lines: +2 -2
I was consistently calling SynchronizeLBearing with the arguments in the wrong order.
----------------------------
revision 1.2459
date: 2008/02/26 18:13:19;  author: pfaedit;  state: Exp;  lines: +2 -2
python scripting font.sfnt_names would sometimes crash.
----------------------------
revision 1.2458
date: 2008/02/26 18:09:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Correct direction passed the wrong layer to SCCharChangedUpdate causing crashes
----------------------------
revision 1.2457
date: 2008/02/26 04:11:35;  author: pfaedit;  state: Exp;  lines: +2 -2
When a matrixedit is initialized its last visible column (especially if followed by hidden columns) may not be at the edge of the matrixedit. This lead to drawing spurious lines which annoyed Alexej.
----------------------------
revision 1.2456
date: 2008/02/26 03:31:47;  author: pfaedit;  state: Exp;  lines: +2 -2
When running simplify on a quadratic contour and the contour doubles back on itself, FF would do an optimization which only worked for cubics.
----------------------------
revision 1.2455
date: 2008/02/26 02:07:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner tells me that if bit 1 of the 'head'.flags field is clear then I should adjust so that the left side bearing is what is specified in the 'hmtx' table.
----------------------------
revision 1.2454
date: 2008/02/26 01:24:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Pdf filter decode didn't work if given an array of filters (not even in the array contain only a single filter).
----------------------------
revision 1.2453
date: 2008/02/26 00:35:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Some menu commands were disabled if not in foreground:
  Show Grid Fit->children

Also interpolated points weren't shown as such.
----------------------------
revision 1.2452
date: 2008/02/26 00:23:27;  author: pfaedit;  state: Exp;  lines: +3 -3
FontForge doesn't support pdf encryption which seems to require a license from RSA. Before we'd just announce failure for no reason, now announce that the file is encrypted and we can't read it.
----------------------------
revision 1.2451
date: 2008/02/25 19:15:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Improper test for point matching in references (in tt).
----------------------------
revision 1.2450
date: 2008/02/25 16:27:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Print dlg always drew the background layer.
----------------------------
revision 1.2449
date: 2008/02/25 05:26:13;  author: pfaedit;  state: Exp;  lines: +2 -2
In Type3 fonts, the layers which aren't current should be drawn as dashed black lines not as green lines. the green lines aren't visible against background images (to my eyes anyway).
----------------------------
revision 1.2448
date: 2008/02/25 00:46:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a command Points->Make Arc, which is similar to Points->Make Line except that it connects the two points with an elliptical arc rather than a straight line. The ellipse is choosen to run through the two points (obviously) and to be tangent to the slope of those points. This isn't enough information to determine an ellipse uniquely (three points and two tangents being required) so in general there will be an infinite number of solutions (and it is possible to provide contradictory input so that no ellipse can be found). FontForge may not choose the ellipse you had your heart set on. FF will first attempt to find an ellipse so that one of the points lies on an axis of the ellipse (this will find a circle if there is a circle which satisfies the constraints above). If that fails it will look more generally for ellipses.

(If you hold down the <Alt> key when you select the menu item, FF will leave the ellipse it calculated in the background layer. That was a debugging technique but I thought it was kind of interesting and left it in.)
----------------------------
revision 1.2447
date: 2008/02/24 12:44:08;  author: akryukov;  state: Exp;  lines: +3 -3
Further improvements in calculating active zones for curved segments : if the
spline is closer to the opposed stem edge at the given point, don't extend
the active zone any longer.

If a line's unit vector is close enough to the font's italic slant, then
prefer the unit vector based on the italic slant instead.

Added an experimental mode which allows to build glyph data based on
a preexisting hint layout and extend it with additional stems.
----------------------------
revision 1.2446
date: 2008/02/23 00:02:19;  author: pfaedit;  state: Exp;  lines: +2 -2
The rotate tool in char view didn't show the angle of rotation.
----------------------------
revision 1.2445
date: 2008/02/22 19:42:52;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor:
 - Fixed more bugs with ghost hints.
 - check_blue_pts() was a bug as a whole.
----------------------------
revision 1.2444
date: 2008/02/21 19:17:31;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor:
  Alexey wants strong point interpolation to be moved after instructing diagonals.
  He plans to adjust diagonals in relation to other hints otherwise.
----------------------------
revision 1.2443
date: 2008/02/20 21:09:28;  author: pfaedit;  state: Exp;  lines: +2 -2
FF didn't compile when the truetype debugger wasn't configured.
----------------------------
revision 1.2442
date: 2008/02/20 21:07:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out an #ifdef which wasn't complex enough...
----------------------------
revision 1.2441
date: 2008/02/20 21:04:19;  author: pfaedit;  state: Exp;  lines: +2 -2
In an un instructed font, the [Default] button in FontInfo->Grid Fitting produces the wrong result (and has since I added support for the new gasp features of ClearType.
----------------------------
revision 1.2440
date: 2008/02/20 20:11:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Doing hint modifications caused errant pointers to be used. Often crashing.
----------------------------
revision 1.2439
date: 2008/02/20 20:00:57;  author: pfaedit;  state: Exp;  lines: +2 -2
All the dlgs based on the charview (mathkern, search, tilepath) started displaying the background layer rather than the foreground.

Math strings weren't getting initialized in math kern.
----------------------------
revision 1.2438
date: 2008/02/20 19:31:47;  author: pfaedit;  state: Exp;  lines: +2 -2
One of the math constants had the wrong friendly name.
----------------------------
revision 1.2437
date: 2008/02/20 19:01:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Validate before saving was broken when I added the layers field to the generate fonts dlg.

Draw the active layer in the foreground color. The distinction between foreground and background is now rather vague.
----------------------------
revision 1.2436
date: 2008/02/20 17:14:59;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: IsAnglePoint() wasn't immune for implied corner points.
----------------------------
revision 1.2435
date: 2008/02/20 15:53:45;  author: pfaedit;  state: Exp;  lines: +3 -3
A font-wide transform would transform the background layer twice.

Also the transform menu item seems to have lost its shortcut. Put it back.
----------------------------
revision 1.2434
date: 2008/02/19 20:58:25;  author: pfaedit;  state: Exp;  lines: +3 -3
When selecting a control point in the outline view, we would always select the next point if both next and prev were in the same place (ie, on the base point itself). But when the point is at the end of an open contour, the one which should be selected is the one which controls a spline (which need not be the next one).
----------------------------
revision 1.2433
date: 2008/02/19 00:00:17;  author: pfaedit;  state: Exp;  lines: +2 -2
The foreground layer used to be special (it was not in the list of layers in Font Info->layers, and it was out of order in the layers palette). Give it it's expected place in both.
----------------------------
revision 1.2432
date: 2008/02/18 23:05:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a View->Layers menu to the metrics view.
----------------------------
revision 1.2431
date: 2008/02/18 23:04:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Parameterize some more dialogs with a layer. Some of these do not need the layer themselves (FontInfo doesn't) but sub-dialogs of theirs do.
----------------------------
revision 1.2430
date: 2008/02/18 03:04:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Another layer patch. The layer the fontview displays and controls should now be under user control (View->Layers->*) and not always be the Foreground layer.
----------------------------
revision 1.2429
date: 2008/02/16 20:32:49;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor:
- Some comments were out of date.
- Strong point interpolator was setting unneeded reference points.
- Support for ghost hints in strong point interpolator was broken.
----------------------------
revision 1.2428
date: 2008/02/16 14:11:55;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: IsInflectionPoint() hung on single-point contours.
----------------------------
revision 1.2427
date: 2008/02/16 03:01:09;  author: pfaedit;  state: Exp;  lines: +3 -3
AFM files were based on the foreground layer, not the layer being output.
----------------------------
revision 1.2426
date: 2008/02/15 22:15:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. If one opened Font Info on a tt font and pressed [OK] without doing anything, then the font became cubic (well, foreground and guide layers did, background might have been ok). A widget wasn't initialized properly.
----------------------------
revision 1.2425
date: 2008/02/15 13:35:51;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor:
- Tracking value of rp0 in geninstrs() was broken.
  This sometimes caused transient but exceptionally ugly bugs.
----------------------------
revision 1.2424
date: 2008/02/14 06:51:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Add commands for copying one layer to another, and for comparing one layer with another.
----------------------------
revision 1.2423
date: 2008/02/14 06:44:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh dear. My original method for storing background layers didn't allow for references (because I didn't put them in the background). But I need them now.
----------------------------
revision 1.2422
date: 2008/02/14 02:56:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Rewrite the PfEd layers code to take advantage of our new layers.
----------------------------
revision 1.2421
date: 2008/02/13 17:55:05;  author: pfaedit;  state: Exp;  lines: +2 -2
TopLeft/TopRight etc. in math kerning weren't translated.
----------------------------
revision 1.2420
date: 2008/02/13 17:53:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Label some of the horizontal metrics lines
----------------------------
revision 1.2419
date: 2008/02/13 17:50:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Trying to move the top accent line resulted in a crash.
----------------------------
revision 1.2418
date: 2008/02/13 17:46:10;  author: pfaedit;  state: Exp;  lines: +2 -2
The Search view/Tile path dlg/Math kern dlg would all crashed if asked to add an anchor (or create a font info dlg, or glyph info, ...)
----------------------------
revision 1.2417
date: 2008/02/13 13:45:39;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor:
- Alexey points out that perpendicular extremae were not interpolated between edges.
- Fixed rare crash due to uninitialized pointers in SetFreedomVector().
- SMD after last diagonal stems is probably no longer needed.
- instructpoints() can now use SLOOP.
----------------------------
revision 1.2416
date: 2008/02/13 01:36:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, fixup to new calling conventions.
----------------------------
revision 1.2415
date: 2008/02/13 01:21:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Reinstate the behavior of the symbol encoding that the wine developers depend on.
----------------------------
revision 1.2414
date: 2008/02/12 15:36:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a scripting flag so that script writers can control whether a font has a symbol encoding without having to use a funky extension. (Wine people don't like having to say ".sym.ttf").
----------------------------
revision 1.2413
date: 2008/02/12 14:38:07;  author: pfaedit;  state: Exp;  lines: +2 -2
More fixes to symbol output.
----------------------------
revision 1.2412
date: 2008/02/12 04:29:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Drat. FF really wants to set the latin1 codepage bit, even if the user explicitly provides the codepage settings. The wine people don't like that.
----------------------------
revision 1.2411
date: 2008/02/11 23:39:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal points out a crash bug introduced by the recent layer changes (when reading a truetype font with a MATH table)
----------------------------
revision 1.2410
date: 2008/02/11 23:33:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal points out that tooltips in the math window don't get translated.
----------------------------
revision 1.2409
date: 2008/02/11 22:49:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Did I include
   fontforge.activeLayer()
----------------------------
revision 1.2408
date: 2008/02/11 22:45:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add new python stuff to handle layers:
  fontforge.activeLayer()
    Returns the currently active layer
  font.layer_cnt
    Returns the number of layers in the font
  font.layers
    A dictionary like object which can be indexed either by an integer
    between 0 (inclusive) and layer_cnt (exclusive) or by the name of a
    layer. After indexing it returns a LayerInfo object. LayerInfo objects
    have no independant existance, and contain a layer's name and a boolean
    indicating whether the layer is_quadratic.
      font.layers[1].name = "Foreground"
      font.layers[0].is_quadratic = TRUE
    You may delete a layer
      del font.layers["Extra layer"]
    You may add a new layer
      font.layers.add("name",is_quadratic)
    (this object has an iterator which returns the names of all layers)
  glyph.layer_cnt
    Returns the number of layers in the glyph (this is the same as the
    number in the font, except for type3 fonts).
  glyph.layers
    Returns a dictionary like object which may be indexed by layer name or
    an integer [0,layer_cnt) as above. The result is a standard layer object.
    (this object has an iterator which returns the names of all layers)
  glyph.reflayers
    Returns a dictionary like object which may be indexed by layer name or
    an integer [0,layer_cnt) as above. The result is a standard list of
    references.
    (this object has an iterator which returns the names of all layers)
  layer.export
    It is now possible to export the contours of a layer (before only
    glyphs could be exported)
  glyph.export
    Slight change to the semantics. When outputting an outline file, there
    is now an optional second argument which specifies the layer to output.
    (again integer or layer name).
  font.generate
    Has a new keyword argument "layer" to specify which layer should be output.
----------------------------
revision 1.2407
date: 2008/02/11 04:54:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Make it possible to generate a font from a specific layer which need not be the foreground layer. Hints and instructions (and glyphs output, and bitmaps) will be the same for all layers.
----------------------------
revision 1.2406
date: 2008/02/10 23:19:18;  author: pfaedit;  state: Exp;  lines: +2 -2
The CharView should now let the user play in multiple layers.
----------------------------
revision 1.2405
date: 2008/02/10 01:56:08;  author: pfaedit;  state: Exp;  lines: +3 -3
If we have two fonts open, a type3 (multilayered) one and a normal outline, and we have outline glyph windows open from each font, and we move the focus between the glyph windows, then the layers palette will get left behind when focus moves to the other font.
(and other more complex senarios when switching between multilayered and outline).
----------------------------
revision 1.2404
date: 2008/02/09 10:21:56;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: init_maxp() did not update maxp.max_fdefs properly.
----------------------------
revision 1.2403
date: 2008/02/09 04:40:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Move hint visiblility control from the charview layers palette to a new menu View->Show->* Hints
----------------------------
revision 1.2402
date: 2008/02/08 22:39:28;  author: pfaedit;  state: Exp;  lines: +2 -2
When loading a feature file, ff would complain if a mark appeared in two anchor classes -- even if those classes were in separate lookups. This meant it got unhappy about a mark which was in both a mark 2 mark lookup and in a mark to base lookup.
----------------------------
revision 1.2401
date: 2008/02/08 22:35:49;  author: pfaedit;  state: Exp;  lines: +2 -2
I had intended not to give warning messages about names like "nine.oldstyle" (defined in Adobe's obsolete PUA mapping) when loading a tt font, if such a glyph had a different unicode mapping (or none) than the one Adobe used ages ago.
But I screwed up and was generating messages anyway.
----------------------------
revision 1.2400
date: 2008/02/08 05:59:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a Layers pane to Font Info.
----------------------------
revision 1.2399
date: 2008/02/07 23:15:46;  author: pfaedit;  state: Exp;  lines: +2 -2
When converting cubics to quadratics, if we had a curved spline where one of the endpoints of the spline had no control point, then we'd get a slope at that point of 0/0. This meant that we tried to put a quadratic control point on top of that endpoint which looked confusing and seemed unnecessary.
----------------------------
revision 1.2398
date: 2008/02/07 22:47:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn it. Some day I'll get this right.
----------------------------
revision 1.2397
date: 2008/02/07 22:26:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in glyph compare. Caused another crash when comparing lookups.
----------------------------
revision 1.2396
date: 2008/02/07 16:51:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Didn't handled NULL tokens properly when reading in a feature file.
----------------------------
revision 1.2395
date: 2008/02/07 16:06:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Yesterday's contextual patch had a test reversed.
----------------------------
revision 1.2394
date: 2008/02/07 15:42:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Still more problems with the layers change.
----------------------------
revision 1.2393
date: 2008/02/07 04:56:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it easier to select control points when the alt key is down.
----------------------------
revision 1.2392
date: 2008/02/07 03:35:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a mechanism for getting default values for private dict entries in python scripts.

(Also provide default values now when [Add]ing private entries in Font Info.
----------------------------
revision 1.2391
date: 2008/02/07 02:20:24;  author: pfaedit;  state: Exp;  lines: +2 -2
I broke converting a font from quadratic to cubic splines with the layer change.
----------------------------
revision 1.2390
date: 2008/02/07 02:08:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Making class0 editable broke the ability to create a context chaining class lookup.

The encapsulation for creating libfontforge broke importing a lookup from one font to another.

Feature file generation omitted a semicolon after (some) contextual lookup rules.
----------------------------
revision 1.2389
date: 2008/02/06 21:42:44;  author: pfaedit;  state: Exp;  lines: +2 -2
The first reference in a glyph without a splineset (or first image) would be lost.
----------------------------
revision 1.2388
date: 2008/02/06 02:00:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Nasty bug with references in ApplySubstitutions scripting command.
----------------------------
revision 1.2387
date: 2008/02/05 22:20:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Mark classes didn't work.
----------------------------
revision 1.2386
date: 2008/02/05 21:18:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal N. points out that "Really Use Typo Metrics" should be moved above the typo metrics (or below) but should not be in the middle of them.

He also tells me that the internationalized weight classes don't get parsed properly.
----------------------------
revision 1.2385
date: 2008/02/05 20:54:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Omitted a large patch. Without this patch, ff only worked in multilayered mode.
----------------------------
revision 1.2384
date: 2008/02/05 15:43:10;  author: michal-n;  state: Exp;  lines: +3 -3
Autoinstructor:
- Finished support for PS family alignment zones.
! Disabling hinting at nano sizes depended on ppem measured along wrong axis.
! Fixing this implied changes to default 'prep' code.
----------------------------
revision 1.2383
date: 2008/02/04 19:30:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Change to fontforge internals to allow for multiple background layers, each of different spline orders.
----------------------------
revision 1.2382
date: 2008/02/03 20:33:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone handed me a font with a SJIS encoding cmap. The cmap mapped a glyph to SJIS 128, which isn't a valid SJIS code point. FF got an insane result when trying to convert to unicode and crashed. Add a check against bad code points.
----------------------------
revision 1.2381
date: 2008/02/03 20:06:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Forgot (sort of) to reset the scroll bar bounds when resizing a window.
----------------------------
revision 1.2380
date: 2008/02/03 19:57:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two proposed features from the pre-draft of OT 1.6
Drop Caps
Character Variants 00-99
----------------------------
revision 1.2379
date: 2008/02/03 19:15:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a popup menu to the warnings window to copy selection to clipboard and to clear the window of all warnings.
----------------------------
revision 1.2378
date: 2008/02/03 14:59:09;  author: akryukov;  state: Exp;  lines: +2 -2
Oops. It was possible to assign a left line (and thus some of this line's
points) to the right side of a stem. This resulted into a NaN in
AddLIneSegment().
----------------------------
revision 1.2377
date: 2008/02/03 05:47:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to be able to select text in the warnings window to paste elsewhere. And he points out some scrolling flaws as well.
----------------------------
revision 1.2376
date: 2008/02/03 05:44:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Could not attach lookups to mac feature settings.
----------------------------
revision 1.2375
date: 2008/02/02 02:59:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up some display problems in the type3 layers palette and layer info dlg.
----------------------------
revision 1.2374
date: 2008/02/01 23:08:13;  author: pfaedit;  state: Exp;  lines: +3 -3
New script/language/feature tags from OpenType 1.5.
----------------------------
revision 1.2373
date: 2008/02/01 02:18:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Yesterday's patch to Merge/Simplify broke Expand Stroke.
----------------------------
revision 1.2372
date: 2008/01/31 14:42:22;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: turned on strong point interpolation:
- Various important outline points are correctly placed between hints' edges.
- Potential benefits for DStem positioning.
- Drawbacks: 2x slower, code generated is now much bigger.
----------------------------
revision 1.2371
date: 2008/01/31 14:11:38;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: Refinements in horizontal stem positioning:
- If a stem is sufficiently close to a blue zone, it's mdrped, not interpolated.
- Added fpgm function 8 for interpolating stems. This should result in smaller glyph programs.
----------------------------
revision 1.2370
date: 2008/01/31 12:57:16;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: Patch by Alexey, fixes a buglet in DStem code.
----------------------------
revision 1.2369
date: 2008/01/31 10:20:55;  author: akryukov;  state: Exp;  lines: +2 -2
Improve handling of very thin stems.
----------------------------
revision 1.2368
date: 2008/01/31 02:48:30;  author: pfaedit;  state: Exp;  lines: +3 -3
The merge (and simplify) command could produce odd results if the points surrounding the merge had no control points.
----------------------------
revision 1.2367
date: 2008/01/30 20:50:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Keep search/replace from going into infinite recursion.
----------------------------
revision 1.2366
date: 2008/01/30 01:01:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Rotated replaces ignoring endpoints didn't work.
----------------------------
revision 1.2365
date: 2008/01/29 17:45:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend find/replace to handle changing angles.
----------------------------
revision 1.2364
date: 2008/01/29 05:03:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Cleanup some oddities in the find/replace dlg.
----------------------------
revision 1.2363
date: 2008/01/29 01:46:18;  author: pfaedit;  state: Exp;  lines: +3 -3
The Display/Print dlg would crash when the user pressed the reset button if there were at least two pointsizes of the font on display. Perhaps in other cases too.
----------------------------
revision 1.2362
date: 2008/01/27 22:53:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Make shift click in the lookup dialog (but not the subtable part) select all lookups between current click and a previously selected point.
----------------------------
revision 1.2361
date: 2008/01/27 22:18:36;  author: pfaedit;  state: Exp;  lines: +2 -2
glyph.addPosSub doesn't work for ligatures or multiple substitutions. It treats both as alternate substitutions.
----------------------------
revision 1.2360
date: 2008/01/27 21:55:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Now. points out that there are some strings not marked for translation in cvruler.c.
----------------------------
revision 1.2359
date: 2008/01/27 21:54:15;  author: pfaedit;  state: Exp;  lines: +2 -2
More from Michal on mono rendering in the debugger.
----------------------------
revision 1.2358
date: 2008/01/27 21:47:00;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge never checked that fonts had fewer than 65536 glyphs. I just blythely assumed I wouldn't have to worry. Well someone handed me a font with 65731 glyphs, and FF treated it as having 195 glyphs. Things got nasty after the 196th.
----------------------------
revision 1.2357
date: 2008/01/27 11:12:22;  author: akryukov;  state: Exp;  lines: +2 -2
Fix a crash in autohint.c and an infinite loop in stemdb.c.
----------------------------
revision 1.2356
date: 2008/01/27 05:19:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Forgot to update the window title when changing the pointsize in gridfit mode.
----------------------------
revision 1.2355
date: 2008/01/27 03:43:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Font Compare would crash if one font had a lookup subtable which was not in the other.
----------------------------
revision 1.2354
date: 2008/01/26 16:20:19;  author: akryukov;  state: Exp;  lines: +3 -3
Improve the algorithm used to detect reference points for stem edges.
Enable snapping "corner extrema" to predefined hints.
----------------------------
revision 1.2353
date: 2008/01/24 22:57:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove the obsolete Private Dict to CVT table command.
----------------------------
revision 1.2352
date: 2008/01/24 22:50:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Now. wants short cuts to change grid fit attributes, so a new sub menu with things like increase point size, change AA, etc. (with shortcuts, of course).
----------------------------
revision 1.2351
date: 2008/01/24 21:47:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski. In Show Grid fit not setting the mono bit correctly in freetype.
----------------------------
revision 1.2350
date: 2008/01/24 21:07:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Bug in pfm file output.
----------------------------
revision 1.2349
date: 2008/01/24 21:06:03;  author: pfaedit;  state: Exp;  lines: +3 -3
If we failed to open a plugin library during init, it would call LogError before the display was initialized, leading to a crash.
----------------------------
revision 1.2348
date: 2008/01/23 08:44:26;  author: michal-n;  state: Exp;  lines: +2 -2
Autoinstructor: If a horizontal stem interpolated between blue zones was very close to one of them, it often jumped beyond that zone in small ppems. This was especcially annoying for serif fonts.
----------------------------
revision 1.2347
date: 2008/01/23 06:47:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Improvements (I hope) to the ruler tool
  1) Make it snap to splines (in addition to points)
  2) Have it draw a line from the start point to the mouse
  3) If they start on a spline, then include info on the offset
	in coordinates parallel to the spline and normal to it.
  4) Provide a "spline length" if the start and end points are on
	the same spline (instead of just if they were the end-points
	of the spline).
----------------------------
revision 1.2346
date: 2008/01/23 00:39:37;  author: pfaedit;  state: Exp;  lines: +3 -3
In python scripting contour.reverseDirection only worked on closed contours.
----------------------------
revision 1.2345
date: 2008/01/22 23:07:54;  author: pfaedit;  state: Exp;  lines: +2 -2
If you click wildly in the cvt editor it would eventually go into infinite recursion.

Alexej doesn't like the way the height of a textfield can be determined by its initial contents.
----------------------------
revision 1.2344
date: 2008/01/22 22:21:56;  author: pfaedit;  state: Exp;  lines: +2 -2
If there were no free anchor class then attempting to add an anchor point would pop up the Mark Classes pane of Font Info (rather than Lookups). This is sufficiently close to Anchor Class as to be very confusing.
----------------------------
revision 1.2343
date: 2008/01/22 21:48:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Make label gadgets (and buttons which are also labels) handle multiline text.
----------------------------
revision 1.2342
date: 2008/01/22 03:54:55;  author: pfaedit;  state: Exp;  lines: +2 -2
If the user closes the font info dlg when there are mark class dialogs floating around then close them too (there was code which was supposed to do this, but it didn't work).
----------------------------
revision 1.2341
date: 2008/01/22 03:36:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Try to make it clear in the Mark Classes pane of the Font Info that mark classes are not anchor classes. Someone got confused...
----------------------------
revision 1.2340
date: 2008/01/21 22:41:39;  author: pfaedit;  state: Exp;  lines: +2 -2
The fix I put in the other day for using uninitialized variables, ended up using a different uninitialized variable and the results were far worse than they had been. CVT editor crashed on creation.

When the instruction editor went from view to edit mode (why do I make that
distinction?) it shrank and this bothered Alexej.
----------------------------
revision 1.2339
date: 2008/01/21 21:16:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some bugs in parsing mark anchors in feature files.
----------------------------
revision 1.2338
date: 2008/01/21 13:36:19;  author: akryukov;  state: Exp;  lines: +3 -3
Make the stem detector to collect some additional data useful for the
autoinstructor. Fix a crash in AssignPointsToStems().
----------------------------
revision 1.2337
date: 2008/01/20 06:30:38;  author: pfaedit;  state: Exp;  lines: +3 -3
When adding an hvcurve point into an existing spline it behaved like a curved point and laid parallel to the spline rather than being either horiz or vert.
----------------------------
revision 1.2336
date: 2008/01/18 22:24:38;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge uses floats (which have ~24 bits of precision internally) to represent coordinates. Type2 fonts use a 16.16 fixed notation, which means that we only represent coordinates <256 accurately. This will cause slight errors during output and input of a font. Unfortunately, due to the rel-rel nature of postscript these slight errors accumulate.

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.
----------------------------
revision 1.2335
date: 2008/01/18 13:51:04;  author: akryukov;  state: Exp;  lines: +2 -2
Check several adjacent splines when detecting active zones for curved segments
and thus make the algorithm less dependent from the number of additional points
on a contour and their exact positions.
Move variable declarations before code for compatibility with old gcc versions.
----------------------------
revision 1.2334
date: 2008/01/18 06:10:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple of problems that -pedantic complains about.
----------------------------
revision 1.2333
date: 2008/01/18 04:03:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Michael Zedler points out several uninitialized variables.
----------------------------
revision 1.2332
date: 2008/01/18 03:30:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Some mnemonics in the Element menu are used for two items. Clean it up a bit.
----------------------------
revision 1.2331
date: 2008/01/18 01:24:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a "Find Problems" for non integral coordinates.
Change the "Ref with bad ttf transformation" so that it checks for integral coordinates too.
----------------------------
revision 1.2330
date: 2008/01/17 18:34:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone using an old C compiler complains (rather insultingly) about syntax errors.
----------------------------
revision 1.2329
date: 2008/01/17 18:19:10;  author: pfaedit;  state: Exp;  lines: +2 -2
the glyph.validate function in python was marked as taking NOARGS in the method table, but, in fact, does take arguments.
----------------------------
revision 1.2328
date: 2008/01/17 01:23:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Validate used to complain if the StemSnap[HV] array were missing. But that's perfectly ok.
----------------------------
revision 1.2327
date: 2008/01/17 01:03:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Be more lenient when closing a path ... we can get rounding errors.
----------------------------
revision 1.2326
date: 2008/01/17 01:00:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a little LogError to let the user know if there are sfnt tables we ignore.
----------------------------
revision 1.2325
date: 2008/01/16 18:00:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Deep in the heart of Find Problems check for bad contour direction, was a bug where it looked at the wrong spline.
----------------------------
revision 1.2324
date: 2008/01/15 17:09:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Just as it is possible to have things in 'morx' that are not in 'GSUB', it is possible that a 'GPOS' table contains no kerning information but a 'kern' table does. We used not to read 'kern' if we had 'GPOS', be a little subtler and check for the presence of a 'kern' feature inside 'GPOS' before deciding whether to read the 'kern' table.
----------------------------
revision 1.2323
date: 2008/01/14 22:58:28;  author: pfaedit;  state: Exp;  lines: +3 -3
The anchor control dialog didn't work for mark to mark anchors when looking at a base mark.
----------------------------
revision 1.2322
date: 2008/01/14 22:36:13;  author: pfaedit;  state: Exp;  lines: +3 -3
When a font contained glyphs with multiple encodings, then ff would produce bdf files with a char count which matched the # glyphs, not the number of encoding slots used.
----------------------------
revision 1.2321
date: 2008/01/14 22:34:47;  author: pfaedit;  state: Exp;  lines: +2 -2
In a compacted cid font, the status line (containing unicode, unicode block/name, etc) was junk.
----------------------------
revision 1.2320
date: 2008/01/14 21:34:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants to be able to mark that it's ok for a spline to have intermediate extrema.
----------------------------
revision 1.2319
date: 2008/01/14 21:26:10;  author: pfaedit;  state: Exp;  lines: +2 -2
The []TeX Table checkbox was always disabled in the save font dlg.
----------------------------
revision 1.2318
date: 2008/01/14 05:23:54;  author: pfaedit;  state: Exp;  lines: +2 -2
The DejaVu people want to be able to associate a comment with a cvt entry.
----------------------------
revision 1.2317
date: 2008/01/14 02:32:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Find Problems->ATT->Missing glyph name  complains about the special string
<Delete> which I used in Apple lookups to represent the "Delete Glyph" action
that apple supports and OT does not. Don't complain about this any more.

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.
----------------------------
revision 1.2316
date: 2008/01/13 22:10:59;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contained an empty anchor class (having either no base glyphs or no mark glyphs) then when dumping out the font subsequent anchor classes got the wrong data associated with them.
----------------------------
revision 1.2315
date: 2008/01/13 21:28:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants non-integral hints.
----------------------------
revision 1.2314
date: 2008/01/13 20:46:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that Scale To Em doesn't scale the guidelines.

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.
----------------------------
revision 1.2313
date: 2008/01/13 19:09:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Previous patch to enable class 0 of contextual lookups had a bug and would save garbage into the sfd file.
----------------------------
revision 1.2312
date: 2008/01/12 04:57:26;  author: pfaedit;  state: Exp;  lines: +3 -3
When complaining about a bad class in a mark (GPOS) sub-table, specify the name of the offending mark if we can.
----------------------------
revision 1.2311
date: 2008/01/11 01:15:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Should mark hints changed after changing instructions rather than the full blown charchangedupdate.
----------------------------
revision 1.2310
date: 2008/01/10 20:58:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Lost the short cut for auto instr.
----------------------------
revision 1.2309
date: 2008/01/09 22:33:07;  author: akryukov;  state: Exp;  lines: +2 -2
I previously forgot to update the DStem code in fvcomposit.c, so do that now.
Also fix a couple of bugs related with lines in stemdb.c (one could cause
a crash).
----------------------------
revision 1.2308
date: 2008/01/09 20:05:36;  author: pfaedit;  state: Exp;  lines: +2 -2
In Font Info->Lookups, add to the lookup tooltip information on what other lookups use the current lookup.
----------------------------
revision 1.2307
date: 2008/01/09 15:12:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. AutoInstr doesn't set the changed bit on a glyph.
----------------------------
revision 1.2306
date: 2008/01/09 03:47:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Missing routine if --with-regular-link set.
----------------------------
revision 1.2305
date: 2008/01/08 23:15:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some problems with AAT. Mutually exclusive features in the chain didn't get the right OffFlags set. (and didn't work).
----------------------------
revision 1.2304
date: 2008/01/08 23:12:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops left stuff out.
----------------------------
revision 1.2303
date: 2008/01/08 21:19:43;  author: akryukov;  state: Exp;  lines: +2 -2
Add DHint support for native scripts. Also prevent users from specifying incorrect unit
vectors for diagonal hints added via python scripts.
----------------------------
revision 1.2302
date: 2008/01/08 20:26:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove my original (and not very good) auto instructor.
----------------------------
revision 1.2301
date: 2008/01/08 19:36:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Fontlog should be editable (well, appendable) from the Generate Fonts dlg.
----------------------------
revision 1.2300
date: 2008/01/08 17:42:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Omitted newlines after FontLog and UComments in the sfd file.
----------------------------
revision 1.2299
date: 2008/01/08 15:10:21;  author: akryukov;  state: Exp;  lines: +2 -2
Implement Python interface to access DStem hints. Also use stemdb.c to
calculate active zones for normal (horizontal and vertical) hints added via
Python scripts.
----------------------------
revision 1.2298
date: 2008/01/08 15:04:11;  author: akryukov;  state: Exp;  lines: +2 -2
Prevent lines which are not exactly horizontal/vertical from assigning to HV stems.
----------------------------
revision 1.2297
date: 2008/01/08 03:23:29;  author: pfaedit;  state: Exp;  lines: +2 -2
It used to be that when a font had both 'mor[tx]' and 'GSUB' we would only read 'GSUB'. But Michel Boyer wanted to read both. So... read 'morx' after 'GSUB' and if we find a feature/setting that looks as though it corresponds to an existing OpenType lookup (which we can convert to a Mac format) then skip that feature/setting, presuming it to contain redundant data.

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.
----------------------------
revision 1.2296
date: 2008/01/08 03:15:36;  author: pfaedit;  state: Exp;  lines: +2 -2
The 'feat' table was being output in the wrong order. Features were linked together in several ways and 'feat' followed the wrong field.
----------------------------
revision 1.2295
date: 2008/01/08 02:08:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a fontlog field to the font.
----------------------------
revision 1.2294
date: 2008/01/07 21:05:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Two related bugs that Charis SIL invokes:
1) This font has a contextual substitution which uses class 0 and replaces it via a nested lookup. But my feature file output could not handle class 0 (since it isn't really specified) and would crash.
2) However, in this case class 0 was specified by the coverage table (we fixed that earlier but just for kerning classes). So now fix for contextuals.
----------------------------
revision 1.2293
date: 2008/01/07 15:40:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Produce warnings when loading a font containing both AAT ('morx') and opentype ('GSUB') tables. This has confused some users in the past who assume that reading in and writing out a font will duplicate it. Unfortunately FF doesn't produce AAT tables be default so that info gets lost.
----------------------------
revision 1.2292
date: 2008/01/07 03:39:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Scripting access to the new 'PfEd' subtables.
----------------------------
revision 1.2291
date: 2008/01/07 03:21:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the PfEd table so that the font comment is in utf8, and the glyph comment subtable too.

Add subtables to hold:
   * Names of lookups and lookup subtables and anchor classes
   * Guide lines
   * Background and spiro layers
----------------------------
revision 1.2290
date: 2008/01/07 03:13:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Auto recovery was broken. Ever since I put in the code to ask the user what to do with a recovery file (It always recovered into a new file).
----------------------------
revision 1.2289
date: 2008/01/07 03:10:13;  author: pfaedit;  state: Exp;  lines: +3 -3
When FF opens a char window on my screen it has a bad habit of opening it at 40% magnification. Which means mouse clicks give things either at em or at half me positions. That's bad. Don't want the default behavior to create lots of .5 coordinate values.

Make the window open at 33% instead.
----------------------------
revision 1.2288
date: 2008/01/05 22:04:23;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge warns the user when a glyph's name does not match its unicode encoding. But in the past it would do this for glyphs with multiple encodings even if the name matched one of the encodings. Fix that.
----------------------------
revision 1.2287
date: 2008/01/05 16:08:53;  author: pfaedit;  state: Exp;  lines: +3 -3
When FF uses doubles internally, it still outputs float precision into the sfd file. Fix that.
----------------------------
revision 1.2286
date: 2008/01/04 16:36:20;  author: michal-n;  state: Exp;  lines: +2 -2
Patch from Alexey - cures segfaults in code for DStems.
----------------------------
revision 1.2285
date: 2008/01/04 04:33:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Still said "Tangent" rather than "Constraint" in points menu when in Spiro mode.
----------------------------
revision 1.2284
date: 2008/01/03 19:17:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Ben Laenen of Deja Vu says it would be nice if sfd files stored truetype instructions as recognizable text rather that squirrily ASCII85 encoded binary data. Sounds reasonable. Might as well store 'cvt ' and 'maxp' as numbers then.
----------------------------
revision 1.2283
date: 2008/01/03 11:32:30;  author: akryukov;  state: Exp;  lines: +2 -2
Remove some deprecated DStem code. Also move CVNumForePointsSelected() to charview.c and make
it static (not used anywhere else except that file).
----------------------------
revision 1.2282
date: 2008/01/03 04:10:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Sometimes the pointers to libspiro didn't get initialized.
----------------------------
revision 1.2281
date: 2008/01/03 03:46:16;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font had no private dica and one tried to put something in it from python, ff would crash.
----------------------------
revision 1.2280
date: 2008/01/03 02:56:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexej points out that my use of iconv was broken on many systems where UCS-4 is big endian on a little-endian machine.
----------------------------
revision 1.2279
date: 2008/01/02 20:57:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Use freetype to rasterize the fill blit in the char view.
----------------------------
revision 1.2278
date: 2008/01/02 19:41:02;  author: michal-n;  state: Exp;  lines: +2 -2
- In search_edge, an array subscript was sometimes -1?
- Previously I forgot to mention Alexey's changes in DStems hinting code.
----------------------------
revision 1.2277
date: 2008/01/02 19:04:30;  author: michal-n;  state: Exp;  lines: +2 -2
Simple optimization for blue zone hinting - cupped serifs should benefit most.
----------------------------
revision 1.2276
date: 2008/01/02 18:23:54;  author: akryukov;  state: Exp;  lines: +2 -2
Renamed loop variables in NormalizeStem() but forgot to change all occurences. Fix it now.
----------------------------
revision 1.2275
date: 2008/01/02 15:30:55;  author: akryukov;  state: Exp;  lines: +3 -3
Pass em size directly to GlyphDataInit() (may be useful if the spline font object is not yet
available).
----------------------------
revision 1.2274
date: 2008/01/01 22:30:45;  author: akryukov;  state: Exp;  lines: +2 -2
Enable resizing and flipping DStem hints (and fix a couple of bugs introduced by previous
patches).
----------------------------
revision 1.2273
date: 2008/01/01 18:23:30;  author: akryukov;  state: Exp;  lines: +2 -2
Add two new stem data properties, specifying the number of points assigned to left and right
edges of this stem.
----------------------------
revision 1.2272
date: 2008/01/01 16:54:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Update copyright notices.
----------------------------
revision 1.2271
date: 2008/01/01 03:56:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, typo in python menu code.
----------------------------
revision 1.2270
date: 2007/12/31 06:23:19;  author: pfaedit;  state: Exp;  lines: +3 -3
There is now an incomplete fontforge which uses the gtk toolkit.
	$ ./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.

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.
----------------------------
revision 1.2269
date: 2007/12/30 16:39:12;  author: akryukov;  state: Exp;  lines: +2 -2
Switching to a new internal representation of diagonal stem hints.
----------------------------
revision 1.2268
date: 2007/12/30 05:51:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a mechanism to check that the executable has been configured to match the library.
And include a library date stamp as well as an executable stamp.
----------------------------
revision 1.2267
date: 2007/12/29 21:33:23;  author: pfaedit;  state: Exp;  lines: +2 -2
In the metrics view, if I switch from outline view to bitmap view (by selecting a strike by pixel size from the view menu) then ff would crash.
----------------------------
revision 1.2266
date: 2007/12/29 21:29:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Cleanup the library executable interface a bit more.
----------------------------
revision 1.2265
date: 2007/12/27 05:10:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Minor tweaks to fontview.
----------------------------
revision 1.2264
date: 2007/12/25 00:09:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Move another chunk of routines into libfontforge.
----------------------------
revision 1.2263
date: 2007/12/24 04:01:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Move a few more things out of fontview and into fontviewbase (ie. into libfontforge).
----------------------------
revision 1.2262
date: 2007/12/21 19:16:39;  author: michal-n;  state: Exp;  lines: +2 -2
- Alexey suggested improvement for HStemGeninst().
- Added optional experimental code for interpolating strong points.
----------------------------
revision 1.2261
date: 2007/12/21 05:02:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Adger points out that I should deal with long sequences of vowels or consonants. No word in Martin Chuzzlewith (Dickens) has more than 5 consontants in a row (postscript has 5). No word has more than 4 vowels. Other languages have different distributions, but the idea probably extends to all alphabets.
  There's also the problem of standard suffixes and prefixes (declensions, conjugations, superlatives). If I want it really to look like French I should add "er", "ir", "ez", "ant", ... to the end of lots of words. I could do that for French (and English) and could look it up for German and some others... but that's too much work and I've no idea if it is meaningful for Japanese...
----------------------------
revision 1.2260
date: 2007/12/21 00:48:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz wants to be able to set the "don't autohint flag" from python. I'm calling it "manualHints" though.
----------------------------
revision 1.2259
date: 2007/12/21 00:28:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry Schwartz points out that the simplify flag "setstarttoextremum" is incorrectly documented. Fix that.
----------------------------
revision 1.2258
date: 2007/12/20 23:30:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Add frequency data for Hiragana too.
----------------------------
revision 1.2257
date: 2007/12/20 20:25:34;  author: michal-n;  state: Exp;  lines: +3 -3
- In HStemGeninst(), new positioning method gives bizarre results
  for overlapping stems. Added fallback to old method.
----------------------------
revision 1.2256
date: 2007/12/19 03:46:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it obvious that the Print/Display dlg HAS a menu.
----------------------------
revision 1.2255
date: 2007/12/19 03:08:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Crossland wants a way to insert random text into the Print/Display dialog. So add the ability to generate a bunch of random words that look vaguely reasonable. (Invoked by the popup menu in the dlg).
----------------------------
revision 1.2254
date: 2007/12/19 03:00:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Exporting spiros to a plate file produced garbage if any spiros were selected.
----------------------------
revision 1.2253
date: 2007/12/14 20:54:59;  author: pfaedit;  state: Exp;  lines: +2 -2
The Print dlg tended to crash if you did much editing in it.
----------------------------
revision 1.2252
date: 2007/12/14 16:13:50;  author: pfaedit;  state: Exp;  lines: +2 -2
When switching to spiro mode on an empty glyph (or perhaps the first glyph in a new font), FF would complain: Internal Error:
Character out of bounds in bitmap font 0>=0
----------------------------
revision 1.2251
date: 2007/12/14 15:24:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Oof. The math stuff doesn't work if device tables are disabled. fix it.
----------------------------
revision 1.2250
date: 2007/12/14 02:01:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix some problems with configuration modes I don't use. Correct some pointer arguments which differ in signedness.
----------------------------
revision 1.2249
date: 2007/12/13 22:09:20;  author: akryukov;  state: Exp;  lines: +2 -2
If lines are attached to both sides of a diagonal stem, then prefer the longer line's unit
vector for this stem.
----------------------------
revision 1.2248
date: 2007/12/13 21:45:21;  author: michal-n;  state: Exp;  lines: +3 -3
- Fixed snap_to_blues(): it used to mess global accuracy setting up.
- Fixed finish_stem(): it did not mark edges of previous hints as done.
- CHanged HStemGeninst(): it now tries to interpolate HStems within blues when possible.
----------------------------
revision 1.2247
date: 2007/12/12 20:35:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Dave Crossland points out that ff didn't compile if --without-native-script were set.
----------------------------
revision 1.2246
date: 2007/12/12 19:43:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics view can also parse a space separated list of glyph names.
----------------------------
revision 1.2245
date: 2007/12/12 03:07:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Trying to change control points with the point info dlg on hv-curve points didn't work.
----------------------------
revision 1.2244
date: 2007/12/10 20:20:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to insert a list of words into the metrics view.
----------------------------
revision 1.2243
date: 2007/12/09 20:09:16;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font has a variant selector 'cmap' subtable, and has some unnamed glyphs then base names on the information found in the vs subtable as: (u0020.vsFE00)
----------------------------
revision 1.2242
date: 2007/12/09 19:12:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. I was outputting the vertical glyph size when outputting horizontal variants.
(Also, MS seems to output the glyph size as one em-unit bigger than it should be. I don't know why they do this, but I shall follow suit).
----------------------------
revision 1.2241
date: 2007/12/08 18:08:39;  author: akryukov;  state: Exp;  lines: +2 -2
Further refinements to the concept of lines: all points assigned to the same line now should
have filled space at the same side. So what we used to call lines would be better called
edges now. Also the handling of bounding box hints has been improved: all relevant points are
now assigned to a BBox stem hint (not just one point from each side).
----------------------------
revision 1.2240
date: 2007/12/08 04:57:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a user interface to control file recovery (used to be only a command line argument).
----------------------------
revision 1.2239
date: 2007/12/07 20:21:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I broke font generation. It would silently do nothing when asked to generate a font.
----------------------------
revision 1.2238
date: 2007/12/07 19:57:25;  author: pfaedit;  state: Exp;  lines: +2 -2
If the 'MATH' table contains glyphs with unknown names (that is, variant glyphs or glyphs that are part of a contruction program) then try to provide some useful names for them (ie. "bar.vsize1" rather than "glyph789", or "uni2045.top").
----------------------------
revision 1.2237
date: 2007/12/07 19:00:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Do preferences correctly.
----------------------------
revision 1.2236
date: 2007/12/07 16:13:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Barry who points out an extraneous line in the font iter by search.
----------------------------
revision 1.2235
date: 2007/12/07 16:07:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that there is a disconnect between the docs and the program about the "spiros" member of a Contour python object. So correct the docs to read "spiros", and change the program so it will accept "spiro" as well as "spiros".

Add python support for the contour_name.
----------------------------
revision 1.2234
date: 2007/12/07 01:06:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for reading Apple's old sfnt wrapped CID format (basically the same as the sfnt wrapped 'typ1' format.
----------------------------
revision 1.2233
date: 2007/12/06 17:52:29;  author: pfaedit;  state: Exp;  lines: +2 -2
FF crashed on Nastaliq Navees from SIL.
  1) It has no unicode cmap (which ff handled incorrectly)
  2) It has cross-kerning (which ff doesn't handle, but still died while
        explaining that it didn't handle it)
----------------------------
revision 1.2232
date: 2007/12/06 17:47:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the internals of fontforge to separate the user interface from the core engine. This should make it easier to write non-gdraw based user interfaces.
----------------------------
revision 1.2231
date: 2007/12/01 22:08:36;  author: akryukov;  state: Exp;  lines: +3 -3
Use routines from stemdb.c to generate active zones (or stem instances) for manually added
hints. The old algorithm is still used when reading Type 1/OTF font files.
----------------------------
revision 1.2230
date: 2007/11/20 00:44:30;  author: pfaedit;  state: Exp;  lines: +3 -3
FontView -> Hints->Clear hints did not set the hints changed bit.
----------------------------
revision 1.2229
date: 2007/11/19 22:56:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej points out the the patch the other day to keep the fontview's title from overflowing an array in compact mode was flawed. This should fix it.
----------------------------
revision 1.2228
date: 2007/11/19 22:52:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Erik van Blockland points out that python glyph.addPosSub doesn't check for duplicate entries and will blindly add something when it should be replacing it.

Also added a short cut so that it is posible to specify simple kerning by typing one number rather than requiring an additional 7 zeroes.
----------------------------
revision 1.2227
date: 2007/11/19 20:49:08;  author: akryukov;  state: Exp;  lines: +2 -2
Prevent some redundant stem chunks from being generated.
----------------------------
revision 1.2226
date: 2007/11/19 04:01:23;  author: pfaedit;  state: Exp;  lines: +2 -2
More rearranging.
----------------------------
revision 1.2225
date: 2007/11/19 03:39:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Both Adobe Acrobat and Apple's Preview exhibit what I consider to be a bug. According to the PDF reference manual, if an Encoding dictionary is not specified for a font object then the built in encoding will be used. But both these programs reencode to AdobeStandard and do not use the font's built in encoding. GhostScript agrees with my interpretation and does not reencode.

However, they ain't gwana change, so I must. Always dump out an Encoding dictionary even when it shouldn't be needed.
----------------------------
revision 1.2224
date: 2007/11/18 20:03:31;  author: akryukov;  state: Exp;  lines: +2 -2
* Lines are more actively used: stems now have 'leftline' and
  'rightline' properties, and for diagonal stems the stem unit
  vector is always set equal to the unit vector of the line
  corresponding to the left edge of the given stem;
* I no longer attempt to calculate "active" zones for bounding
  box hints (they usually don't correspond to any actual glyph
  features and thus look ugly). So now only edges of such hints
  (without any active zones) are displayed in the charview;
* diagonal stem detection improved (some checks were too strict
  and actually oriented to HV stems);
* the 'blue' property is now used not only for ghost hints, but
  also for regular horizontal stems. This may be useful if I ever
  implement an autoinstructor based directly on the stem detector;
* glyph data initialization has been separated from stem detection
  and put into a separate routine (a first step for unification
  of algorithms used to calculate stem active zones).
----------------------------
revision 1.2223
date: 2007/11/18 19:06:10;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing a print sample to pdf, the second page came out in times bold rather than the user's font.
----------------------------
revision 1.2222
date: 2007/11/18 18:29:15;  author: pfaedit;  state: Exp;  lines: +2 -2
More file segregation for the library.
----------------------------
revision 1.2221
date: 2007/11/18 18:08:34;  author: pfaedit;  state: Exp;  lines: +2 -2
I think setting a compact encoding could overflow an allocated string array.
----------------------------
revision 1.2220
date: 2007/11/18 03:57:40;  author: pfaedit;  state: Exp;  lines: +2 -2
More file rearranging for libfontforge
----------------------------
revision 1.2219
date: 2007/11/18 03:36:12;  author: pfaedit;  state: Exp;  lines: +3 -3
More file rearrangement for libfontforge
----------------------------
revision 1.2218
date: 2007/11/16 23:51:49;  author: pfaedit;  state: Exp;  lines: +2 -2
I was setting the Regular bit of OS2.fsSelection if the weight class was 400. I probably should have used 500 instead. Or maybe both. Let's try both for now.
----------------------------
revision 1.2217
date: 2007/11/16 23:48:15;  author: pfaedit;  state: Exp;  lines: +2 -2
If a ufo font did not have a lib.plist file (and python was enabled) then ff would crash on loading it.
----------------------------
revision 1.2216
date: 2007/11/16 23:16:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Last patch might be a little extreme. This should do better.
----------------------------
revision 1.2215
date: 2007/11/16 23:12:10;  author: pfaedit;  state: Exp;  lines: +2 -2
When importing an eps file, ff did not turn off the "Bitmap-only" flag. This means that new fonts composed entirely of eps files would be treated as bitmap fonts (sometimes).
----------------------------
revision 1.2214
date: 2007/11/16 22:31:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Moving quadratic control points with the pointer is broken (again).
----------------------------
revision 1.2213
date: 2007/11/16 21:07:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Metricsview would crash if you deleted a character and then clicked in one of it's textfields.
----------------------------
revision 1.2212
date: 2007/11/16 05:27:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Try to encapsulate some of fontforge's dependency on gdraw in such a way that it can be replaced easily. Well... more easily.
----------------------------
revision 1.2211
date: 2007/11/16 03:29:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix typo in stemdb.c
----------------------------
revision 1.2210
date: 2007/11/15 22:27:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a Select->Open Contours command.
----------------------------
revision 1.2209
date: 2007/11/15 22:22:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to name contours, primarily for guidelines.
----------------------------
revision 1.2208
date: 2007/11/15 01:51:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some serbian text.
----------------------------
revision 1.2207
date: 2007/11/14 20:44:37;  author: pfaedit;  state: Exp;  lines: +2 -2
We used not to mark a glyph as changed if the user changed the hints in an order2 font (thinking they were irrelevant in truetype). But the autoinstructor uses them so they are relevant.
----------------------------
revision 1.2206
date: 2007/11/14 20:39:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Update the location on the charview info line when dragging out a guideline.
----------------------------
revision 1.2205
date: 2007/11/13 22:33:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Mmm. This is probably a better idea: Only duplicate the glyph if we've got a postscript style (by name) encoding.

Now we still might end up with two glyphs with the same name...
----------------------------
revision 1.2204
date: 2007/11/13 22:23:30;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph had a unicode encoding for one code point, and a name which mapped to another, then double clicking on the other code point would cause fontforge to provide a reference to the base glyphs from the new encoding slot. But only in the current encoding map. In other words I forgot to set the AltUni field.
----------------------------
revision 1.2203
date: 2007/11/13 21:07:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Some people have though winDescent should be a negative value for things below the baseline. So make the sign of the various descent fields explicit in the corresponding popup messages.
  Typo Descent: Negative
  Win Descent: Positive
  Hhea Descent: Negative
----------------------------
revision 1.2202
date: 2007/11/13 20:26:16;  author: pfaedit;  state: Exp;  lines: +3 -3
If a user edited a glyph in spiro mode, and then did something in the fontview ehich caused the spiros to be removed (Lots of things: Overlap, Expand Stroke, Embolden, ...), and then did a Round to Int (and perhaps other things) from the font view, then FontForge would crash.

It expected to find spiros in a glyph marked as being edited in spiro mode, and was surprised when none were available.
----------------------------
revision 1.2201
date: 2007/11/12 16:07:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Dave Crossland doesn't like having "..." at the end of window titles.
----------------------------
revision 1.2200
date: 2007/11/12 15:07:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Back out the Add Extrema in spiro mode patch. Turn off display of extrema in spiro mode (and of Points of Inflection too).
----------------------------
revision 1.2199
date: 2007/11/11 20:59:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an autowidth command to the python interface.
----------------------------
revision 1.2198
date: 2007/11/11 20:31:18;  author: pfaedit;  state: Exp;  lines: +2 -2
contour.lineTo and friends didn't work (didn't increment the contour's point count).
----------------------------
revision 1.2197
date: 2007/11/11 04:05:43;  author: pfaedit;  state: Exp;  lines: +3 -3
In with SnapToInt preference on, and at high magnifications, a mouse click would often be snapped so that it was well outside the fudge region. This meant that clicking on something might not select it.
----------------------------
revision 1.2196
date: 2007/11/10 02:05:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Recent feature file patch had a crash bug.
----------------------------
revision 1.2195
date: 2007/11/09 05:19:47;  author: pfaedit;  state: Exp;  lines: +2 -2
The Mac has deprecated the mach NSAddImage family of routines in favor of the more traditional dlopen routines.
----------------------------
revision 1.2194
date: 2007/11/09 03:29:31;  author: pfaedit;  state: Exp;  lines: +3 -3
In a truetype font, if a substitution lead to an unencoded glyph and the cursor hung over the substitution long enough to invoke the popup, then we'd generate a tiny font containing just the unencoded glyph, we'd complain that there were no encoded glyphs, we'd dismiss the popup, we'd generate the glyph image, then we'd try to free it with no free function because the popup was dismissed.
----------------------------
revision 1.2193
date: 2007/11/09 02:13:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. I can do Add Extrema in spiro mode.
----------------------------
revision 1.2192
date: 2007/11/08 06:08:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge Feature File didn't actually merge things in, it forgot about existing things -- which caused problems for kerning classes which get stored in two lists.
----------------------------
revision 1.2191
date: 2007/11/08 04:26:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry wants to be able to order the private dict. in font info.
----------------------------
revision 1.2190
date: 2007/11/08 03:23:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz points out that the plate export failed to include the final close paren.
----------------------------
revision 1.2189
date: 2007/11/07 21:46:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone gave me a bad sfd file and complained that it crashed ff. Can't really fix it up, but we can refrain from crashing.
----------------------------
revision 1.2188
date: 2007/11/07 17:49:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Rumors abound on the web tha Apple has deprecated "/rsrc" as a way of getting at the resource fork. I find nothing official from Apple about this, but the /var/log/system.log file on my machine confirms it.
Rumors also say that the new approach is to open "/..namedfork/rsrc" instead. That seems to work, and doesn't cause nasty warnings in my system log.
There are warnings on the web that this mechanism only works on HFS+ file systems. So I first try namedfork, and then later, if that fails, try the older rsrc.

Whee!
----------------------------
revision 1.2187
date: 2007/11/07 16:49:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the user control over how much arrow keys accelorate when holding down the Alt (Meta) key.
----------------------------
revision 1.2186
date: 2007/11/07 16:15:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Calculate the second derivative CORRECTLY when we test for POI in simplify.
----------------------------
revision 1.2185
date: 2007/11/06 23:04:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the name of spiro "tangent" points to "constaint" points.
Give Dave is ^5 key binding.
----------------------------
revision 1.2184
date: 2007/11/06 22:58:44;  author: pfaedit;  state: Exp;  lines: +2 -2
I think I know what left and right spiro points mean now.
The cursors for them were a little confused. I hope everything is in sync now.
----------------------------
revision 1.2183
date: 2007/11/06 20:03:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Still not always getting control points on integers.
----------------------------
revision 1.2182
date: 2007/11/05 21:50:21;  author: pfaedit;  state: Exp;  lines: +2 -2
The shape tools (elipse, rect, star, poly) did rather odd things in spiro.
The transform tools (not the transform dlg) also had a hard time.
----------------------------
revision 1.2181
date: 2007/11/05 21:00:30;  author: pfaedit;  state: Exp;  lines: +2 -2
When defaulting control points, they should also snap to integers when that mode is on.
----------------------------
revision 1.2180
date: 2007/11/05 20:33:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej tells me the way I interpret "right/left" in spiro is wrong. As I've yet to see any docs on this subject, he might well be right.
----------------------------
revision 1.2179
date: 2007/11/05 20:25:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Dave says control-Tab should switch between tabs, not Alt.
----------------------------
revision 1.2178
date: 2007/11/05 20:16:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Orientation commands still not right in char view.
----------------------------
revision 1.2177
date: 2007/11/05 14:25:51;  author: pfaedit;  state: Exp;  lines: +2 -2
forgot to undo the "plate" transformation when exporting them (800-y)
----------------------------
revision 1.2176
date: 2007/11/05 03:40:16;  author: pfaedit;  state: Exp;  lines: +2 -2
People want a Snap To Int preference item.
----------------------------
revision 1.2175
date: 2007/11/05 03:17:23;  author: pfaedit;  state: Exp;  lines: +2 -2
clicking on a spiro point (to select it) tended to move it.
----------------------------
revision 1.2174
date: 2007/11/05 02:41:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Simplify sometimes ignored points.
----------------------------
revision 1.2173
date: 2007/11/04 21:59:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Previous UFO patch wasn't complete, only handled loading a UFO, not saving one.
----------------------------
revision 1.2172
date: 2007/11/04 21:45:54;  author: pfaedit;  state: Exp;  lines: +2 -2
People expect to be able to drag guidelines from the rulers (because everyone else does that) and don't want to bother to learn FF's mechanism. So make that possible.
----------------------------
revision 1.2171
date: 2007/11/04 20:36:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Dave C wants to be able to use Alt-Tab to switch tabs in the charview.
----------------------------
revision 1.2170
date: 2007/11/04 19:59:12;  author: pfaedit;  state: Exp;  lines: +2 -2
The Clockwise/Counter/Correct menu items were greyed out in spiro mode.
----------------------------
revision 1.2169
date: 2007/11/04 19:38:47;  author: pfaedit;  state: Exp;  lines: +2 -2
If freetype gets a single point open contour in postscript mode, it simply skips the contour (does not call FT_MoveTo on it). This screwed up my attempt to match the results of freetype with the actual splines and caused a crash.
----------------------------
revision 1.2168
date: 2007/11/04 19:00:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Glyphs with no contours didn't set widthset when read from ufo and so were viewed as empty.
FF was expecting descent to be a postive value (it is in ArialBlack.ufo), but it seems to be negative in most UFOs.
Erik wants the creation order of contours preserved. I'm not sure why, but I think this will do it.
----------------------------
revision 1.2167
date: 2007/11/04 18:40:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. glyph/glyphPen types got the wrong names in the module. (interchanged)
----------------------------
revision 1.2166
date: 2007/11/04 17:36:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz points out that reversing the direction of a spiro controur should interchange left and right tangents.
----------------------------
revision 1.2165
date: 2007/11/04 17:06:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge in spiro mode didn't refresh the splines.
----------------------------
revision 1.2164
date: 2007/11/04 16:39:51;  author: pfaedit;  state: Exp;  lines: +2 -2
remove the Elide command.
----------------------------
revision 1.2163
date: 2007/11/04 16:10:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it so PointCatagorize doesn't automagically find hvcurves.
Point Transform should be prepared to turn off hv-ness.
Bug in get info made changing hv curve control points weird. (wrong)
----------------------------
revision 1.2162
date: 2007/11/04 15:35:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Refrain from simplifying an order2 point where the second derivative changes sign.
----------------------------
revision 1.2161
date: 2007/11/02 03:15:48;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font has no "fullname" field (and fonts aren't required to have one) ff would crash when generating the font.
----------------------------
revision 1.2160
date: 2007/11/02 02:53:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Shift-Click on a spiro point to select it had a bad habit of moving it and any previous point selected.
----------------------------
revision 1.2159
date: 2007/11/01 15:27:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Spiros broke bezier knive
Spiroc copy didn't work
spiro shift select didn't work
----------------------------
revision 1.2158
date: 2007/11/01 01:20:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to export plate files.
----------------------------
revision 1.2157
date: 2007/10/31 19:31:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Get Info from the Popup menu in the charview didn't work on spiros.
----------------------------
revision 1.2156
date: 2007/10/31 05:29:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of bugs with adding intermediate points into an already existing spiro contour.
----------------------------
revision 1.2155
date: 2007/10/31 05:03:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Merge did nothing in spiro mode.
----------------------------
revision 1.2154
date: 2007/10/30 22:10:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo when trying to move a spiro point caused untold confusion.
----------------------------
revision 1.2153
date: 2007/10/30 21:09:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Was drawing G2 points as little triangles (tangents) when I had intended to draw little diamonds.
----------------------------
revision 1.2152
date: 2007/10/30 20:38:24;  author: pfaedit;  state: Exp;  lines: +2 -2
If I moved a corner point adjacent to a tangent, the slope on the other side of the tangent did not change.
----------------------------
revision 1.2151
date: 2007/10/30 20:25:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Exporting a glyph to BMP or PNG was broken, probably since the addition of python import export filters.
----------------------------
revision 1.2150
date: 2007/10/30 20:17:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Keep track of what spiro contours get changed when in spiro mode, and when we pop back into bezier mode run add extrema on them.
----------------------------
revision 1.2149
date: 2007/10/30 19:45:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Still didn't work if missing libspiro.
----------------------------
revision 1.2148
date: 2007/10/30 19:33:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn. The selection between left and right tangents wasn't right.
----------------------------
revision 1.2147
date: 2007/10/30 17:58:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. If libspiro didn't exist, spiro code didn't compile.
----------------------------
revision 1.2146
date: 2007/10/30 01:42:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. In the charview, in spiro mode, with some points seletected, Transform did the wrong thing.
----------------------------
revision 1.2145
date: 2007/10/29 03:49:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a Strftime scripting command to the legacy language.
----------------------------
revision 1.2144
date: 2007/10/28 22:58:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Move to having libspiro live in its own package
  http://libspiro.sf.net/
----------------------------
revision 1.2143
date: 2007/10/28 20:28:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that I misspelled "persistent" as "persistant" in many places, including python member names. Correct that. (but leave the old, misspelled membernames around but undocumented in case anyone has been mislead by my previous documentation.
----------------------------
revision 1.2142
date: 2007/10/28 19:33:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Barry Schwartz to spiro mode.
----------------------------
revision 1.2141
date: 2007/10/26 12:38:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Disable Add Extrema and Simplify in spiro mode. Don't know how to do them in a useful way on spiros.
----------------------------
revision 1.2140
date: 2007/10/26 02:14:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I forgot to get the tool indicators (at the bottom of the tool palette) to use the right images in spiro mode.
----------------------------
revision 1.2139
date: 2007/10/26 01:19:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add new python stuff to provide access to spiros.
The fontforge module has a new method -- hasSpiro() which returns whether we've got access to libspiro or not.
The module also has a bunch of numeric constants defined spiroG4, spiroG2, etc.
for use in the
The Contour type has a new member -- spiros which is a tuple of spiro control points (which are themselves tuples: x,y,type,flags, where type is one of the numeric constants above.
----------------------------
revision 1.2138
date: 2007/10/26 01:12:10;  author: pfaedit;  state: Exp;  lines: +3 -3
People would complain that the python interface would give them "Invalid second order spline" but no one bothered to give me a test case. I hope I've tracked it down now.
----------------------------
revision 1.2137
date: 2007/10/25 22:05:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz wants [Guess] for BlueScale to check FamilyBlues as well as BlueValues.
----------------------------
revision 1.2136
date: 2007/10/25 20:11:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a "problem" to check for glyphs whose bounding boxes are: too tall, too short, too wide, too much to the left.
Used to be I had many problems checked by default. Best to turn them all off.
----------------------------
revision 1.2135
date: 2007/10/25 16:44:06;  author: pfaedit;  state: Exp;  lines: +2 -2
There was a path through glyph rename which caused a crash.
----------------------------
revision 1.2134
date: 2007/10/25 05:49:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Initial version of UI for Raph Levien's spiro curves. I've probably forgotten something, but all major componants have undergone redementary testing.
Libffspiro has changed to libspiro and needs to be rebuilt.
----------------------------
revision 1.2133
date: 2007/10/24 15:13:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. FF was using Py_BuildValue("s") on something that was already a python string.
----------------------------
revision 1.2132
date: 2007/10/24 14:56:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Adam Twardoch suggests that codepoints in the PUA have their script determined by their name (rather than just returning DFLT). Since Adobe used to put things like "a.sc" in this area, that seems a good idea.
----------------------------
revision 1.2131
date: 2007/10/23 21:58:53;  author: pfaedit;  state: Exp;  lines: +3 -3
FF marked almost all fonts with the Oblique bit in the OS/2 table.
----------------------------
revision 1.2130
date: 2007/10/22 15:00:37;  author: michal-n;  state: Exp;  lines: +2 -2
- Patch from Alexej for his diagonal hinting routines, fixes an ugly problem
  reported by Max Rabin.

- search_edge() tries to pick refpt closer to the edge, this cures some
  stems misalignments.
----------------------------
revision 1.2129
date: 2007/10/22 08:54:31;  author: akryukov;  state: Exp;  lines: +2 -2
Various fixes in stem detection. In particular added a concept of "base start" and "base end"
for curved segments of stem edges, allowing to determine more precisely if an active zone
(which merges left and right segments together) should actually be considered "curved" at its
start or end.
----------------------------
revision 1.2128
date: 2007/10/22 07:29:54;  author: akryukov;  state: Exp;  lines: +2 -2
Make implied points to be ignored when determining a diagonal stem validity.
----------------------------
revision 1.2127
date: 2007/10/22 00:31:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Swith the timestamps to GMT. Prior to this all timestamps have been PS/DT, but now that other people are making source changes GMT seems more sensible.
----------------------------
revision 1.2126
date: 2007/10/21 20:46:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Max Rabkin supplies a patch to let python read plate files.
----------------------------
revision 1.2125
date: 2007/10/21 20:43:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Provide reasonable defaults for the wws* ttf names.
----------------------------
revision 1.2124
date: 2007/10/21 20:14:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Correct the list of dutch font styles.
----------------------------
revision 1.2123
date: 2007/10/21 20:10:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Most of the items in the popup menu of the lookup pane didn't work.
----------------------------
revision 1.2122
date: 2007/10/21 19:48:32;  author: pfaedit;  state: Exp;  lines: +3 -3
A couple of new name table string ids: WWS Family & WWS Subfamily.
----------------------------
revision 1.2121
date: 2007/10/19 02:30:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Get Info on points would crash after the hvcurve point got added.
----------------------------
revision 1.2120
date: 2007/10/19 00:29:33;  author: pfaedit;  state: Exp;  lines: +2 -2
FF wasn't loading python init files from ~/.FontForge/python
----------------------------
revision 1.2119
date: 2007/10/18 23:55:48;  author: pfaedit;  state: Exp;  lines: +3 -3
When I fixed mark to ligature positioning I broke the other three types of anchor positioning (to base, to mark & cursive).
----------------------------
revision 1.2118
date: 2007/10/16 19:52:12;  author: pfaedit;  state: Exp;  lines: +2 -2
If you pressed the [*] Default check box in the Font Info->OS/2->Panose area, the values didn't go back to the defaults.
----------------------------
revision 1.2117
date: 2007/10/16 18:23:34;  author: pfaedit;  state: Exp;  lines: +2 -2
When copying glyphs from one font to another ff would sometimes use a temporary value of -2 for the orig_pos. This meant that reference fixups didn't work when looking at those glyphs.
----------------------------
revision 1.2116
date: 2007/10/16 18:21:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Drat. Typo when copying a contextual lookup from one font to another caused a crash.
----------------------------
revision 1.2115
date: 2007/10/15 20:13:54;  author: pfaedit;  state: Exp;  lines: +3 -3
So versions of realloc explode when given a size of 0?
----------------------------
revision 1.2114
date: 2007/10/15 01:44:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new tool which creates curved points which are always either horizontally or vertically oriented.
Add a placeholder for spiro mode.
----------------------------
revision 1.2113
date: 2007/10/14 22:45:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Change to .FontForge needs one more thing...
----------------------------
revision 1.2112
date: 2007/10/14 20:32:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Use ~/.FontForge instead of ~/.PfaEdit
----------------------------
revision 1.2111
date: 2007/10/12 03:19:35;  author: pfaedit;  state: Exp;  lines: +2 -2
I'm told there was a typo in my Bulgarian text for the Print/Display dlg, and that this should fix it.
----------------------------
revision 1.2110
date: 2007/10/11 19:50:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Get some proper Belorussian text.
----------------------------
revision 1.2109
date: 2007/10/11 19:46:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Several bugs in my mark attachment routines. There was an assumption that only one mark could be attached to a base glyph per sub-table. This is wrong for mark to base, in that there can be several anchor classes per subtable. It is even worse for mark to ligature where there can be many marks per anchor class (one per ligature position).

Having done this make sure we don't use the same anchor point more than once.
----------------------------
revision 1.2108
date: 2007/10/11 00:57:47;  author: pfaedit;  state: Exp;  lines: +2 -2
What glyph class should be used by default if a glyph is both a ligature and a mark? Probably mark. There are greek accent ligatures, and its probably more important to treat them as marks than as ligatures (I don't know any fonts which actually "skip ligatures" but there are lots which "skip marks").
----------------------------
revision 1.2107
date: 2007/10/10 17:48:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Select Next/Prev point always selected the first point. Select First point did the wrong thing.
----------------------------
revision 1.2106
date: 2007/10/09 20:33:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej points out that few fonts meet my strick standards matchin glyph names and code points. So don't force the user to deal with them when the font loads. Allow them to fix the problems with "Find Problems" later.
----------------------------
revision 1.2105
date: 2007/10/09 18:12:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone (John ?Morrison?) requested a way to access fonts by numeric index rather than font name when opening font collections like ttc files or dfonts.
----------------------------
revision 1.2104
date: 2007/10/08 15:14:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Pressing the [Refresh] button could crash ff if a "FontData" depended on another (same font).
----------------------------
revision 1.2103
date: 2007/10/08 14:59:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Alexej Kryukov
* I no longer have separate l/lpotential and r/rpotential pairs
  of point data objects. Instead I use just 'l' and 'r' accompanied by
  boolean flags indicating their state as "potential". This greatly
  simplifies some tests and makes the code more readable.

* When I am adding a chunk based on a single point to an existing stem,
  I always mark the second point as "potential". Later this state can
  be changed if check based on the second point produces the same chunk,
  or at least doesn't produce another (conflicting) stem. Again, this
  simplifies some tests which accompany adding new chunks and makes the
  result of the stem detection less dependent from the order in which
  the points are processed.

* I allow assigning a point to a stem even when its distance from the
  stem edge is larger than standard dist_error_hv or dist_error_diag,
  if only the difference between maximum possible deviations to the
  both sides of the edge doesn't exceed the double dist_error_* value.
  This prevents us from adding several almost-coincident hints, actually
  controlling the same stem.

* I have added a function which performs some stem normalization,
  sorting chunks by point coordinates. For HV stems it also can
  slightly modify the positioning of the stem edges preferring the
  coordinate which is closer to most points assigned to each edge.

* There is now a special function used to compare conflicting stems
  and decide if one of these two should be preferred, or they both are
  worth to be output.

* The detection of serifs and similar elements, which, not being
  exactly horizontal/vertical, still have to be marked with a HV
  stem, has been improved (two points, forming a serif termination,
  now should not necessarily follow each other).
----------------------------
revision 1.2102
date: 2007/10/08 03:31:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Drat. If we had libjpeg and not libpng we'd get a complaint about an undefined symbol.
----------------------------
revision 1.2101
date: 2007/10/05 22:23:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Add "Mismatch Unicode & Name" to the Find Problems dlg.
----------------------------
revision 1.2100
date: 2007/10/05 21:47:55;  author: pfaedit;  state: Exp;  lines: +2 -2
There are ttf files in existance where glyph names do not match unicode code points. Tons of fonts use ".notdef" for glyphs other than "GID=0". Other fonts use ASCII glyph names (space, exclam, numbersign,...) for glyphs in other scripts (Kedage-n.ttf does this).

In the case of Kedgage, the glyph containine the digit one was nameless, and there was another glyph named one. FontForge would rename the nameless glyph to be "one" also. Then there was a glyph named "r" with no unicode encoding -- FF used to give it unicode "r" even though it was not a latin glyph. Ug.

So because people refuse to do the right thing, I have removed the code which did the above and added code to complain about code point not matching glyph name.
----------------------------
revision 1.2099
date: 2007/10/05 20:44:57;  author: pfaedit;  state: Exp;  lines: +2 -2
In the past, ff has felt that the presence of a zero-width ".null" and "nonmarkingreturn" glyph meant that a font was not mono-space. In the future ignore these glyphs when determining whether a font has fixed width.
----------------------------
revision 1.2098
date: 2007/10/05 20:02:32;  author: pfaedit;  state: Exp;  lines: +2 -2
in some rare cases we got an uninitialized value in spline->line display conversion.
----------------------------
revision 1.2097
date: 2007/10/05 14:38:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Up the size of the File->Recent menu to 10, and include non-sfd files in the list.
----------------------------
revision 1.2096
date: 2007/10/05 14:14:11;  author: pfaedit;  state: Exp;  lines: +3 -3
The routine to create an apple state machine from a set of OpenType ('init','medi','fina','isol') forms would often crash.
----------------------------
revision 1.2095
date: 2007/10/04 02:55:51;  author: pfaedit;  state: Exp;  lines: +2 -2
When scaling BlueValues, or other arrays, a trailing space after the last number and before the ']' was considered an error. If found then ff would not scale that entry.
----------------------------
revision 1.2094
date: 2007/10/04 02:28:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Initial stab at importing Raph Levien's spiro into FontForge.

This code should allow people to import one of Raph's plate files (they seem to be rotated 180 (so they are upside down), but aside from that the import works.

Because Raph's code is GPL I've set up a separate directory ffspiro which has scripts to grab some of Raph's source files, add a couple of my files, mungle around a bit and produce a library to install.

This library has one entry point (currently) which will convert a set of spiro points (such as one might find in a plate file) into a set of cubic beziers.

Then there is code in fontforge's file import to read plate files, to load the library (if it exist) and do the conversion. Aside from the rotation problem it seems to work.
----------------------------
revision 1.2093
date: 2007/10/02 22:01:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Reorder browsers so htmlview xdg-open come first as they are dispatchers which figure out the user's prefered browser.
----------------------------
revision 1.2092
date: 2007/10/02 21:33:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz wants to be able to select all autohintable glyphs.
----------------------------
revision 1.2091
date: 2007/10/02 21:13:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in parsing cmap format=6 subtables.
----------------------------
revision 1.2090
date: 2007/10/02 20:34:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Can build fontforge so that it is a python extension (as well as embedding python in ff).
./configure --enable-pyextension
----------------------------
revision 1.2089
date: 2007/10/02 02:04:51;  author: pfaedit;  state: Exp;  lines: +2 -2
If a tt spline had a control point on top of an on-curve point we would lose track of it when generating the font.
----------------------------
revision 1.2088
date: 2007/10/02 02:00:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Start on making ff a python extension (as well as a python embedder).
----------------------------
revision 1.2087
date: 2007/10/01 03:44:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the Uncode variation subtable of the 'cmap' encoding table.
----------------------------
revision 1.2086
date: 2007/09/30 19:24:36;  author: pfaedit;  state: Exp;  lines: +2 -2
add xdg-open to the list of "known" browsers.
----------------------------
revision 1.2085
date: 2007/09/30 19:14:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Torsten Bronger. Got the args wrong in font.glyphs.
----------------------------
revision 1.2084
date: 2007/09/28 21:07:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Fabrice Popineau & Taco Hoekwater point out that in the featurefile output routines I was using a single backslash inside a printf string. The intent was to output a single backslash. But I actually need to quote the backslash with another to do that.
----------------------------
revision 1.2083
date: 2007/09/27 20:04:35;  author: pfaedit;  state: Exp;  lines: +2 -2
If a text string were extremely long it could overflow the 16 bits allowed for a width in a metrixedit column. Truncate to 32767 in that case. Still can't scroll over the whole thing, but editing it will pop up a better view which will allow it all to be displayed.
----------------------------
revision 1.2082
date: 2007/09/27 15:34:43;  author: pfaedit;  state: Exp;  lines: +2 -2
If there are no slots in the current encoding, then clicking on the encoding menu caused a crash.
----------------------------
revision 1.2081
date: 2007/09/27 15:00:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. I probably don't need to display the hex settings of the codepages/unicode ranges fields.
----------------------------
revision 1.2080
date: 2007/09/27 14:45:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Barry Schwartz. The [Guess BlueScale] button did nothing if we had a BlueScale entry.
----------------------------
revision 1.2079
date: 2007/09/27 14:37:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Barry Schwartz who points out that it is legal to have a blue zone where the top and bottom numbers are the same.
----------------------------
revision 1.2078
date: 2007/09/27 03:58:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Give the user control over the code pages/unicode ranges fields of the OS/2 table.
Add python scripting commands to access them too.
----------------------------
revision 1.2077
date: 2007/09/26 00:32:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, also need to search names in math variant tables on glyph rename.
----------------------------
revision 1.2076
date: 2007/09/25 22:45:40;  author: pfaedit;  state: Exp;  lines: +2 -2
When the user renames a glyph then things dependant on it should change too.
So if any substitution (or pairwise positioning) refers to the old name, change it to refer to the new.
If any contextual change refers to the old name change to the new.
If any class of glyphs (kerning class, apple state machine, contextual by classes) refers to the old name change to the new.

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).
----------------------------
revision 1.2075
date: 2007/09/25 22:34:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Guess at the meaning for GDEF glyph class component glyph:
   Something not encoded
   Something which is refered to by at least one other glyph (as a reference)
   Something which is not generated by GSUB
----------------------------
revision 1.2074
date: 2007/09/25 03:58:19;  author: pfaedit;  state: Exp;  lines: +2 -2
(forgot to check BlueScale with respect to BlueValues)

Make the [Guess] button in FontInfo->Private active when BlueScale is selected.
(and make it work too).
----------------------------
revision 1.2073
date: 2007/09/25 03:15:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. A font member in python was mis-named. Documented to be "loadState" was "loadStyle". Corrected to match the documentation.
Some of the 'maxp' checks in the validator were off by 1, so fontlint would report errors on the glyph with the maximum value.
Validator was checking non-composite glyphs against composite boundries.

Barry Schwartz points out that I should validate the PostScript Private dictionary (Check that entries have the right types, check that BlueValues: has an
even number of elements, is in order, that pairs are separated by bluefuzz*2+1, etc.).
----------------------------
revision 1.2072
date: 2007/09/23 16:00:17;  author: pfaedit;  state: Exp;  lines: +3 -3
FF would crash when building accented glyphs from unicode data that included a space as the base glyph.
----------------------------
revision 1.2071
date: 2007/09/20 21:31:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Torsten Bronger points out that "import" is a python keyword and can't (easily) be used as a member/method name. So change the glyph.import function to importOutlines.
----------------------------
revision 1.2070
date: 2007/09/19 16:09:47;  author: pfaedit;  state: Exp;  lines: +3 -3
More patches from Michal Nowakowski dealing with message strings:
  1) Some weren't marked for translation
  2) Some were marked but weren't being translated
  3) Some were inconsistant.
----------------------------
revision 1.2069
date: 2007/09/18 15:41:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Mathias Kilian OpenBSD needs an include file linux doesn't (or rather that linux imports in another include file)
declaration statement mixup.
----------------------------
revision 1.2068
date: 2007/09/17 18:51:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski to disambiguate some strings and to make sure some others get translated.
----------------------------
revision 1.2067
date: 2007/09/17 17:44:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Grr. If compile on a system with libpng but without libjpeg then a typo meant it would not compile.
----------------------------
revision 1.2066
date: 2007/09/16 15:27:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some warnings when autoinstructing fonts. Let them know that they'll get better results if they have a postscript private dictionary and PS hints.
----------------------------
revision 1.2065
date: 2007/09/16 01:04:29;  author: pfaedit;  state: Exp;  lines: +2 -2
If the user has selected all the glyphs and wants to instruct them, then any legacy info in 'fpgm', 'prep', or 'cvt ' becomes irrelevant (any old instructions that depended on them will be gone). So we might as well remove the old tables for this (I hope) common case. This means the auto instructor won't complain about legacy tables but will do its work happily.
----------------------------
revision 1.2064
date: 2007/09/16 00:37:52;  author: pfaedit;  state: Exp;  lines: +3 -3
When ff creates a tt font, it will generate a .notdef glyph if the user has not already supplied one. It will then procede to instruct that glyph and may create a cvt table. The autoinstructor now gets unhappy if there is a cvt table around that it doesn't know about. So removed any created cvt table/entries after generating the font.
----------------------------
revision 1.2063
date: 2007/09/15 00:43:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Nowakowski's python patch for the new calling conventions.
----------------------------
revision 1.2062
date: 2007/09/13 23:19:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Michal Nowakowski to improve auto-instructing. (python.c is a bit odd still).
----------------------------
revision 1.2061
date: 2007/09/13 21:25:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Provide a tiny measure of security by doing a trivial encryption of the OFLib password before storing in the preference file.
----------------------------
revision 1.2060
date: 2007/09/13 20:37:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to upload a font to the OpenFontLibrary website.
----------------------------
revision 1.2059
date: 2007/09/11 02:03:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the "Mass Rename" dlg a mode where it behaves the way Zedler thinks it should.
----------------------------
revision 1.2058
date: 2007/09/11 01:09:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Another bug in merge fonts.
----------------------------
revision 1.2057
date: 2007/09/10 14:08:56;  author: pfaedit;  state: Exp;  lines: +3 -3
I introduced a crash in the PSTKD lookup subtable dialog.
----------------------------
revision 1.2056
date: 2007/09/09 22:28:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Drat. Did not guard certain library calls with checks to see that those routines were implemented.
----------------------------
revision 1.2055
date: 2007/09/09 22:23:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Drat. Mass rename didn't work if a base glyph were being renamed.
----------------------------
revision 1.2054
date: 2007/09/09 21:58:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the FontView's Select By Name... to be Select by Wildcard...
Add a Select by Script.
----------------------------
revision 1.2053
date: 2007/09/09 18:59:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Why not just remove the glyphs that become unused after ApplySubstitution?
----------------------------
revision 1.2052
date: 2007/09/09 14:24:19;  author: pfaedit;  state: Exp;  lines: +3 -3
ApplySubstitutions still had problems. Caused crashes in a font with instructions.
----------------------------
revision 1.2051
date: 2007/09/09 00:37:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, one other case where the metrics view could create a kerning subtable. Fix it too.
----------------------------
revision 1.2050
date: 2007/09/08 21:43:16;  author: pfaedit;  state: Exp;  lines: +2 -2
If one used the metrics view to create a kerning lookup then:
   there would be no 'kern' feature in the feature list yet, and the display would randomly lose track of kern pairs and then create new ones. Very confusing.
----------------------------
revision 1.2049
date: 2007/09/08 21:23:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. In some cases Merge Fonts didn't copy over lookup info.
Add the ability to merge cross-font kerning pairs (in case the two fonts being merged have the same glyphs for those which are in both fonts).
----------------------------
revision 1.2048
date: 2007/09/08 19:43:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix another crash when editing in the Print/Display dialog, related to blank lines.
----------------------------
revision 1.2047
date: 2007/09/08 00:32:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Provide a mass glyph rename menu item.
----------------------------
revision 1.2046
date: 2007/09/07 21:17:53;  author: pfaedit;  state: Exp;  lines: +2 -2
The [Merge] button in Font Info->Lookups was disabled when two subtables in the first lookup were selected.
----------------------------
revision 1.2045
date: 2007/09/07 21:14:17;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph ended in a suffix (one.superior, etc.), then changes to that glyph were not reflected in the fontview.
----------------------------
revision 1.2044
date: 2007/09/07 19:53:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to Populate a lookup from the selection.
Do a better job of providing default values for single substitutions & positions.
----------------------------
revision 1.2043
date: 2007/09/06 22:59:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Need to Catagorize points after Tile Path.
----------------------------
revision 1.2042
date: 2007/09/06 22:56:42;  author: pfaedit;  state: Exp;  lines: +2 -2
In the Print/Display dlg, deleting something so that the next line was blank caused ff to crash.
----------------------------
revision 1.2041
date: 2007/09/06 22:53:55;  author: pfaedit;  state: Exp;  lines: +3 -3
The Encoding->Make From Font menu item should be disabled if the encoding is not custom.
----------------------------
revision 1.2040
date: 2007/09/06 03:05:35;  author: pfaedit;  state: Exp;  lines: +2 -2
The code that set up python import/export filters did not put an end of list entry after the last one. Sometimes it would be NULL (correct) and things would work and sometimes it would be garbage and things would crash.
----------------------------
revision 1.2039
date: 2007/09/05 18:22:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Urg. We had a 2 byte NUL in a unicode string where we needed a 4 byte NUL.
----------------------------
revision 1.2038
date: 2007/09/05 02:30:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Major rewrite of tilepath. Now has initial, medial, final & isolated tiles which it will use depending on the circumstances. No longer uses the clipboard, but you can draw the tiles in the dlg.
----------------------------
revision 1.2037
date: 2007/09/04 15:51:10;  author: pfaedit;  state: Exp;  lines: +2 -2
In Italic/Oblique fonts (those where the font has an italic angle specified) make the center in width command correct for the italic angle.
----------------------------
revision 1.2036
date: 2007/09/04 15:29:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Round to Int didn't round anchor points.
----------------------------
revision 1.2035
date: 2007/09/03 18:15:25;  author: pfaedit;  state: Exp;  lines: +3 -3
The Control Point Info window could wander off the bottom of the screen. I was very carefully calculating its position -- and then not using the result.
----------------------------
revision 1.2034
date: 2007/09/03 02:17:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, I could read the data URI fonts, but I could not generate them.
----------------------------
revision 1.2033
date: 2007/09/02 22:15:03;  author: pfaedit;  state: Exp;  lines: +2 -2
InkScape stuffs bitmap images into svg files using the data URI
   data:<mimetype>,<data>
(see IETF standard RFC 2397)

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.
----------------------------
revision 1.2032
date: 2007/09/02 22:07:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Drat. In the outline glyph view, the Import command didn't set the filter properly when you changed the import type.
----------------------------
revision 1.2031
date: 2007/09/02 19:08:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Extend fontforge to keep track of errors encountered when loading 'sfnt' files,
and then have fontlint complain about them.
Also extend fontlint to do validity checking on the 'maxp' table.
----------------------------
revision 1.2030
date: 2007/09/02 03:00:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Additions to python scripting:
   glyph.encoding  returns the glyph's encoding in the font
   glyph.script    returns the OpenType 4 letter script tag of this
			glyph (as a string).
   font.glyphs([type]) returns an interator over all glyphs in the font
		   if present type may be "GID" (default) or "encoding"
		   and indicates the order in which glyphs are returned.
----------------------------
revision 1.2029
date: 2007/09/01 02:20:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a search & replace command to python scripting. Search for a contour/layer and replace with another.
Add a find command which will iterate over all glyphs which contain the given contour.
----------------------------
revision 1.2028
date: 2007/09/01 02:06:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. When Changing Weight and Retaining Contours, we got an extra undo pushed onto the undo stack (so it would take two undoes to undo the operation: One for the counters, and another for the change weight). Get rid of the middle one.
----------------------------
revision 1.2027
date: 2007/08/31 22:47:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Previous fix to parsing feature files containing classes with "-" was incomplete.
----------------------------
revision 1.2026
date: 2007/08/31 22:42:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Add pyton scripting commands to do Change Weight and Condense/Extend.
----------------------------
revision 1.2025
date: 2007/08/31 21:20:00;  author: pfaedit;  state: Exp;  lines: +2 -2
When printing a LogError message to stderr, insure that it ends in a newline.
----------------------------
revision 1.2024
date: 2007/08/31 21:03:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix from Alexej for diagonal stems.
----------------------------
revision 1.2023
date: 2007/08/31 21:00:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up a set of error messages.
----------------------------
revision 1.2022
date: 2007/08/31 20:37:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Work around some problems in counters.
----------------------------
revision 1.2021
date: 2007/08/31 15:26:10;  author: pfaedit;  state: Exp;  lines: +2 -2
If an order2 spline got corrupted (mismatched control points) I would leave it that way -- in order to debug better. But that's not a good idea in a program people are going to use. So fix it up, unless it's one of my test versions.
----------------------------
revision 1.2020
date: 2007/08/31 14:02:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix an infinite loop in stem detection.
----------------------------
revision 1.2019
date: 2007/08/31 13:59:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Drat, yesterday's fix to order2 points didn't.
----------------------------
revision 1.2018
date: 2007/08/31 13:42:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Put in a hack so that serifs don't grow.
----------------------------
revision 1.2017
date: 2007/08/31 02:27:15;  author: pfaedit;  state: Exp;  lines: +2 -2
More tweaks to change weight.
----------------------------
revision 1.2016
date: 2007/08/30 21:57:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Got IUP style interpolation wrong.
If the glyph isn't latin then see if the blue values can provide us with hints as to its bounds.
----------------------------
revision 1.2015
date: 2007/08/30 20:52:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Previous patch that tried to keep interpolated points interpolated when points moved around them, broke selecting all points and moving them (in quadratic mode).
----------------------------
revision 1.2014
date: 2007/08/30 20:39:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Change from "Embolden" to "Change Weight"
Include an option to retain counter sizes in embolden (means we must extend the glyph slightly.
----------------------------
revision 1.2013
date: 2007/08/30 15:39:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Alexej to improved diagonal & curved stem hinting:
* If the algorithm is going to define a diagonal stem basing on
a point and that point has 'nextline' or 'prevline' properties filled,
then I use the line's vector (instead of that point's own vector)
for the new stem. This gives us more certainty that all points
positioned on the same line will be correctly detected.

* I think I have found a consistent method to calculate "active"
space for curved segments: instead of some "magic" manipulations with
control point coordinates, I use WalkSpline() with a larger allowed
offset. The advantage of this method is that the result depends
solely from the spline configuration (well, unless the spline
segment we are checking is too short), and thus it produces nealy
the same results for cubic and quadratic splines.

* I use more "liberal" checks for curved chunks, if both sides of
the stem are curved at the same direction.

* Probably the most noticeable change: I have moved ghost hint detection
to stemdb.c. There were 2 reasons for which I considered this necessary:
first, I wanted to use winding numbers to check if we are at the correct
side of the spline (the previous algorithm sometimes produced odd
effects due to the lack of this test), and second, it looks an
interesting idea for me to base the autoinstructor directly on the
stem detector output rather than on the PS hints layout. So it is
important that the stem detector now collects really all information
which may be of interest for the autoinstructor.
----------------------------
revision 1.2012
date: 2007/08/30 04:05:41;  author: pfaedit;  state: Exp;  lines: +2 -2
For completeness sake add an Oblique entry to the Styles menu (and move the menu up). Oblique can be done with Transform->Skew, of course, but logically it should be in the Styles menu too.
----------------------------
revision 1.2011
date: 2007/08/30 03:05:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. When trying to correct for an italic slant in condense/extend, I made the slant worse. Got the sign backwards.
----------------------------
revision 1.2010
date: 2007/08/30 00:54:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Try a different algorithm for approximating splines by line segments.
This one should show symmetry better.
----------------------------
revision 1.2009
date: 2007/08/29 19:36:16;  author: pfaedit;  state: Exp;  lines: +2 -2
I used to embolden any unknown glyph (when they asked for the lcg method) as if it were latin lower case. Change that to upper case, and make a special check for hebrew to match the height of hebrew letters.
Not sure what to do for other scripts.
----------------------------
revision 1.2008
date: 2007/08/29 19:26:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Even with all my work the fontforge rasterizer has a hard time getting the baseline right. So provide an option to stroke the paths and then call freetype in the Print dlg.
This also will allow people to see unhinted glyphs, a feature someone asked for.
----------------------------
revision 1.2007
date: 2007/08/29 19:18:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Oh dear, rasterizing stroked fonts only worked if multilayer was defined.
----------------------------
revision 1.2006
date: 2007/08/29 03:43:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Try to improve display of stroked fonts.
----------------------------
revision 1.2005
date: 2007/08/29 03:33:59;  author: pfaedit;  state: Exp;  lines: +3 -3
When stroking splines don't let miter joins grow excessively.
If we have points near the top/bottom of embolden which are on hints then
 don't fix those points (normal behavior for hinted points not on the zone)
 but let them be interpolated.
----------------------------
revision 1.2004
date: 2007/08/28 02:25:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a Condense/Extend dialog
Rename the "Effects" submenu to be "Styles"
Put Embolden & Condense under Styles.
Get rid of the old MetaFont command.
----------------------------
revision 1.2003
date: 2007/08/27 04:40:03;  author: pfaedit;  state: Exp;  lines: +2 -2
FF would remove instructions from glyphs that had at least two contours the first of which started with a control point.
----------------------------
revision 1.2002
date: 2007/08/27 01:48:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Further improvements on embolden: Make it use horizontal hints. Actually produces fairly reasonable results on tahoma.
----------------------------
revision 1.2001
date: 2007/08/26 15:03:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a short cut for Hide Grid in the metrics view.
----------------------------
revision 1.2000
date: 2007/08/26 15:00:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Python 2.5 initializes itself differently from Python 2.[34]. 2.[34] delay the init until an import happens, while 2.5 does it at start up. I just assumed that when I called Py_Initialize that it did so. This led to a crash on 2.[34] when I tried to use my types before the user had tried to import fontforge.
----------------------------
revision 1.1999
date: 2007/08/24 13:40:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Further improvements to tile path.
----------------------------
revision 1.1998
date: 2007/08/23 22:34:06;  author: pfaedit;  state: Exp;  lines: +2 -2
When moving a control point in a ttf font where one side of the cp was a real point, I would allow an implicit point on the far side of the real point to become real.
----------------------------
revision 1.1997
date: 2007/08/23 22:09:37;  author: pfaedit;  state: Exp;  lines: +3 -3
When dragging truetype points around, adjacent implicit points would remain where they were (and not be implicit any longer).
----------------------------
revision 1.1996
date: 2007/08/22 20:35:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Alexej to auto hint diagonal stems:

* Some straight stems were incorrectly interpreted as curved.
* Asymmetric active zones were generated for symmetric features.
* Projections did not work well.
* SplineFigureOpticalSlope() could distort vertical/horizontal
  vectors, transforming them to slanted.
* StemIsActiveAt() could calculate a wrong winding number if there
  were more than one spline section close enough to the test position.
* Diagonal corner stems could be assigned to point data as next/previous
  stems, thus preventing the adjacent diagonal stem from being correctly
  detected.
* Diagonal corner stems with a flat outer side (stemcheat==3) could be
  considered "too big", if the flat segment was not long enough.
* FF failed to correctly figure out an active space for diagonal corner
  stems of the above (stemcheat==3) type if a stem had its "left" and
  "right" sides swapped.
* Some ratios and "magic" numbers have been adjusted. In particular
  the value of dist_error_diag was too small (in fact it may be too
  small even now).
* I had to rewrite GDFindMismatchedParallelStems() so that it takes
  into account not only stem width, but also the point positions
  relative to each other, since otherwise it sometimes could make
  a really bad choice.
----------------------------
revision 1.1995
date: 2007/08/22 19:55:05;  author: pfaedit;  state: Exp;  lines: +2 -2
FF would randomly crash after removing a lot of glyphs.
----------------------------
revision 1.1994
date: 2007/08/22 19:00:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix various bugs in tile path.
----------------------------
revision 1.1993
date: 2007/08/22 18:56:39;  author: pfaedit;  state: Exp;  lines: +2 -2
The knife tool would not cut a contour if it landed on a point.
----------------------------
revision 1.1992
date: 2007/08/22 18:55:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Trying to add a stylename to the size dlg generally caused a crash.
----------------------------
revision 1.1991
date: 2007/08/22 18:51:59;  author: pfaedit;  state: Exp;  lines: +3 -3
All blank lines in the display dlg had the same line spacing as that of the first character displayed in the dlg.
----------------------------
revision 1.1990
date: 2007/08/19 19:46:45;  author: pfaedit;  state: Exp;  lines: +2 -2
I don't think feature files where handling classes defined with '-' properly.
----------------------------
revision 1.1989
date: 2007/08/19 18:23:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Read the "lib" structures from UFO/GLIF files into our python persistant data.
(And write our persistant data out if it's a dict).
----------------------------
revision 1.1988
date: 2007/08/19 01:42:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Back out the patch which brought up a thread to run a validator in the background while the user dawdled over the font save dlg. My allocation routines are not thread safe -- and I have an inexplicable crash to prove it.
----------------------------
revision 1.1987
date: 2007/08/18 23:38:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to call hooks (python functions) when various fontforge events take place.
----------------------------
revision 1.1986
date: 2007/08/17 22:45:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Make fontforge's basic types (Point, Contour, and Layer) be picklable so they can now be saved in an sfd file.
----------------------------
revision 1.1985
date: 2007/08/17 19:25:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. With the inclusion of the library check argument, ff would not compile if NODYNAMIC were set.
----------------------------
revision 1.1984
date: 2007/08/17 02:12:32;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge now stores the "userdata" python members into the sfd file as pickled objects. (FontForge's own types are not currently pickleable).
----------------------------
revision 1.1983
date: 2007/08/16 22:46:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to mark a glyph so that just before being saved its references will be unlinked and we will run remove overlap on it. This means the user can work with the references (and get the automatic updating they confer) and still not have a self-intersecting glyph in the output (think Aring, Ccedilla, Eogonek).
----------------------------
revision 1.1982
date: 2007/08/16 03:13:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Create a fontlint script file.
----------------------------
revision 1.1981
date: 2007/08/16 03:09:08;  author: pfaedit;  state: Exp;  lines: +2 -2
A better error message for when validation fails when generating a font.
----------------------------
revision 1.1980
date: 2007/08/15 21:26:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Check ~/.PfaEdit/python for user defined init scripts.
----------------------------
revision 1.1979
date: 2007/08/15 21:23:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Ah. I think this is what I'm supposed to do when a python script I invoke produces an error.
----------------------------
revision 1.1978
date: 2007/08/15 21:16:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Work to make validation more user friendly.
----------------------------
revision 1.1977
date: 2007/08/15 18:00:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Failed to guard the import/export python extensions with ifndef _NO_PYTHON
----------------------------
revision 1.1976
date: 2007/08/15 17:54:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Forgot to check for scripts that throw errors. Crashed when trying to free a NULL result.
----------------------------
revision 1.1975
date: 2007/08/15 03:45:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a validation command. Make the default behavior be to call this before generating fonts.
----------------------------
revision 1.1974
date: 2007/08/13 21:00:22;  author: pfaedit;  state: Exp;  lines: +2 -2
When dumping both apple and opentype bitmap tables if there were a BDF table, then we'd get garbage for 'bloc'/'bhed'.
----------------------------
revision 1.1973
date: 2007/08/13 19:57:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some user interface commands to python, and more importantly, add the ability to create menu items which will invoke python scripts, and the ability to add import/export conversion filters (again, python scripts).
----------------------------
revision 1.1972
date: 2007/08/13 19:35:35;  author: pfaedit;  state: Exp;  lines: +3 -3
More diagonal stem work from Alexej.
----------------------------
revision 1.1971
date: 2007/08/12 20:57:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Probably in CJK too.
----------------------------
revision 1.1970
date: 2007/08/12 20:55:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Counter hints for LCG glyphs came out wrong if autohint hand not been applied first.
----------------------------
revision 1.1969
date: 2007/08/10 23:57:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Counter masks were not read out of sfd files properly.
Selecting a counter mask in Glyph Info caused FF to crash.
----------------------------
revision 1.1968
date: 2007/08/10 20:51:13;  author: pfaedit;  state: Exp;  lines: +2 -2
The Execute Script dlg would sometimes complain about invalid scrollbar size when it got closed.
----------------------------
revision 1.1967
date: 2007/08/10 20:43:58;  author: pfaedit;  state: Exp;  lines: +2 -2
AddAnchorPoint (scripting command) should be prepared to cast real args to integers.
----------------------------
revision 1.1966
date: 2007/08/10 20:13:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Just as I needed a special "in use" pass of GSUB when reading from a TTC, so
I also need an "in use" pass of the MATH table.
----------------------------
revision 1.1965
date: 2007/08/10 20:06:27;  author: pfaedit;  state: Exp;  lines: +3 -3
All this time and I've mapped "nonmarkingreturn" (GID=2) to Unicode+000C instead of Unicode+000D. I'm a twit.
----------------------------
revision 1.1964
date: 2007/08/08 20:31:28;  author: pfaedit;  state: Exp;  lines: +2 -2
kerning display is off in a pairwise lookup window if a y position adjustment were requested.
----------------------------
revision 1.1963
date: 2007/08/08 19:25:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Make some effort to retain context when changing encodings.
----------------------------
revision 1.1962
date: 2007/08/08 18:56:19;  author: pfaedit;  state: Exp;  lines: +2 -2
When reverting a compacted font ff thought the font was compacted even when it was not.
----------------------------
revision 1.1961
date: 2007/08/08 18:25:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics View would crash if asked to display a glyph which wasn't in the font.
(introduced by the memory leak fix earlier this week).
----------------------------
revision 1.1960
date: 2007/08/08 18:18:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The spec does not say that the per-glyph info sub-table may be omitted.
So force a dummy table in even if it will contain nothing.
Similarly for glyph construction.
----------------------------
revision 1.1959
date: 2007/08/06 22:42:39;  author: pfaedit;  state: Exp;  lines: +2 -2
ff scripting command CopyReference() was broken.
----------------------------
revision 1.1958
date: 2007/08/06 22:27:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants little popup windows in show att. Give him some for substitutions.
----------------------------
revision 1.1957
date: 2007/08/06 21:36:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Warn the user (rather than just silently failing) when we have a freetype version mismatch.
----------------------------
revision 1.1956
date: 2007/08/06 20:34:08;  author: pfaedit;  state: Exp;  lines: +2 -2
If you examined a kerning pair subtable (either with glyph info or from double clicking on the subtable in the lookup pane) and then pressed [OK], and then generated an afm (tfm, old-style kern table, etc.) you would lose all the kern pairs you examined.
----------------------------
revision 1.1955
date: 2007/08/06 19:59:17;  author: pfaedit;  state: Exp;  lines: +2 -2
The math dlg failed to parse italic correction properly in glyph construction.
----------------------------
revision 1.1954
date: 2007/08/06 14:29:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Yesterdays ft2.3.5 patch broke compiling with earlier freetypes.
----------------------------
revision 1.1953
date: 2007/08/06 13:55:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Barry SCHWARTZ to feature file output on 64bit machines.
----------------------------
revision 1.1952
date: 2007/08/06 04:42:08;  author: pfaedit;  state: Exp;  lines: +2 -2
In freetype 2.3.5 the binary layout of the execution context changed.
This means that if ff is compiled against a 2.3.4 library it can't debug truetype if linked with a 2.3.5 library (and vice versa).
So put in checks to see that the library version matches what we expect.

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.
----------------------------
revision 1.1951
date: 2007/08/05 23:28:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Barry SCHWARTZ. python fontforge.font.addPosSub was expecting its args inside a redundant tuple.
----------------------------
revision 1.1950
date: 2007/08/05 23:10:03;  author: pfaedit;  state: Exp;  lines: +2 -2
New Vietnamese translation from Clytie.
Also some spelling corrections in the original messages.
----------------------------
revision 1.1949
date: 2007/08/05 22:21:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Barry SCHWARTZ to lookup/subtable comparison.
----------------------------
revision 1.1948
date: 2007/08/05 21:52:50;  author: pfaedit;  state: Exp;  lines: +2 -2
More dstem work from Alexej.
----------------------------
revision 1.1947
date: 2007/08/05 21:38:23;  author: pfaedit;  state: Exp;  lines: +2 -2
If a metricsview was open, then creating a new glyph slot would potentially screw up memory and sometimes crashed.
----------------------------
revision 1.1946
date: 2007/08/05 21:27:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge (and simplify) still have bugs.
----------------------------
revision 1.1945
date: 2007/08/05 18:48:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix two memory leaks in the metrics view (one was huge).
----------------------------
revision 1.1944
date: 2007/08/04 22:30:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow editing of math kern device tables (in a textual fashion).
----------------------------
revision 1.1943
date: 2007/08/04 03:38:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Math kerning bug fix.
----------------------------
revision 1.1942
date: 2007/08/04 03:20:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Provide a mechanism for editing math kerning info. Graphical. But with no control over device tables.
----------------------------
revision 1.1941
date: 2007/08/03 02:57:42;  author: pfaedit;  state: Exp;  lines: +2 -2
More diagonal stem hint work from Alexej Kryukov.
----------------------------
revision 1.1940
date: 2007/08/03 00:00:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Diagonal hinting stuff from Alexej Kryukov.
----------------------------
revision 1.1939
date: 2007/08/02 13:58:06;  author: pfaedit;  state: Exp;  lines: +2 -2
If freetype failed to rasterize a glyph, then we would fall back on returning a bitmap image from our own rasterizer -- even if we asked freetype for a greymap. this caused problems when routines expected byte data rather than bit data.
----------------------------
revision 1.1938
date: 2007/08/02 13:47:39;  author: pfaedit;  state: Exp;  lines: +3 -3
If we were given a cff (otf) font, with a bluevalues array which ended in 0 (as [-20 0]) then we would omit the final zero ([-20]).
----------------------------
revision 1.1937
date: 2007/08/02 04:50:39;  author: pfaedit;  state: Exp;  lines: +2 -2
More MATH table bugs.
----------------------------
revision 1.1936
date: 2007/08/01 21:13:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Another bug.
----------------------------
revision 1.1935
date: 2007/08/01 21:10:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix more MATH table bugs.
----------------------------
revision 1.1934
date: 2007/08/01 21:03:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Outputting extension subtables appears to have been broken.
The code which was supposed to detect two glyphs with the same set of kerning
pairs and use the same data for them didn't work (forcing us to get an extension table which also didn't work).
----------------------------
revision 1.1933
date: 2007/08/01 03:10:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a few of the more obvious bugs in the MATH table.
----------------------------
revision 1.1932
date: 2007/07/31 02:11:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Ok, all the dialogs are now coded except for mathkerning.
IO is also coded.
----------------------------
revision 1.1931
date: 2007/07/30 04:21:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Code for reading, editing, storing in sfd, but not writing the new 'MATH' table.
----------------------------
revision 1.1930
date: 2007/07/28 00:40:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some more checks against non-BMP characters when drawing text.
----------------------------
revision 1.1929
date: 2007/07/26 23:38:04;  author: pfaedit;  state: Exp;  lines: +2 -2
For first characters in the kern pair dlg, when editing class 0, the [Edit] button was enabled but did nothing. Should work now.
----------------------------
revision 1.1928
date: 2007/07/26 23:09:04;  author: pfaedit;  state: Exp;  lines: +2 -2
ff could crash if it tried to create a popup image of the <New> line in the substitution pane of Glyph Info.
Scrolling in the matrix edit widget sometimes forgot to move the column labels.
Add glyph name completion to lookup subtable dlg and glyph info panes.
----------------------------
revision 1.1927
date: 2007/07/26 19:04:08;  author: pfaedit;  state: Exp;  lines: +2 -2
More bugs related to python kerning classes.
----------------------------
revision 1.1926
date: 2007/07/26 17:56:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Initial structure declarations for 'MATH' table.
----------------------------
revision 1.1925
date: 2007/07/26 13:50:34;  author: pfaedit;  state: Exp;  lines: +3 -3
addKerningClass didn't parse its arguments correctly.
----------------------------
revision 1.1924
date: 2007/07/25 20:06:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov has replaced the dstem code and says he will try to make them work.
----------------------------
revision 1.1923
date: 2007/07/25 17:40:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Drat. When printing full page glyphs to a pdf file, the glyph was shifted up by almost the full page and we got a second (and incorrect) title.
----------------------------
revision 1.1922
date: 2007/07/24 21:42:34;  author: pfaedit;  state: Exp;  lines: +3 -3
MS proposes two new feature tags with it's new 'MATH' table.
----------------------------
revision 1.1921
date: 2007/07/23 15:07:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Add shortcuts to the anchor control dlg (Page Up/Page Down) to move to the next/previous glyph.
----------------------------
revision 1.1920
date: 2007/07/23 14:50:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Michal Nowakowski has improved the truetype autoinstructor. He warns that it probably still has bugs (as what does not?) so I am leaving the old code available for now. He says it works best in "a clean (uninstructed) font with well defined blue zones and stems".
----------------------------
revision 1.1919
date: 2007/07/23 04:09:39;  author: pfaedit;  state: Exp;  lines: +2 -2
--usage did not document the --last argument.
----------------------------
revision 1.1918
date: 2007/07/23 03:42:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Pdf printing was broken.
Scripting printing was broken.
----------------------------
revision 1.1917
date: 2007/07/23 00:20:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Drat. A change I made to boxes reordered events and caused the open font dlg to crash.
----------------------------
revision 1.1916
date: 2007/07/23 00:17:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Many more tests of the display/print dlg now work.
----------------------------
revision 1.1915
date: 2007/07/22 20:15:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow the user to set the number of ligature carets in a glyph. I realize that my mechanism of counting the components of all ligatures isn't always going to give the right answer. In old type1/afm fonts an "ffi" ligature had to be specified as "ff + i", not as "f + f + i". So my algorithm would count two components when it should find 3.
----------------------------
revision 1.1914
date: 2007/07/22 04:50:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Initial version of the new print sample (it works in one test case and it's bedtime).
----------------------------
revision 1.1913
date: 2007/07/20 22:32:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Rewrite the display fonts dlg so it processes features just as metrics view does.
Rewrite the display fonts dlg so that it incorporates print.
Remove the old print command and rename Display to print.
----------------------------
revision 1.1912
date: 2007/07/20 22:19:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Add minimal support for applying apple state machine lookups in metrics view.
Support is minimal because:
   Apple seems to figure line breaks before doing substitution process but
	I do it afterward so I don't know where the line breaks are and I
	can't enter either the line start or line end state.
   When I delete a glyph I delete it. Apple inserts a deleted glyph mark
	and then removes that later. State machines can respond to deleted
	glyphs, but I can't.
   I don't try to figure out which feature,settings should be on by default.
	So the user must pick them out manually.
----------------------------
revision 1.1911
date: 2007/07/19 18:44:42;  author: pfaedit;  state: Exp;  lines: +2 -2
If we have a glyph with multiple encodings, and the secondary encodings occur after the primary ones, then the backmap will probably contain a secondary encoding, which means that when we go to load the font in we will probably notice the secondary encoding twice and forget the primary.
----------------------------
revision 1.1910
date: 2007/07/19 15:12:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Still fixing bugs left from extracting ligature anchors from normal anchors. This time in scripting.
----------------------------
revision 1.1909
date: 2007/07/19 15:08:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry SCHWARTZ complains that font info says "fontnames must" but that the cited adobe tech note only says "should". So change "must" to "should".
----------------------------
revision 1.1908
date: 2007/07/18 16:17:07;  author: pfaedit;  state: Exp;  lines: +2 -2
When processing class-based contextual lookups fontforge could not handle class 0 (the class containing "all glyphs not in another class") add code to do that.
----------------------------
revision 1.1907
date: 2007/07/18 15:51:41;  author: pfaedit;  state: Exp;  lines: +3 -3
The LigIndex field of the create anchor point dlg was incorrectly enabled. I used to treat mark to base and mark to lig as the same anchor class and failed to correct this field when I changed that.
----------------------------
revision 1.1906
date: 2007/07/17 22:01:56;  author: pfaedit;  state: Exp;  lines: +2 -2
If the user did not select a Gasp Version (note: active selection was needed, just seeing that it was correct and leaving it didn't work) then [OK] would leave the font with an invalid version and on some systems caused a crash.
----------------------------
revision 1.1905
date: 2007/07/17 21:35:38;  author: pfaedit;  state: Exp;  lines: +3 -3
View->Insert Glyph After didn't work well on a ligature glyph. It would insert the glyph after the first component of the ligature, not after the last -- which would make more sense.
----------------------------
revision 1.1904
date: 2007/07/17 02:42:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Some fixes to --library-status (didn't work on mac).
----------------------------
revision 1.1903
date: 2007/07/15 23:51:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Misnamed some private dict entries when loading from otf.
----------------------------
revision 1.1902
date: 2007/07/15 23:42:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Make entry of ghost hints better.
----------------------------
revision 1.1901
date: 2007/07/15 23:19:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to determine whether a point is selected or not from python.
----------------------------
revision 1.1900
date: 2007/07/14 03:32:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a mechanism so the user can ask fontforge to check for the existance of optional libraries.
----------------------------
revision 1.1899
date: 2007/07/13 00:59:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Reference some BMP arrays with codepoints outside bmp. Add range checks. Broken by UCS2->UCS4 change.
----------------------------
revision 1.1898
date: 2007/07/13 00:43:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add popup graphics to the Glyph Info window (as well as the Lookup dlg) to show substitutions, etc.
----------------------------
revision 1.1897
date: 2007/07/13 00:13:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants GotoChar to be able to switch sub-fonts in a cid keyed font. This may introduce bugs...
----------------------------
revision 1.1896
date: 2007/07/11 22:16:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Revert glyph still wasn't working.
----------------------------
revision 1.1895
date: 2007/07/11 22:09:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone complained that using a negative stroke took a very long time but produced correct results. Um. Ok. It's easy always to use the absolute value.
----------------------------
revision 1.1894
date: 2007/07/11 21:44:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. The mac uses UCS2 for filenames, so when I moved to UCS4 I should have changed the mac resource file interface.
----------------------------
revision 1.1893
date: 2007/07/11 21:31:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When creating a mac resource file we only set the type/creator fields and failed to initialize the finderFlags.
----------------------------
revision 1.1892
date: 2007/07/11 20:52:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Crash bug in generating a cursive connection anchor sub-table.
----------------------------
revision 1.1891
date: 2007/07/09 01:29:35;  author: pfaedit;  state: Exp;  lines: +2 -2
In TrueType composite glyphs with the USE_MY_METRICS bit set the lock icon wasn't scrolled properly.
----------------------------
revision 1.1890
date: 2007/07/09 00:56:21;  author: pfaedit;  state: Exp;  lines: +2 -2
The change from UCS2 to UCS4 broke text copy/paste.
We failed to add a terminating NUL of the right size in all cases
We continued to use charset=UCS-2 when it should have been UCS-4
----------------------------
revision 1.1889
date: 2007/07/08 23:52:13;  author: pfaedit;  state: Exp;  lines: +3 -3
FF crashed when trying to View->Show ATT on a font that appears to me to contain an invalid 'kern' sub-table. I have removed the proximate cause of the crash. I have provided a warning that the kern table appears invalid. And I have cleaned up my internals after detecting the bad sub-table (I had a lookup with a feature but no script and this caused problems).
----------------------------
revision 1.1888
date: 2007/07/08 01:44:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Multiple substitutions in the metrics view did not properly update the count of glyphs to be displayed.
----------------------------
revision 1.1887
date: 2007/07/08 01:32:06;  author: pfaedit;  state: Exp;  lines: +3 -3
If nothing changed in the metrics input field and the output contained a ligature (or a mult subs I suspect). FF would complain.
----------------------------
revision 1.1886
date: 2007/07/06 22:50:58;  author: pfaedit;  state: Exp;  lines: +3 -3
A recent patch had problems.
----------------------------
revision 1.1885
date: 2007/07/06 00:20:55;  author: pfaedit;  state: Exp;  lines: +2 -2
in python, font.generate() didn't work. The PyArg_ParseTupleAndKeywords behaves in a way I did not expect.
----------------------------
revision 1.1884
date: 2007/07/06 00:11:31;  author: pfaedit;  state: Exp;  lines: +2 -2
[Bottom] and [Down] still didn't work for lookup subtables.
----------------------------
revision 1.1883
date: 2007/07/06 00:05:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Try to force the text field in the metricsview to a fixed size. In some fonts it seems to be initialized to a huge value.
----------------------------
revision 1.1882
date: 2007/07/05 23:37:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Add ability to display italic side bearings in the char view.
----------------------------
revision 1.1881
date: 2007/07/05 23:08:10;  author: pfaedit;  state: Exp;  lines: +2 -2
The lines drawn for italic fonts to show the italic origin and width were at slightly the wrong angle (I used a sine when I should have used a tangent).
----------------------------
revision 1.1880
date: 2007/07/05 22:36:46;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font did not have any horizontal metrics then ff would not set the em-size.
----------------------------
revision 1.1879
date: 2007/07/05 22:29:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Show Att trampled on memory when display apple contextual substitution state machines.
----------------------------
revision 1.1878
date: 2007/07/05 22:28:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Wasn't parsing apple's 'lcar' table properly.
----------------------------
revision 1.1877
date: 2007/07/05 21:58:18;  author: pfaedit;  state: Exp;  lines: +2 -2
if a font contained a 'post' table but didn't name all names (or something like that), then the attempt to name the glyph based on the encoding was broken after the encoding change.
----------------------------
revision 1.1876
date: 2007/07/05 21:38:43;  author: pfaedit;  state: Exp;  lines: +2 -2
FF did not recognize that a bdf file was greymaped. Broken by the bdf properties work a year ago or so.
----------------------------
revision 1.1875
date: 2007/07/05 20:55:55;  author: pfaedit;  state: Exp;  lines: +2 -2
To the subtable dialogs for single, multiple, alternate and ligature substitutions and single positionings add a popup window displaying the glyphs involved.
----------------------------
revision 1.1874
date: 2007/07/05 20:51:05;  author: pfaedit;  state: Exp;  lines: +2 -2
The import lookups button in fontinfo forgot about the subtables (sort of).
----------------------------
revision 1.1873
date: 2007/07/05 13:37:07;  author: pfaedit;  state: Exp;  lines: +2 -2
The metricsview used the wrong count field to determine whether things changed. It used the glyph count, not the char count (which meant that when we had a ligature and the number of chars was greater than the number of glyphs, things got confused.)
----------------------------
revision 1.1872
date: 2007/07/05 13:29:13;  author: pfaedit;  state: Exp;  lines: +3 -3
In the metrics view, anchored attachments only worked if the base glyph were itself unmoved (that is the mark was placed relative to the unmoved location, not the actual location).
----------------------------
revision 1.1871
date: 2007/07/04 00:35:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Usually there would be some skewing when doing a replace under rotation.
----------------------------
revision 1.1870
date: 2007/07/03 22:55:02;  author: pfaedit;  state: Exp;  lines: +2 -2
The search dialog should provide user with control over the error bound.
The rotate checkbox didn't work if the flip checkbox wasn't checked.
----------------------------
revision 1.1869
date: 2007/07/03 16:26:03;  author: pfaedit;  state: Exp;  lines: +3 -3
If a replace contour added a control point to a point that did not have one (went from a line to a curve) then that control point would get lost.
If a search matched across the start point of a contour then search/replace could go into an infinite loop if the search and replace paths were the same.
----------------------------
revision 1.1868
date: 2007/07/02 21:56:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Find/Replace (replace) didn't work on quadratic splines.
----------------------------
revision 1.1867
date: 2007/07/02 21:53:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two python methods:
  Layer.interpolateNewLayer(other-layer,amount)
  Font.createInterpolatedGlyph(glyph1,glyph2,amount)
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.
----------------------------
revision 1.1866
date: 2007/07/02 20:22:00;  author: pfaedit;  state: Exp;  lines: +2 -2
When recovering from a crash, FF would sometimes complain about a mismatched version number. Don't.
----------------------------
revision 1.1865
date: 2007/07/02 19:23:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Problems parsing 'mort' tables could cause a crash.
----------------------------
revision 1.1864
date: 2007/07/01 23:27:36;  author: pfaedit;  state: Exp;  lines: +2 -2
When building a contextual lookup, don't list that lookup as something that it could invoke (ie. list all lookups in this table (GPOS/GSUB) except for ourselves). Don't want to encourage users to create infinite lookup loops.
----------------------------
revision 1.1863
date: 2007/07/01 20:57:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Point matching didn't work when there were references to references and multiple references within a glyph.
----------------------------
revision 1.1862
date: 2007/07/01 19:32:17;  author: pfaedit;  state: Exp;  lines: +2 -2
FF was having problems with extension lookups with multiple sub tables.
----------------------------
revision 1.1861
date: 2007/07/01 18:17:30;  author: pfaedit;  state: Exp;  lines: +2 -2
We were trying to print a trailing NUL in some strings from the fontview.
----------------------------
revision 1.1860
date: 2007/07/01 18:16:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Kerning by classes got broken in metricsview by the addition of support for device tables.
----------------------------
revision 1.1859
date: 2007/07/01 05:41:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Pressing [Bottom] in the lookups tab of Font Info caused a crash.
A GPOS contextual lookup only listed GSUB lookups in the lookup/sequence dlg
Pressing [OK] in the lookup/sequence dlg caused a crash if no lookup selected.
----------------------------
revision 1.1858
date: 2007/07/01 05:19:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Openfontdlg was looking at the filter listbutton rather than the rename namelist listbutton.
----------------------------
revision 1.1857
date: 2007/07/01 05:12:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Another futile attempt at an embolden command.
----------------------------
revision 1.1856
date: 2007/06/29 14:31:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Goto dlg bug had two parts.
----------------------------
revision 1.1855
date: 2007/06/29 02:19:17;  author: pfaedit;  state: Exp;  lines: +2 -2
mf2pt1 now uses "glyph_dimensions" rather than "bbox"
----------------------------
revision 1.1854
date: 2007/06/29 02:15:04;  author: pfaedit;  state: Exp;  lines: +2 -2
The metrics view should now handle device tables.
----------------------------
revision 1.1853
date: 2007/06/29 02:01:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Goto could crash when used on small encodings.
----------------------------
revision 1.1852
date: 2007/06/29 01:32:10;  author: pfaedit;  state: Exp;  lines: +2 -2
-lang wasn't permitted before -c.
----------------------------
revision 1.1851
date: 2007/06/29 01:29:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Use numeric text fields for anchor positioning.
----------------------------
revision 1.1850
date: 2007/06/26 21:54:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Graham Asher points out that the meanings of underline position in the 'post' table and the FontInfo dictionary are different. One refers to the top of the underline rectangle and one to the center of it.
----------------------------
revision 1.1849
date: 2007/06/18 23:15:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Start on the superstructure for handling OpenType features in the File->Display dialog (we don't yet, this is merely an initial stage on a journey).
----------------------------
revision 1.1848
date: 2007/06/17 19:31:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Align point would crash if the selected point were the end point of a contour (or if the two points around it were in the same place).
----------------------------
revision 1.1847
date: 2007/06/15 14:31:03;  author: pfaedit;  state: Exp;  lines: +2 -2
The baseline was not properly located when displaying it in the fontview.
----------------------------
revision 1.1846
date: 2007/06/15 13:49:32;  author: pfaedit;  state: Exp;  lines: +2 -2
BitmapsAvail would generally cause FF to crash if done from the UI.
----------------------------
revision 1.1845
date: 2007/06/15 13:35:18;  author: pfaedit;  state: Exp;  lines: +3 -3
We seem to be misimplementing an obsolete convention for having duplicate encodings point to the same glyph. Result was that occasionally a glyph would be removed and a pointer to something it refered to would be put in its place.
----------------------------
revision 1.1844
date: 2007/06/15 00:31:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the name of activeFontInUI to activeFont
Add an activeGlyph method.
Add the ability to call a python script from a outline view.
----------------------------
revision 1.1843
date: 2007/06/14 03:20:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmmm. If a textfield is shifted right, and then resized so there's now room for all the text, the unshift it.
Further tweeks to name completion.
----------------------------
revision 1.1842
date: 2007/06/13 20:57:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner suggests that it would be useful to be able to specify wildcards in the goto dlg.
----------------------------
revision 1.1841
date: 2007/06/13 20:12:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Add filename completion to file choosers.
Add glyphname completion to gotodlg.
----------------------------
revision 1.1840
date: 2007/06/11 20:50:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops change for Werner re: bounding box didn't work.
----------------------------
revision 1.1839
date: 2007/06/11 00:43:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner tells me that lilypond uses a slightly different syntax for the MF2PT1 bbox comment, so make our parsing slightly more generous.
----------------------------
revision 1.1838
date: 2007/06/09 03:13:33;  author: pfaedit;  state: Exp;  lines: +2 -2
When creating a new lookup subtable for an anchored lookup, it did not get marked as having anchor classes and feature file output failed because of that.
----------------------------
revision 1.1837
date: 2007/06/09 03:08:14;  author: pfaedit;  state: Exp;  lines: +2 -2
When outputing single lookups, the feature, script and language tags all had ^A where they should have had the second letter of the tag.
----------------------------
revision 1.1836
date: 2007/06/08 21:05:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Michael Zedler tells me that glyphs output by mf2pt1 contain a line:
 % 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...
----------------------------
revision 1.1835
date: 2007/06/07 23:48:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove the code to produce the old, broken, 'size' feature.
----------------------------
revision 1.1834
date: 2007/06/07 21:53:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of bugs.
----------------------------
revision 1.1833
date: 2007/06/07 14:34:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for Adobe's feature file syntax.
  Use Merge Kern (now Merge Feature) to read one
  Use Element->Font Info->Lookups->popup menu->Save to generate one
----------------------------
revision 1.1832
date: 2007/06/06 20:21:14;  author: pfaedit;  state: Exp;  lines: +2 -2
An earlier patch, designed to make the tabset work in the charview even if the user changed the name, didn't work.
----------------------------
revision 1.1831
date: 2007/06/06 19:28:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Bug in the selection iterator.

Also Max Rabkin points out the docs say the iterator returns selected glyphs rather than encoding slots. Fix the docs, then add a member (.byGlyphs) which will make the iterator return glyphs.
----------------------------
revision 1.1830
date: 2007/06/06 18:31:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Accept contour += (1,2) rather than forcing people to say contour += fontforge.point(1,2)
----------------------------
revision 1.1829
date: 2007/06/06 18:14:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Was using an error return from two setter functions (contour.set_closed, set_is_quadratic) when I should have returned success.
----------------------------
revision 1.1828
date: 2007/06/05 03:19:05;  author: pfaedit;  state: Exp;  lines: +2 -2
#ifs were in the wrong place.
----------------------------
revision 1.1827
date: 2007/06/05 03:06:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Crash when mistyping a glyph name in Glyph Info possub panes. Probably in the equivalent lookup dlgs too.
----------------------------
revision 1.1826
date: 2007/06/04 00:29:30;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph contained two copies of another glyph, and one of those copies was off by enough that ff didn't recognize it, the depending on how the contours were ordered, ff might fail to recognize the first glyph too, even though it did match.
----------------------------
revision 1.1825
date: 2007/06/03 22:30:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Add iterators to contours and layers. Python users seem to expect them even when they aren't documented to exist.
----------------------------
revision 1.1824
date: 2007/06/03 21:58:11;  author: pfaedit;  state: Exp;  lines: +2 -2
layer += contour  didn't work in python. I was examining a bit through the wrong data type.
----------------------------
revision 1.1823
date: 2007/06/03 20:50:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Provide a mechanism for copying lookup information from one glyph to another.
----------------------------
revision 1.1822
date: 2007/06/02 22:58:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Loading kerning info from a mac 'FOND' resource was broken by the lookup change.
----------------------------
revision 1.1821
date: 2007/06/02 22:38:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Python scripting command font.createChar didn't. Partial patch from MaxRabkin.
----------------------------
revision 1.1820
date: 2007/06/01 15:01:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Adding a kerning pair from the metrics view would often add two or three pairs with the same character combination and different values.
----------------------------
revision 1.1819
date: 2007/06/01 00:28:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Another remove overlap bug. Introduced recently.
----------------------------
revision 1.1818
date: 2007/06/01 00:03:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner still uses Apply Substitutions so I guess I can't get rid of it.
----------------------------
revision 1.1817
date: 2007/05/31 03:26:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Fixes to feature file generation.
We now seem to be parsing feature files properly (but we don't do any semantics yet).
----------------------------
revision 1.1816
date: 2007/05/28 22:35:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some dutch styles.
----------------------------
revision 1.1815
date: 2007/05/28 22:19:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Make yet another attempt to correct for rounding errors when loading a postscript font.
----------------------------
revision 1.1814
date: 2007/05/28 22:03:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a way to get a fonts filename to python.
----------------------------
revision 1.1813
date: 2007/05/28 21:26:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that in scripting I use "break" in an example. It isn't documented to work and I don't implement it but I do show it. Oops. Ok, make it work.
----------------------------
revision 1.1812
date: 2007/05/28 21:15:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Display substitutions was broken.
----------------------------
revision 1.1811
date: 2007/05/28 20:38:14;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating default names for subtables, it is confusing to name them the same as the lookup.
----------------------------
revision 1.1810
date: 2007/05/28 20:32:10;  author: pfaedit;  state: Exp;  lines: +3 -3
USC4 needs more work.
----------------------------
revision 1.1809
date: 2007/05/28 13:17:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Change to using USC4 from UCS2 internally.
----------------------------
revision 1.1808
date: 2007/05/28 03:17:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Provide default names for lookups once the user sets the feature.
----------------------------
revision 1.1807
date: 2007/05/28 03:13:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Disambiguate some strings for the polish translation
----------------------------
revision 1.1806
date: 2007/05/28 03:08:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Revert glyph should not work for old sfd files.
----------------------------
revision 1.1805
date: 2007/05/11 21:48:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Loading some afm files would go into an infinite loop.
----------------------------
revision 1.1804
date: 2007/05/11 21:23:34;  author: pfaedit;  state: Exp;  lines: +2 -2
[Import] button on Font Info->Lookups crashed.
----------------------------
revision 1.1803
date: 2007/05/11 21:14:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Sync up.
----------------------------
revision 1.1802
date: 2007/05/11 21:11:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a number of problems related to anchor classes.
----------------------------
revision 1.1801
date: 2007/05/11 20:55:56;  author: pfaedit;  state: Exp;  lines: +3 -3
After the user does an [Add Lookup] we should select the new lookup, to make it easier for him/her to do an [Add Subtable].
----------------------------
revision 1.1800
date: 2007/05/10 05:26:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of cleanups.
  aalt should merge lookups with the same lookup set across scripts.
  Try to pick slightly better names for lookups by default (search for
   entries with the 'dflt' language first).
----------------------------
revision 1.1799
date: 2007/05/09 20:54:46;  author: pfaedit;  state: Exp;  lines: +2 -2
When ff parsed an afm file it only read the first ligature on a line.
----------------------------
revision 1.1798
date: 2007/05/09 19:35:54;  author: pfaedit;  state: Exp;  lines: +2 -2
The [Call...] button in the scripting dialog is meaningless for python scripts (or I don't know how to give it meaning) so disable it.
----------------------------
revision 1.1797
date: 2007/05/09 16:49:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Vertical scrolling in the metrics view tried to scroll the list of features too.
----------------------------
revision 1.1796
date: 2007/05/09 16:44:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Tab, and arrow keys didn't work in the matrixedit widget after I added hidden columns.
Make Return do the expected thing (move to start of next line and create it if possible).
----------------------------
revision 1.1795
date: 2007/05/09 00:45:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Pierre to fix uninitialized value when compacting encodings.
----------------------------
revision 1.1794
date: 2007/05/08 23:09:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in realloc of lookups meant that nothing happened (when it should have increased array size by 1).
----------------------------
revision 1.1793
date: 2007/05/07 22:39:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the OFL icon to the fontinfo dlg.
----------------------------
revision 1.1792
date: 2007/05/07 20:28:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Further tweaks to the code to start x on the mac.
----------------------------
revision 1.1791
date: 2007/05/06 15:20:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Plugins were broken with regular link configure option.
----------------------------
revision 1.1790
date: 2007/05/06 14:34:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Inkscape can start X on the mac before it tries to connect. Hmm. I can do that too. Inkscape manages to start X without an xterm. I don't know how to do that.
----------------------------
revision 1.1789
date: 2007/05/05 20:56:01;  author: pfaedit;  state: Exp;  lines: +2 -2
When reading PS and CharStrings, the closepath operator didn't allow for rounding errors.
----------------------------
revision 1.1788
date: 2007/05/05 18:14:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Metrics View would crash if more than 20 glyphs entered.
----------------------------
revision 1.1787
date: 2007/05/05 17:30:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov points out that it would be nice if moving an anchor point did not set "changed since last hinted.
----------------------------
revision 1.1786
date: 2007/05/05 17:28:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov points out that the "changed since last hinted" flag gets set inappropriately.
----------------------------
revision 1.1785
date: 2007/05/05 17:26:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexej Kryukov points out that the Anchor control menu item looked as though it had changed, but actually had not.
----------------------------
revision 1.1784
date: 2007/05/01 20:11:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Stupid typo.
----------------------------
revision 1.1783
date: 2007/04/30 22:52:28;  author: pfaedit;  state: Exp;  lines: +2 -2
The context chaining dlg didn't had some buttons off the bottom of the window if you did things "By Glyphs".
----------------------------
revision 1.1782
date: 2007/04/30 20:28:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a "lock" icon beside the width line if the glyph contains a reference with the "use my metrics" bit set.
----------------------------
revision 1.1781
date: 2007/04/30 20:06:05;  author: pfaedit;  state: Exp;  lines: +2 -2
When a glyph changed, the metrics view's picture of that glyph would not change.
----------------------------
revision 1.1780
date: 2007/04/30 15:19:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't always synchronize width
----------------------------
revision 1.1779
date: 2007/04/30 14:47:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Er. My overlap fixes had some bugs of their own.
----------------------------
revision 1.1778
date: 2007/04/30 13:45:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Patches from Pierre Hanser
- 2 cases of core dump
- 1 case of jumping to the wrong fontinfo sub item when there
  is no anchor class available and trying to add an anchor
----------------------------
revision 1.1777
date: 2007/04/30 03:20:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Select by lookup subtable had several bugs.
----------------------------
revision 1.1776
date: 2007/04/30 02:21:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Finish initial version of python.
Various other small fixes.
----------------------------
revision 1.1775
date: 2007/04/28 12:57:58;  author: pfaedit;  state: Exp;  lines: +3 -3
One final tweak to overlap.
----------------------------
revision 1.1774
date: 2007/04/27 22:37:11;  author: pfaedit;  state: Exp;  lines: +3 -3
More work on remove overlap. (Simplify does more too).
----------------------------
revision 1.1773
date: 2007/04/27 04:06:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. Maybe it is possible to get rid of some rounding errors in remove overlap.
----------------------------
revision 1.1772
date: 2007/04/26 15:24:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Don't show side bearings when they are 0. The display doesn't make sense.
----------------------------
revision 1.1771
date: 2007/04/26 04:48:53;  author: pfaedit;  state: Exp;  lines: +2 -2
I hope that finishes off the python glyph.
----------------------------
revision 1.1770
date: 2007/04/26 03:03:16;  author: pfaedit;  state: Exp;  lines: +2 -2
FF would destroy memory in the metrics view if the user attempted to display a character which was not in the font.
----------------------------
revision 1.1769
date: 2007/04/25 21:25:58;  author: pfaedit;  state: Exp;  lines: +2 -2
More stuff for python.
  left/right side bearings
  createChar changed
  removeGlyph added.
----------------------------
revision 1.1768
date: 2007/04/25 20:48:11;  author: pfaedit;  state: Exp;  lines: +2 -2
If the use_my_metrics bit is set in a glyph then don't let the user change
the glyph's width.
----------------------------
revision 1.1767
date: 2007/04/25 19:15:32;  author: pfaedit;  state: Exp;  lines: +3 -3
If a font contains glyphs outside of BMP then OS/2 first/last char index get set to 0xffff.
----------------------------
revision 1.1766
date: 2007/04/24 23:02:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Lookups didn't always get the appropriate index assigned to them when generating a font.
----------------------------
revision 1.1765
date: 2007/04/24 22:55:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Bugs in 'PfEd' table, glyph comment subtable.
----------------------------
revision 1.1764
date: 2007/04/21 00:25:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a transform command to glyph in python.
----------------------------
revision 1.1763
date: 2007/04/20 23:29:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Find problems didn't find references which intersected.
----------------------------
revision 1.1762
date: 2007/04/20 22:54:55;  author: pfaedit;  state: Exp;  lines: +2 -2
add a selfIntersects command to python.
----------------------------
revision 1.1761
date: 2007/04/20 14:57:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of places where I actually say "FontForge 1.0". Let's bump that to 2.0 now that I've done that for the sfd format.
----------------------------
revision 1.1760
date: 2007/04/20 14:52:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Overlap problems with incorrect path orientations.
----------------------------
revision 1.1759
date: 2007/04/19 23:39:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Add python scripting support for lookups.
Redo the way the size feature was handled.
Redo the way tt instructions were handled.
----------------------------
revision 1.1758
date: 2007/04/18 20:50:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Wasn't handling optical bounds right.
----------------------------
revision 1.1757
date: 2007/04/16 23:23:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Arrow keys didn't work in the charview if the tabset were active.
----------------------------
revision 1.1756
date: 2007/04/16 21:52:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Patches by Pierre Hanser to python scripting.
----------------------------
revision 1.1755
date: 2007/04/16 05:21:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that there is no way now to remove individual Pos/Sub data from a glyph (we can remove an entire lookup-subtable, but that's too much). (Old scripting protocol).
----------------------------
revision 1.1754
date: 2007/04/15 03:05:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for glyph level hints to python scripting.
----------------------------
revision 1.1753
date: 2007/04/13 21:15:47;  author: pfaedit;  state: Exp;  lines: +2 -2
I used to use "><" on the font's window title to represent a compacted font. No one understood it. Use "Compacted" instead.
----------------------------
revision 1.1752
date: 2007/04/13 21:12:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for the Pen Protocol.
----------------------------
revision 1.1751
date: 2007/04/12 18:45:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Philipp Poll wants to see the side bearings (I think) in the charview.
----------------------------
revision 1.1750
date: 2007/04/11 20:55:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Nicolas Spalinger of SIL suggests a help button next to [Add OFL] to open a browser on the official OFL site.
----------------------------
revision 1.1749
date: 2007/04/11 20:46:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Nicolas Spalinger of SIL regarding the verbiage surrounding the OFL in the fontinfo. Also his suggestion to make the tooltip live longer.
----------------------------
revision 1.1748
date: 2007/04/11 20:22:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Patches by Pierre Hanser to the python interface.
----------------------------
revision 1.1747
date: 2007/04/11 14:22:14;  author: pfaedit;  state: Exp;  lines: +3 -3
python bugs
----------------------------
revision 1.1746
date: 2007/04/06 19:00:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Initial version of python scripting.
----------------------------
revision 1.1745
date: 2007/04/03 16:23:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Some tweaks for python.
----------------------------
revision 1.1744
date: 2007/04/01 00:56:03;  author: pfaedit;  state: Exp;  lines: +3 -3
The garbage collection code I put in for autotrace (keeping track of ps arrays)
overflowed the chunk size. So increase it.
----------------------------
revision 1.1743
date: 2007/03/29 22:08:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Replace with Reference didn't check reference offsets correctly.
----------------------------
revision 1.1742
date: 2007/03/27 04:56:27;  author: pfaedit;  state: Exp;  lines: +3 -3
When ff read 'onum' from an sfd file (version 2) of Junicode it stripped the feature/script/lang info.
----------------------------
revision 1.1741
date: 2007/03/25 22:15:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Couple of problems in parsing kern pairs from glyph info.
----------------------------
revision 1.1740
date: 2007/03/25 20:59:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix some bugs.
----------------------------
revision 1.1739
date: 2007/03/25 05:21:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, Select by lookup subtable didn't work.
----------------------------
revision 1.1738
date: 2007/03/24 20:56:54;  author: pfaedit;  state: Exp;  lines: +3 -3
fix bugs.
----------------------------
revision 1.1737
date: 2007/03/24 05:15:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some problems with glyph info.
----------------------------
revision 1.1736
date: 2007/03/23 22:56:05;  author: pfaedit;  state: Exp;  lines: +3 -3
The "use new indic scripts" flag should be off by default.
----------------------------
revision 1.1735
date: 2007/03/23 03:05:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Get the links right when the user presses the F1 button in the various new dlgs.
----------------------------
revision 1.1734
date: 2007/03/23 01:24:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a pull down list of available script/lang pairs to the script/lang text field in the metrics view.
----------------------------
revision 1.1733
date: 2007/03/22 18:48:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the metrics view so that it applies opentype lookups properly, and give user control of which features are to be applied.

I don't know how to do indic reordering yet, so that presumably doesn't work.
----------------------------
revision 1.1732
date: 2007/03/20 04:37:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some memory leaks in my postscript interpreter.
----------------------------
revision 1.1731
date: 2007/03/19 21:41:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Victor Gaultney says that, for legal reasons, it is a bad idea to include "unofficial" translations of the OFL in the 'name' table.

So get rid of them.
----------------------------
revision 1.1730
date: 2007/03/19 19:05:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Grr stupid typo in charinfo.
----------------------------
revision 1.1729
date: 2007/03/19 17:32:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a French translation of the OFL.
----------------------------
revision 1.1728
date: 2007/03/19 17:17:03;  author: pfaedit;  state: Exp;  lines: +2 -2
I was getting confused by ligature carets, when looking for other psts in the Glyph Info dlg.
----------------------------
revision 1.1727
date: 2007/03/19 16:20:59;  author: pfaedit;  state: Exp;  lines: +2 -2
 Show ATT didn't work for anchors.
----------------------------
revision 1.1726
date: 2007/03/19 14:54:38;  author: pfaedit;  state: Exp;  lines: +3 -3
If one scrolled the fontinfo->lookup window, you could not select things in it.
----------------------------
revision 1.1725
date: 2007/03/19 04:01:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some standard classes to the context chaining dlg.
----------------------------
revision 1.1724
date: 2007/03/16 03:17:27;  author: pfaedit;  state: Exp;  lines: +2 -2
The kerning subtable dlg had a layout bug.
Make the "kerning by classes" dlg use boxes.
----------------------------
revision 1.1723
date: 2007/03/15 16:31:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that I missed at least one debug window.
----------------------------
revision 1.1722
date: 2007/03/15 16:24:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Make sure we only generate a postscript name in the name table once.
----------------------------
revision 1.1721
date: 2007/03/15 15:16:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Tell users they should add their email address to the License after pressing the [Add SIL Open Font License] button.
----------------------------
revision 1.1720
date: 2007/03/15 13:30:15;  author: pfaedit;  state: Exp;  lines: +2 -2
The change length button of the cvt dlg didn't work.
----------------------------
revision 1.1719
date: 2007/03/15 13:15:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Input/Output of Apple's 'lcar' table was inconsistent. I don't know if it is "right" now, but at least ff can read back what it wrote.
----------------------------
revision 1.1718
date: 2007/03/14 20:14:24;  author: pfaedit;  state: Exp;  lines: +2 -2
branches:  1.1718.2;
Werner points out that the debug windows show up at odd places if the window gets resized.
----------------------------
revision 1.1717
date: 2007/03/14 14:41:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Not following TeX conventions about character depth.
----------------------------
revision 1.1716
date: 2007/03/13 00:37:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a mechanism whereby the SIL Open Font License may be easily specified in the 'name' table.
----------------------------
revision 1.1715
date: 2007/03/12 21:02:37;  author: pfaedit;  state: Exp;  lines: +2 -2
TeX extension lists would be neither read from nor output to tfm files.
----------------------------
revision 1.1714
date: 2007/03/12 20:15:51;  author: pfaedit;  state: Exp;  lines: +3 -3
If the user specified specific TeX height/depth entries in Glyph Info, those data did not get stored in tfm/ofm files properly.
----------------------------
revision 1.1713
date: 2007/03/08 04:55:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Reuben Thomas to turn off the splashs screen from prefs.
----------------------------
revision 1.1712
date: 2007/03/08 04:25:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov points out that I've used the wrong dotlessj code point. Again.
----------------------------
revision 1.1711
date: 2007/03/01 05:06:54;  author: pfaedit;  state: Exp;  lines: +3 -3
If a glyph's point numbers weren't ordered properly (and that should not happen, but did), then when adding ttf instructions to the glyph, the instructions would be thrown out as soon as we noticed this problem. So the user would never see the instructions. Now force the points to be ordered before adding the instructions.
----------------------------
revision 1.1710
date: 2007/02/24 03:46:05;  author: pfaedit;  state: Exp;  lines: +3 -3
FF did not do a very good job of fitting the outline view to an empty glyph.
----------------------------
revision 1.1709
date: 2007/02/18 01:43:34;  author: pfaedit;  state: Exp;  lines: +3 -3
We used to allow the syntax "<number>* command" in ttf instructions (which automagically inserted an implied push). Someone noticed that
PUSHB_1
1
2
would lose the second number and not complain. In fixing that, I broke the first. Now both should work (I hope).
----------------------------
revision 1.1708
date: 2007/02/16 20:04:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Code which I hope will handle German keyboards and make them do what the menu says they should for certain hot keys (brackets, curly brackets, brokets all get different modifier sequences on a german keyboard than an english).
----------------------------
revision 1.1707
date: 2007/02/16 19:19:42;  author: pfaedit;  state: Exp;  lines: +3 -3
If a glyph had no hints then ff could add a hintmask operator (which didn't try to control any hints). Now I can't find anything in the docs which SAYS it's illegal to have a hintmask in a glyph with no fonts, it does seem bad practice, and a program called tx.exe complained about it.
----------------------------
revision 1.1706
date: 2007/02/16 04:19:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski to allow a nicer notation for delta instructions in the instruction editing window:
Example: PUSHB_3 6@12 8 1 DELTAP2

This moves point 8 by six delta-steps (that's clear) at 37 ppem (that's
not clear at first glance - assuming delta_base is 9, DELTAP2 works
from 25 ppem to 25+15 ppem, in this example it's 25+12 ppem).

So it's just a way of constructing an argument byte for DELTAP/C.
----------------------------
revision 1.1705
date: 2007/02/16 03:11:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow FontForge's menu shortcuts (hot keys, whatever) to be user definable. We use a gettext based mechanism, type
$ make FontForge-MenuShortCuts.pot
to get a pot file for the process. It needs to be converted to an mo file and
installed in $(prefix)/share/locale/$(LANG)/LC_MESSAGES, just like any other getext file.
----------------------------
revision 1.1704
date: 2007/02/10 02:18:27;  author: pfaedit;  state: Exp;  lines: +3 -3
The Export scripting command did not work as documented. It is documented to export all >selected< glyphs. Instead it exported >all< glyphs.
----------------------------
revision 1.1703
date: 2007/02/09 04:39:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the anchor control dlg.
----------------------------
revision 1.1702
date: 2007/02/06 04:58:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Be a little more lenient about bitmap bounding boxes for empty glyphs.
----------------------------
revision 1.1701
date: 2007/02/05 16:10:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the ClearHints scripting command take arguments: "Horizontal" or "Vertical" to allow users to choose to clear either horizontal or vertical hints (the old form with no args still works and clears both, of course).
----------------------------
revision 1.1700
date: 2007/01/30 03:40:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo gives us an unititialized variable when saving ufo.
----------------------------
revision 1.1699
date: 2007/01/30 00:16:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Various problems to various anchor dialogs.
----------------------------
revision 1.1698
date: 2007/01/28 18:49:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Pairwise positioning lookups could also get their device table offsets screwed up.
----------------------------
revision 1.1697
date: 2007/01/27 03:54:31;  author: pfaedit;  state: Exp;  lines: +3 -3
If an anchor point contained an x devtab but not a y devtab then it produced a pointer to garbage for the y devtab instead of NUL.
----------------------------
revision 1.1696
date: 2007/01/22 16:10:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that if you have a series of the same glyph in a row in the encoding (generally .notdef) and you are in a char view, then pressing Next Glyph does nothing. You are stuck at the same code point. (same thing happens for Prev Glyph).
----------------------------
revision 1.1695
date: 2007/01/22 15:58:45;  author: pfaedit;  state: Exp;  lines: +2 -2
a chinese input method steals keystrokes I use for hot keys (I think). So if users don't want glyph navigation by typing characters in the charview (controled by a preference item) then don't turn on the input method when the window is created.
----------------------------
revision 1.1694
date: 2007/01/22 15:41:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Add hot key for Select->Points on selected contours.
----------------------------
revision 1.1693
date: 2007/01/22 15:16:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Assign "dotlessj" to map to 0x237, the unicode code point, rather than to 0xf6be, the old Adobe private use area. !!!! THIS DOES NOT CONFORM TO THE AGL !!!!!
----------------------------
revision 1.1692
date: 2007/01/20 02:20:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The gloss for the shift point/contour/zone was slightly off and gave the
wrong information.
----------------------------
revision 1.1691
date: 2007/01/19 02:27:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Add vietnamese font styles (bold, italic, regular, etc.)
From Clytie Siddall.
----------------------------
revision 1.1690
date: 2007/01/19 02:00:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Fixes for rounding errors in finding spline intersections.
----------------------------
revision 1.1689
date: 2007/01/18 05:30:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that removing a bitmap glyph from the bitmapview does not force a redisplay in the fontview.
----------------------------
revision 1.1688
date: 2007/01/18 05:16:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Gleep. Werner points out that when generating bitmap strikes, ff would always generate a postscript font to rasterize, so any truetype instructions would be ignored.
----------------------------
revision 1.1687
date: 2007/01/12 21:19:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a command to show anchor point attachments within the outline character view (View->Combinations->Anchor Glyph at Point)
----------------------------
revision 1.1686
date: 2007/01/12 00:02:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Force point numbers to be correct when changing glyphs in the charview.
----------------------------
revision 1.1685
date: 2007/01/11 23:26:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for Apple/Adobe's obsolete 'typ1' sfnt. A way of stuffing a type1 font into an sfnt wrapper.
----------------------------
revision 1.1684
date: 2007/01/11 16:16:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Even though the viewbox/output width hieght ratios are different, people want the image scaled the same in svg input.
----------------------------
revision 1.1683
date: 2007/01/11 15:40:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a tabs line to the outline char window. If users are going to have only one charview open then they probably want some history too.
----------------------------
revision 1.1682
date: 2007/01/10 21:59:44;  author: pfaedit;  state: Exp;  lines: +3 -3
People would like to have only one charview and double clicking in the fontview just changes the contents of an existing window.
Preference Item: OpenCharsInNewWindow
----------------------------
revision 1.1681
date: 2007/01/07 13:45:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that what I call "Type42 CID" should actually be called either "Type11" or "CID Type 2".
----------------------------
revision 1.1680
date: 2007/01/04 23:48:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Mike FABIAN of suse. Need to increase an array bound in display fonts.
----------------------------
revision 1.1679
date: 2007/01/04 22:48:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, can only set the grayscale field of the freetype exc structure if version number is 2.1.10 or more (It didn't exist before then).
----------------------------
revision 1.1678
date: 2007/01/04 17:25:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Update copyright notices to 2007.
----------------------------
revision 1.1677
date: 2006/12/21 16:26:09;  author: pfaedit;  state: Exp;  lines: +2 -2
ReTag dlg would crash.
----------------------------
revision 1.1676
date: 2006/12/21 16:13:20;  author: pfaedit;  state: Exp;  lines: +3 -3
I had too many code points assigned to Yi.
----------------------------
revision 1.1675
date: 2006/12/20 19:31:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by  Johan Winge to fix magnification by dragging a rectangle.
----------------------------
revision 1.1674
date: 2006/12/20 19:23:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Uninitialized variable. Patch by Mike FABIAN of suse.
----------------------------
revision 1.1673
date: 2006/12/20 05:32:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a couple of memory leaks.
----------------------------
revision 1.1672
date: 2006/12/18 03:08:17;  author: pfaedit;  state: Exp;  lines: +2 -2
The docs don't mention this, but... mangal.ttf has a NULL offset for the lookahead class definition, so if that happens -- no classes.
----------------------------
revision 1.1671
date: 2006/12/17 14:17:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner doesn't like that I always add dummy bitmaps for .notdef, .null & nonmarkingreturn. It seemed logical to me that if I were prepared to add those glyphs to the outline font I should be prepared to add them to the bitmap strike. But Werner (I think) sees bitmap strikes as containing exceptional glyphs which need special handling, whereas I just saw them as complete fonts. So in this context I guess there is no need to add these glyphs.

As a compromise I have decided that I will add the glyphs to the bitmap strike if I added the glyphs to the outline font.
----------------------------
revision 1.1670
date: 2006/12/15 21:56:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting functions:
  SelectMoreIf
  SelectMoreSingletonsIf
  SelectSingletonsIf
----------------------------
revision 1.1669
date: 2006/12/15 21:39:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner cared that the changed flag wasn't being set in Remove ATT.
----------------------------
revision 1.1668
date: 2006/12/15 21:33:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants a Remove this glyph in the bitmap view.
----------------------------
revision 1.1667
date: 2006/12/15 01:44:18;  author: pfaedit;  state: Exp;  lines: +2 -2
GetPosSub scripting command trashed memory.
----------------------------
revision 1.1666
date: 2006/12/15 01:23:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Make default char of OS/2 be space for otf and .notdef for ttf. This is a guess at what should be done.
----------------------------
revision 1.1665
date: 2006/12/15 00:04:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to remove bitmap glyphs from a strike.
----------------------------
revision 1.1664
date: 2006/12/14 21:33:04;  author: pfaedit;  state: Exp;  lines: +3 -3
In a font without any LCG characters, fontforge set the OS/2 capheight and xheight fields to -1e10. It should have been 0. Patch by Roozbeh Pournader.
----------------------------
revision 1.1663
date: 2006/12/13 13:34:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants to be able to set bitmap magnification in the font view.
----------------------------
revision 1.1662
date: 2006/12/13 01:57:48;  author: pfaedit;  state: Exp;  lines: +2 -2
there was an uninitialized variable used in parsing contextual by coverage table.
----------------------------
revision 1.1661
date: 2006/12/12 23:41:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that when double clicking on a bitmap glyph in the font view, the glyph is created / rasterized without using freetype.
----------------------------
revision 1.1660
date: 2006/12/12 23:32:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Still bugs related to FontSize in fontview.
----------------------------
revision 1.1659
date: 2006/12/12 23:12:19;  author: pfaedit;  state: Exp;  lines: +2 -2
FF was still setting firstcharindex in OS/2 incorrectly. The problem is that glyph 1 (or 2?) has encoding 0 in the mac cmap table while it is not referenced at all in the windows cmap.
----------------------------
revision 1.1658
date: 2006/12/12 17:24:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Wasn't setting os2_typelinegap field when reading an sfnt.
----------------------------
revision 1.1657
date: 2006/12/12 03:53:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Sigh. Ok. make the size of the label font in the fontview configurable.
fontforge.FontView.FontSize: 24
----------------------------
revision 1.1656
date: 2006/12/11 23:46:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow the user to create an empty bitmap strike.
----------------------------
revision 1.1655
date: 2006/12/11 20:58:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Roozbeh Pournader. Regular bit in fsSel in OS/2 was being set when it should not have been.
----------------------------
revision 1.1654
date: 2006/12/10 18:51:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Yet more work on the 'gasp' table.
----------------------------
revision 1.1653
date: 2006/12/08 19:31:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up new gasp support (retain version number).
Clean up head table flags.
----------------------------
revision 1.1652
date: 2006/12/08 13:51:41;  author: pfaedit;  state: Exp;  lines: +3 -3
The 'gasp' table has been extended to give users control over clear type. Version number has changed too. FF now supports the new bits, but will convert a version 0 table to a version 1 table.
----------------------------
revision 1.1651
date: 2006/12/07 03:37:29;  author: pfaedit;  state: Exp;  lines: +3 -3
The "Recalculate Bitmaps" button in the bitmap view should adjust its positioning as the window is resized (and be sensitive to other languages which might have different button widths).
----------------------------
revision 1.1650
date: 2006/12/04 22:14:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner finds "Original" confusing for an encoding and suggests "Glyph Order" instead.
----------------------------
revision 1.1649
date: 2006/12/04 21:52:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants me to update the gloss info for GETINFO now that MS has described some new bits for us.
----------------------------
revision 1.1648
date: 2006/12/04 21:06:52;  author: pfaedit;  state: Exp;  lines: +3 -3
The context chain dlg [Set] button didn't work (broken by the encoding change)
Layout is a bit cramped in places.
Set/Select aren't very informative, change to "Set from font"/"Select in Font"
----------------------------
revision 1.1647
date: 2006/12/03 20:23:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Improve the way glyphs are centered in the outline char view. At least I hope it's an improvement.
----------------------------
revision 1.1646
date: 2006/12/03 15:03:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner suggests that when looking at a bitmap strike, nextdef and prevdef look at the next glyph defined in the strike rather than the font as a whole. Useful for sparse bitmaps
----------------------------
revision 1.1645
date: 2006/12/03 03:13:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh. It is perfectly legal to have a context chain rule with no substitutions. This can be used to avoid matches in complex cases so:
[a-z] a b => does nothing
a b [a-z] => does nothing
a b => substitutes
will only substitute of "ab" is a word all to itself.
----------------------------
revision 1.1644
date: 2006/12/03 02:19:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Be paranoid.
----------------------------
revision 1.1643
date: 2006/12/03 00:34:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Deal with the case where we have a sequence of control points before any indication of curve/qcurve.
----------------------------
revision 1.1642
date: 2006/12/02 01:39:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Didn't do implied points right in quadratic glyphs.
Add support for postscript hints (not part of the UFO/glif standard, but is what RoboFab uses)
----------------------------
revision 1.1641
date: 2006/12/01 21:58:14;  author: pfaedit;  state: Exp;  lines: +3 -3
If the metrics view were displaying text containing non UNICODE characters then some edits in the text field which displays glyphs would leave us with the replacement character showing instead.
----------------------------
revision 1.1640
date: 2006/12/01 04:19:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to know whether storage locations are uninitialized or not, and to get warnings when reading an uninit value.
----------------------------
revision 1.1639
date: 2006/12/01 02:26:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to see IF statements indented in truetype instruction display.
----------------------------
revision 1.1638
date: 2006/12/01 02:08:29;  author: pfaedit;  state: Exp;  lines: +2 -2
FF wasn't telling freetype to set the mono bit when loading a glyph, which meant that GETINFO would return the wrong value for mono rasterization.
----------------------------
revision 1.1637
date: 2006/12/01 01:58:15;  author: pfaedit;  state: Exp;  lines: +3 -3
If there are too many numbers after an NPUSH[BW] instruction, FF silently ignores them.
----------------------------
revision 1.1636
date: 2006/11/29 14:09:40;  author: pfaedit;  state: Exp;  lines: +3 -3
merge fonts would get the script lang index of merged kern pairs wrong.
----------------------------
revision 1.1635
date: 2006/11/29 03:05:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to be able to set memory watch points on storage and cvt locations. Set these through the cvt/storage windows by clicking on the appropriate locations. Modify the points window so the user can set watch points by clicking on it too.
The Points window would sometimes scroll in unexpected ways.
----------------------------
revision 1.1634
date: 2006/11/28 20:16:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants to see the raw value of a "WS" instruction in the gloss.
----------------------------
revision 1.1633
date: 2006/11/20 22:41:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. Had explicit code to set OS/2.firstcharindex to 13, when it should be 32 (space). not sure why.
----------------------------
revision 1.1632
date: 2006/11/20 22:32:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Anti-Aliased rasters still weren't aligned properly with the outlines in the debug window.
----------------------------
revision 1.1631
date: 2006/11/20 22:01:00;  author: pfaedit;  state: Exp;  lines: +2 -2
When debugging I provided popup information for anti-aliased rasters. But I didn't for mono rasters.
----------------------------
revision 1.1630
date: 2006/11/20 21:13:30;  author: pfaedit;  state: Exp;  lines: +2 -2
The pixel grid in truetype debugging (RasterGridColor) was invisible against the light blue background.
----------------------------
revision 1.1629
date: 2006/11/20 21:00:54;  author: pfaedit;  state: Exp;  lines: +2 -2
ff would crash when asked to debug fpgm/prep (because my rasterization routine didn't work if there were no contours).
----------------------------
revision 1.1628
date: 2006/11/20 20:45:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to turn off auto goto in the charview when debugging is going on.
----------------------------
revision 1.1627
date: 2006/11/20 20:36:50;  author: pfaedit;  state: Exp;  lines: +3 -3
The gloss information for delta point (and cvt) was wrong if the magnitude selector was 7. I claimed it moved (changed) by 0, when it should have been by -1.
----------------------------
revision 1.1626
date: 2006/11/20 01:47:55;  author: pfaedit;  state: Exp;  lines: +2 -2
icc has lots of really stupid warnings.
----------------------------
revision 1.1625
date: 2006/11/19 21:18:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Apostolos points out that NAME_MAX isn't defined on solaris, but _POSIX_NAME_MAX is. But _POSIX_NAME_MAX doesn't seem to be defined on linux.
----------------------------
revision 1.1624
date: 2006/11/19 21:04:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Display fonts would crash if you tried to change the font. But introduced in last release.
----------------------------
revision 1.1623
date: 2006/11/19 20:50:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Mike FABIAN. Rasterizing by freetype only initialized a variable if CONFIG_TYPE3 (multilayer) was set.
----------------------------
revision 1.1622
date: 2006/11/14 03:33:56;  author: pfaedit;  state: Exp;  lines: +2 -2
StrSplit & StrJoin scripting functions.
----------------------------
revision 1.1621
date: 2006/11/14 02:40:38;  author: pfaedit;  state: Exp;  lines: +3 -3
People asked me to implement the UFO/GLIF format in part because each glyph is stored in a separate file giving finer granularity to version control.
Personally I dislike the UFO format because there is no documentation on how to store GSUB/GPOS features (with the exception of kerning). No support for ligatures nor mark placement. No support for hints or truetype instructions. No support for cid keyed fonts. No support for multi-master fonts. No support for bitmaps. etc.
So I've tweaked my sfd format into an sfdir format: A directory containing separate files for each glyph.
----------------------------
revision 1.1620
date: 2006/11/08 20:04:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Rüdiger Oertel. Strncat could overflow a buffer.
----------------------------
revision 1.1619
date: 2006/11/08 20:02:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Make simplify do point catagorization, and not just of points changed.
----------------------------
revision 1.1618
date: 2006/11/08 20:00:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Curved stems are also limited by geometry. Can't just assume control points work.
----------------------------
revision 1.1617
date: 2006/11/05 23:32:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Another array bound overflow.
----------------------------
revision 1.1616
date: 2006/11/03 04:52:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Why are pdf files listed as a source of bitmap fonts?
----------------------------
revision 1.1615
date: 2006/11/03 04:51:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Make a black background work.
----------------------------
revision 1.1614
date: 2006/11/02 16:17:33;  author: pfaedit;  state: Exp;  lines: +3 -3
People don't like grey. Let's try something based on Yannis's cream background.
----------------------------
revision 1.1613
date: 2006/10/31 05:03:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for Unified Font Objects (a directory holding many Glyph Interchange Format files). People at the Open Font Library seem to think this is useful. Also support for importing/exporting glyphs in glif.
----------------------------
revision 1.1612
date: 2006/10/30 15:29:21;  author: pfaedit;  state: Exp;  lines: +3 -3
When examining a bitmap font, metrics view would crash when asked to look at a non-existant glyph.
----------------------------
revision 1.1611
date: 2006/10/29 23:12:43;  author: pfaedit;  state: Exp;  lines: +2 -2
The list of verbs for indic glyph rearrangement didn't display.
----------------------------
revision 1.1610
date: 2006/10/29 23:02:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Converting from the mac korean encoding didn't work.
----------------------------
revision 1.1609
date: 2006/10/29 22:13:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Images imported into a bdf character did not set the character used bit.
----------------------------
revision 1.1608
date: 2006/10/27 23:15:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a CopyAnchors command.
----------------------------
revision 1.1607
date: 2006/10/27 22:25:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Tweak Raph's patch slightly.
----------------------------
revision 1.1606
date: 2006/10/26 22:53:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Unguarded use of isalpha caused a crash outside of BMP.
----------------------------
revision 1.1605
date: 2006/10/26 22:31:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Raph Levien. FF mishandled seac if the accent were not translated.
----------------------------
revision 1.1604
date: 2006/10/26 03:08:12;  author: pfaedit;  state: Exp;  lines: +2 -2
It was impossible to set preferences on the Accents pane. They would either always be 0 (or false), or make spurious complaints.
----------------------------
revision 1.1603
date: 2006/10/25 16:46:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a Ucs4 scripting command (reverses Utf8).
----------------------------
revision 1.1602
date: 2006/10/25 16:41:37;  author: pfaedit;  state: Exp;  lines: +3 -3
when creating an array with [...] notation I forgot to dereference lvalues.
----------------------------
revision 1.1601
date: 2006/10/24 16:23:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Minor tweaks to the FontImage cmd.
----------------------------
revision 1.1600
date: 2006/10/24 15:58:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting commands
	Revert
	RevertToBackup
Make the "+" operator concatenate arrays
  [1,2] + [3,4] == [1,2,3,4]
  [1,2] + 3 == [1,2,3]
----------------------------
revision 1.1599
date: 2006/10/24 15:44:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting command, FontImage, which generates a font thumbnail.
----------------------------
revision 1.1598
date: 2006/10/24 02:06:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Make it possible to save the Font Display dlg as an image.
----------------------------
revision 1.1597
date: 2006/10/24 00:16:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Get rid of the concept of "unhinted truetype" from the display fonts dlg.
Convert the display fonts dlg to boxes.
----------------------------
revision 1.1596
date: 2006/10/23 20:56:08;  author: pfaedit;  state: Exp;  lines: +2 -2
At Andrey V. Panov's request I have added a scripting command "CopyUnlinked" which behaves like Copy except that any references will be unlinked (turned into splines) as they are placed in the clipboard.
----------------------------
revision 1.1595
date: 2006/10/23 19:46:18;  author: pfaedit;  state: Exp;  lines: +2 -2
I believe OpenType would prefer if formed arabic glyphs didn't use their unicode encodings, but used simple substitutions instead. Accept both for svg output (previously we only accepted unicode encodings).
----------------------------
revision 1.1594
date: 2006/10/23 14:57:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from debian (bug392688) from Wojciech Mu*a and K*stutis Bili*nas
----------------------------
revision 1.1593
date: 2006/10/19 22:56:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from mfabian of suse. Array overflow.
----------------------------
revision 1.1592
date: 2006/10/19 05:18:25;  author: pfaedit;  state: Exp;  lines: +2 -2
the instructions out of date flag was not getting cleared if user simply pressed ok in the instruction editor. s/he had to make a change. That seems extreme. Also the refresh didn't always note that the bit had changed.
----------------------------
revision 1.1591
date: 2006/10/19 05:10:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Make libintl be another library we'll try to dlopen. This is complicated because on linux libintl is part of libc so there we must link directly.
Further complicated because fink install script has a bug and doesn't put /sw/lib in DYLD_LIBRARY_PATH so we have to look there ourselves.
----------------------------
revision 1.1590
date: 2006/10/16 19:54:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Disambiguation for Polish.
----------------------------
revision 1.1589
date: 2006/10/15 22:24:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Nowakowski wants the 'gasp' titles disambiguated.
----------------------------
revision 1.1588
date: 2006/10/15 22:12:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Some UI typoes. Patch by Malcom Parsons.
----------------------------
revision 1.1587
date: 2006/10/15 20:31:51;  author: pfaedit;  state: Exp;  lines: +3 -3
locale strings aren't required to contain an encoding (which the locale docs incorrectly call a charset). Michal Nowakowski points me to nl_langinfo which will give me the encoding even if not specified in the locale.
----------------------------
revision 1.1586
date: 2006/10/15 00:59:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Add pdf files to the standard format list for openfontdlg
----------------------------
revision 1.1585
date: 2006/10/12 18:10:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the help command would generally crash fontforge on cygwin.
----------------------------
revision 1.1584
date: 2006/10/12 14:08:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Add extension "pmf" to font open/bitmap import.
----------------------------
revision 1.1583
date: 2006/10/12 14:02:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the bitmap dlg to take advantage of boxes.
----------------------------
revision 1.1582
date: 2006/10/11 21:04:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Adobe uses the American spelling of diaeresis (that is dieresis), but some fonts contain glyph names with the European spelling. So add that as an alternate.
----------------------------
revision 1.1581
date: 2006/10/11 21:00:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up the 'gasp' pane a bit.
----------------------------
revision 1.1580
date: 2006/10/11 20:38:23;  author: pfaedit;  state: Exp;  lines: +3 -3
If a bdf font contained an unencoded .notdef glyph, then we crashed.
----------------------------
revision 1.1579
date: 2006/10/09 20:36:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Adding Greek translations for font styles. (Thanks to Apostolos)
----------------------------
revision 1.1578
date: 2006/10/09 19:53:19;  author: pfaedit;  state: Exp;  lines: +3 -3
If we aren't dealing with a TeX math font, then the "Sub/super"script positioning fields of Glyph Info->TeX aren't meaningful. So grey them out.
----------------------------
revision 1.1577
date: 2006/10/09 02:52:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove internal/external did the wrong thing in expand stroke if we also removed overlap and had counter-clockwise splines.
----------------------------
revision 1.1576
date: 2006/10/08 18:31:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexej Kryukov points out that reverting a glyph with anchors lost the anchors.
----------------------------
revision 1.1575
date: 2006/10/07 13:07:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Add simplified Chinese style names to our built-in lists.
----------------------------
revision 1.1574
date: 2006/10/07 12:28:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Problem reading autotraced input.
----------------------------
revision 1.1573
date: 2006/10/06 22:03:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The encoding change of last summer broke tfm output with glyph lists or extension characters.
----------------------------
revision 1.1572
date: 2006/10/06 21:51:48;  author: pfaedit;  state: Exp;  lines: +2 -2
If add extrema added a point too close to a start/end point expand stroke could generate NaNs.
----------------------------
revision 1.1571
date: 2006/10/06 20:55:56;  author: pfaedit;  state: Exp;  lines: +3 -3
FF could crash when adding extrema to an open contour.
----------------------------
revision 1.1570
date: 2006/10/05 14:34:44;  author: pfaedit;  state: Exp;  lines: +3 -3
broke pairwise positioning dlg when I boxed it.
----------------------------
revision 1.1569
date: 2006/10/05 04:53:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a scripting function to set the gasp table.
----------------------------
revision 1.1568
date: 2006/10/05 04:04:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Improvements to the 'gasp' data entry.
----------------------------
revision 1.1567
date: 2006/10/03 13:36:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Add Polish styles to the translation list.
----------------------------
revision 1.1566
date: 2006/10/03 04:05:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the 'gasp' table.
----------------------------
revision 1.1565
date: 2006/10/03 00:28:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov wants format 6 cmap tables.
----------------------------
revision 1.1564
date: 2006/10/02 20:27:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Recent change to simplify (to allow making the last spline of a contour into a line if knownlinear) meant we could remove the start point, and we weren't prepared for that.
----------------------------
revision 1.1563
date: 2006/10/02 20:13:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Disambiguate width here.
Use boxes.
----------------------------
revision 1.1562
date: 2006/09/29 21:57:45;  author: pfaedit;  state: Exp;  lines: +2 -2
After editing instructions the debugger would incorrectly complain that instructions were out of date.
----------------------------
revision 1.1561
date: 2006/09/29 15:18:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Disambiguate Original.
----------------------------
revision 1.1560
date: 2006/09/29 14:29:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Extra semicolon is illegal in declarations.
----------------------------
revision 1.1559
date: 2006/09/29 14:25:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Extranious underscore.
----------------------------
revision 1.1558
date: 2006/09/29 03:23:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Rats. Ralph Levien's patch did not work. But maybe now I'm using FT_Outline_Get_Bitmap properly.
----------------------------
revision 1.1557
date: 2006/09/27 21:11:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Nowakowski complains that "Instructions are out of date" warning appears too many times when doing a global transformation. Make it only pop up as a dlg once and thereafter occur as a LogError.
----------------------------
revision 1.1556
date: 2006/09/27 17:43:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the wrong string for the mod time.
----------------------------
revision 1.1555
date: 2006/09/27 17:32:42;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contained only space glyphs it could still be marked onlybitmaps and not allow outline generation.
----------------------------
revision 1.1554
date: 2006/09/27 17:10:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Show ATT did not translate scripts & languages.
----------------------------
revision 1.1553
date: 2006/09/27 17:09:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Converted a utf8 string to unicode using latin1 conventions.
----------------------------
revision 1.1552
date: 2006/09/27 15:34:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Parsing an empty list of ttf instructions crashed Michael Zedler's machine.
----------------------------
revision 1.1551
date: 2006/09/26 22:58:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Make type1 generation use (essentially) the same subroutine mechanism as type2.
Try and fail to improve type2 subroutine usage.
----------------------------
revision 1.1550
date: 2006/09/26 04:12:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Warning message about 'size' feature needs a newline at the end.
----------------------------
revision 1.1549
date: 2006/09/25 21:14:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Local subroutines were being freed twice in cff cid-keyed font generation.
----------------------------
revision 1.1548
date: 2006/09/25 18:49:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Removing an alternate unicode encoding (Detach Glyphs) was broken in some cases.
----------------------------
revision 1.1547
date: 2006/09/25 03:33:36;  author: pfaedit;  state: Exp;  lines: +3 -3
FF failed to perform some simplifications on the last spline of a closed contour.
----------------------------
revision 1.1546
date: 2006/09/22 22:17:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Add boxes to the search dlg.
----------------------------
revision 1.1545
date: 2006/09/22 20:54:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Boxify the maxp dialog and friends.
----------------------------
revision 1.1544
date: 2006/09/22 12:40:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Various fixes for Michal N.
----------------------------
revision 1.1543
date: 2006/09/21 23:50:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting interfaces to many of the ctype functions.
----------------------------
revision 1.1542
date: 2006/09/21 22:18:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting interface to the 'size' feature, now that Adobe has finally decided what to do about 'size'.
----------------------------
revision 1.1541
date: 2006/09/21 04:25:21;  author: pfaedit;  state: Exp;  lines: +3 -3
The TTF Names pane of Font Info should now use the MatrixEdit widget.
The filter dlg should now specify an appropriate "New"
Extend and debug the MatrixEdit gadget.
----------------------------
revision 1.1540
date: 2006/09/20 03:11:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Didn't terminate a list.
----------------------------
revision 1.1539
date: 2006/09/19 01:05:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Disambiguate default.
----------------------------
revision 1.1538
date: 2006/09/19 00:44:02;  author: pfaedit;  state: Exp;  lines: +2 -2
A couple of strings were not marked for translation.
----------------------------
revision 1.1537
date: 2006/09/19 00:35:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Had the wrong title for kerning state machine dlgs.
----------------------------
revision 1.1536
date: 2006/09/19 00:24:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet another problem with numbering truetype points.
----------------------------
revision 1.1535
date: 2006/09/18 23:37:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the preference dlg.
----------------------------
revision 1.1534
date: 2006/09/18 03:46:26;  author: pfaedit;  state: Exp;  lines: +2 -2
The two preference items, AlwaysGenApple, and AlwaysGenOpenType, were a bad choice on my part and have lead to considerable confusion. I mentioned some time ago that I would remove them if there were no objection.

There was no objection.

I have now removed them.

I also made the SetPrefs scripting function sort of work if the user
tries to set one of these (it will set the appropriate flags in the
default option set used by generate).

The defaults of these flags were different on the Mac from everywhere
else. This meant that a script could do different things on the Mac and
on linux. That seems like a bad idea. I have changed things so that the
default options setting for generate is always OpenType.

THIS IS AN INCOMPATIBLE CHANGE AND SCRIPTS ON THE MAC COULD NOW BEHAVE
DIFFERENTLY.
----------------------------
revision 1.1533
date: 2006/09/18 03:39:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Disambiguation patch not complete. Need to switch from _("") to S_("")
----------------------------
revision 1.1532
date: 2006/09/17 23:28:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Michal Nowakowski to have ff number points after conversion to truetype.
----------------------------
revision 1.1531
date: 2006/09/17 23:02:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Try to provide disambiguation for all strings "New" so that in languages where "New" must agree in gender with the thing being created translators will be happier.
----------------------------
revision 1.1530
date: 2006/09/17 19:38:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a Polish translation from Michal Nowakowski.
Remove the po/Makefile.in and redo the configure script to build it (so that I don't have to modify it each time I get a new language).
----------------------------
revision 1.1529
date: 2006/09/15 21:29:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Are we going outside array bounds?
----------------------------
revision 1.1528
date: 2006/09/15 03:20:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend the knife tool so that if Meta (Alt) is held down it will move any spline it intersects (rather than cutting the spline).
----------------------------
revision 1.1527
date: 2006/09/15 00:00:53;  author: pfaedit;  state: Exp;  lines: +2 -2
FF would crash if $HOME did not exist.
----------------------------
revision 1.1526
date: 2006/09/14 23:46:46;  author: pfaedit;  state: Exp;  lines: +2 -2
I guess it makes sense that if ff read in a compressed sfd file then using a simple File->Save command (not Save As) should produce another compressed sfd file.
----------------------------
revision 1.1525
date: 2006/09/14 14:29:12;  author: pfaedit;  state: Exp;  lines: +2 -2
When scaling a reference in otf output we had problems if the reference had more than one contour.
----------------------------
revision 1.1524
date: 2006/09/14 13:50:35;  author: pfaedit;  state: Exp;  lines: +2 -2
If we deleted many glyphs from a font we are sometimes left with kern pairs pointing to things not worth outputting. Make sure we don't generate kerning info for them.
----------------------------
revision 1.1523
date: 2006/09/14 13:23:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Be paranoid about open splines when copying hints.
----------------------------
revision 1.1522
date: 2006/09/14 13:21:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Ligature carets were not being scaled by scale to em.
----------------------------
revision 1.1521
date: 2006/09/14 13:02:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from mfabian at suse.
----------------------------
revision 1.1520
date: 2006/09/14 04:13:15;  author: pfaedit;  state: Exp;  lines: +2 -2
If a user has a font with a glyph that is bigger than 16*em-size (in many dimensions) and that user generates a tfm file, then warn him that the glyph can't be expressed in a tfm file and truncate the size to the biggest legal value.
----------------------------
revision 1.1519
date: 2006/09/14 03:30:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Attempt to mitigate the effects of X claiming to have a font when it doesn't.
----------------------------
revision 1.1518
date: 2006/09/13 21:11:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Saving CID keyed fonts would look at garbage memory for its encoding data if not saved from the biggest subfont.
----------------------------
revision 1.1517
date: 2006/09/10 22:44:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for version 4 of the OS/2 table.
----------------------------
revision 1.1516
date: 2006/09/10 03:51:17;  author: pfaedit;  state: Exp;  lines: +2 -2
If Interpretation was set in a font then when generating a 8/16 type cmap fontforge always went down the traditional chinese (big5) branch.
----------------------------
revision 1.1515
date: 2006/09/10 03:33:22;  author: pfaedit;  state: Exp;  lines: +2 -2
MS has changed their indic shaping engine. It still uses the same features but they are applied differently. To disambiguate this change they have created a parallel set of script tags for the indic writing system. FontForge should recognize these and use them when appropriate.
----------------------------
revision 1.1514
date: 2006/09/10 01:32:35;  author: pfaedit;  state: Exp;  lines: +2 -2
When Adobe first released fonts with a 'size' feature they did not follow the opentype specification. In August of 2006 they announced an incompatible change to bring fonts produced after that date in line with the specification. Unfortunately there are programs which depend on the old, broken format.
   Legacy programs will not work when given a font in the correct format. New programs should be able to handle either correct or broken 'size' features.
  FontForge should now be able to read in a size feature in either format and gives the user the option of producing 'size' features in either format on output.
----------------------------
revision 1.1513
date: 2006/09/09 13:06:18;  author: pfaedit;  state: Exp;  lines: +3 -3
For Japanese fonts we tried to use cp932 (a variant of sjis) but then halfway through didn't know what to do with it.
----------------------------
revision 1.1512
date: 2006/09/08 02:59:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Another fix for saving sub-opentype fonts from a cid font.
----------------------------
revision 1.1511
date: 2006/09/08 02:52:12;  author: pfaedit;  state: Exp;  lines: +2 -2
From a script, if a user asks to generate a ttf outline font with ttf bitmaps from a database with no outlines then technically this isn't supposed to work. But it used to and it's easy enough to tweak so that it works again.
----------------------------
revision 1.1510
date: 2006/09/07 15:19:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Update to Unicode 5.0
----------------------------
revision 1.1509
date: 2006/09/07 03:13:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Again when adding accents to the left of a glyph we should shift the glyph over to give it a reasonable lbearing.
----------------------------
revision 1.1508
date: 2006/09/07 02:55:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When building an accented glyph, we generally want use_my_metrics set on the reference. But if we add an accent to right (horn) or left (psili/varia on cap greeks) we want to turn it off. We did turn it off on the right side, but not on the left.
----------------------------
revision 1.1507
date: 2006/09/06 20:17:58;  author: pfaedit;  state: Exp;  lines: +3 -3
 Philipp Poll points out that ScaleToEm doesn't scale the OS/2 metrics (and some other stuff). Actually it does, but font info did the scaling BEFORE setting the values. So the metrics get scaled, and then reset to the values in fontinfo (which usually means they don't get changed).
----------------------------
revision 1.1506
date: 2006/09/06 02:29:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet more fixes for bitmap only sfnts.
Some fixes for pcf loading.
Fix some memory leaks.
----------------------------
revision 1.1505
date: 2006/09/06 02:26:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the Import dialog use the new gadgets flow structure.
----------------------------
revision 1.1504
date: 2006/09/05 05:48:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Various fixes to CID keyed fonts.
----------------------------
revision 1.1503
date: 2006/09/04 20:24:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Last patch which set the bb of a sub-font to that of it's parent neglected to do it for the afm file.
----------------------------
revision 1.1502
date: 2006/09/04 15:13:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Even the pretty ttf approximation routines need to worry about diametrically opposed control points.
----------------------------
revision 1.1501
date: 2006/09/04 14:53:07;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating multiple type1 fonts, output the bounding box of each as that of the full font. This will make it vaguely likely that applications will get the same line spacing.
----------------------------
revision 1.1500
date: 2006/09/04 03:45:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The vertical metrics bit wasn't preserved when flattening a cid font.
----------------------------
revision 1.1499
date: 2006/09/02 22:01:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Ack! Window titles and such were being interpreted in Latin1 and not in UTF-8.
----------------------------
revision 1.1498
date: 2006/09/01 23:11:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Rewrite the transform dlg to do auto layout.
----------------------------
revision 1.1497
date: 2006/08/31 22:55:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Interpretation of PostScript arc operator failed if the two angles were 360 degrees apart. Normalization made them both the same.
----------------------------
revision 1.1496
date: 2006/08/31 19:13:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up the display of the save font dlg.
Document our various bitmap only sfnt formats (no one else does, so I guess I should).
----------------------------
revision 1.1495
date: 2006/08/31 04:37:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Distinguish between bitmap only sfnt output and "in TTF" bitmap output.
We were still have troubles with sbits only dfont output if applemode wasn't set.
----------------------------
revision 1.1494
date: 2006/08/29 04:43:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh. So THAT's how I make shared libraries on cygwin.
----------------------------
revision 1.1493
date: 2006/08/28 13:54:35;  author: pfaedit;  state: Exp;  lines: +3 -3
further work on the cmap picker.
----------------------------
revision 1.1492
date: 2006/08/28 04:28:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Apple has deprecated some more useful functions.
Their online docs even have the gall to say that this happened in 10.4. My 10.4.0 system does not think they are deprecated, but more recent systems do.
----------------------------
revision 1.1491
date: 2006/08/28 03:57:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Further work on user specified cmaps.
----------------------------
revision 1.1490
date: 2006/08/27 22:27:07;  author: pfaedit;  state: Exp;  lines: +2 -2
My wildcard matcher could not handle *.{*pk,*gf}.
Add TeX bitmap fonts to standard lists.
----------------------------
revision 1.1489
date: 2006/08/27 21:38:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Add pcf to the list of "All Fonts".
----------------------------
revision 1.1488
date: 2006/08/27 21:13:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a filter for TeX bitmap fonts to the open dlg.
----------------------------
revision 1.1487
date: 2006/08/27 04:55:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants a mechanism to examine the cmaps of a font. Give him a rather poor solution.
----------------------------
revision 1.1486
date: 2006/08/27 01:51:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Play with popups for the splash screen.
----------------------------
revision 1.1485
date: 2006/08/25 02:33:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Nifty. Libtool on the mac produces names that are completely unexpected for shared objects. Handle them. Also there is no need to link gb12345 against the X libraries (caused a user problems. I guess he built for scripts but still wanted the encodings).
----------------------------
revision 1.1484
date: 2006/08/24 23:53:13;  author: pfaedit;  state: Exp;  lines: +3 -3
If applemode was not set and "bitmap only sfnt" was set then ff would probably crash.
----------------------------
revision 1.1483
date: 2006/08/22 15:18:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Oopsie. Stupid infinite loop in new hinting code.
----------------------------
revision 1.1482
date: 2006/08/22 14:46:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Adobe applies hints at the bounding box of glyphs that don't have hints. At least it does sometimes. Try to guess when it might be good to do this.
----------------------------
revision 1.1481
date: 2006/08/22 04:52:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone complained that Find Problems->Path Direction got the wrong answer. It got the wrong answer because they had a self-intersecting path (which screws up all concepts of in/out-side. So try to make it clear that they should do a find intersecting paths first.
----------------------------
revision 1.1480
date: 2006/08/21 23:07:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Update my scripts list (in particular include music).
----------------------------
revision 1.1479
date: 2006/08/21 23:03:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Produce a hint at the bottom of a circumflex.
----------------------------
revision 1.1478
date: 2006/08/20 20:42:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new command to the point menu which allows you to specify a spline and one coordinate (either X or Y) on that spline. FF will calculate the other coordinate and add a point there.
----------------------------
revision 1.1477
date: 2006/08/20 19:23:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Was getting stems which weren't stems.
----------------------------
revision 1.1476
date: 2006/08/18 22:13:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up a couple of things broken by the recent change.
Also retain the default filter.
----------------------------
revision 1.1475
date: 2006/08/18 21:49:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Due to a typo, ff thought pretty much everything outside unicode BMP was in the hebrew script.
----------------------------
revision 1.1474
date: 2006/08/18 21:12:19;  author: pfaedit;  state: Exp;  lines: +2 -2
CODE2000 contains an anchor class with only base glyphs (no mark glyphs) as part of a set of anchor classes. FF crashed.
----------------------------
revision 1.1473
date: 2006/08/18 20:08:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Nix. svg.c did not compile when designed to be linked directly with libxml (instead of dlopening it).
----------------------------
revision 1.1472
date: 2006/08/18 01:49:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Redo the font open dlg so that there's a list of standard filters and a mechanism for changing that list.
----------------------------
revision 1.1471
date: 2006/08/18 01:36:11;  author: pfaedit;  state: Exp;  lines: +3 -3
If a popup menu is huge it used to appear under the cursor. This meant that even if the user didn't mean to s/he would have selected something and press/release would not be a no-op. This was a problem with the Font Info ->TTF Names
----------------------------
revision 1.1470
date: 2006/08/12 03:30:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up a couple of other dlgs.
----------------------------
revision 1.1469
date: 2006/08/11 21:48:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the Point Info dlg work with the new gadget alignment stuff.
----------------------------
revision 1.1468
date: 2006/08/10 22:35:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from SUSE. Use of uninitialized local variable. But the result is never used, so just remove the offending lines.
----------------------------
revision 1.1467
date: 2006/08/10 18:40:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Emulate gtk's boxes and use that to do automatic dialog layout.
Get the font info dlg working (and the Set Width dlg as a test).
This means that the layout is no longer optimized for English, but will look better in other languages (I hope).
----------------------------
revision 1.1466
date: 2006/08/07 04:45:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Improve the unicode ranges stuff. Add a bit mask telling us which codepoints are assigned by unicode.
----------------------------
revision 1.1465
date: 2006/08/06 23:22:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an information function to Font Info to display what unicode character ranges are supplied by the font.
----------------------------
revision 1.1464
date: 2006/08/06 20:52:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Linux defines "time_t" if I include stdio.h (or some such) while Mac OS/X does not. Explicitly include time.h. I should have anyway.
----------------------------
revision 1.1463
date: 2006/08/06 04:52:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Philipp Poll points out that when generating versioned fonts (ie. Ambrosia-1.0 rather than just Ambrosia) you don't want the filename to default to the fontname (the fontname will be Ambrosia), instead you want some way of specifying a default filename. So add that to the Names pane of the Font Info dlg.
----------------------------
revision 1.1462
date: 2006/08/04 21:24:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Try to keep track of font creation and modification times. NOTE: This is different from file times (which is what appears to be stored in the 'head' table of an sfnt file). Add a new table 'FFTM' to our sfnt output with these timestamps (and the timestamp of fontforge itself, just in case we ever care).
----------------------------
revision 1.1461
date: 2006/08/04 16:46:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Mark classes could not be set from the selection.
----------------------------
revision 1.1460
date: 2006/08/04 03:25:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Ben Laenen points out that if an order2 glyph has a dependent which refers to it using point matching and we keep changing the point number on the glyph then we'll keep getting warning messages. He suggests one message.
----------------------------
revision 1.1459
date: 2006/08/04 02:59:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Empty glyphs weren't marked with red Xs any more.
----------------------------
revision 1.1458
date: 2006/08/04 02:38:07;  author: pfaedit;  state: Exp;  lines: +2 -2
In font compare, when comparing two contextual/chaining lookups, I forgot that class[0] was always NULL.
----------------------------
revision 1.1457
date: 2006/08/04 02:36:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Open contours caused the ttf point renumberer to crash.
----------------------------
revision 1.1456
date: 2006/08/02 23:03:34;  author: pfaedit;  state: Exp;  lines: +3 -3
A font can have many kerning pairs. More than will fit in one GPOS subtable (which essentially has a 64k data limit or a bit more than 10,000 kern pairs). So be prepared to generate many sub-tables each dealing with a subset of the (first) glyphs.
----------------------------
revision 1.1455
date: 2006/08/01 14:59:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou needs to disambiguate between "Points" (meaning a location on the screen) and "Points" (meaning 1/72.27 of an inch).
----------------------------
revision 1.1454
date: 2006/07/28 17:43:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Still not getting default apple features right.
----------------------------
revision 1.1453
date: 2006/07/27 13:39:24;  author: pfaedit;  state: Exp;  lines: +3 -3
If an apple mutually exclusive feature had a default setting which wasn't 0 then my previous patch didn't work.
----------------------------
revision 1.1452
date: 2006/07/27 03:38:18;  author: pfaedit;  state: Exp;  lines: +2 -2
If guessing bluevalues found no OtherBlues, fontinfo->PS Private would create an incorrect OtherBlues value [0]
----------------------------
revision 1.1451
date: 2006/07/27 03:34:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Earlier BlueScale patch had some problems.
----------------------------
revision 1.1450
date: 2006/07/27 03:20:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Some tweaks to improve svg cut & paste.
----------------------------
revision 1.1449
date: 2006/07/26 21:16:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Support clipboards containing image/svg
----------------------------
revision 1.1448
date: 2006/07/26 20:34:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Ralf Stubner points out that the maximum zone size of bluezones is determined by 1/BlueScale. So adjust BlueScale if the max zone is too big.
----------------------------
revision 1.1447
date: 2006/07/26 03:19:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Bug in copying kern classes if they had device tables.
----------------------------
revision 1.1446
date: 2006/07/25 16:15:19;  author: pfaedit;  state: Exp;  lines: +2 -2
And copy FPSTs too.
----------------------------
revision 1.1445
date: 2006/07/25 16:00:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Let's merge kern classes and state machines too.
Merging kern classes may be a bad idea. We don't really merge them we just copy them so that if the same glyph is mentioned in two classes unexpected things might happen.
----------------------------
revision 1.1444
date: 2006/07/25 15:23:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge fonts didn't merge anchors and got into a terrible mess.
----------------------------
revision 1.1443
date: 2006/07/25 15:21:25;  author: pfaedit;  state: Exp;  lines: +3 -3
ff could crash on an sfd file containing erroneous anchors (such as might be generated by the merge fonts command).
----------------------------
revision 1.1442
date: 2006/07/24 13:52:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Once upon a time, Apple was so concerned about accuracy of floating point operations that they required all operations be performed in IEEE extended (80bit). This had the interesting side effect that a program which conformed to Apple's standards could not also conform to ANSI C (which required operations use double temporaries for double values). I find it somewhat ironic, therefore, that gcc on the mac doesn't even promote floats to doubles. FF needs the extra accuracy provided by a double (an extended type doesn't seem to provide additional assistance unfortunately). So on the mac we got extrema that weren't, which meant that remove overlap didn't.
----------------------------
revision 1.1441
date: 2006/07/23 23:13:07;  author: pfaedit;  state: Exp;  lines: +3 -3
If we had a mac feature which had multiple subtables (ie. a state machine for a contextual substitution, and a non-contextual substitution too) then we produced a bad chain in the morx table.
----------------------------
revision 1.1440
date: 2006/07/23 03:27:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge & Simplify would sometimes generate solutions using control points which were diametrically opposed to what they should be.
----------------------------
revision 1.1439
date: 2006/07/23 00:08:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet another attempt to do a better job of autohinting.
----------------------------
revision 1.1438
date: 2006/07/22 20:40:23;  author: pfaedit;  state: Exp;  lines: +2 -2
More tweaks to the Revert Backup command (we left the ~ in the filename so subsequent saves went to the backup file).
The Revert command should not be available in new fonts.
----------------------------
revision 1.1437
date: 2006/07/22 14:51:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a "Revert to Backup" command.
----------------------------
revision 1.1436
date: 2006/07/21 21:54:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Put code in to correct for single bit (sometimes double bit) errors when search from extrema. This is at a lower level than the previous patch.
----------------------------
revision 1.1435
date: 2006/07/20 20:36:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Output of extension lookups wasn't working
----------------------------
revision 1.1434
date: 2006/07/20 15:11:50;  author: pfaedit;  state: Exp;  lines: +3 -3
The cantremove bit on ttf names wasn't always initialized.
----------------------------
revision 1.1433
date: 2006/07/18 03:51:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Another improvement to the ruler display.
A slight improvement to magnifying by dragging a rectangle.
----------------------------
revision 1.1432
date: 2006/07/18 00:32:07;  author: pfaedit;  state: Exp;  lines: +2 -2
The first time you click on a transition in a Font Info->Mac SM->Indic state machine, ff would crash.
----------------------------
revision 1.1431
date: 2006/07/18 00:18:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Tihkomirov points out that it isn't clear how to delete a ttf name from the name pane of fontinfo. So add some popup help.
The language & string ID menus in that pane were sorted on the wrong key
----------------------------
revision 1.1430
date: 2006/07/17 23:27:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Was not preserving (unparsed) tables properly. Several bugs.
----------------------------
revision 1.1429
date: 2006/07/16 19:23:03;  author: pfaedit;  state: Exp;  lines: +3 -3
For mutually exclusive features there must be an "Off" feature, which generally does nothing.
----------------------------
revision 1.1428
date: 2006/07/16 00:56:40;  author: pfaedit;  state: Exp;  lines: +2 -2
When loading an apple bitmap font (with no hmtx tables) we need to dummy up widths for the outline glyphs.
----------------------------
revision 1.1427
date: 2006/07/16 00:01:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Apple's bitmap only fonts should not have 'hhea' nor 'hmtx' tables. Undocumented fact.
----------------------------
revision 1.1426
date: 2006/07/15 23:33:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Was getting the flags wrong for turning off features in an apple morx chain.
----------------------------
revision 1.1425
date: 2006/07/15 21:27:57;  author: pfaedit;  state: Exp;  lines: +3 -3
When outputing mark-to-base sub-tables with multiple marks I neglected to output an NUL offsets for the anchors that weren't there. So if a glyph had only one anchor (instead of two, or however many) then the offsets would be all wrong.
----------------------------
revision 1.1424
date: 2006/07/14 13:08:54;  author: pfaedit;  state: Exp;  lines: +3 -3
The SetPref() scripting function was misdocumented to be called SetPrefs() so accepte both names.
----------------------------
revision 1.1423
date: 2006/07/14 00:28:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Further improvements to the ruler info window.
----------------------------
revision 1.1422
date: 2006/07/13 05:26:53;  author: pfaedit;  state: Exp;  lines: +3 -3
When building an accented letter out of glyphs with an anchor class ff would increase the advance width of the accented glyph by the size (xmax-xmin) of the accent.
----------------------------
revision 1.1421
date: 2006/07/10 20:55:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Expand the functionality of the ruler tool so that it also shows curvature.
----------------------------
revision 1.1420
date: 2006/07/09 21:39:37;  author: pfaedit;  state: Exp;  lines: +2 -2
ftxvalidate complains if the vertical line metrics are 0. Even in a strike with no vertical metrics information. So dummy something up.
----------------------------
revision 1.1419
date: 2006/07/09 20:58:15;  author: pfaedit;  state: Exp;  lines: +3 -3
When importing a bitmap font from a mac binary or an sfnt and the encodings of the destination and the bitmap did not match, then things got rather screwed up and might crash.
----------------------------
revision 1.1418
date: 2006/07/07 20:28:38;  author: pfaedit;  state: Exp;  lines: +3 -3
patch from KANOU. the ref check routine in glyphcomp compared one reference to itself.
----------------------------
revision 1.1417
date: 2006/07/03 22:50:15;  author: pfaedit;  state: Exp;  lines: +2 -2
If we had a font consisting of one or two glyphs and we generated an otf from it then we'd not get a meaningful 'hmtx' table.
----------------------------
revision 1.1416
date: 2006/07/03 22:48:04;  author: pfaedit;  state: Exp;  lines: +2 -2
One more case where we can omit a final vector in type2 (in a repetative hvline to).
----------------------------
revision 1.1415
date: 2006/07/03 22:46:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge fonts will merge in the back ground layer too now.
----------------------------
revision 1.1414
date: 2006/07/03 19:08:08;  author: pfaedit;  state: Exp;  lines: +2 -2
More hinting problems.
----------------------------
revision 1.1413
date: 2006/07/03 18:55:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Previous patch about selections was incomplete.
----------------------------
revision 1.1412
date: 2006/07/03 18:46:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Type2 charstrings have no closepath operator. I used to think that meant I could not omit the final vector. In fact it means I can omit the final vector AND the closepath operator.
----------------------------
revision 1.1411
date: 2006/07/03 18:23:57;  author: pfaedit;  state: Exp;  lines: +2 -2
If we had a font with no complete code pages we used to generate a version 0 OS/2 table without codepage info. But now windows refuses to install such a font. Instead generate a bogus codepage field which claims to have latin1 (even though it doesn't).
Windows won't use a font where the codepages field is 0.
----------------------------
revision 1.1410
date: 2006/07/03 17:35:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Canonical contours crashed on open contours.
----------------------------
revision 1.1409
date: 2006/07/03 16:16:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new scripting function MultipleEncodingsToReferences to undo the effects fo SameGlyphAs.
----------------------------
revision 1.1408
date: 2006/07/03 16:03:44;  author: pfaedit;  state: Exp;  lines: +3 -3
If the fontview exposed an encoding which had no attached glyph, and that encoding was selected, then the selection did not show in the window.
----------------------------
revision 1.1407
date: 2006/07/02 21:34:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Matthias Kilian points out that I was too hasty in ignoring some of his patches.
----------------------------
revision 1.1406
date: 2006/07/01 04:34:10;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a FOND for a bitmap only sfnt, we created dummy 'NFNT' resources with the wrong resource ids. Which meant we got garbage when the font was used.
----------------------------
revision 1.1405
date: 2006/06/30 21:04:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the TabSets in the font & glyph info dialogs run vertically rather than horizontally. (Add an option to get the old display back).
----------------------------
revision 1.1404
date: 2006/06/30 03:07:15;  author: pfaedit;  state: Exp;  lines: +2 -2
The names of kern class 0 were not retained.
The kern pair sub-mode of the kerning class dlg didn't show any glyphs for a class 0 with glyphs in it.
----------------------------
revision 1.1403
date: 2006/06/30 02:11:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Approximate Spline from Point Slopes sometimes set the control point while leaving the nonextcp flag on.
----------------------------
revision 1.1402
date: 2006/06/30 01:40:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Add Extrema only looked at how close a point was to the extrema in one dimension. While that dimension is more important, make a less stringent check on the other.
----------------------------
revision 1.1401
date: 2006/06/29 23:15:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Extract some utf8 strings from the standard gettext and move to utf8.pot.
----------------------------
revision 1.1400
date: 2006/06/29 22:35:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Internal cleanup.
----------------------------
revision 1.1399
date: 2006/06/29 14:08:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Another bug in ExpandStroke.
----------------------------
revision 1.1398
date: 2006/06/29 00:02:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Beautifications to the curvature info stuff.
----------------------------
revision 1.1397
date: 2006/06/28 19:19:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Expand Stroke removes "U-turns" from splines because they confuse it. But the routine that did that got a bit rambunctious and did the wrong thing on a circular arc.
----------------------------
revision 1.1396
date: 2006/06/27 16:19:49;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font did not contain an OS/2 table then we didn't retain the 'hhea' ascent/descent.
----------------------------
revision 1.1395
date: 2006/06/27 15:59:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Various fixes from Matthias Kilian of OpenBSD.
----------------------------
revision 1.1394
date: 2006/06/27 14:37:35;  author: pfaedit;  state: Exp;  lines: +2 -2
The point matching (anchor point) patch of a fortnight ago was wrong in at least one case.
----------------------------
revision 1.1393
date: 2006/06/27 14:22:52;  author: pfaedit;  state: Exp;  lines: +3 -3
When asking for default 'subs' features, every glyph gets assigned U+2080.
----------------------------
revision 1.1392
date: 2006/06/26 22:43:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Display the curvature information at each point. In Point Info dlg, and in a popup window when editing cps.
----------------------------
revision 1.1391
date: 2006/06/23 21:06:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Add two new menu commands/scripting commands:
   Canonical Start Points (CanonicalStart())
   Canonical Contours (CanonicalContours())
The first sets the start point of each contour to the leftmost point, while the second orders the contours by their leftmost points. This will slightly reduce the size of output charstrings. It will also make more things available to be put in subroutines.
----------------------------
revision 1.1390
date: 2006/06/23 02:45:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Print Multi-Size & Full Page printed the wrong glyphs from the font view. Broken since the encoding change.
----------------------------
revision 1.1389
date: 2006/06/23 02:38:36;  author: pfaedit;  state: Exp;  lines: +3 -3
When stroking a contour that makes a 180degree turn, ff did not give it a semi-circle if linejoin was set to round.
----------------------------
revision 1.1388
date: 2006/06/20 22:17:46;  author: pfaedit;  state: Exp;  lines: +3 -3
SPLCopyTranslatedHintMasks didn't work if there were more than one contour being copied.
----------------------------
revision 1.1387
date: 2006/06/19 14:53:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Nathan Summers points out that if the XUID is garbage the ff can go into an infinite loop when generating an otf/cff font.
----------------------------
revision 1.1386
date: 2006/06/19 14:49:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Somehow the XUID and UniqueID fields crept of the bottom of the fontinfo Names pane and weren't visible or modifyable. Give them their own pane now.
----------------------------
revision 1.1385
date: 2006/06/19 04:45:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Apply some patches (with some changes) from Nathan Summers to the truetype debugger.
----------------------------
revision 1.1384
date: 2006/06/19 03:03:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn. The property count in BDF fonts is wrong.
----------------------------
revision 1.1383
date: 2006/06/18 23:29:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Ralf Stubner points out that the notdef glyph in an otf font should look like that in a ttf font, and not like that in a type1 font. (that is there should be something in the glyph).
----------------------------
revision 1.1382
date: 2006/06/18 22:27:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for group "encodings" which have empty spaces for unused glyphs.
----------------------------
revision 1.1381
date: 2006/06/18 16:24:30;  author: pfaedit;  state: Exp;  lines: +2 -2
make another attempt to find a good default sli for glyphs with no default script.
----------------------------
revision 1.1380
date: 2006/06/18 15:43:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in scripting function DefaultATT.
----------------------------
revision 1.1379
date: 2006/06/18 15:06:38;  author: pfaedit;  state: Exp;  lines: +3 -3
The View->Display Substitutions has been broken since the encoding change last summer.
----------------------------
revision 1.1378
date: 2006/06/18 03:51:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Mark glyphs with out of date instructions differently from those with no instructions.
----------------------------
revision 1.1377
date: 2006/06/18 02:44:53;  author: pfaedit;  state: Exp;  lines: +2 -2
The last change to the cvt table generally did not get made.
----------------------------
revision 1.1376
date: 2006/06/17 19:40:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Make glyph compare check for point matching in anchor points and in references.
----------------------------
revision 1.1375
date: 2006/06/17 19:08:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a warning message about out of date instructions when generating a font.
----------------------------
revision 1.1374
date: 2006/06/17 14:51:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some warning messages about out of date instructions, and when we lose instructions, and when point matching goes out of date, etc.
----------------------------
revision 1.1373
date: 2006/06/15 04:01:09;  author: pfaedit;  state: Exp;  lines: +2 -2
When dumping anchor points matched to ttf points, ff failed to allocate enough space for them and offsets got all confused.
----------------------------
revision 1.1372
date: 2006/06/14 22:18:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Some variables which should have been static were dynamic. Which meant we kept dlopening libfreetype.
----------------------------
revision 1.1371
date: 2006/06/14 22:02:57;  author: pfaedit;  state: Exp;  lines: +2 -2
If we had an anchor point which positioned itself with point matching, and we generated an otf font then we'd output a lookup which tried to do point matching in postscript. Only do point matching if we are sure we're in a tt font.
----------------------------
revision 1.1370
date: 2006/06/14 21:41:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a preference item to control clearing of tt instructions.
Clean up various bugs that have crept in of late.
----------------------------
revision 1.1369
date: 2006/06/14 04:23:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Printing a multi-size page of a truetype font crashed.
----------------------------
revision 1.1368
date: 2006/06/13 22:58:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Anchor Point dlg didn't work well with matching tt points.
----------------------------
revision 1.1367
date: 2006/06/13 22:40:58;  author: pfaedit;  state: Exp;  lines: +2 -2
FT_Outline and TT_ExecContext have different signedness now for the tags and contours arrays.
----------------------------
revision 1.1366
date: 2006/06/13 14:55:30;  author: pfaedit;  state: Exp;  lines: +2 -2
More tweaks for the glyph search in kerning classes.
----------------------------
revision 1.1365
date: 2006/06/13 14:17:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a field to allow users to search for a glyph name within a kerning class.
----------------------------
revision 1.1364
date: 2006/06/13 13:24:33;  author: pfaedit;  state: Exp;  lines: +2 -2
The sfd format must support class 0 of kerning classes too.
----------------------------
revision 1.1363
date: 2006/06/13 13:15:51;  author: pfaedit;  state: Exp;  lines: +3 -3
The kerning class comparison routine also needs to check class 0 now.
----------------------------
revision 1.1362
date: 2006/06/13 04:21:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Interesting. In kerning by classes, if the coverage table does not match the glyphs specified in all the classes (for the first (left) glyph), then any glyphs in the coverage table but not in any class should be treated as being in class 0.
----------------------------
revision 1.1361
date: 2006/06/12 19:00:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Add something to the font view's copy from menu to control whether truetype instructions are copied or not.
----------------------------
revision 1.1360
date: 2006/06/12 15:09:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Add another thing to find problems: Check for glyphs with both contours and references.
----------------------------
revision 1.1359
date: 2006/06/11 03:55:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Support copying of ttf instructions the way we support copying of hints.
Don't delete ttf instructions when the point count of a glyph changes, rather mark them as out of date and use the same mechanism to display that as out of date hints.
Don't turn off point matching in refs when the point count changes, mark as out of date.
Add some find problems to
  Find out of date point matched references.
  Find references with transformation matrices which can't be expressed (as refs) in truetype
  Find references with transformation matrices which aren't translations (and so can't be expressed (as refs) in type1/2 fonts.
----------------------------
revision 1.1358
date: 2006/06/08 16:09:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow the user to turn off composite info in afm files.
----------------------------
revision 1.1357
date: 2006/06/05 14:25:56;  author: pfaedit;  state: Exp;  lines: +3 -3
otf kerning classes were dumped in the wrong order.
----------------------------
revision 1.1356
date: 2006/06/05 03:59:47;  author: pfaedit;  state: Exp;  lines: +3 -3
In GaramondPremrPro.otf (version 001.000) Adobe has coverage tables (for some context chaining subs) which have the glyphs mentioned multiple times. I suppose this is legal, but it is annoying. I want my strings to have each glyph appear at most once. So add a little thingy to remove duplicate glyphs when we generate a list of glyph names.
----------------------------
revision 1.1355
date: 2006/06/02 13:09:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Adobe has depreciated the use of PUA to represent small caps, old style numerals, etc. Add a preference item so that ff will no longer recognize "a.sc" as having a PUA encoding.

Also the tool time for the preference item "NameListForNewFonts" was wrong.
----------------------------
revision 1.1354
date: 2006/06/01 13:21:48;  author: pfaedit;  state: Exp;  lines: +2 -2
More bad hinting.
----------------------------
revision 1.1353
date: 2006/06/01 13:19:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Horizontal scrolling in the show att dlg was too slow. It was by pixel. Make it be by something which approximates the width of a character.
----------------------------
revision 1.1352
date: 2006/06/01 13:17:04;  author: pfaedit;  state: Exp;  lines: +3 -3
If we had a contextual substution and the subs was by coverage table and the coverage table had the same glyph name twice then we'd get an IError. It shouldn't happen in the first place, but an IError is extreme.
----------------------------
revision 1.1351
date: 2006/05/12 21:54:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new scripting command to give a font's bounding box.
----------------------------
revision 1.1350
date: 2006/05/12 21:12:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Sigh. Within a GPOS lookup, sub-tables are not additive. Only one will be applied at a time. So order the 'kern' lookup so that pair-wise kerning comes out first (to override class kerning).
----------------------------
revision 1.1349
date: 2006/05/12 21:02:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Was sometimes outputting mkmk base-mark attachement points as the mark attachment point.
----------------------------
revision 1.1348
date: 2006/05/08 04:50:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some typoes in the gettext comments.
----------------------------
revision 1.1347
date: 2006/05/07 23:35:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Clytie Siddall has many suggestions about how to make the translation process easier for translators. He also tells me how to insert contextual comments into the program source, and provides many fixes for typoes.
----------------------------
revision 1.1346
date: 2006/05/05 00:44:04;  author: pfaedit;  state: Exp;  lines: +2 -2
The OS/2 version 1,2 has a different defn of avgCharWidth than OS/2 version 3(,4) does. Display of CJK fonts is supposed to break under windows if using the v3 defn.
Use the appropriate defn for the version we happen to be outputting.
----------------------------
revision 1.1345
date: 2006/05/05 00:12:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Autohinting crashed on glyphs in an order2 font if the glyph contained both an outline and a reference.
----------------------------
revision 1.1344
date: 2006/05/02 19:27:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Another hinting fix.
----------------------------
revision 1.1343
date: 2006/05/02 14:54:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Pressing the help key in the main windows went to the overview page, not to the contextual help for the window.
----------------------------
revision 1.1342
date: 2006/05/01 14:45:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a warning when 'CFF ' widths and 'hmtx' widths differ.
----------------------------
revision 1.1341
date: 2006/05/01 14:42:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Set the default and normative widths too late after the cff subroutine change.
----------------------------
revision 1.1340
date: 2006/04/30 21:17:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Make double clicking in the list of kern pair/anchor combinations bring up either Kern Pair Closeup dlg or Anchors Away.
----------------------------
revision 1.1339
date: 2006/04/30 20:27:03;  author: pfaedit;  state: Exp;  lines: +3 -3
The Anchor control dlg didn't work after the encoding change.
Add a popup message to explain what "Cor:" means.
----------------------------
revision 1.1338
date: 2006/04/29 05:08:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a mode where we are alerted immediately when we get a bad o2 spline.
----------------------------
revision 1.1337
date: 2006/04/29 00:40:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo.
----------------------------
revision 1.1336
date: 2006/04/28 03:47:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Doing a Close() from a script didn't work if the windowing system were open.
----------------------------
revision 1.1335
date: 2006/04/28 03:21:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet another bug in type1 hinting output.
----------------------------
revision 1.1334
date: 2006/04/28 03:02:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Some versions of realloc don't like allocating 0 bytes.
----------------------------
revision 1.1333
date: 2006/04/27 19:11:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Users expect ff to recognize a glyph name "Diaeresis", even though Adobe (following standard American, but not European spelling) spells it "Dieresis".
----------------------------
revision 1.1332
date: 2006/04/27 18:50:12;  author: pfaedit;  state: Exp;  lines: +2 -2
GhostScript has canniptions when it gets a version 3 OS/2 table in a ttf file. So back out part of last night's irrelevant patch.
----------------------------
revision 1.1331
date: 2006/04/27 18:30:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Can't add a flex hint when there's a hintmask at the mid point.
----------------------------
revision 1.1330
date: 2006/04/27 18:29:04;  author: pfaedit;  state: Exp;  lines: +3 -3
The hintmask part of PointInfo would not let you clear a hintmask.
----------------------------
revision 1.1329
date: 2006/04/27 04:14:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new command to the fontview: Edit->Select->Select by Name
and a new scripting command: SelectAllInstancesOf
Both will select all encoding slots containing the named glyph (or unicode value)
----------------------------
revision 1.1328
date: 2006/04/27 03:33:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting command: RemoveDetachedGlyphs
I note that scripting commands: DetachGlyphs and DetachAndRemoveGlyphs are not documented. Document them.
----------------------------
revision 1.1327
date: 2006/04/27 01:28:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Be a little cleverer when dealing with altunis and a glyph's "real" unicode encoding.
----------------------------
revision 1.1326
date: 2006/04/27 01:19:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Was setting typo linegap to hhead linegap.
----------------------------
revision 1.1325
date: 2006/04/27 00:57:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Change some niggling irrelevancies in fontforge's truetype output.
----------------------------
revision 1.1324
date: 2006/04/25 22:28:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the X clipboard to paste into the character view has been broken at least since I added multi-layered editing.
----------------------------
revision 1.1323
date: 2006/04/25 21:58:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a pref to control whether we prefer to use spacing or combining accents when building accented glyphs.
----------------------------
revision 1.1322
date: 2006/04/25 14:33:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Spacing in the group dlg was sometimes off.
----------------------------
revision 1.1321
date: 2006/04/25 00:21:39;  author: pfaedit;  state: Exp;  lines: +3 -3
More hinting fixes. If the edges of a stem aren't quite parallel we had problems
----------------------------
revision 1.1320
date: 2006/04/21 22:24:07;  author: pfaedit;  state: Exp;  lines: +2 -2
More hinting fixes.
----------------------------
revision 1.1319
date: 2006/04/21 20:53:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some new built in variables: $order, $em, $ascent, $descent
----------------------------
revision 1.1318
date: 2006/04/20 15:07:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Another hinting fix.
----------------------------
revision 1.1317
date: 2006/04/20 04:48:47;  author: pfaedit;  state: Exp;  lines: +2 -2
The 'TeX ' table was output incorrectly if glyphs order wasn't the same in the sf as in the ttf.
----------------------------
revision 1.1316
date: 2006/04/19 19:51:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Random cleanup. Another leak or two.
----------------------------
revision 1.1315
date: 2006/04/19 18:44:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow the [*] Back visibility checkbox to control whether the grid fit lines are visible or not.
----------------------------
revision 1.1314
date: 2006/04/19 16:29:36;  author: pfaedit;  state: Exp;  lines: +2 -2
If scripting is in verbose mode, flush the output buffer before calling a built in procedure (so any errors it generates will at least show the right line).
----------------------------
revision 1.1313
date: 2006/04/19 16:09:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Another hinting patch.
----------------------------
revision 1.1312
date: 2006/04/18 21:12:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Ambrose LI points out that the master font in a cid keyed font should match the ascent/descent of at least one of its subfonts (so that the typoAscent/Descent fields will default correctly).
----------------------------
revision 1.1311
date: 2006/04/18 14:58:17;  author: pfaedit;  state: Exp;  lines: +3 -3
More leaks.
----------------------------
revision 1.1310
date: 2006/04/18 05:41:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Get rid of some more memory leaks.
----------------------------
revision 1.1309
date: 2006/04/17 22:43:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Make ControlAfmLigatureOutput (scripting command) apply to ofm/tfm files too.
----------------------------
revision 1.1308
date: 2006/04/17 21:48:29;  author: pfaedit;  state: Exp;  lines: +2 -2
If we have a glyph with non-integral hints and save it with rounding then make sure glyph comp will accept.
----------------------------
revision 1.1307
date: 2006/04/17 21:46:17;  author: pfaedit;  state: Exp;  lines: +2 -2
The stem database work failed when we had tiny splines. Splines smaller than the rounding error in solving a cubic for example.
----------------------------
revision 1.1306
date: 2006/04/17 14:23:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Spend some quality time with valgrind looking (oh, and fixing) memory leaks.
----------------------------
revision 1.1305
date: 2006/04/16 02:44:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. When parsing mac state machines I was using sizeof(long) when I should have said sizeof(int32). It gave rather bad results on 64bit machines.
----------------------------
revision 1.1304
date: 2006/04/15 20:04:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting function to load a user defined cidmap file.
----------------------------
revision 1.1303
date: 2006/04/14 20:49:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. sizeof(point)==8 on AMD64, but structures are aligned to 4. This means our chunk alloc routines complain. So if we're given something that isn't in units of sizeof(pointer) then just round it up.
----------------------------
revision 1.1302
date: 2006/04/14 02:21:19;  author: pfaedit;  state: Exp;  lines: +2 -2
lookup ordering within GSUB has been totally broken at least since I added the code to coalesce lookups for kerning.
----------------------------
revision 1.1301
date: 2006/04/13 19:09:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou suggests changing function name that includes Char to be Glyph. Well a few do really mean Char, but the rest should be Glyph. Leave the old names there but document them as deprecated.
----------------------------
revision 1.1300
date: 2006/04/13 17:46:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Make CID keyed fonts use the new subroutine mechanism too. We can use global subrs now too!
----------------------------
revision 1.1299
date: 2006/04/13 17:41:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Familyname can be NULL, and we were indescriminately checking to make sure its length was less than 31.
----------------------------
revision 1.1298
date: 2006/04/13 05:12:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Make a better use of subroutines when generating otf fonts. Doesn't work for CID fonts yet.
----------------------------
revision 1.1297
date: 2006/04/12 15:24:17;  author: pfaedit;  state: Exp;  lines: +3 -3
We crashed if we changed from one cid sub-font to another when compacted.
----------------------------
revision 1.1296
date: 2006/04/11 23:36:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. I made ff work with ft22 if the debugger was being built... but it failed to compile if people didn't build the debugger.
----------------------------
revision 1.1295
date: 2006/04/11 04:35:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops a scripting function was marked as not needing a font when it did (HasPreservedTable & friends).
----------------------------
revision 1.1294
date: 2006/04/09 05:41:25;  author: pfaedit;  state: Exp;  lines: +2 -2
More for font compare. If there is a difference in a glyph in the two fonts add the option for including the outlines of the second glyph into the first. If the first font is missing a glyph, add an option to insert it with the outlines in the background.
----------------------------
revision 1.1293
date: 2006/04/08 20:56:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Good heavens, someone wants to play with acorn2sfd. Make it compile again.
----------------------------
revision 1.1292
date: 2006/04/08 19:52:17;  author: pfaedit;  state: Exp;  lines: +3 -3
People seem to want sfddiff. So rewrite it as a fontforge script and add it back into the install process.
----------------------------
revision 1.1291
date: 2006/04/08 04:29:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants to see the raw numbers for point locations.
----------------------------
revision 1.1290
date: 2006/04/08 04:26:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Mike Frysinger to make ff look at HOME before /etc/passwd.
----------------------------
revision 1.1289
date: 2006/04/07 03:14:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix typo.
----------------------------
revision 1.1288
date: 2006/04/07 02:23:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When using View->Show Grid Fit in an empty glyph (so it will not get a GID in the test ttf generated), fontforge would crash.
Patch from Ian Jackson of Ubuntu.
----------------------------
revision 1.1287
date: 2006/04/06 17:24:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Insure that we don't generate binary eexec data which starts with a space of some nature.
----------------------------
revision 1.1286
date: 2006/04/06 17:15:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Interesting. White space is defined differently after eexec than it is in other areas of PostScript. White space after eexec does not include formfeed.
----------------------------
revision 1.1285
date: 2006/04/06 14:02:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh. The family name is also subject to the 31 character limitation under windows. Interestingly entries in the 'name' table are not.
----------------------------
revision 1.1284
date: 2006/04/06 13:32:04;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating a non windows ANSI pfm file we did get the encoding right.
----------------------------
revision 1.1283
date: 2006/04/06 05:01:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Grump. Windows won't install a type1 font if the fontname is longer than 31 characters.
----------------------------
revision 1.1282
date: 2006/04/05 04:22:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Attempt to produce pfm files which work with non windows "ANSI" encodings.
----------------------------
revision 1.1281
date: 2006/04/05 04:20:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Make fontforge compile with freetype2.2
----------------------------
revision 1.1280
date: 2006/04/05 04:08:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Font compare will now unlink references to compare if the exact match fails. Useful when loading a postscript font.
----------------------------
revision 1.1279
date: 2006/04/05 04:04:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the freehand tool work in quadratic mode (by converting the cubics generated to quadratics).
----------------------------
revision 1.1278
date: 2006/04/05 04:02:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the way the pen tool works in quadratic mode (so that it edits cps rather than on-curve points).
----------------------------
revision 1.1277
date: 2006/04/05 03:58:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michal Nowakowski. Get Info failed to refigure some splines properly.
----------------------------
revision 1.1276
date: 2006/04/05 03:57:55;  author: pfaedit;  state: Exp;  lines: +2 -2
invoking kde's default browser didn't work.
Patch by Dimitar Zhekov
----------------------------
revision 1.1275
date: 2006/04/05 03:56:02;  author: pfaedit;  state: Exp;  lines: +2 -2
FF still has problems when glyphs contain contours which start with control points.
----------------------------
revision 1.1274
date: 2006/04/05 03:52:48;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contained a .notdef glyph the when generating a sfnt, ff would usually put the wrong value for its advance width into the 'hmtx' table.
----------------------------
revision 1.1273
date: 2006/04/05 03:49:30;  author: pfaedit;  state: Exp;  lines: +3 -3
More fixes for font compare.
----------------------------
revision 1.1272
date: 2006/03/30 06:05:21;  author: pfaedit;  state: Exp;  lines: +2 -2
In the Select menu, Width had an extra underscore.
----------------------------
revision 1.1271
date: 2006/03/30 05:52:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I failed to commit a patch to get the right weight name in an otf font.
----------------------------
revision 1.1270
date: 2006/03/30 05:49:38;  author: pfaedit;  state: Exp;  lines: +2 -2
When comparing context/chaining lookups in font compare, if a nested lookup doesn't have the same generated tag (quite likely) then check what it does rather than relying on the tag alone.
----------------------------
revision 1.1269
date: 2006/03/30 05:26:13;  author: pfaedit;  state: Exp;  lines: +2 -2
The pen tool didn't handle quadratic splines properly.
----------------------------
revision 1.1268
date: 2006/03/30 04:56:46;  author: pfaedit;  state: Exp;  lines: +2 -2
A patch added back in 2004 to make vertical substitutions work for Japanese (to work around a bug in Windows to be precise) had a bug itself if more than one language was involved.
----------------------------
revision 1.1267
date: 2006/03/29 23:43:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When handling translated hintmasks we did the wrong translation for vertical stems and got garbage results.
----------------------------
revision 1.1266
date: 2006/03/29 23:40:08;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on select point at.
----------------------------
revision 1.1265
date: 2006/03/29 20:51:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Give a bit more info about hintmask mismatches.
----------------------------
revision 1.1264
date: 2006/03/29 20:31:33;  author: pfaedit;  state: Exp;  lines: +3 -3
New command to allow user to enter X,Y coordinates of a point and have that point be selected. I want this for debugging. It might be useful generally.
----------------------------
revision 1.1263
date: 2006/03/29 02:59:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove an unused routine.
----------------------------
revision 1.1262
date: 2006/03/29 02:58:08;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on font compare
----------------------------
revision 1.1261
date: 2006/03/29 02:09:59;  author: pfaedit;  state: Exp;  lines: +2 -2
ReplaceWithReference had too large a fudge factor and found macron when it should have found macron.sc in minionpro-regular.
Still problems with type2 subroutines containing glyphs with conflicts.
----------------------------
revision 1.1260
date: 2006/03/29 02:06:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new flag to font compare (& some cleanup).
----------------------------
revision 1.1259
date: 2006/03/28 21:52:05;  author: pfaedit;  state: Exp;  lines: +2 -2
If an alternate/multiple subs had more than 30 components then we lost all those after 30.
----------------------------
revision 1.1258
date: 2006/03/28 21:35:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Fixes for font compare.
----------------------------
revision 1.1257
date: 2006/03/28 02:00:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. Sometimes least squares does give the answer we want for merge. So give it a try.
----------------------------
revision 1.1256
date: 2006/03/28 01:14:25;  author: pfaedit;  state: Exp;  lines: +2 -2
ff was overcounting kerning tables (thought it always had at least one horizontal and at least one vertical table) bug introduced by the last kerning patch.
----------------------------
revision 1.1255
date: 2006/03/27 19:37:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by kanou to fix some translation problem.
----------------------------
revision 1.1254
date: 2006/03/27 16:04:03;  author: pfaedit;  state: Exp;  lines: +2 -2
One more tweak to getinfo.
----------------------------
revision 1.1253
date: 2006/03/27 15:21:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Instead of generating a quadratic shape at the start, generate a cubic shape and convert to quadratic. The convert routine now knows about how to find integer control points and such.
----------------------------
revision 1.1252
date: 2006/03/27 14:59:52;  author: pfaedit;  state: Exp;  lines: +3 -3
A couple of tweaks to get info.
----------------------------
revision 1.1251
date: 2006/03/27 04:37:27;  author: pfaedit;  state: Exp;  lines: +2 -2
In Point Get Info, give users the option of editing the control points of an interpolated point. Ie. adjust the base to the cps, rather than the cps to the base.
----------------------------
revision 1.1250
date: 2006/03/26 17:44:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Kanou to get more grid size values for looking at bitmaps.
----------------------------
revision 1.1249
date: 2006/03/26 17:39:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Once we start translating namelist names we must do it consistently, else we get crashes.
----------------------------
revision 1.1248
date: 2006/03/25 00:23:57;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph starts with a control point then ff would sometimes throw out the ttf instructions, thinking it wasn't numbered properly.
----------------------------
revision 1.1247
date: 2006/03/24 23:47:50;  author: pfaedit;  state: Exp;  lines: +2 -2
A merge in a quadratic font produced a straight line. Even when it shouldn't have.
----------------------------
revision 1.1246
date: 2006/03/24 22:06:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Change namelists to support non-ASCII glyph names.
----------------------------
revision 1.1245
date: 2006/03/23 17:18:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Some hinting scripting commands had a "b" prepended to their name by mistake.
----------------------------
revision 1.1244
date: 2006/03/23 16:27:27;  author: pfaedit;  state: Exp;  lines: +2 -2
When pasting a glyph with hints into an empty glyph, we shouldn't set the "in need of autohinting" flag.
(Actually, we might should if the original copy were done in a glyph with out of date hints.... but that gets more complicated).
----------------------------
revision 1.1243
date: 2006/03/23 14:52:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Default value of mark points of inflection wasn't being set in new charviews.
----------------------------
revision 1.1242
date: 2006/03/23 04:58:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch to make loading bdf fonts more efficient.
----------------------------
revision 1.1241
date: 2006/03/23 04:03:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add Kanou's "fontview" font to the list of fonts searched by default for the fontview window.
----------------------------
revision 1.1240
date: 2006/03/23 00:18:16;  author: pfaedit;  state: Exp;  lines: +2 -2
FF did not mark ghost hints.
----------------------------
revision 1.1239
date: 2006/03/22 23:26:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Interpolating fonts broke when I did the encoding change last summer.
----------------------------
revision 1.1238
date: 2006/03/22 20:41:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Kanou to prevent the hash function from returning negative numbers.
----------------------------
revision 1.1237
date: 2006/03/22 05:19:44;  author: pfaedit;  state: Exp;  lines: +2 -2
In font compare add support for checking gsub/gpos features.
----------------------------
revision 1.1236
date: 2006/03/21 23:21:31;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on font compare.
----------------------------
revision 1.1235
date: 2006/03/21 16:19:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Font Compare dialog.
More work on font compare scripting command.
----------------------------
revision 1.1234
date: 2006/03/20 05:33:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Add (an initial version) of a scripting routine for comparing two fonts. Current version compares the outlines and hints/instructions and nothing else.
----------------------------
revision 1.1233
date: 2006/03/19 22:43:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. There's a stray underscore in a field in font info.
----------------------------
revision 1.1232
date: 2006/03/19 22:02:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Refresh font view(s) after changing glyph name/unicode in glyph info in case those are being displayed.
----------------------------
revision 1.1231
date: 2006/03/19 21:57:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't name glyphs "NameMe-%d" name them "NameMe.%d" instead. More in keeping with glyph naming conventions.
----------------------------
revision 1.1230
date: 2006/03/19 21:51:31;  author: pfaedit;  state: Exp;  lines: +2 -2
If a name entered in the goto dlg was a single unicode char, then goto would treat it as such. Normally this is fine, but a user might use the underscore character (for example) as a glyph name and not assign it to U+005F. So check for the name too.
----------------------------
revision 1.1229
date: 2006/03/19 21:44:32;  author: pfaedit;  state: Exp;  lines: +3 -3
More work on stems which aren't quite horizontal/vertical but which people seem to think should be hinted.
----------------------------
revision 1.1228
date: 2006/03/19 04:58:48;  author: pfaedit;  state: Exp;  lines: +2 -2
More hinting fixes.
----------------------------
revision 1.1227
date: 2006/03/19 04:38:58;  author: pfaedit;  state: Exp;  lines: +3 -3
I was calculating points of inflection incorrectly.
(And I was calling extrema points of inflection in some comments)
----------------------------
revision 1.1226
date: 2006/03/17 01:30:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops there was a path through the cubic->quadratic code which left things uninitialized.
----------------------------
revision 1.1225
date: 2006/03/16 14:49:25;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph contained references but no alphabetic characters then Glyph Info would crash.
----------------------------
revision 1.1224
date: 2006/03/16 14:39:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Scripting command AskUser doesn't work unless FF_SCRIPT_IN_LATIN1 is set. Patch by Kanou.
----------------------------
revision 1.1223
date: 2006/03/15 17:29:07;  author: pfaedit;  state: Exp;  lines: +2 -2
In some error messages I ended a sentence with a comma. Make it a full stop.
----------------------------
revision 1.1222
date: 2006/03/15 17:26:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Patches from Kanou to make Japanese translation better.
----------------------------
revision 1.1221
date: 2006/03/15 17:09:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou points out that the code which handles modifications to the unicode char textfield complains about the wrong things and he provides a patch.
----------------------------
revision 1.1220
date: 2006/03/15 01:36:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Tweak that last cubic->quadratic patch a little.
----------------------------
revision 1.1219
date: 2006/03/15 01:30:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Another case where cubic->quadratic failed.
----------------------------
revision 1.1218
date: 2006/03/15 01:29:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Hand tool failed to scroll background images (probably failed on hints too).
----------------------------
revision 1.1217
date: 2006/03/14 23:39:43;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing a copy splines with hintmask operation we neglected to refigure the spline after transforming the end points. This was ok since we never used that info -- except if the splines were quadratic and we needed to convert to cubic. So when generating a ps font from a quadratic database, and the font contained references with scaling/rotation/etc. then we'd get erroneous results.
----------------------------
revision 1.1216
date: 2006/03/14 23:35:48;  author: pfaedit;  state: Exp;  lines: +3 -3
In Find Problems, the Flipped Reference check could fail if the reference contained a contours which intersected (themselves or each other).
----------------------------
revision 1.1215
date: 2006/03/13 16:09:48;  author: pfaedit;  state: Exp;  lines: +3 -3
New version of the stem database routines. They seem to do a better job of finding hints.
----------------------------
revision 1.1214
date: 2006/03/13 16:08:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Make ff aware of ExtraLight as a valid weight when setting a default value for the PS weight string.
----------------------------
revision 1.1213
date: 2006/03/13 16:04:57;  author: pfaedit;  state: Exp;  lines: +3 -3
When enter a textfield with attached pulldown list, ff would get an event saying the first entry on the list had been chosen. This meant that the Tag dialog (used for new ligatures/substitutions/etc. would show the first tag in the list instead of blank.
----------------------------
revision 1.1212
date: 2006/03/13 15:54:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Include some synonems from Richard Kinch's TrueTeX list.
----------------------------
revision 1.1211
date: 2006/03/12 04:17:46;  author: pfaedit;  state: Exp;  lines: +3 -3
more on autohinting.
----------------------------
revision 1.1210
date: 2006/03/11 01:09:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner points out that dotlessi_grave should really be i_grave.
----------------------------
revision 1.1209
date: 2006/03/11 00:23:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Determination of whether a ghost hint is top (-20) or bottom (-21) should depend on the current contour, not on the glyph as a whole.
----------------------------
revision 1.1208
date: 2006/03/10 23:49:00;  author: pfaedit;  state: Exp;  lines: +3 -3
More hinting tweaks.
----------------------------
revision 1.1207
date: 2006/03/10 04:34:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Further hinting work.
----------------------------
revision 1.1206
date: 2006/03/10 04:25:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Last patch was wrong.
----------------------------
revision 1.1205
date: 2006/03/10 03:58:33;  author: pfaedit;  state: Exp;  lines: +2 -2
We were too brutal in trimming hints that might be (but weren't) from a flex situation.
----------------------------
revision 1.1204
date: 2006/03/10 01:21:58;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph consists solely of references then add <ref-name1>_<ref-name2>_...<ref-name-n> to the list of possible names. Sometimes also add uniXXXXXXXX.
----------------------------
revision 1.1203
date: 2006/03/09 20:18:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou wants to translate some more strings.
----------------------------
revision 1.1202
date: 2006/03/09 14:06:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo composite output in afm files.
----------------------------
revision 1.1201
date: 2006/03/08 22:44:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry.SCHWARTZ wants to be able to reencode a font to compact from a script.
----------------------------
revision 1.1200
date: 2006/03/08 22:34:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry.SCHWARTZ points out that my "cfg" files contain no newlines. Shows how much use they've received:-)
----------------------------
revision 1.1199
date: 2006/03/08 22:32:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry.SCHWARTZ points out that when generating an afm file for an otf font only the first 256 characters were given encodings.
----------------------------
revision 1.1198
date: 2006/03/08 21:05:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Simplify shouldn't simplify away corner points.
----------------------------
revision 1.1197
date: 2006/03/08 01:26:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Simplify is now too slow. Make it faster.
----------------------------
revision 1.1196
date: 2006/03/07 23:04:25;  author: pfaedit;  state: Exp;  lines: +3 -3
After examining (and stealing with permission) Huw Davies's code in wine/tools/fnt2fon.c I believe I can now produce .fon files.
----------------------------
revision 1.1195
date: 2006/03/07 06:41:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in simplify/merge.
----------------------------
revision 1.1194
date: 2006/03/07 06:06:48;  author: pfaedit;  state: Exp;  lines: +2 -2
In an effort to make simplify/merge work better, I decided to slow it down by a factor of two. (Start my binary search from both the best point and the second best). This helps some...
----------------------------
revision 1.1193
date: 2006/03/07 00:17:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Make simplify for quadratic splines aware of the peculiarities of truetype. So one simplification is to make a pointer interpolateable. And removing a point is not always good if it means points that were interpolateable become non-interpolateable.
----------------------------
revision 1.1192
date: 2006/03/06 20:25:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for reading bitmap references.
----------------------------
revision 1.1191
date: 2006/03/06 13:48:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Kanou. cvknife didn't compile in one mode.
----------------------------
revision 1.1190
date: 2006/03/06 05:26:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in an error message in parsettf.c
----------------------------
revision 1.1189
date: 2006/03/06 01:13:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a command to show points of inflection (also change View->Mark Extrema to show where extrema occur on a spline if not at the endpoints)
----------------------------
revision 1.1188
date: 2006/03/06 01:07:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Michal Nowakowski. Uninitialized variable in simplify dlg.
----------------------------
revision 1.1187
date: 2006/03/06 01:07:03;  author: pfaedit;  state: Exp;  lines: +2 -2
If I always look for points of inflection, I get bad splines. If I ignore them I
 get better splines (on conversion cubic -> quadratic) -- at least sometimes.
----------------------------
revision 1.1186
date: 2006/03/06 01:06:09;  author: pfaedit;  state: Exp;  lines: +2 -2
glyph names for unencoded glyphs were always "uniFFFFFFFF" should be "NameMe-<n>
----------------------------
revision 1.1185
date: 2006/03/06 01:02:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner wants CC (composite character) entries in afm for GPOS mark-to-base features.
----------------------------
revision 1.1184
date: 2006/03/04 05:51:26;  author: pfaedit;  state: Exp;  lines: +2 -2
The switch to utf8 last summer broke font info->Size
----------------------------
revision 1.1183
date: 2006/03/04 00:43:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Some tweaks to cubic->quadratic
----------------------------
revision 1.1182
date: 2006/03/04 00:28:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Attempt to find integer solutions to cubic->quadratic conversion (fall back to fractions if we can't).
----------------------------
revision 1.1181
date: 2006/03/03 01:38:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow users to ask for both 'GPOS' and old-style 'kern' tables.
----------------------------
revision 1.1180
date: 2006/03/03 00:49:02;  author: pfaedit;  state: Exp;  lines: +3 -3
If we tried to put more than about 10000 kerning pairs into one old-style kerning sub-table then we'd overflow various shorts. So split it up after about 10000 kp into several different sub-tables.
----------------------------
revision 1.1179
date: 2006/02/28 15:45:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an compilation option that restores the old behavior of cubic to quadratic conversion.
----------------------------
revision 1.1178
date: 2006/02/28 15:31:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Round to Int screwed up interpolated points.
----------------------------
revision 1.1177
date: 2006/02/26 21:26:24;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a tfm file don't generate a width bigger than 16*em-size (even if the font says to) because TeX will throw it out.
----------------------------
revision 1.1176
date: 2006/02/26 21:07:30;  author: pfaedit;  state: Exp;  lines: +2 -2
There was still a way for parallel lines to sneak into the quadratic conversion leading to nans.
----------------------------
revision 1.1175
date: 2006/02/26 14:39:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Alexey Kryukov's patch to fix an error message.
----------------------------
revision 1.1174
date: 2006/02/25 01:05:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo cubic to quadratic spline conversion. Make it symmetric.
----------------------------
revision 1.1173
date: 2006/02/20 04:40:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Printing a CID keyed truetype font to a pdf file produced a very odd ordering of glyphs (compacting some and omitting others and getting errors when it ran out of glyphs but asked for more).
----------------------------
revision 1.1172
date: 2006/02/19 23:10:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey Kryukov suggests repunctuating an error message.
----------------------------
revision 1.1171
date: 2006/02/19 22:55:02;  author: pfaedit;  state: Exp;  lines: +2 -2
autohinting fixes.
----------------------------
revision 1.1170
date: 2006/02/19 22:50:37;  author: pfaedit;  state: Exp;  lines: +2 -2
I need a separate flag to control hint testing so change the argument sequence yet again of CompareGLyphs.
----------------------------
revision 1.1169
date: 2006/02/19 20:00:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix hint compare.
----------------------------
revision 1.1168
date: 2006/02/19 15:53:28;  author: pfaedit;  state: Exp;  lines: +3 -3
In type2 fonts, hintmasks for translated references were wrong.
----------------------------
revision 1.1167
date: 2006/02/19 03:00:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Johan Winge also points out that I identify points as tangents when they should not be. This is because I use one measure of sloppiness no matter how close the cps are to the base point when determining colinear. It's probably best to have a variable measure depending on how far the cp is from the base point.
----------------------------
revision 1.1166
date: 2006/02/19 02:56:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Johan Winge suggests an improvement to converting cubic splines to quadratic: If we end up using a line when looking at the spline as a whole, try breaking it at the point of infection(s) first. It seems like a good idea.
----------------------------
revision 1.1165
date: 2006/02/19 02:53:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Typo in hint comparison.
----------------------------
revision 1.1164
date: 2006/02/18 22:54:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexey Kryukov thinks Add Unencoded Slots should work in the compacted view by making the thing have a custom encoding.
----------------------------
revision 1.1163
date: 2006/02/18 22:43:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Scripting reencode didn't get rid of the "compacted" mark.
----------------------------
revision 1.1162
date: 2006/02/18 22:29:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Ralf Stubner points out that I produce type1 charstrings which end in "seac endchar" when a simple "seac" is sufficient. He's right.
----------------------------
revision 1.1161
date: 2006/02/18 05:25:08;  author: pfaedit;  state: Exp;  lines: +2 -2
make glyph comp compare hints too.
----------------------------
revision 1.1160
date: 2006/02/17 22:11:09;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating opentype tables in from a single sub-font of a cid-keyed font (ie. user asked for a ttf font generated from one sub-font) ff would crash.
----------------------------
revision 1.1159
date: 2006/02/17 04:59:11;  author: pfaedit;  state: Exp;  lines: +2 -2
When we've got one curved edge and one straight edge we have a hard time figuring if a hint is too big.
----------------------------
revision 1.1158
date: 2006/02/17 04:32:13;  author: pfaedit;  state: Exp;  lines: +2 -2
We didn't hint bold fonts well (anything where stems were bigger than em-size/10)
----------------------------
revision 1.1157
date: 2006/02/17 03:22:14;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a type1 font with a glyph containing a reference that had to be unlinked, then the vertical stems in that reference would not be hinted.
----------------------------
revision 1.1156
date: 2006/02/17 03:11:43;  author: pfaedit;  state: Exp;  lines: +2 -2
When guessing points at which to attach hints in type1/2 read in we failed if the points were too widely spaced. Be a bit more lenient.
----------------------------
revision 1.1155
date: 2006/02/17 01:31:16;  author: pfaedit;  state: Exp;  lines: +3 -3
SetCharName didn't check its flag value properly.
----------------------------
revision 1.1154
date: 2006/02/16 05:04:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Uncompacting a font caused memory problems.
----------------------------
revision 1.1153
date: 2006/02/15 22:21:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix simple crash in metafont.
----------------------------
revision 1.1152
date: 2006/02/15 21:31:47;  author: pfaedit;  state: Exp;  lines: +2 -2
More improvements to glyphcomp.
----------------------------
revision 1.1151
date: 2006/02/15 21:28:37;  author: pfaedit;  state: Exp;  lines: +2 -2
When importing unencoded glyphs into an already existing font, we would sometimes fail to find the matching glyph (and would create a new one).
----------------------------
revision 1.1150
date: 2006/02/15 14:12:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Glyph compare didn't work on bitmaps with depth>1
----------------------------
revision 1.1149
date: 2006/02/14 05:03:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Further improvements (including bug fixes) to glyph compare.
----------------------------
revision 1.1148
date: 2006/02/13 04:02:34;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contain an encoded glyph called ".notdef" and that glyph was not the first glyph, then type1 fonts had a .notdef glyph at a random place in the font which screwed up freetype's rasterizer in some modes (ftview failed, ftstring worked) Rather than figure out what's wrong with freetype, just always make notdef be first in the chars dictionary and then all is happy.
----------------------------
revision 1.1147
date: 2006/02/13 02:58:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Add new scripting command to compare two glyphs. I want this for testsuites, other people might find a use for it.
----------------------------
revision 1.1146
date: 2006/02/13 01:36:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Make Merge/Simplify even more accurate.
----------------------------
revision 1.1145
date: 2006/02/12 15:59:13;  author: pfaedit;  state: Exp;  lines: +3 -3
gniibe reports that the scripting function Export() produces bitmap images with the wrong format and provides a patch.
----------------------------
revision 1.1144
date: 2006/02/10 01:38:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Instead of refusing to do expand stroke/remove overlap for order2 fonts, why not convert the contours to order3, do the function and convert back.
----------------------------
revision 1.1143
date: 2006/02/08 20:05:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Once more we are numbering points badly.
----------------------------
revision 1.1142
date: 2006/02/08 19:45:30;  author: pfaedit;  state: Exp;  lines: +3 -3
If we clear a glyph which is being referred to (and we don't unlink it first) then when we save it into an sfd file we get a reference to a glyph at orig_pos -1 (because the cleared glyph isn't stored in the sfd) which causes an error when reading it back in.
----------------------------
revision 1.1141
date: 2006/02/08 19:38:01;  author: pfaedit;  state: Exp;  lines: +2 -2
If a copyright message were an exact multiple of 100 characters long, fontforge would screw up memory (and potentially crash) when reading it in from an sfd file.
----------------------------
revision 1.1140
date: 2006/02/08 19:33:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Last "Fix" for merge command, meant that we broke curve points (ie. they formed
a corner rather than a curve). This fixes it properly.
----------------------------
revision 1.1139
date: 2006/02/06 16:17:06;  author: pfaedit;  state: Exp;  lines: +2 -2
crash
----------------------------
revision 1.1138
date: 2006/02/06 16:13:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Add script for N'Ko.
----------------------------
revision 1.1137
date: 2006/02/06 14:41:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the r2l script N'Ko. Note I'm guessing at the script tag.
----------------------------
revision 1.1136
date: 2006/02/06 14:09:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou tells me that Syriac & Thaana are also r2l scripts and should be added to my list.
----------------------------
revision 1.1135
date: 2006/02/06 05:25:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Johan Winge reports another problem with add extrema. Actually a problem with ApproxFromPointsSlopes if the control points are very close to the base point (so the control points do not give us the slope which the eye sees).
----------------------------
revision 1.1134
date: 2006/02/06 03:45:42;  author: pfaedit;  state: Exp;  lines: +2 -2
If FF was given multiple fonts on the command line the sizes of the font windows would jump around in a very peculiar fashion.
----------------------------
revision 1.1133
date: 2006/02/06 03:25:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the concept of a namelist.
Users can specify what names they want for new glyphs, or can force an
entire font into a new naming scheme. Changes to
	FontInfo
	Open
	Generate (Family)
	Preferences
and the Encoding menu.
New scripting functions:
	LoadNamelist(filename)
	LoadNamelistDir([dir])
	RenameGlyphs(namelist)
Extended Generate to take a namelist argument.
----------------------------
revision 1.1132
date: 2006/02/03 02:59:46;  author: pfaedit;  state: Exp;  lines: +3 -3
If users didn't have libuninameslist installed we were still generating spurious ligatures for numero and TM.
----------------------------
revision 1.1131
date: 2006/02/01 21:58:59;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that if you comment out a bdf glyph (with COMMENT) fontforge sort of reads it anyway.
----------------------------
revision 1.1130
date: 2006/02/01 21:41:53;  author: pfaedit;  state: Exp;  lines: +2 -2
More work for Kanou's disambiguation between latin script and latin language.
Mac languages broken since the gettext patch.
----------------------------
revision 1.1129
date: 2006/02/01 21:05:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou needs to distinquish between the script latin and the language.
----------------------------
revision 1.1128
date: 2006/02/01 20:17:10;  author: pfaedit;  state: Exp;  lines: +3 -3
SplineRemoveAnnoyingExtrema1 got tweaked a little too much in attempting not to generate insane control points.
----------------------------
revision 1.1127
date: 2006/01/28 00:46:53;  author: pfaedit;  state: Exp;  lines: +2 -2
SetCharCount scripting call failed if you reduced the char cnt. (this just affects the encoding now, the glyph remains).
----------------------------
revision 1.1126
date: 2006/01/28 00:20:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Loading a bitmap font could call SFMakeChar with a bad encoding.
----------------------------
revision 1.1125
date: 2006/01/28 00:04:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in an encoding property chech that occurred when loading ZapfDingbats.pcf
----------------------------
revision 1.1124
date: 2006/01/26 14:09:57;  author: pfaedit;  state: Exp;  lines: +3 -3
If I am going to provide a round trip mechanism for bdf->sfnt then I suppose I should preserve the ascent/descent in the horilinemetrics even if I personally think their values are wrong.
----------------------------
revision 1.1123
date: 2006/01/25 22:03:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Damn. I failed to complete the last patch for one of the cases, and bingo that causes failure.
----------------------------
revision 1.1122
date: 2006/01/25 01:12:01;  author: pfaedit;  state: Exp;  lines: +3 -3
If you ask to create an otb font but provide no valid bitmap strikes, ff will crash.
----------------------------
revision 1.1121
date: 2006/01/23 20:43:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Chia points out that I should use the PIXEL_SIZE property to set a bdf font's pixelsize. I was using FONT_ASCENT+FONT_DESCENT. I think they should be the same, but sometimes they are not.
----------------------------
revision 1.1120
date: 2006/01/23 13:52:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone handed us a glyph with a point at 13,476,000 (and another near 0) and asked us to rasterize it. We ran out of memory.
----------------------------
revision 1.1119
date: 2006/01/23 02:38:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. The change to make Add Extrema remove points close to the extrema failed to consider that one of those points might be a corner and not a smooth curve. Removing a corner is wrong. Removing a curve point is ok.
----------------------------
revision 1.1118
date: 2006/01/22 22:51:25;  author: pfaedit;  state: Exp;  lines: +2 -2
In Gentium Roman the base line is such that "0" is outside one standard deviation from the mean. Tweak things (lie about the standard deviation) so that 0 is always within range.
----------------------------
revision 1.1117
date: 2006/01/22 22:41:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Font Info->PS Private. If we selected OtherBlues and pressed [Guess] it did not change the OtherBlues value.
----------------------------
revision 1.1116
date: 2006/01/22 22:33:52;  author: pfaedit;  state: Exp;  lines: +2 -2
The gettext patch changed Histograms->Blue Values menu item into a line.
----------------------------
revision 1.1115
date: 2006/01/22 22:28:08;  author: pfaedit;  state: Exp;  lines: +2 -2
When changing the order of a font, ff would always ask if you minded losing the undoes. If the font hasn't been changed there are no undoes, and no point in asking.
----------------------------
revision 1.1114
date: 2006/01/22 22:20:57;  author: pfaedit;  state: Exp;  lines: +2 -2
If user changes the next cp of a curve point, the point info dlg should update the prev cp to maintain the slope.
----------------------------
revision 1.1113
date: 2006/01/22 21:56:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. There was a path through point info that called SplineRefigure3, so this meant that quadratic splines got converted to cubic ones (the font as a whole remained quadratic, just this one spline). It looked wrong.
----------------------------
revision 1.1112
date: 2006/01/22 21:34:48;  author: pfaedit;  state: Exp;  lines: +3 -3
After approximating a spline I used to check if it were close to linear, and if so, make it linear. Unfortunately that doesn't work too well when we are using elipse mode to stroke a path. The coordinate system gets all screwed up (by the ratio of the axes) and things look linear when they aren't.
----------------------------
revision 1.1111
date: 2006/01/20 04:18:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a homedir (and an updir) button to the file chooser dialogs.
----------------------------
revision 1.1110
date: 2006/01/18 19:42:55;  author: pfaedit;  state: Exp;  lines: +3 -3
rotated eliptical pens in expand stroke didn't work.
----------------------------
revision 1.1109
date: 2006/01/17 17:36:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Use the horilinemetrics to provice ascent/descent if they match.
We were using a positive descent value when we should have used a negative.
----------------------------
revision 1.1108
date: 2006/01/17 15:33:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. A patch with nothing to do with tilepath made a global function with the same name as a static func in tilepath (and used different arguments).
----------------------------
revision 1.1107
date: 2006/01/17 15:31:52;  author: pfaedit;  state: Exp;  lines: +3 -3
My horizontal line metrics (in the eblc strike header) aren't consistent with my per-glyph metrics.
----------------------------
revision 1.1106
date: 2006/01/16 05:47:33;  author: pfaedit;  state: Exp;  lines: +2 -2
read utf7 strings from sfd files was broken if one of the characters had bit 15 (high bit) set and its position mod 3 was 1.
----------------------------
revision 1.1105
date: 2006/01/16 04:16:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the Import() scripting command handle compressed bdf/pcf fonts too.
----------------------------
revision 1.1104
date: 2006/01/16 01:42:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Damn. The patch to merge comments into one property broke the 'BDF ' sfnt table.
----------------------------
revision 1.1103
date: 2006/01/15 06:16:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Change AddExtrema (again) so that if an extremum is very close to an old point it will add the extremum and then remove the old point.
----------------------------
revision 1.1102
date: 2006/01/15 04:27:28;  author: pfaedit;  state: Exp;  lines: +2 -2
The arrow keys should now work like the arrow buttons in the bdf properties dlg.
----------------------------
revision 1.1101
date: 2006/01/14 23:48:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a dlg to give user control over bdf properties.
----------------------------
revision 1.1100
date: 2006/01/13 23:08:15;  author: pfaedit;  state: Exp;  lines: +2 -2
If a strike in an sfnt has a BDF FONT_ASCENT property then use that info to set the font's ascent.
----------------------------
revision 1.1099
date: 2006/01/13 23:06:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Ted Packard points out that I output "big metrics" in sfnts inconsistently. This patch should make them consistent and right.
----------------------------
revision 1.1098
date: 2006/01/12 18:35:14;  author: pfaedit;  state: Exp;  lines: +2 -2
More on FULL_NAME -> FACE_NAME
----------------------------
revision 1.1097
date: 2006/01/12 18:30:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up BDF properties a bit.
I read the XLFD spec. So mark as unsigned those properties which X says are unsigned.
QUAD_SPACE has been depreciated, so don't generate it. UNDERLINE_* should be in pixel units. ITALIC_ANGLE is quite unexpectedly defined. FULL_NAME has been renamed to FACE_NAME...
----------------------------
revision 1.1096
date: 2006/01/11 19:07:24;  author: pfaedit;  state: Exp;  lines: +3 -3
The CHARSET_ENCODING often contained a leading "-" when generating bdf fonts with iso8859 encodings. It shouldn't have.
Also note that we need to change bdf properties when the user changes the encoding or the fontname.
----------------------------
revision 1.1095
date: 2006/01/10 12:51:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Adding unencoded slots to a compact encoding would not add them to the normal enc and would cause problems later. Simply turn this off if we are compacted.
----------------------------
revision 1.1094
date: 2006/01/10 02:05:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Remove compaction if we reencode.
----------------------------
revision 1.1093
date: 2006/01/10 01:23:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Restore "compact" views to their old glory. I think they are much easier to handle now (unless I'm missing something).
----------------------------
revision 1.1092
date: 2006/01/08 22:51:37;  author: pfaedit;  state: Exp;  lines: +2 -2
When reading a GenTags: line from an sfd file stored with CRLF line terminators, the next line would be lost.
----------------------------
revision 1.1091
date: 2006/01/08 22:23:16;  author: pfaedit;  state: Exp;  lines: +2 -2
ff couldn't handle xrefs which were broken in bits? Linearized pdf? something like that.
----------------------------
revision 1.1090
date: 2006/01/08 21:37:37;  author: pfaedit;  state: Exp;  lines: +2 -2
When reading a ttf font from a pdf file we found no encoding info. This caused us to crash because various routines expected an encoding map. Add a dummy (Original) map if not exists.
----------------------------
revision 1.1089
date: 2006/01/08 21:07:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Wasn't numbering points in references properly. Shouldn't matter much, but it screwed up test119.pe
----------------------------
revision 1.1088
date: 2006/01/08 15:02:31;  author: pfaedit;  state: Exp;  lines: +3 -3
The "dontinterpolate" patch didn't work because ttf generation turned it off.
----------------------------
revision 1.1087
date: 2006/01/06 02:05:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Gleep! Ever since the gettext code went in, the Generate fonts dlg has refused to generate "No Outline Font" and "No Bitmap Font".
----------------------------
revision 1.1086
date: 2006/01/06 01:28:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Herbert Duerr from OpenOffice tells me that their OpenSymbol.ttf font when produced by fontforge does not work on Win98. This is because Win98 doesn't like the codepages bits ff produces and refuses to use any glyphs in the font. He submitted a patch to make ff produce a version 0 OS/2 table (with no codepage info) for this font. Win98 will accept it then. His patch was against an earlier version of ff and needed to be modified for the current version.
----------------------------
revision 1.1085
date: 2006/01/04 20:41:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Raph Levien which finally shows me how to use FT_Outline_Get_Bitmap properly.
----------------------------
revision 1.1084
date: 2006/01/02 01:38:27;  author: pfaedit;  state: Exp;  lines: +2 -2
If the user has never called PrintSetup (or if the user has not called PrintSetup this session and has not loaded prefs), then fontforge will invode setpagedevice on a pagesize which will fit on either A4 or US-Letter. The PS manual says a printer should refuse such a size unless it has paper within 5 points of it. So on printers which follow the spec (not mine) nothing will print as it waits for paper.

Now if the pagesize has not been set, don't specify a PageSize to setpagedevice.
----------------------------
revision 1.1083
date: 2006/01/02 01:34:06;  author: pfaedit;  state: Exp;  lines: +2 -2
The PrintSetup scripting command should not require a font.
----------------------------
revision 1.1082
date: 2006/01/01 20:51:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a mechanism so that users can prevent ff from making a point implicit. Useful in that point needs to be instructed.
----------------------------
revision 1.1081
date: 2006/01/01 14:48:59;  author: pfaedit;  state: Exp;  lines: +3 -3
New copyright notices for 2006
----------------------------
revision 1.1080
date: 2006/01/01 04:55:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the pen tool work better with quadratic splines (make it default to having control points which cause the point to be implicit).
----------------------------
revision 1.1079
date: 2006/01/01 04:25:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Quadratic elipses still aren't quite right.
----------------------------
revision 1.1078
date: 2006/01/01 03:36:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Order2 elipses were not drawn accurately.
----------------------------
revision 1.1077
date: 2006/01/01 03:13:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Point numbers sometimes didn't get properly renumbered after changes. If we have references & splines in a (truetype) glyph then show the numbers as "?".
----------------------------
revision 1.1076
date: 2006/01/01 02:38:34;  author: pfaedit;  state: Exp;  lines: +2 -2
When a charview displays numbered (truetype) points, then it shows all the control points. But the control points are selectable. This is not a good thing, so make them selectable.
----------------------------
revision 1.1075
date: 2005/12/31 21:17:37;  author: pfaedit;  state: Exp;  lines: +2 -2
 The font display to pdf did not include a title at the top of each page.
----------------------------
revision 1.1074
date: 2005/12/31 21:15:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Peter Denisevich points out that when we print something we say "%%Pages atend" instead of "%%Pages (atend)". And the latter is correct.
----------------------------
revision 1.1073
date: 2005/12/31 20:40:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that my type1 (and type1 cid) fonts contain a %%DocumentSuppliedResource line, and they should not. The next level up should do that when it includes the font.
----------------------------
revision 1.1072
date: 2005/12/30 20:36:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, missed a spot.
----------------------------
revision 1.1071
date: 2005/12/30 20:35:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Show .xpm files as images we support in import image dlg. We've always supported them, might as well show them.
----------------------------
revision 1.1070
date: 2005/12/29 14:19:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Check the glyph class when deciding what anchor to use.
----------------------------
revision 1.1069
date: 2005/12/28 21:17:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Anshuman Pandey wants to be able to set the glyph's GDEF class. I've never understood why the default behavior wasn't good enough, but it's easy to do.
----------------------------
revision 1.1068
date: 2005/12/28 21:02:25;  author: pfaedit;  state: Exp;  lines: +2 -2
One of the fields in Glyph Info had some garbage initialization.
----------------------------
revision 1.1067
date: 2005/12/28 20:58:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a default anchor point type to the AddAnchorPoint scripting command. FF will try to guess an appropriate value.
----------------------------
revision 1.1066
date: 2005/12/26 22:47:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some standard window sizes to the fontview window. I'm tired of having the windows sized to other people's standards whenever I review a bug.
----------------------------
revision 1.1065
date: 2005/12/26 04:59:21;  author: pfaedit;  state: Exp;  lines: +2 -2
There was a path through expand stroke where a control point was marked as non-existant by mistake.
----------------------------
revision 1.1064
date: 2005/12/26 03:49:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Expand Stroke would leave contours with the reversed orientation if it had to do a remove overlap internally.
----------------------------
revision 1.1063
date: 2005/12/25 19:44:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. The routine to save the encoding prefs file could not handle an encoding plug-in.
----------------------------
revision 1.1062
date: 2005/12/25 19:32:57;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU points out that the origin pulldown list in the transform dlg was not being translated.
----------------------------
revision 1.1061
date: 2005/12/23 21:29:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou points out that there are still a few vestigates of Latin1 in comments,
and (sort of) in the language strings for the print command. Turn all of these into utf8.
----------------------------
revision 1.1060
date: 2005/12/22 04:47:24;  author: pfaedit;  state: Exp;  lines: +2 -2
In the preference dlg all of the [...] file browsers had the title "Call Script" which isn't appropriate for most of them.
----------------------------
revision 1.1059
date: 2005/12/22 04:45:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Typing .* and pressing [Filter] did not show hidden files in the file chooser.
----------------------------
revision 1.1058
date: 2005/12/21 20:34:07;  author: pfaedit;  state: Exp;  lines: +2 -2
the code to check for intersections failed to check if there were a crossover in the last tiny section of a spline before its end.
----------------------------
revision 1.1057
date: 2005/12/21 19:08:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Was generating ofm files when creating bdf fonts. Seems unnecessary.
----------------------------
revision 1.1056
date: 2005/12/21 18:59:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Grr. I was generating vertical metrics info for bdf fonts even if they had no vertical metrics. (recent bug).
----------------------------
revision 1.1055
date: 2005/12/21 18:45:47;  author: pfaedit;  state: Exp;  lines: +2 -2
the freetype bdf parser concatenates all BDF COMMENTS into one long string (separated by newlines). Be prepared to read such a string out of an sfnt BDF table.
----------------------------
revision 1.1054
date: 2005/12/21 18:43:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Was producing a EBLC table with bad first/last values for first glyphs.
----------------------------
revision 1.1053
date: 2005/12/15 05:47:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. Not all systems have tzset. Add a configuration option for it.
----------------------------
revision 1.1052
date: 2005/12/15 04:44:20;  author: pfaedit;  state: Exp;  lines: +2 -2
I had a declaration in the middle of executable code. Idiot.
----------------------------
revision 1.1051
date: 2005/12/15 04:27:31;  author: pfaedit;  state: Exp;  lines: +2 -2
In scripting, a return within a loop sent ff into an infinite loop.
----------------------------
revision 1.1050
date: 2005/12/14 22:12:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou's patch for adding a new flag to scripting Import, to clear out the layer first.
----------------------------
revision 1.1049
date: 2005/12/14 21:29:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from KANOU to add SetGlyphChanged scripting function.
----------------------------
revision 1.1048
date: 2005/12/14 19:34:58;  author: pfaedit;  state: Exp;  lines: +2 -2
If an implied point became real, this fact was not reflected on the display until the user forced a point renumbering.
----------------------------
revision 1.1047
date: 2005/12/14 18:26:06;  author: pfaedit;  state: Exp;  lines: +3 -3
A mouse click in an empty metrics view references garbage memory -- And crashed Kanou's session.
----------------------------
revision 1.1046
date: 2005/12/14 04:55:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Retain BDF properties read from BDF/PCF fonts. Design a BDF table for sfnt fonts so we can do round trip transformation of BDF->otb->BDF fonts.
----------------------------
revision 1.1045
date: 2005/12/14 02:38:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Loading a large bitmap font left bits of the backmap of the encoding map uninitialized.
----------------------------
revision 1.1044
date: 2005/12/12 23:07:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Loading a pcf font caused a crash.
----------------------------
revision 1.1043
date: 2005/12/12 22:50:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Moving the control points of an implied point should move the implied point. And we should indicate which points are implied so this behavior doesn't surprise.
----------------------------
revision 1.1042
date: 2005/12/12 22:19:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Nowakowski points out that renumbering points in a glyph should turn off point matching in references.
----------------------------
revision 1.1041
date: 2005/12/12 21:25:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for bitmaps with vertical metrics.
----------------------------
revision 1.1040
date: 2005/12/12 03:14:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Wasn't storing the vendor id in the OS/2 table properly.
----------------------------
revision 1.1039
date: 2005/12/12 03:04:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Rounding error present on PPC which was absent on *86 machines.
----------------------------
revision 1.1038
date: 2005/12/09 21:30:23;  author: pfaedit;  state: Exp;  lines: +2 -2
This fails for B in Vera.ttf
----------------------------
revision 1.1037
date: 2005/12/09 21:28:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Another attempt to position the debugging bitmap properly.
----------------------------
revision 1.1036
date: 2005/12/09 01:18:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner would like pixel size info to show on the title of a charview when debugging.
----------------------------
revision 1.1035
date: 2005/12/08 16:07:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Add code to give user the ability to change the cps rather than the point itself to acheive an omitable point. But I don't like the results, so I shan't expose the code just now.
----------------------------
revision 1.1034
date: 2005/12/08 15:21:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new command "Point->Center between CPs", primarily for truetype, to make an on-curve point be excludable.
----------------------------
revision 1.1033
date: 2005/12/08 05:11:22;  author: pfaedit;  state: Exp;  lines: +3 -3
When navigating menus with keys (rather than mouse) pressing Enter on a menu with nothing selected in the menu caused a reference to garbage memory -- usually a crash.
----------------------------
revision 1.1032
date: 2005/12/05 20:13:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Was walking off the end of an external array. This often went unnoticed depending on how memory was laid out. Sometimes it crashed.
----------------------------
revision 1.1031
date: 2005/12/05 00:39:06;  author: pfaedit;  state: Exp;  lines: +3 -3
/* Jonathyn Bet'nct points out that once you edit in an outline window, even */
/*  if by mistake, your onlybitmaps status is gone for good */
/* Regenerate it when reading an sfd file if the font has no splines, refs, etc. */
----------------------------
revision 1.1030
date: 2005/12/02 20:50:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Forgot that I had changed the name of the error routine in scripting.
----------------------------
revision 1.1029
date: 2005/12/02 01:02:22;  author: pfaedit;  state: Exp;  lines: +2 -2
utf8_valid doesn't handle NULL strings.
----------------------------
revision 1.1028
date: 2005/12/02 00:11:01;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.1027
date: 2005/12/01 23:23:01;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.1026
date: 2005/12/01 23:15:35;  author: pfaedit;  state: Exp;  lines: +3 -3
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).
----------------------------
revision 1.1025
date: 2005/11/21 04:13:40;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.1024
date: 2005/11/18 22:42:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Switch from using an internal routine to using freetype to rasterize b&w bitmaps when debugging ttf instructions.
----------------------------
revision 1.1023
date: 2005/11/16 22:17:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the gridfit/debug settings sticky across invocations (store in prefs).
----------------------------
revision 1.1022
date: 2005/11/16 21:48:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Add popup info showing the level of greyness in a truetype font being debugged in anti-alias mode.
----------------------------
revision 1.1021
date: 2005/11/16 21:18:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner suggests altering the dynamic range of anti-aliased rasters in the charview so that the outlines remain visible behind them.
----------------------------
revision 1.1020
date: 2005/11/16 20:53:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the background color of the debugger raster window configurable by the user.
----------------------------
revision 1.1019
date: 2005/11/16 01:13:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Slight improvement to previous patch. Corner points should still be free to change direction if they have no cp.
----------------------------
revision 1.1018
date: 2005/11/16 01:09:29;  author: pfaedit;  state: Exp;  lines: +3 -3
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).
----------------------------
revision 1.1017
date: 2005/11/14 04:16:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Use a better algorithm to indicate changed pixels.
----------------------------
revision 1.1016
date: 2005/11/14 04:08:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Screwed up View->Show Grid Fit... in Mono mode.
----------------------------
revision 1.1015
date: 2005/11/14 03:54:47;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.1014
date: 2005/11/13 22:02:01;  author: pfaedit;  state: Exp;  lines: +2 -2
We also can't (meaningfully) add instructions if references have been scaled by more than 200%
----------------------------
revision 1.1013
date: 2005/11/13 14:14:41;  author: pfaedit;  state: Exp;  lines: +3 -3
We were getting multiple error windows.
----------------------------
revision 1.1012
date: 2005/11/12 14:48:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Don't allow users to add instructions to a glyph containing both a reference and contours.
----------------------------
revision 1.1011
date: 2005/11/12 02:34:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in remove overlap caused bad bug in feta26.
----------------------------
revision 1.1010
date: 2005/11/11 21:04:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Further work on what makes a spline linear.
----------------------------
revision 1.1009
date: 2005/11/11 03:20:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Add a #include. And fix up scripting so it knows about one of the commands I added.
----------------------------
revision 1.1008
date: 2005/11/09 20:11:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Further tweaks to the simplify patch.
----------------------------
revision 1.1007
date: 2005/11/08 23:03:54;  author: pfaedit;  state: Exp;  lines: +3 -3
The utf7 output routine in sfd did not convert from utf8 properly.
There were some underscores in the ttf names list of font info that should not have been there.
----------------------------
revision 1.1006
date: 2005/11/08 06:21:39;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.1005
date: 2005/11/08 05:29:25;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.1004
date: 2005/11/08 04:44:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov has found yet another error in simplify. Be really exuberant about turning splines that trace out lines into lines.
----------------------------
revision 1.1003
date: 2005/11/07 21:26:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. the changedsincelasthinted flag doesn't apply to truetype. The equivalent thing (I guess) is not having any instructions on a glyph with splines.
----------------------------
revision 1.1002
date: 2005/11/07 21:18:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Still some places in menus where the lines are marked as selected
----------------------------
revision 1.1001
date: 2005/11/04 21:53:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov wants a way to build up arrays using easier syntax than: create array, assign each element.
----------------------------
revision 1.1000
date: 2005/11/04 04:44:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Sometimes we would get both an EUC-CN and a GB2312packed entry in the Encoding menu.
----------------------------
revision 1.999
date: 2005/11/04 03:56:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the cmap and name tables pretend that GB12345 is GB2312.
----------------------------
revision 1.998
date: 2005/11/04 03:31:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support (needs to be configured though) for GB12345
----------------------------
revision 1.997
date: 2005/11/01 04:27:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov wants the offset cut off to be smaller.
----------------------------
revision 1.996
date: 2005/10/28 22:37:01;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.995
date: 2005/10/28 13:02:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Didn't terminate an array of answer strings to a question dialog.
Fixed a crash in stem database.
----------------------------
revision 1.994
date: 2005/10/25 21:15:12;  author: pfaedit;  state: Exp;  lines: +3 -3
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. Stupid. So force the width of any zero width glyphs to be the smallest positive width.
----------------------------
revision 1.993
date: 2005/10/24 21:37:48;  author: pfaedit;  state: Exp;  lines: +2 -2
FF gave alternate substitutions (and multiple subs?) a tag of 0.
----------------------------
revision 1.992
date: 2005/10/24 20:55:06;  author: pfaedit;  state: Exp;  lines: +2 -2
The ClearTable scripting command parsed the table's tag incorrectly.
----------------------------
revision 1.991
date: 2005/10/24 15:54:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Add two scripting routines to allow people to read & write strings from and to files. One string per file.
----------------------------
revision 1.990
date: 2005/10/24 15:14:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Grr. Another typo in ofm generation.
----------------------------
revision 1.989
date: 2005/10/24 14:24:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone wanted longer strings in scripts. So raise the limit to 256 bytes from 100.
----------------------------
revision 1.988
date: 2005/10/23 21:34:41;  author: pfaedit;  state: Exp;  lines: +3 -3
David Binderman points out an out of bounds array reference in cvexport which has been there for years. Gleep.
----------------------------
revision 1.987
date: 2005/10/21 23:09:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Add scripting commands for manipulating ttf instructions.
----------------------------
revision 1.986
date: 2005/10/21 03:22:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Daniel Gillmor points out there is no way to set the OS/2 Width field from a script. He then provides a script which does this. I realize there is no way to set any of the OS/2 values (except panose) or the PS private dictionary, and there should be (and to retrieve them too).

the following new scripting functions:
        SetOS2Value("item-name", value)
        GetOS2Value("item-name")
        SetPrivateValue("item-key","item-value")
        GetPrivateValue("item-key")
        HasPrivateValue("item-key")
        RemovePrivateValue("item-key")

SetPrivateValue
        Changes (or Adds) an entry to the font's private dictionary with
        the given key and given value. Both must be strings. The key may
        be anything, it is not limited to any set of expected keys.
GetPrivateValue
        Returns the string in the private dictionary which matches the
        given key. If the key isn't in the dictionary it explodes.
HasPrivateValue
        Returns whether a key is in the dictionary
RemovePrivateValue
        Removes a key (and associated value) from the dictionary.
        Returns whether the key was in the dictionary (this is not a
        typo).
SetOS2Value
        The first argument must be one of the following strings. The
        second argument is usually an integer, but VendorId takes a (4
        character) string, and panose takes a 10 element integer array.
        Weight, Width, FSType, IBMFamily, VendorID, Panose,
        WinAscent, WinAscentIsOffset
                These are equivalent to the WinAscent field & []Offset
                check box in Font Info->OS/2->Misc. Where
                WinAscentOffset controls whether WinAscent is treated as
                an absolute number or as relative to the expected
                number.
        WinDescent, WinDescentIsOffset,
        TypoAscent, TypoAscentIsOffset,
        TypoDescent, TypoDescentIsOffset,
        HHeadAscent, HHeadAscentIsOffset,
        HHeadDescent, HHeadDescentIsOffset,
        TypoLineGap, HHeadLineGap, VHeadLineGap,
        SubXSize, SubYSize, SubXOffset, SubYOffset,
                Sets the Subscript x/y sizes/offsets
        SupXSize, SupYSize, SupXOffset, SupYOffset,
                Sets the Superscript x/y sizes/offsets
        StrikeOutSize, StrikeOutPos
GetOS2Value
        The argument takes the same set of tag strings. VendorId returns
        a string, and Panose returns an array. The others return
        integers.
----------------------------
revision 1.985
date: 2005/10/20 15:31:10;  author: pfaedit;  state: Exp;  lines: +2 -2
And the popup menu in the bitmap view has underscores where it should not.
----------------------------
revision 1.984
date: 2005/10/20 13:32:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops problems with popup menus in font & outline views.
----------------------------
revision 1.983
date: 2005/10/18 21:45:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Ofm files with a glyph with more than 128 kerns didn't work.
----------------------------
revision 1.982
date: 2005/10/18 14:58:33;  author: pfaedit;  state: Exp;  lines: +3 -3
When outputting mark-to-base lookups with multiple anchor classes, ff would put a base glyph in the coverage table several times if it was used by several mark classes. Bad.
----------------------------
revision 1.981
date: 2005/10/18 04:46:18;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that I was using too strict a rule for parsing svg polygons.
----------------------------
revision 1.980
date: 2005/10/18 04:24:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Back before LogError, I printed everything to stderr, and strings needed to be converted to the default (output) encoding. No I use LogError and strings need to be utf8. I didn't think of this (most strings passed to LogError were ASCII). But Panov found a crash with KOI8-R.
----------------------------
revision 1.979
date: 2005/10/17 23:34:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh. It looks as though ofm files don't actually use the font direction field. All files I've looked at have this set to 0 (Top to bottom, Left to Right) even the arabic only ones.
----------------------------
revision 1.978
date: 2005/10/17 23:27:57;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU points out that gettext only works for me if it outputs a UTF-8 encoding. I think calling bind-textdomain-codeset does that for me.
----------------------------
revision 1.977
date: 2005/10/17 04:51:36;  author: pfaedit;  state: Exp;  lines: +1 -1
We weren't passing -lintl to sfddiff.
----------------------------
revision 1.976
date: 2005/10/17 04:42:12;  author: pfaedit;  state: Exp;  lines: +1 -1
On the mac we need a special -I entry to find libintl.h (it's in /sw/include) but we can't use CFLAGS for splinerefigure (lest we turn on the optimizer), so we have to compile it with CPPFLAGS. Which we weren't doing.
----------------------------
revision 1.975
date: 2005/10/17 04:35:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Lost a declaration we need on the mac in the window menu builder.
----------------------------
revision 1.974
date: 2005/10/17 01:59:56;  author: pfaedit;  state: Exp;  lines: +2 -2
I think I know what values to use for font_direction in an ofm file. I shall only worry about l2r & r2l.
----------------------------
revision 1.973
date: 2005/10/16 18:22:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Add default 'nukt' "ligature" substitutions to appropriate Devanagari characters.
----------------------------
revision 1.972
date: 2005/10/16 17:59:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo.
----------------------------
revision 1.971
date: 2005/10/16 15:47:44;  author: pfaedit;  state: Exp;  lines: +2 -2
FontInfo had some display problems.
----------------------------
revision 1.970
date: 2005/10/16 15:33:09;  author: pfaedit;  state: Exp;  lines: +3 -3
More tweaks to ofm files, but ofm2opl still crashes on our attempts.
----------------------------
revision 1.969
date: 2005/10/16 02:47:44;  author: pfaedit;  state: Exp;  lines: +2 -2
No labels in maxp dlg.
----------------------------
revision 1.968
date: 2005/10/15 18:23:04;  author: pfaedit;  state: Exp;  lines: +3 -3
The ignore marks patch of 8 Oct (which relied on widthset rather than width!=1em) broke bitmap output. Bitmap input (from win & palm fonts) didn't set widthset when it should, and bitmap editing didn't set it either.
----------------------------
revision 1.967
date: 2005/10/15 04:14:32;  author: pfaedit;  state: Exp;  lines: +3 -3
The ofm patch broke tfm output.
Ofm files didn't contain ligatures.
----------------------------
revision 1.966
date: 2005/10/14 22:14:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Change fontforge to use GNU gettext rather than my own nomen services (for translations).
----------------------------
revision 1.965
date: 2005/10/13 00:36:43;  author: pfaedit;  state: Exp;  lines: +2 -2
branches:  1.965.2;
Forgot about scripting access to ofm files.
----------------------------
revision 1.964
date: 2005/10/13 00:27:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for generating ofm files. I hope.
----------------------------
revision 1.963
date: 2005/10/11 20:08:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Entry for the warnings window is dimmed even if window is invisible.
----------------------------
revision 1.962
date: 2005/10/10 20:45:19;  author: pfaedit;  state: Exp;  lines: +3 -3
If I tried to generate a font from an absolutely empty fontdb (ie. a new one) then I'd get a stupid error about how .notdef was at encoding -1 and this was a bad idea.
----------------------------
revision 1.961
date: 2005/10/09 14:26:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Add 4 new information types to scripting GlyphInfo
  * LayerCount
	Number of layers in glyph (usually 2)
  * RefCount
	Number of refs in glyph
  * RefNames
	Returns an array of all reference names (may be 0 length)
  * RefTransform
	Returns an array of all reference transforms
----------------------------
revision 1.960
date: 2005/10/09 05:37:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't mark glyphs with widths other than 1em as being worth outputting (require widthset). Used to use both (because in the early days, before pfaedit moved to sourceforge even, the widthset bit didn't exist). Now there are too many cases where glyphs are created with a width other than 1em (marks, glyphs in monospace fonts (where the space is anything but 1em)).
----------------------------
revision 1.959
date: 2005/10/09 04:59:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The create monospace glyph patch was wrong.
----------------------------
revision 1.958
date: 2005/10/08 00:44:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Ok. Now we can parse simple pdf type3 fonts (ie. the kind we generate, no text, no images).
----------------------------
revision 1.957
date: 2005/10/08 00:41:44;  author: pfaedit;  state: Exp;  lines: +2 -2
When printing a type3 pdf font, give it a name. Not required, but so what.
----------------------------
revision 1.956
date: 2005/10/07 21:25:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Michal Nowakowski. When editing truetype instructions using my prefix notation for numbers, there was a crash if a number needed a word (rather than a byte).
----------------------------
revision 1.955
date: 2005/10/07 03:02:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some support for reading fonts out of a pdf file.
	* No support for pdf type3
	* Only support (Hex, 85, Flate, RLE)Decode filters
		(no support for lzw, fax, JBIG, DCT)
----------------------------
revision 1.954
date: 2005/10/05 22:24:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I turned "is_type2" on in the wrong place. So my previous patch for reading bad type2 fonts with othersubr calls didn't work.
----------------------------
revision 1.953
date: 2005/10/05 21:41:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Fixup a couple of other likely memory leaks caused by using SplinePointListFree rather than using SplinePointListsFree.
----------------------------
revision 1.952
date: 2005/10/05 20:24:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The routine to build the stem database would set up a point database and then call a routine to convert all splines into a set of monotonics. But that routine could remove 0 length splines (and the points attached), which would mean our point db would be wrong.
----------------------------
revision 1.951
date: 2005/10/05 19:01:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Stefan Wanger suggests some patches to fix memory leaks. Most were correct, if a bit verbose. Some of the leaks fixed will never happen in a real font though.
----------------------------
revision 1.950
date: 2005/10/05 18:24:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Stefan Wanger gave me a type2 font which used type1 flex conventions (calling othersubrs, etc.) There is no othersubrs operator in type2, nor any place to store othersubrs subroutines. But it is easy enough to support, so why not. Warn that it's an illegal font, of course.
----------------------------
revision 1.949
date: 2005/10/05 18:20:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Stefan Wanger gave me a font containing the utf8 byte order mark in a fontname (in a CFF Name Index). PostScript says FontNames are printable ASCII. But it's easy enough to skip over it.
----------------------------
revision 1.948
date: 2005/10/05 12:55:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Stefan Wanger points out a memory leak in reading flex subroutines from a type1 font.
----------------------------
revision 1.947
date: 2005/10/02 23:24:59;  author: pfaedit;  state: Exp;  lines: +2 -2
I'm a twit. In a monospace font ALL glyphs should default to the mono-width. The previous patch only worked on marks, extend it for everything.
----------------------------
revision 1.946
date: 2005/10/02 23:18:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Stepan Roh points out that in a monospace font, combining glyphs should default to the mono-width while in a proportional font they should default to 0 width (or perhaps 1 em-unit for compatability with old idiotic windows systems). Use the panose field to determine if a font is monospace.
----------------------------
revision 1.945
date: 2005/10/02 22:49:05;  author: pfaedit;  state: Exp;  lines: +2 -2
New dialog: Hints->Edit 'maxp'...
Gives user access to number of functions defined, the
stack depth, storage usage, number of twilight points, which ff can't
figure out for you.
----------------------------
revision 1.944
date: 2005/10/02 15:31:35;  author: pfaedit;  state: Exp;  lines: +3 -3
For no reason I can think of this patch seems to make transparent images work on cygwin.
----------------------------
revision 1.943
date: 2005/09/30 13:23:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Nowakowski points out that negative values are duplicated in cvt.
----------------------------
revision 1.942
date: 2005/09/30 13:20:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from Michal Nowakowski fixing crash when setting size of cvt table to 0.
----------------------------
revision 1.941
date: 2005/09/30 01:42:20;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.940
date: 2005/09/30 01:07:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Disable "Private to cvt" if the font has no private dict.
----------------------------
revision 1.939
date: 2005/09/30 01:00:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a menu command to add values from the private dict into the cvt table (BlueValues, StemSnaps).
----------------------------
revision 1.938
date: 2005/09/30 00:31:23;  author: pfaedit;  state: Exp;  lines: +2 -2
The Edit cvt window usually failed to draw anything in itself when it popped up (subsequent refreshes were ok).
----------------------------
revision 1.937
date: 2005/09/29 22:44:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Michal Nowakowski to improve memory usage in auto instr.
----------------------------
revision 1.936
date: 2005/09/29 22:41:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Printing sample text was broken in fonts with no kerning classes.
----------------------------
revision 1.935
date: 2005/09/29 22:21:58;  author: pfaedit;  state: Exp;  lines: +3 -3
cygwin does very weird things with shared libaries, and we didn't support them at all.
----------------------------
revision 1.934
date: 2005/09/27 21:37:32;  author: pfaedit;  state: Exp;  lines: +3 -3
FontForge did not support the depreciated usage of endchar to mean (almost) seac in type2 charstrings. It should now.
----------------------------
revision 1.933
date: 2005/09/26 19:45:05;  author: pfaedit;  state: Exp;  lines: +3 -3
os2 typo linegap was not read out of sfd files.
----------------------------
revision 1.932
date: 2005/09/25 18:45:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Notice 'gai' files in the open dlg.
----------------------------
revision 1.931
date: 2005/09/25 04:52:11;  author: pfaedit;  state: Exp;  lines: +3 -3
I got some mnemonics wrong. Fix 'em up.
----------------------------
revision 1.930
date: 2005/09/23 00:34:11;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.929
date: 2005/09/23 00:24:21;  author: pfaedit;  state: Exp;  lines: +2 -2
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 "-*".
----------------------------
revision 1.928
date: 2005/09/22 16:35:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Support point numbering of composites even when not debugging.
----------------------------
revision 1.927
date: 2005/09/22 15:07:29;  author: pfaedit;  state: Exp;  lines: +3 -3
 Michal Nowakowski points out that the cvt editor crashed if we changed the length of the table.
----------------------------
revision 1.926
date: 2005/09/22 03:37:57;  author: pfaedit;  state: Exp;  lines: +2 -2
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).
----------------------------
revision 1.925
date: 2005/09/21 19:39:07;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.924
date: 2005/09/21 00:23:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov points out that most entries in the private dict should be scaled when we do a ScaleToEm.
----------------------------
revision 1.923
date: 2005/09/20 21:03:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple of problems with cid font display that "gai" fonts expose.
----------------------------
revision 1.922
date: 2005/09/20 15:39:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Michal Nowakowski points out that I generated truetype instructions --- and then forgot to attach them to the glyph. Whoops.
----------------------------
revision 1.921
date: 2005/09/20 14:03:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Loading extensible glyph information from a tfm file was broken by the encoding change.
----------------------------
revision 1.920
date: 2005/09/19 19:31:26;  author: pfaedit;  state: Exp;  lines: +2 -2
ff didn't read mac classes properly (it read one more element than it should have).
----------------------------
revision 1.919
date: 2005/09/19 15:17:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up svg output for a kerning class with no members.
----------------------------
revision 1.918
date: 2005/09/19 14:59:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Out of bounds array reference in OS2FigureCodePages caused a crash on the mac.
----------------------------
revision 1.917
date: 2005/09/19 14:26:52;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.916
date: 2005/09/19 03:36:36;  author: pfaedit;  state: Exp;  lines: +2 -2
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).
----------------------------
revision 1.915
date: 2005/09/19 03:09:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for truetype point matching in references and anchor points
----------------------------
revision 1.914
date: 2005/09/18 04:09:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Improve the heuristic that notices "code changes" to work better with composites.
----------------------------
revision 1.913
date: 2005/09/18 04:02:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Yesterday's fix for debugging composite characters was simplistic. It made three assumptions:
	1. All references had instructions
	2. The top level had no instructions
	3. No references were themselves composites.
This patch should fix these three problems.
----------------------------
revision 1.912
date: 2005/09/18 03:42:09;  author: pfaedit;  state: Exp;  lines: +2 -2
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.

(this doesn't improve behavior in the debugger where a restart eventually causes gdb to say "couldn't get registers" and stop.)
----------------------------
revision 1.911
date: 2005/09/18 02:37:48;  author: pfaedit;  state: Exp;  lines: +2 -2
We weren't numbering points in a composite. This was only obvious when we did a View->Show Grid Fit on a composite glyph.
----------------------------
revision 1.910
date: 2005/09/18 01:39:30;  author: pfaedit;  state: Exp;  lines: +3 -3
We were always setting _Round_to_Grid in ttf composite output.

Default new references so that round to grid is set.
----------------------------
revision 1.909
date: 2005/09/17 05:05:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When debugging a composite glyph, ff forgot that some references are translated (or scaled or rotated), and failed to display this.
----------------------------
revision 1.908
date: 2005/09/17 05:02:01;  author: pfaedit;  state: Exp;  lines: +2 -2
FF failed to keep track of the truetype "RoundToGrid" bit which applies to references.
----------------------------
revision 1.907
date: 2005/09/16 22:20:38;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.906
date: 2005/09/16 22:08:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Use to store debugging dpi/pointsize in the charview. Werner suggests that it be global (so different glyphs will all share the same defaults).
----------------------------
revision 1.905
date: 2005/09/16 21:25:59;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.904
date: 2005/09/15 16:54:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Can't use a subroutine to refer to a translated glyph which contains flex hints in type1 output.
----------------------------
revision 1.903
date: 2005/09/15 15:26:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Hide another problem with rounding errors in remove overlap.
----------------------------
revision 1.902
date: 2005/09/14 20:33:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't produce multiple warnings about the local encoding.
----------------------------
revision 1.901
date: 2005/09/14 19:34:24;  author: pfaedit;  state: Exp;  lines: +2 -2
In quadratic fonts the Remove Overlap menu item is disabled, but if you use the hotkey the command is invoked (with disasterous results).
----------------------------
revision 1.900
date: 2005/09/14 18:19:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in point info code to determine whether a hint mask contains conflicts (matched vertical hints against horizontal ons)
----------------------------
revision 1.899
date: 2005/09/12 14:21:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting command: DefaultUseMyMetrics() to set the bit appropriately in legacy fonts.
----------------------------
revision 1.898
date: 2005/09/12 01:04:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I added a "UseMyMetrics" checkbox, but I didn't ever use the result in get info.
----------------------------
revision 1.897
date: 2005/09/11 22:34:14;  author: pfaedit;  state: Exp;  lines: +2 -2
   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:
	1) It didn't take forward references into account, and would use
		the original width rather than the modified width of the
		reference.
	2) 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.
----------------------------
revision 1.896
date: 2005/09/11 21:31:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone handed me a test case where he copied some glyphs from one font, closed it, opened another, pasted. The result was that the from-sf and the to-sf were the same pointer, even though the from font was long closed.
----------------------------
revision 1.895
date: 2005/09/11 18:56:50;  author: pfaedit;  state: Exp;  lines: +3 -3
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
----------------------------
revision 1.894
date: 2005/09/10 03:44:19;  author: pfaedit;  state: Exp;  lines: +2 -2
The save fontdlg wasn't quite right (with respect to the new bitmap type: PS Type3).
----------------------------
revision 1.893
date: 2005/09/10 03:29:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Normal compilations broke, only multilayered ones worked.
----------------------------
revision 1.892
date: 2005/09/09 21:45:18;  author: pfaedit;  state: Exp;  lines: +2 -2
In order to prevent generating bdf fonts where we have multiple glyphs with the same name, lets do a simple check for possible duplicates in the font, and rename those glyphs.
----------------------------
revision 1.891
date: 2005/09/09 21:43:37;  author: pfaedit;  state: Exp;  lines: +2 -2
If we have a bdf font with two glyphs with the same name, then ff would crash.
----------------------------
revision 1.890
date: 2005/09/09 21:01:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Uninitialized variable in the code which figures out what to enable in the dependants submenu.
----------------------------
revision 1.889
date: 2005/09/09 20:53:52;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.888
date: 2005/09/09 18:58:21;  author: pfaedit;  state: Exp;  lines: +2 -2
MergeFonts copies SplineChar structures, and when I added the altuni structure I did not make the copy routine handle them. The result was that two splinechars had the same altuni list and if one were freed... bad things happened.
(this crashed lilypond).
----------------------------
revision 1.887
date: 2005/09/09 18:26:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Couple of tweaks to the warning window.
----------------------------
revision 1.886
date: 2005/09/09 04:21:49;  author: pfaedit;  state: Exp;  lines: +2 -2
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.)
----------------------------
revision 1.885
date: 2005/09/08 22:02:10;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.884
date: 2005/09/06 15:24:44;  author: pfaedit;  state: Exp;  lines: +2 -2
ff could not handle an encoding specified as a simple array. (Not allowed in type1 spec, but obvious for a type3)
And ff's handling of any type3s was broken by the encoding patch.
----------------------------
revision 1.883
date: 2005/09/06 14:37:29;  author: pfaedit;  state: Exp;  lines: +3 -3
If a font contained fewer than 256 glyphs, then ff failed to load a format0 cmap subtable properly.
----------------------------
revision 1.882
date: 2005/09/04 22:35:05;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.881
date: 2005/09/04 00:12:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a bunch of uninitialized variables. Some real, some products of gcc's imagination.
----------------------------
revision 1.880
date: 2005/09/03 21:04:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some uninitialized values in fontview.
----------------------------
revision 1.879
date: 2005/09/03 20:54:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple of uninitialized variables.
----------------------------
revision 1.878
date: 2005/09/03 19:40:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Unternimated comment masked some code.
----------------------------
revision 1.877
date: 2005/09/02 19:58:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Scripting WorthOutputting command insisted on having an argument, even though it should have accepted no arguments.
----------------------------
revision 1.876
date: 2005/09/02 19:53:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Scripting SetCharCnt command has been broken since the encoding change.
----------------------------
revision 1.875
date: 2005/09/01 15:28:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a buffer overrun. I don't see how it could cause any problems, but it makes some people happier.
----------------------------
revision 1.874
date: 2005/08/31 17:55:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, fix a typo in problems.
----------------------------
revision 1.873
date: 2005/08/31 17:54:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. We were also using obsolete mac function calls inside the library (gdraw), so get rid of them, and while we're at it, use the mac headers directly instead of having our own copy of them.
----------------------------
revision 1.872
date: 2005/08/30 14:27:46;  author: pfaedit;  state: Exp;  lines: +3 -3
The concept of maintaining a "hidden" set of os2 metrics different from the one on display is a really bad one. People can't change them and rightly report that as a bug.
----------------------------
revision 1.871
date: 2005/08/29 20:47:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Importing an eps file (or the X clipboard) into a glyph made use of an uninitialzed variable.
----------------------------
revision 1.870
date: 2005/08/29 03:23:48;  author: pfaedit;  state: Exp;  lines: +3 -3
The "Original" encoding was broken, and reencoding to it gaves us 256 blank glyphs before glyph0. Sigh.
----------------------------
revision 1.869
date: 2005/08/27 14:17:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Cleanup pasting references from one font to another (gave some very strange results when pasting refs with no unicode encodings).
----------------------------
revision 1.868
date: 2005/08/27 03:49:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Do the same thing for create hint that we did for add hint.
----------------------------
revision 1.867
date: 2005/08/25 14:00:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Yesterday's patch to make mac resource files work without FSSpec failed when trying to create a file that already existed.
----------------------------
revision 1.866
date: 2005/08/25 04:34:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Recode the mac resource fork routines so that they no longer use the FSSpec structure. 10.4 complains about it.
----------------------------
revision 1.865
date: 2005/08/22 13:41:32;  author: pfaedit;  state: Exp;  lines: +3 -3
I broke sfddiff again.
----------------------------
revision 1.864
date: 2005/08/22 13:19:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Bug in mm font charstring generation.
----------------------------
revision 1.863
date: 2005/08/22 05:39:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix up old multiple master sfd files which didn't always set the orig_pos correctly.
----------------------------
revision 1.862
date: 2005/08/22 03:02:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Fixed an uninitialized variable in the new type1 reference code.
----------------------------
revision 1.861
date: 2005/08/22 03:00:26;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contained mac feature setting names, then when ff generated it, ff wou
ld produce duplicate entries in the 'name' table for these guys. One for the nam
e in the font itself, and one for the name ff thought that feature setting shoul
d have.
----------------------------
revision 1.860
date: 2005/08/21 16:34:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Nobody else puts apple unicode names into the 'name' table so I probably should not either. Adobe says one should not. Apple's website implies one should -- but Apple doesn't and it's ttf website is not very accurate.
----------------------------
revision 1.859
date: 2005/08/21 16:00:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a configure option to allow users to generate mac only fonts (those with version number 'true').
----------------------------
revision 1.858
date: 2005/08/20 20:34:15;  author: pfaedit;  state: Exp;  lines: +3 -3
When ff generated a ttf/otf font with applemode set and opentype off then the font would have version 'true'. Which means windows would reject it. That's probably not a good idea given that this situation is default on the mac -- even if we don't have a GSUB/GPOS table we should at least let the glyphs show on windows.
----------------------------
revision 1.857
date: 2005/08/19 19:52:54;  author: pfaedit;  state: Exp;  lines: +3 -3
ff couldn't undo changing the lig carets (if it weren't compiled for multilayer)
----------------------------
revision 1.856
date: 2005/08/19 04:18:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Copying a pairwise PST left memory in a bad state.
----------------------------
revision 1.855
date: 2005/08/17 21:43:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Alexej Kryukov suggests that instead of making a special case and coalescing all kern lookups into one, I have a more general check which merges any two lookups with the same (tag/sli/flags). The addition of sli means that the sub-tables will not be share with other lookups.
----------------------------
revision 1.854
date: 2005/08/17 20:12:38;  author: pfaedit;  state: Exp;  lines: +2 -2
When rasterizing a multilayer font we would sometimes get warnings from the stroker about how the stroke self-intersected. Get rid of those warnings.
----------------------------
revision 1.853
date: 2005/08/17 20:05:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Pasting from a multilayered font into a normal one:
  1) Crashed
  2) Only showed the last layer.
----------------------------
revision 1.852
date: 2005/08/17 19:56:39;  author: pfaedit;  state: Exp;  lines: +3 -3
If an order2 font were turned into a PS font, then characters with hint conflicts got no hints.
----------------------------
revision 1.851
date: 2005/08/17 02:16:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Makers of fonts on the mac often use out of bound GIDs as flags in contextual substitutions. What I have seen is that one sub-table will insert such a "glyph" when a match is found, and then the next sub table will remove the flag, and perform subsequent transformations. This is important on the mac because there is a limited number of substitutions that can happen once a match is found, but if a match is found at the start (ie. the match being some magic marker glyph) then unlimited substitutions are available.
When ff first stumbled on these fonts it crashed, then it treated a gid>glyph_cnt as an error (and so it ignored the substitution). I've just put in code that creates dummy glyphs for all these bizarre GIDs so (I hope) the font will work after passing through ff (only there will be some real blank glyphs at the end of the font rather than vaper ware glyphs).
----------------------------
revision 1.850
date: 2005/08/16 22:06:40;  author: pfaedit;  state: Exp;  lines: +2 -2
When I did the type1 rework I realized I missed some hints in the type2 rework. Get them in type2 now as well.
----------------------------
revision 1.849
date: 2005/08/16 22:04:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a routine which will allow autohinting of glyphs that only contain references, while leaving others untouched.
----------------------------
revision 1.848
date: 2005/08/16 15:18:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Improve subroutine usage in pfa/b fonts
Get hints right for referenced glyphs.
----------------------------
revision 1.847
date: 2005/08/16 15:02:15;  author: pfaedit;  state: Exp;  lines: +3 -3
When we read a pfb file, and seac-ed glyph will contain no hints. So we should mark it as in need of autohinting.
----------------------------
revision 1.846
date: 2005/08/15 14:03:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, forgot about CID otf.
----------------------------
revision 1.845
date: 2005/08/15 03:24:02;  author: pfaedit;  state: Exp;  lines: +2 -2
The Active Hints pane didn't always work if a glyph had more than one contour.
----------------------------
revision 1.844
date: 2005/08/15 03:19:24;  author: pfaedit;  state: Exp;  lines: +2 -2
The code still didn't do hint substitutions properly for references with hint subs which were output inline.
----------------------------
revision 1.843
date: 2005/08/14 20:55:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Be more canny in the use of subroutines in otf/cff. This patch reduced a cff font by 8% (for a large font with lots of references).
----------------------------
revision 1.842
date: 2005/08/14 20:42:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Only coalesce multiple subtables into one lookup of the feature is kern.
----------------------------
revision 1.841
date: 2005/08/14 20:37:41;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating nested contextual lookups, ff did not reset the lookup count to zero between gpos/gsub. So if there were contextuals in both gpos & gsub, ff got confused when doing gsub.
----------------------------
revision 1.840
date: 2005/08/14 20:21:14;  author: pfaedit;  state: Exp;  lines: +2 -2
ff would occasionally generate a format 4 cmap subtable which mapped glyph 0xffff to an encoding. This is an undocumented ability of the cmap table, so the encodings should work, but ff should not be generating them. This patch gets rid of them.
----------------------------
revision 1.839
date: 2005/08/14 19:54:57;  author: pfaedit;  state: Exp;  lines: +3 -3
When outputting a cff encoding (only important when generating a bare cff file) and there is a duplicate glyph reference in the first 256 chars of the encoding, then we would generate a bad encoding subtable.
----------------------------
revision 1.838
date: 2005/08/13 20:15:50;  author: pfaedit;  state: Exp;  lines: +3 -3
I find the prev control point hard to distinguish against the grey of a back ground image. Make it a bit darker.
----------------------------
revision 1.837
date: 2005/08/11 21:36:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Configure the mac so that the capslock key can be used instead of the alt key (of which there is none) to modify the behavior of various tools. The obvious thing to do would be to use Option or Command, but on most systems clicking the mouse with these down will produce mouse button 2 or 3.
----------------------------
revision 1.836
date: 2005/08/10 13:09:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Actually there is no reason for unencoded glyphs to get slots for their alterate encodings. There won't be any indication in the font that they are different.
----------------------------
revision 1.835
date: 2005/08/10 13:07:40;  author: pfaedit;  state: Exp;  lines: +2 -2
The big5 encoding stopped at 64000, which confused people who expected unencoded glyphs to start at 65536.
We would crash when reencoding a font with enough unencoded alternate unicode code points.
----------------------------
revision 1.834
date: 2005/08/10 13:04:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The code for creating an 8/16 cmap subtable didn't work.
----------------------------
revision 1.833
date: 2005/08/10 12:55:47;  author: pfaedit;  state: Exp;  lines: +2 -2
ff would crash if it had two windows open on the same font and one got reencoded.
----------------------------
revision 1.832
date: 2005/08/10 12:25:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Didn't set the length of the format4 'cmap' sub-table, so the offset to the form
at12 (32bit unicode) table was wrong.
----------------------------
revision 1.831
date: 2005/08/09 15:07:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, I need to set the xim bit for ttf name text fields.
----------------------------
revision 1.830
date: 2005/08/09 04:32:53;  author: pfaedit;  state: Exp;  lines: +2 -2
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. Not much use because we still need to figure out what's going on using a debugger, but it makes the users happy to know.
----------------------------
revision 1.829
date: 2005/08/09 03:59:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Uninitialized variable in metricsview when creating a popup window.
----------------------------
revision 1.828
date: 2005/08/08 21:43:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the ttfnames pane of the font info dlg. Now show the names as an editable list.
----------------------------
revision 1.827
date: 2005/08/07 21:53:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Histogram dlg still used wrong encodings for selected glyphs when historgrams invoked from Hints menu.
----------------------------
revision 1.826
date: 2005/08/07 21:32:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the font info dlg respond (a little) to a resize.
----------------------------
revision 1.825
date: 2005/08/07 16:49:26;  author: pfaedit;  state: Exp;  lines: +2 -2
SelectIf failed when passed an encoding which was out of bounds.
----------------------------
revision 1.824
date: 2005/08/07 16:40:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new scripting command: ToString
----------------------------
revision 1.823
date: 2005/08/07 15:25:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the X clipboard to paste a glyph into a glyph that contained stuff caused a crash.
----------------------------
revision 1.822
date: 2005/08/07 15:06:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Using the X clipboard to paste a glyph with references or with multilayer did not work.
----------------------------
revision 1.821
date: 2005/08/06 03:55:48;  author: pfaedit;  state: Exp;  lines: +2 -2
None of ttf, otf nor svg got multiply encoded glyphs output properly.
----------------------------
revision 1.820
date: 2005/08/06 03:49:15;  author: pfaedit;  state: Exp;  lines: +2 -2
FF screwed up memory when creating ligatures from an svg font.
----------------------------
revision 1.819
date: 2005/08/06 03:12:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Previous patch for altinate unicode was inelegant.
----------------------------
revision 1.818
date: 2005/08/06 03:07:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Preserve altinate unicode values for multiply encoded glyphs.
----------------------------
revision 1.817
date: 2005/08/05 22:43:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge fonts was writing to bad memory.
----------------------------
revision 1.816
date: 2005/08/05 20:42:41;  author: pfaedit;  state: Exp;  lines: +2 -2
sfddiff didn't link.
----------------------------
revision 1.815
date: 2005/08/05 20:33:35;  author: pfaedit;  state: Exp;  lines: +2 -2
FF was confused by an MM font which contained the lines:
/Registry [
	    /WeightVector
	    /NormDesignVector
	    /DesignVector
	] readonly def
It tried to set Weight vector to /NormDesignVector\n\t/DesignVector
----------------------------
revision 1.814
date: 2005/08/05 20:07:50;  author: pfaedit;  state: Exp;  lines: +2 -2
FindExistingSlot should understand altuni.
----------------------------
revision 1.813
date: 2005/08/05 19:58:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Font View didn't display current unicode of multiply encoded glyphs. (same for popups).
----------------------------
revision 1.812
date: 2005/08/05 04:14:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Still having problems generating type1 code for complicated reference glyphs.
----------------------------
revision 1.811
date: 2005/08/05 00:56:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Retain knowlege of multiple unicode encodings for some glyphs. Used when a glyph has multiple encodings and is reencoded.
----------------------------
revision 1.810
date: 2005/08/04 22:11:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Sigh. People prefer Compact encodings to Original.
----------------------------
revision 1.809
date: 2005/08/04 14:58:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Force encoding didn't work if the new encoding had more slots than the old.
----------------------------
revision 1.808
date: 2005/08/03 20:58:17;  author: pfaedit;  state: Exp;  lines: +3 -3
FF failed to parse class based contextual lookups (but handled contextual chaining ok).
----------------------------
revision 1.807
date: 2005/08/03 01:11:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Brr. gb2323pk still broken.
Seems to be a bug in iconv related to CP1258->UCS2. I found some hacks that seem render the bug less severe.
----------------------------
revision 1.806
date: 2005/08/02 23:06:39;  author: pfaedit;  state: Exp;  lines: +2 -2
FF didn't support EUC-CN, ISO-2022-CN, ISO=2022-KR iconv encodings properly.
----------------------------
revision 1.805
date: 2005/08/02 22:08:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Fill in the missing charsets in the OS/2 CodeRanges field:
	Vietnamese
	Traditional Chinese
	Mac Roman
	PC OEM
----------------------------
revision 1.804
date: 2005/08/02 21:50:19;  author: pfaedit;  state: Exp;  lines: +3 -3
I was failing to detect ASCII in the code which generated the OS/2 coderanges. Which meant none of the latin code ranges were set.
----------------------------
revision 1.803
date: 2005/08/01 21:34:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Put some code in to warn users about unknown language/locales in the ttf 'name' table.
----------------------------
revision 1.802
date: 2005/08/01 19:42:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Enter some new language/locale codes for ms.
----------------------------
revision 1.801
date: 2005/08/01 14:45:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Crash when moving the end of an open path in an order2 font.
----------------------------
revision 1.800
date: 2005/08/01 14:12:42;  author: pfaedit;  state: Exp;  lines: +2 -2
If one loaded a Unicode style encoding and then cancelled the dlg which asked for a name for that encoding, then ff would crash.
----------------------------
revision 1.799
date: 2005/08/01 14:08:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't use Adobe's glyphnames when they are obviously wrong (use uni???? instead)
----------------------------
revision 1.798
date: 2005/08/01 14:04:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for the new dotlessj
----------------------------
revision 1.797
date: 2005/07/31 20:04:45;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.796
date: 2005/07/31 19:23:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Make class be the default format for contextual/chaining substitutions rather than coverage tables.
----------------------------
revision 1.795
date: 2005/07/31 19:13:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn. The format of the LineBreak.txt file changed too, so all the line break info is wrong (essentially lines never broke).
----------------------------
revision 1.794
date: 2005/07/31 17:57:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Reference to bad memory when creating a popup in combinations list.
----------------------------
revision 1.793
date: 2005/07/31 17:34:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Indicate which gadget gets focus in kern class dlg when creating a new class.
----------------------------
revision 1.792
date: 2005/07/31 15:56:34;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on the name table. Test for substrings.
----------------------------
revision 1.791
date: 2005/07/31 15:04:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Still problems when Mac & Mac Unicode strings don't match.
----------------------------
revision 1.790
date: 2005/07/30 20:59:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Taking something out of the X clipboard also resulted in a crash.
----------------------------
revision 1.789
date: 2005/07/30 20:47:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Attempting to put a glyph into the X clipboard crashed if MultiLayer was enabled.
----------------------------
revision 1.788
date: 2005/07/30 20:30:44;  author: pfaedit;  state: Exp;  lines: +2 -2
View->Combinations only showed selected combinations (It should show all)
----------------------------
revision 1.787
date: 2005/07/30 20:14:37;  author: pfaedit;  state: Exp;  lines: +2 -2
If neither Apple mode nor OpenType mode were set, then the presence of a kerning class would force a new Apple-style 'kern' table. And it should not have. Instead decompose all kerning classes into kern pairs as we do for AFM files and generate an old style table.
----------------------------
revision 1.786
date: 2005/07/30 19:51:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Scripting didn't have a way to generate a font with neither Apple nor OpenType tables. Add one.
----------------------------
revision 1.785
date: 2005/07/29 21:00:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. wrong default extension for otb fonts from scripts.
----------------------------
revision 1.784
date: 2005/07/29 20:53:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Make sure glyphmax is right. Often we weren't updating it (or even setting it).
----------------------------
revision 1.783
date: 2005/07/28 17:00:12;  author: pfaedit;  state: Exp;  lines: +2 -2
If we create a bitmap strike in an empty font, then change the fontview to look at the strike.
----------------------------
revision 1.782
date: 2005/07/28 16:58:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Do a better job on empty fonts.
----------------------------
revision 1.781
date: 2005/07/28 16:43:42;  author: pfaedit;  state: Exp;  lines: +3 -3
FontView Set Width (and friends) produced a garbage value for the default width if the font had no glyphs.
----------------------------
revision 1.780
date: 2005/07/27 20:39:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Order2 (TrueType) fonts should not have the hinting needed mark set either.
Furthermore we should set reset the mark when we change a font from normal cubic to quadratic or multilayer (and back).
----------------------------
revision 1.779
date: 2005/07/27 20:19:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix another encoding related crash.
----------------------------
revision 1.778
date: 2005/07/27 20:16:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Clear Background in fontview would usually crash.
----------------------------
revision 1.777
date: 2005/07/27 20:12:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't want the hinting needed bit for multilayer or stroked fonts.
----------------------------
revision 1.776
date: 2005/07/27 01:06:20;  author: pfaedit;  state: Exp;  lines: +2 -2
:-) Generate Multiple gave incorrect filenames if:
	1) The %s was in the middle of the filename (without extension)
	2) The sub-font was identified by a single character.
----------------------------
revision 1.775
date: 2005/07/26 22:18:39;  author: pfaedit;  state: Exp;  lines: +3 -3
MergeFonts sets things in a bad state.
----------------------------
revision 1.774
date: 2005/07/25 04:22:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix various annoying bugs with new encoding stuff.
----------------------------
revision 1.773
date: 2005/07/24 23:40:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Adding new glyphs to a font could look at uninitialized values.
----------------------------
revision 1.772
date: 2005/07/24 22:33:44;  author: pfaedit;  state: Exp;  lines: +2 -2
We were getting annoying "No outline" marks for ".notdef".
----------------------------
revision 1.771
date: 2005/07/24 22:21:24;  author: pfaedit;  state: Exp;  lines: +2 -2
The Save command failed to reset the font's title, so it still looked as if the font were modified.
----------------------------
revision 1.770
date: 2005/07/24 22:15:59;  author: pfaedit;  state: Exp;  lines: +2 -2
The Build sub-menu of the fontview wasn't properly enabled when selection was a non-existant glyph.
----------------------------
revision 1.769
date: 2005/07/24 22:11:06;  author: pfaedit;  state: Exp;  lines: +2 -2
FF still didn't let the user create two ligatures for one glyph.
----------------------------
revision 1.768
date: 2005/07/24 21:57:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Next/Prev buttons were working properly in Glyph Info dlg.
----------------------------
revision 1.767
date: 2005/07/24 21:36:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Detach Glyphs was dis/enabled in the menu exactly the wrong times.
----------------------------
revision 1.766
date: 2005/07/24 19:54:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Added a new Scripting function
	GetPosSub(tag,script,lang)
Which expects a single character to be selected, searches through the glyph's list of substitutions/positions checks if there are any matches. If there are it returns an array of arrays. Each sub array corresponds to a feature that matched and contains:
	Feature tag (as a string)
	Script/Lang list (as a string)
	Type (A string, one of Position,Pair,Substitution,AltSubs,MultSubs,Ligature)
The remaining entries depend on the Type
 For Positions
	a list of four numbers (dx,dy,d_hor_advance,d_vert_advance)
 For Pairs
	A string containing the name of the second glyph in the pair
	a list of eight numbers (dx,dy,dha,dva for first glyph, dx,dy,dha,dva for second glyph)
 For Substitutions
	A string containing the name of the glyph to be substituted
 For the others
	A set of glyph names (strings), one for glyph in the substitution.
----------------------------
revision 1.765
date: 2005/07/24 17:55:31;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a "TypeOf" routine to scripting.
----------------------------
revision 1.764
date: 2005/07/23 14:03:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner says negative widths should also be set to 0 in tfm files.
----------------------------
revision 1.763
date: 2005/07/23 02:59:34;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.762
date: 2005/07/23 01:47:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't set "Hinting needed" flag in bitmap only fonts.
----------------------------
revision 1.761
date: 2005/07/22 21:33:02;  author: pfaedit;  state: Exp;  lines: +2 -2
AutoHint had a crash if there were open contours in a glyph being hinted.
----------------------------
revision 1.760
date: 2005/07/22 20:59:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a couple of browsers to the list to check by default.
----------------------------
revision 1.759
date: 2005/07/22 04:39:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Revert Werner's request for special handling of CJK glyphs in tfm files.
----------------------------
revision 1.758
date: 2005/07/21 22:51:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Still haven't gotten bitmap size right.
----------------------------
revision 1.757
date: 2005/07/21 18:07:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the kerning pair close up dlg to create a new kerning pair caused a crash eventually.
----------------------------
revision 1.756
date: 2005/07/21 17:24:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Better way to fix bitmap groups.
----------------------------
revision 1.755
date: 2005/07/21 17:21:36;  author: pfaedit;  state: Exp;  lines: +2 -2
When saving a set of bitmap glyphs all of which had approximately the same metrics, ff entered the size per glyph field without checking the depth. So for single bit glyphs the result was 8 times too big.
----------------------------
revision 1.754
date: 2005/07/21 13:18:51;  author: pfaedit;  state: Exp;  lines: +3 -3
kern pairs were not scaled to emsize when loading an afm file.
----------------------------
revision 1.753
date: 2005/07/21 04:29:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a series of new selection commands, to the font view and to scripting:
	SelectChangedGlyphs
	SelectHintingNeeded
(just to scripting)
	SelectSingletons
	SelectMoreSingletons
	SelectFewerSingletons
----------------------------
revision 1.752
date: 2005/07/21 03:25:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Revert Glyph didn't work. One bug caused by multilayer, one caused by encoding changes, and one really old one.
----------------------------
revision 1.751
date: 2005/07/20 21:21:21;  author: pfaedit;  state: Exp;  lines: +2 -2
GetFontNames returned an uninitialized value on bad ttf files.
----------------------------
revision 1.750
date: 2005/07/20 20:09:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some new scripting commands to access the TeX per-glyph fields
----------------------------
revision 1.749
date: 2005/07/20 19:56:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner suggested some improvements to tfm output.
----------------------------
revision 1.748
date: 2005/07/20 18:56:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Cleanup behavior of generating ttf bitmaps in a script.
----------------------------
revision 1.747
date: 2005/07/20 03:05:58;  author: pfaedit;  state: Exp;  lines: +2 -2
I was attaching script/langs to lookups. That wasn't good enough. Each sub-table and have it's own set, so attach script/langs to subtables as well.
Still a bug in that sub-tables could be referenced through severl extension sub-tables or directly and I don't unravel that complexity until too late.
----------------------------
revision 1.746
date: 2005/07/20 03:01:55;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.745
date: 2005/07/20 02:54:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Transform (in fontview) and Scale To Em do not scale the vertical advance.
----------------------------
revision 1.744
date: 2005/07/19 22:44:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Still problems with detecting where a subroutine begins.
----------------------------
revision 1.743
date: 2005/07/19 21:32:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove Undoes was broken by the encoding changes.
----------------------------
revision 1.742
date: 2005/07/19 21:23:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Generating a statemachine from a FPST had problems introduced by the encoding change.
----------------------------
revision 1.741
date: 2005/07/19 13:41:02;  author: pfaedit;  state: Exp;  lines: +3 -3
When saving multiple, make sure the afm,tfm files don't contain kerns to glyphs outside of the subfonts.
----------------------------
revision 1.740
date: 2005/07/19 02:35:06;  author: pfaedit;  state: Exp;  lines: +2 -2
We didn't test the right thing when deciding where a subroutine containing refs began.
----------------------------
revision 1.739
date: 2005/07/18 22:36:12;  author: pfaedit;  state: Exp;  lines: +3 -3
A bit of extranious code snuck in to the kern class dlg in the selection work.
----------------------------
revision 1.738
date: 2005/07/17 20:56:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Make sure the blue lines (marking hints needing to be updated) get cleared properly.
----------------------------
revision 1.737
date: 2005/07/17 20:32:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Some display problems in the SameGlyphAs command.
----------------------------
revision 1.736
date: 2005/07/17 20:17:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Selection of kern classes didn't take into account scrolling.
----------------------------
revision 1.735
date: 2005/07/17 19:59:20;  author: pfaedit;  state: Exp;  lines: +3 -3
The Apply Substitutions code did not consider the possibility of loops:
	a->b->c->d->a
----------------------------
revision 1.734
date: 2005/07/15 20:59:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Context chain dlg had problems with empty patterns (no terminal NUL in empty str
ing used to represent them).
----------------------------
revision 1.733
date: 2005/07/13 23:21:27;  author: pfaedit;  state: Exp;  lines: +2 -2
The [EditData] button in contextual fontinfo pane was disabled due to reasons which were no longer valid.
----------------------------
revision 1.732
date: 2005/07/13 23:12:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Doing a transformation with a negative scale factor screwed up the hints.
----------------------------
revision 1.731
date: 2005/07/13 22:25:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Add move up/down buttons to the kern class dlg
Draw the selection from the class list boxes down in the offsets area.
----------------------------
revision 1.730
date: 2005/07/13 18:56:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix yet another crash caused be referencing by encoding rather than gid.
----------------------------
revision 1.729
date: 2005/07/13 18:41:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a crash when generating Apple tables in a font with non-contiguous glyph array (ttc, cid-keyed, font with errors).
----------------------------
revision 1.728
date: 2005/07/12 22:43:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Bad loop bounds check.
----------------------------
revision 1.727
date: 2005/07/12 03:47:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch half made as we diverged from DirectEncoding branch. Tfm data were improperly scaled.
----------------------------
revision 1.726
date: 2005/07/12 03:26:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Next/Prev Defined character in the charview didn't skip over .notdef.
----------------------------
revision 1.725
date: 2005/07/11 21:11:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner suggests indicating multi-layer in the version string.
----------------------------
revision 1.724
date: 2005/07/11 20:52:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Mark to Mark anchor classes allow each mark glyph also to contain a base mark entry.
----------------------------
revision 1.723
date: 2005/07/11 14:53:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Print didn't handle kerning by classes.
----------------------------
revision 1.722
date: 2005/07/11 05:21:15;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.721
date: 2005/07/11 00:19:15;  author: pfaedit;  state: Exp;  lines: +2 -2
When changing a list we always used to snap back to the beginning of the list (instead of continuing to show the line changed).
----------------------------
revision 1.720
date: 2005/07/11 00:15:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Various fixes for hints:
  Changing hints now marks a glyph changed
  Changing a glyph now marks its dependents as needing their hints updated
  Glyphs needing hints updated are marked in the fontview.
  Paste and Transform in the charview now preserve hints.
----------------------------
revision 1.719
date: 2005/07/08 21:13:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Apply Substitutions was badly broken when ff compiled with multilayer.
----------------------------
revision 1.718
date: 2005/07/08 20:12:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Kern Pair dlg crashed when closed on cygwin (was looking at garbage memory everywhere).
----------------------------
revision 1.717
date: 2005/07/08 20:09:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Broke Element menu initialization if more than one glyph selected.
----------------------------
revision 1.716
date: 2005/07/08 20:05:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Wasn't reading kerning pair info from an sfd file properly.
----------------------------
revision 1.715
date: 2005/07/08 04:33:39;  author: pfaedit;  state: Exp;  lines: +3 -3
When saving an sfd file we got our orig_poses all screwed up if we decided to SFDOmit some glyphs in the middle of the font.
----------------------------
revision 1.714
date: 2005/07/06 19:15:27;  author: pfaedit;  state: Exp;  lines: +2 -2
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).
----------------------------
revision 1.713
date: 2005/07/06 18:48:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Add scripting routines to detach glyphs from the encoding and to remove them from the font.
----------------------------
revision 1.712
date: 2005/07/05 22:29:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Try harder to guard against absurd cases in simplify.
----------------------------
revision 1.711
date: 2005/07/03 23:19:43;  author: pfaedit;  state: Exp;  lines: +2 -2
The lsb/rsb/width dlg didn't check what it was being used for and always complained about negative widths even when producing negative lsb.
----------------------------
revision 1.710
date: 2005/07/03 23:03:48;  author: pfaedit;  state: Exp;  lines: +2 -2
$italicangle has been broken since I introduced real numbers into scripts.
----------------------------
revision 1.709
date: 2005/07/03 23:01:13;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.708
date: 2005/07/03 22:49:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants an Invert Selection command.
----------------------------
revision 1.707
date: 2005/07/03 22:00:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Deleting glyph classes from the kerning by classes dlg didn't work.
----------------------------
revision 1.706
date: 2005/07/03 21:57:13;  author: pfaedit;  state: Exp;  lines: +2 -2
When adding a glyph to the font we should ensure that any attached bitmap fonts get their glyph arrays updated to the same size. (Can be NULL, but needs to be something).
----------------------------
revision 1.705
date: 2005/07/03 20:43:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Add undoes for hints.
----------------------------
revision 1.704
date: 2005/07/03 04:24:42;  author: pfaedit;  state: Exp;  lines: +2 -2
The position of Coptic and Glagolithic has been shifted in Unicode 4.1 (shifted from some earlier proposal).
----------------------------
revision 1.703
date: 2005/07/03 04:01:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants a scripting error message cleaned up.
----------------------------
revision 1.702
date: 2005/07/03 03:15:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by KANOU, ttc files were broken.
----------------------------
revision 1.701
date: 2005/07/02 22:33:53;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.700
date: 2005/07/01 00:49:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner thinks my error messages for scripts should be improved.
----------------------------
revision 1.699
date: 2005/07/01 00:28:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Once again starting a browser on windows is broken.
----------------------------
revision 1.698
date: 2005/07/01 00:09:37;  author: pfaedit;  state: Exp;  lines: +2 -2
No bounds check when indexing into ps names array for an encoding. So a huge index looked at garbage.
----------------------------
revision 1.697
date: 2005/07/01 00:01:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a check in case sfd files contain unreasonable values for pixelsize, etc.
----------------------------
revision 1.696
date: 2005/06/30 22:54:20;  author: pfaedit;  state: Exp;  lines: +2 -2
An open path consisting of a single point caused a crash in replace with reference.
----------------------------
revision 1.695
date: 2005/06/30 18:41:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner suggests a --dry <scriptfile> argument which does syntax checking without actually executing the script. I think it is trivial.
----------------------------
revision 1.694
date: 2005/06/30 18:13:07;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.693
date: 2005/06/30 17:32:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that my afm files still claim to be made by pfaedit. Oops.
----------------------------
revision 1.692
date: 2005/06/30 03:33:42;  author: pfaedit;  state: Exp;  lines: +2 -2
The Reencode scripting command did not reallocate the selection to reflect the new size of the encoding.
----------------------------
revision 1.691
date: 2005/06/29 21:55:08;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.690
date: 2005/06/29 21:50:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Encoding->Removed Unused Slots crashed on an empty font.
----------------------------
revision 1.689
date: 2005/06/29 21:25:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Save multiple was broken by the encoding changes.
----------------------------
revision 1.688
date: 2005/06/29 00:25:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Hmm. When unique is set in a parent group it should check all the children.
----------------------------
revision 1.687
date: 2005/06/28 04:38:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Some of the changes for Define Groups broke Display Groups.
----------------------------
revision 1.686
date: 2005/06/28 04:27:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, the unique checkbox didn't move when the dlg was resized.
----------------------------
revision 1.685
date: 2005/06/28 03:59:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I failed to provide a mechanism to add other iconv encoding names into my menu.
----------------------------
revision 1.684
date: 2005/06/27 22:43:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Code to support group display.
----------------------------
revision 1.683
date: 2005/06/27 17:11:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Another place where glyphmax wasn't set propperly.
----------------------------
revision 1.682
date: 2005/06/27 17:07:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Next(Prev) glyph didn't work in the char view if the next encoding wasn't in the font.
----------------------------
revision 1.681
date: 2005/06/27 16:51:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix more crashes with user defined encodings.
----------------------------
revision 1.680
date: 2005/06/27 16:17:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Was not reading ps encoding files properly.
----------------------------
revision 1.679
date: 2005/06/27 16:04:16;  author: pfaedit;  state: Exp;  lines: +2 -2
reencoding to custom didn't leave things as they were (it compacted everything)
fixed a crash with user defined encodings
Remove encoding should always be available.
----------------------------
revision 1.678
date: 2005/06/27 14:26:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Only half of the backslash newline patch got installed and windows newlines didn't work.
----------------------------
revision 1.677
date: 2005/06/27 14:01:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Make sfddiff compile again.
----------------------------
revision 1.676
date: 2005/06/26 03:21:11;  author: pfaedit;  state: Exp;  lines: +3 -3
The encoding menu didn't have a check mark beside the current encoding.
----------------------------
revision 1.675
date: 2005/06/24 19:43:13;  author: pfaedit;  state: Exp;  lines: +3 -3
branches:  1.675.2;
further improvements in the use of type42 fonts in the print subsystem.
----------------------------
revision 1.674
date: 2005/06/23 22:47:03;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating pdf print output, we can use type42 format for fullunicode now too. (which results in smaller/faster pdf files for those cases that can use 'em).
----------------------------
revision 1.673
date: 2005/06/23 22:43:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Get rid of the string CIDToGID array and replace it with /Identity which it now is (in type42cid output inside a pdf file).
----------------------------
revision 1.672
date: 2005/06/23 03:43:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a crash when parsing a mangled cff file.
----------------------------
revision 1.671
date: 2005/06/22 21:09:44;  author: pfaedit;  state: Exp;  lines: +3 -3
There is a misleading statement in Adobe's Technical Note: 5176.cff.pdf:
	A Private DICT is required, but may be specified as having a
	length of 0 if there are no non-default values to be stored.
I took this litterally and inserted an empty private dict into the top dict of a cid cff font. Acrobat was ok with it, but ghostscript got annoyed. If I remove the required private entry then gs is happy.
----------------------------
revision 1.670
date: 2005/06/22 21:04:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Seems like a good idea to wrap the postscript semantic sugar around cff fonts so that they are actually useful.
----------------------------
revision 1.669
date: 2005/06/20 21:21:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some uninitialized variables in display dlg.
----------------------------
revision 1.668
date: 2005/06/20 19:59:28;  author: pfaedit;  state: Exp;  lines: +2 -2
When I fixed pdf output for t42 cid fonts I broke it for ps t42 cid fonts.
----------------------------
revision 1.667
date: 2005/06/20 17:29:06;  author: pfaedit;  state: Exp;  lines: +3 -3
We didn't get DSC page numbers properly when printing a CID keyed font.
----------------------------
revision 1.666
date: 2005/06/19 20:56:58;  author: pfaedit;  state: Exp;  lines: +2 -2
The default (notdef) glyph generated by default for palm fonts was a little wonky.
----------------------------
revision 1.665
date: 2005/06/19 20:37:58;  author: pfaedit;  state: Exp;  lines: +3 -3
sfd rle (image) reading code had a bug where it complained one pixel too early about overflow.
----------------------------
revision 1.664
date: 2005/06/19 03:59:06;  author: pfaedit;  state: Exp;  lines: +2 -2
We used to munch memory when loading empty glyphs from mac NFNT resources.
----------------------------
revision 1.663
date: 2005/06/19 03:21:10;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.662
date: 2005/06/19 02:30:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some code to protect against badly generated bitmap strikes in sfnts.
----------------------------
revision 1.661
date: 2005/06/17 21:15:34;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.660
date: 2005/06/16 22:26:33;  author: pfaedit;  state: Exp;  lines: +3 -3
The sfd reader looked in the wrong place for sli information in cid keyed fonts.
----------------------------
revision 1.659
date: 2005/06/14 03:05:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn. Default output encoding never gets initialized when in a script.
----------------------------
revision 1.658
date: 2005/06/13 22:30:25;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.657
date: 2005/06/13 17:59:42;  author: pfaedit;  state: Exp;  lines: +2 -2
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).
----------------------------
revision 1.656
date: 2005/06/13 17:02:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Some improvements to printing of fonts with type42 cid format and fonts with full unicode.
----------------------------
revision 1.655
date: 2005/06/08 20:26:08;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.654
date: 2005/06/08 19:44:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Problem with cubic to quadratic spline approximation. Fixed by a more careful comparison between original and resulting spline.
----------------------------
revision 1.653
date: 2005/06/08 19:11:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Kerning (and Anchor positioning) didn't work when printing to pdf.
----------------------------
revision 1.652
date: 2005/05/30 21:33:54;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.651
date: 2005/05/30 21:18:59;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.650
date: 2005/05/30 20:51:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Extra "-" in type42 header removed.
----------------------------
revision 1.649
date: 2005/05/30 20:32:30;  author: pfaedit;  state: Exp;  lines: +2 -2
The anchor dialog was all screwed up.
----------------------------
revision 1.648
date: 2005/05/30 20:19:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Better to remove the extranious space from an alt subs at the inception.
----------------------------
revision 1.647
date: 2005/05/30 20:10:15;  author: pfaedit;  state: Exp;  lines: +2 -2
The test in show att that all components of a substitution existed failed to handle a trailing space.
----------------------------
revision 1.646
date: 2005/05/30 19:42:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Make page Up/Down work in Show ATT
----------------------------
revision 1.645
date: 2005/05/30 18:48:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Sometimes the simplify algorithem fails to converge.
----------------------------
revision 1.644
date: 2005/05/09 04:21:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Previous charinfo patch for unicode value was missing a 0.
----------------------------
revision 1.643
date: 2005/05/08 19:55:38;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating a tfm file the width (height, depth, ic) table was being scaled twice.
----------------------------
revision 1.642
date: 2005/05/08 13:35:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Remove a NaN that occurred when moving quadratic splines.
----------------------------
revision 1.641
date: 2005/05/06 13:03:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The unicode code point of a glyph was restricted to BMP by Glyph Info dlg.
----------------------------
revision 1.640
date: 2005/05/05 15:02:07;  author: pfaedit;  state: Exp;  lines: +3 -3
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.)
----------------------------
revision 1.639
date: 2005/05/05 04:14:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Make View->Show ATT aware of the mark attachment class info so it can show the classes.
----------------------------
revision 1.638
date: 2005/05/04 20:06:03;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.637
date: 2005/05/03 15:54:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Drag and drop was broken.
----------------------------
revision 1.636
date: 2005/05/03 15:45:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Extend lookup flags support to include mark attachment classes (as defined in GDEF).
----------------------------
revision 1.635
date: 2005/05/03 15:26:36;  author: pfaedit;  state: Exp;  lines: +2 -2
Bad argument type checking on the AddAccent scripting command.
----------------------------
revision 1.634
date: 2005/05/03 15:23:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Infinite loop in a rare case involving a flex hint at the start of a contour.
----------------------------
revision 1.633
date: 2005/05/03 15:19:47;  author: pfaedit;  state: Exp;  lines: +3 -3
The merge fonts command would crash.
----------------------------
revision 1.632
date: 2005/05/03 15:17:38;  author: pfaedit;  state: Exp;  lines: +1 -1
Problems parsing some bare cff fonts.
----------------------------
revision 1.631
date: 2005/04/19 16:26:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Store desired fontview size in prefs file.
----------------------------
revision 1.630
date: 2005/04/17 14:47:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a tweak to make the mac's dynamic loader look for fink libraries by default.
----------------------------
revision 1.629
date: 2005/04/17 04:56:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Problems parsing bare cff cid-keyed fonts (attempted to give them an encoding and treat as cid.
----------------------------
revision 1.628
date: 2005/04/15 23:14:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Recognize that code page 932 is a variant of SJIS.
----------------------------
revision 1.627
date: 2005/04/15 21:03:29;  author: pfaedit;  state: Exp;  lines: +2 -2
We are told that feature 'nutf' is an obsolete name for 'afrc'.
----------------------------
revision 1.626
date: 2005/04/15 20:28:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a couple of new scripting functions:
   Int() which casts its real/int/unicode arg to int
   UCodePoint() which casts its real/int/unicode arg to unicode
CharInfo no longer creates the glyph about which it is asked for info.
WorthOutputting/DrawsSomething can be applied to the current selection if no arg given.
----------------------------
revision 1.625
date: 2005/04/14 22:53:46;  author: pfaedit;  state: Exp;  lines: +2 -2
When using freetype to rasterize in the fontview, don't do an automatic close of open paths (allow user to see broken paths.
----------------------------
revision 1.624
date: 2005/04/14 22:46:41;  author: pfaedit;  state: Exp;  lines: +3 -3
For SCWorthOutputting, I used to check both that !widthset && width==em-size. But when creating a combining mark the width will be 0 (not em-size) so remove the width check and rely on widthset.
----------------------------
revision 1.623
date: 2005/04/14 03:48:39;  author: pfaedit;  state: Exp;  lines: +3 -3
The various "FindBounds" routines didn't work for stroked fonts (nor take into account type3 fonts in some cases).
----------------------------
revision 1.622
date: 2005/04/12 21:19:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Discrepency between docs and scripting on spelling of "Auto[tT]race" command. Now accept both versions.
----------------------------
revision 1.621
date: 2005/04/12 21:18:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. a debugging print statement got left in the ps interpreter.
----------------------------
revision 1.620
date: 2005/04/11 13:18:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Previous scripting crlf patch didn't work.
----------------------------
revision 1.619
date: 2005/04/10 03:42:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Now that KANOU has completed the Japanese translation of the docs (and is in the process of putting them on the fontforge website), it would probably be a good idea to have the help command find the language specific docs if they are available.
----------------------------
revision 1.618
date: 2005/04/10 02:48:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a select fewer command to allow users to turn off selection on certain chars.
----------------------------
revision 1.617
date: 2005/04/10 02:28:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple more problems with custom encodings.
----------------------------
revision 1.616
date: 2005/04/10 02:27:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Support '\r' and '\r\n' as continuation lines after backslash.
----------------------------
revision 1.615
date: 2005/04/06 22:20:32;  author: pfaedit;  state: Exp;  lines: +2 -2
New version of Japanese UI.
----------------------------
revision 1.614
date: 2005/04/06 21:33:18;  author: pfaedit;  state: Exp;  lines: +3 -3
The kerning pair dlg would sometimes fail to display a kerning pair if we were searching for the second char of the pair.
----------------------------
revision 1.613
date: 2005/04/05 14:56:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a couple of problems with sjis encoding.
----------------------------
revision 1.612
date: 2005/04/03 19:47:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Danish translations of common style names courtesy of Anders Lund
----------------------------
revision 1.611
date: 2005/04/02 04:00:51;  author: pfaedit;  state: Exp;  lines: +2 -2
The point info dlg was quite unusable if you typed something which was not a valid number.
----------------------------
revision 1.610
date: 2005/04/01 22:08:41;  author: pfaedit;  state: Exp;  lines: +2 -2
when in debug mode display current pointer position in pixels.
----------------------------
revision 1.609
date: 2005/04/01 22:07:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Point Info still was having problems with order2 splines.
----------------------------
revision 1.608
date: 2005/04/01 22:05:54;  author: pfaedit;  state: Exp;  lines: +3 -3
The instruction pane of the debug window was interpretting keystrokes it should not have.
----------------------------
revision 1.607
date: 2005/04/01 04:51:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Peter Selinger has changed the way potrace is built so it no longer uses cygwin (it uses MinGW instead). This means that ff can't pass it the name of a temp file as "/tmp/foo" because "/tmp" is a cygwin concept. So... continue to put the file on cygwin's /tmp, but cd into that directory before executing potrace (and pass it a filename with no directory spec).
----------------------------
revision 1.606
date: 2005/04/01 04:47:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some more names.
----------------------------
revision 1.605
date: 2005/03/31 03:52:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the gloss window a bit bigger.
----------------------------
revision 1.604
date: 2005/03/31 03:51:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Recent change to give stack window a scrollbar caused us to crash if displaying stack window when executing the "end of glyph" psuedo-return instruction.
----------------------------
revision 1.603
date: 2005/03/31 03:49:10;  author: pfaedit;  state: Exp;  lines: +3 -3
The instruction scrollbar missed the last instruction.
----------------------------
revision 1.602
date: 2005/03/30 05:54:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some more greek smallcaps glyphs to my PUA.
----------------------------
revision 1.601
date: 2005/03/30 05:01:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops was using the wrong accent to build cyrillic breves.
----------------------------
revision 1.600
date: 2005/03/29 05:43:56;  author: pfaedit;  state: Exp;  lines: +2 -2
The Adobe private use area defs were built in to unialts. Not a good idea since we don't always want to apply them. Move them out and into fvcomposit and fontview where we can apply them whenn the font says to use adobe pua, and ignore them when it doesn't.
----------------------------
revision 1.599
date: 2005/03/28 20:28:44;  author: pfaedit;  state: Exp;  lines: +2 -2
ff had problems reading pfm files containing kerning info to non-existant chars.
----------------------------
revision 1.598
date: 2005/03/28 19:45:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner wants pixels per em value to appear in register window.
----------------------------
revision 1.597
date: 2005/03/28 19:33:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Add scrollbars to all debug windows that need them.
Add a new debug window giving a gloss on what the current instruction will use and do.
----------------------------
revision 1.596
date: 2005/03/26 15:04:57;  author: pfaedit;  state: Exp;  lines: +3 -3
No contours in the twilight zone.
----------------------------
revision 1.595
date: 2005/03/25 23:51:42;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating tt fonts we did not set bit 8 in 'head'.Flags. This gave us bad results when ppem was not an integer.
----------------------------
revision 1.594
date: 2005/03/25 18:57:52;  author: pfaedit;  state: Exp;  lines: +3 -3
The remove annoying extrema patch needed some improvements.
----------------------------
revision 1.593
date: 2005/03/24 16:53:52;  author: pfaedit;  state: Exp;  lines: +2 -2
When reencoding with Adobe Standard, or some other encoding where glyph names are more important that unicode code points, make sure that we force the glyph names to be correct after doing the encoding.
----------------------------
revision 1.592
date: 2005/03/24 15:04:09;  author: pfaedit;  state: Exp;  lines: +3 -3
When creating a debug window on a glyph with no instructions (or no instructions at this 'gasp' setting) we used not to rasterize it. Werner points out that this is inconsistent.
----------------------------
revision 1.591
date: 2005/03/24 02:02:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Script/lang count was wrong in a couple of places.
----------------------------
revision 1.590
date: 2005/03/23 04:15:36;  author: pfaedit;  state: Exp;  lines: +2 -2
My reencode routine is based on unicode. But in AdobeStandardEncoding we are more concerned about glyph names than code points. Not going to fix reencoded, but have pf[ab]/afm output routines do a more careful check to make sure that synonems don't slip through.
----------------------------
revision 1.589
date: 2005/03/22 19:16:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The transform dlg was sharing round to int with the menu, but I changed the way it looked in the menu -- a change which should not be in transform.
----------------------------
revision 1.588
date: 2005/03/18 23:40:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Tavmjong Bah adds something to the "ypogegrammeni" list.
----------------------------
revision 1.587
date: 2005/03/18 23:37:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Tavmjong Bah points out that now that scripting supports reals I shoud return real preference items as real values.
----------------------------
revision 1.586
date: 2005/03/18 22:39:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix problems with multiple text fields in the same window all wanting input contexts (for input methods).
----------------------------
revision 1.585
date: 2005/03/17 15:48:06;  author: pfaedit;  state: Exp;  lines: +3 -3
We generated ligature code in morx for resultant ligature glyphs which were not worth outputting. Why anyone would have this is beyond me, but someone complained.
----------------------------
revision 1.584
date: 2005/03/13 21:42:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Pierre Hanser points out that the recent change to Set Width broke the scripting SetWidth command.
----------------------------
revision 1.583
date: 2005/03/13 15:21:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Yet more efforts to remove rounding errors from remove overlap. If the control points caus a slight overshoot so we get an unexpected extremum very close to one of the end-points, then adjust the cps so that that does not happen.
----------------------------
revision 1.582
date: 2005/03/12 04:44:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Solaris stores isnan & friends in ieeefp.h not in math.h
----------------------------
revision 1.581
date: 2005/03/12 04:42:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting access to standard math functions (trig, exp, log, pow, sqrt, isnan, finite)
----------------------------
revision 1.580
date: 2005/03/11 14:07:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Unary minus did not work on reals (in scripts).
----------------------------
revision 1.579
date: 2005/03/10 18:26:43;  author: pfaedit;  state: Exp;  lines: +2 -2
the "Recalculate bitmaps button in the bitmap view was getting munched when we updated the cursor position.
----------------------------
revision 1.578
date: 2005/03/10 16:03:36;  author: pfaedit;  state: Exp;  lines: +2 -2
CharInfo("BBox") returned gibberish.
----------------------------
revision 1.577
date: 2005/03/10 16:01:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Solaris dioes not have an isinf function. Use !finite instead.
----------------------------
revision 1.576
date: 2005/03/09 23:37:23;  author: pfaedit;  state: Exp;  lines: +2 -2
fix a couple of typos introduced by Werner's request for a "no glyphs at all warning".
----------------------------
revision 1.575
date: 2005/03/09 20:36:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Yoshiki Hayashi wants a "copy background to foreground" command. Made it only under conditional compilation.
----------------------------
revision 1.574
date: 2005/03/09 00:53:18;  author: pfaedit;  state: Exp;  lines: +2 -2
deleting a class within a kerning by classes object caused a crash.
----------------------------
revision 1.573
date: 2005/03/08 22:33:53;  author: pfaedit;  state: Exp;  lines: +3 -3
David points out that the multi-resolution fonts are useless. Old palms can't used them and new palms are all high resolution. What is really wanted is two records, an old style low res font, and a new style (multi-res) font containing only high res images.
----------------------------
revision 1.572
date: 2005/03/07 18:52:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for palm pilot fonts (basically stripped down Mac 'FONT'/'NFNT' resources). Thanks to Alexander Pruss and David Lee for pointing me at the appropriated docs.
----------------------------
revision 1.571
date: 2005/03/06 14:58:32;  author: pfaedit;  state: Exp;  lines: +3 -3
The replace with reference command only replaced the first instance found. In the case a few glyphs (elipsis, etc.) we need to replace multiple times.
(This was actually an intentional decision for the general replace command -- to avoid potential infinite loops -- but is an unneeded annoyance in this case).
----------------------------
revision 1.570
date: 2005/03/04 23:28:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up .null& nonmarking return a little.
----------------------------
revision 1.569
date: 2005/03/04 21:55:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Warn if a font contains no useful glyphs.
----------------------------
revision 1.568
date: 2005/03/04 21:28:39;  author: pfaedit;  state: Exp;  lines: +2 -2
The Options dlg (of Generate fonts) behaved oddly with respect to Apple mode & OpenType mode. This patch should make things clearer.
Also there was a typo and the setting for PS Glyph Name option was incorrectly controled by the truetype hints flag.
----------------------------
revision 1.567
date: 2005/03/04 20:48:57;  author: pfaedit;  state: Exp;  lines: +3 -3
When given a glyph with conflicting hints where the first contour of that glyph needs no hints, then in type2 output the first hintmask operator would be omitted, which means that the location and width of the first vertical hint would be used as the position for the first point. This meant that the glyph would be oddly offset from where it should have been.
----------------------------
revision 1.566
date: 2005/03/04 02:50:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone corrected the spelling of "Vendor" in many of the nomen files, but not in the English one, nor in the place that used it.
----------------------------
revision 1.565
date: 2005/03/04 02:39:19;  author: pfaedit;  state: Exp;  lines: +2 -2
When generating an otf font from a script and specifying flags, the "round coordinates" flag was ignored.
----------------------------
revision 1.564
date: 2005/03/04 02:05:18;  author: pfaedit;  state: Exp;  lines: +3 -3
When generating a font from a script using the default flag setting, we would always generate a tfm/pfm/afm file. In some cases we'd do it twice.
Also uninit reference in tfm generation.
----------------------------
revision 1.563
date: 2005/02/28 02:47:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Some patches from KANOU.
----------------------------
revision 1.562
date: 2005/02/28 00:49:23;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. New code for importing eps/svg into stroked fonts didn't update the stub for svg when we don't have libxml.
----------------------------
revision 1.561
date: 2005/02/27 03:12:13;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that the stroked file import glyph command only worked if multilayer set.
----------------------------
revision 1.560
date: 2005/02/27 03:10:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a bitmap preview for eps output.
----------------------------
revision 1.559
date: 2005/02/26 06:05:24;  author: pfaedit;  state: Exp;  lines: +2 -2
In a bitmap only font, the font metrics menu items behaved in unexpected ways. (ie. as if they were working on a ps font).
----------------------------
revision 1.558
date: 2005/02/25 21:47:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Various fixes to make importing stroked eps files into stroked fonts work better,
and to make converting between multi-layered and stroked fonts work better.
----------------------------
revision 1.557
date: 2005/02/25 05:32:26;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU suggests a preference item to turn off use of freetype in fontview.
----------------------------
revision 1.556
date: 2005/02/25 02:14:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix more rounding errors in overlap.
----------------------------
revision 1.555
date: 2005/02/25 01:56:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Were some problems with the quartic polynomial solver.
The simplify remove bump option could scramble memory.
Remove overlap got unhappy about control points which caused a very tiny overlap between adjacent splines.
----------------------------
revision 1.554
date: 2005/02/21 03:35:06;  author: pfaedit;  state: Exp;  lines: +3 -3
More protection against bad parsing.
----------------------------
revision 1.553
date: 2005/02/18 22:44:17;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that Redo from the fontview would usually crash.
----------------------------
revision 1.552
date: 2005/02/18 22:37:04;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that I missed a bit of his patch for utf8 support in scripts.
----------------------------
revision 1.551
date: 2005/02/18 20:49:34;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU provides a MakeLine command.
----------------------------
revision 1.550
date: 2005/02/18 05:43:28;  author: pfaedit;  state: Exp;  lines: +2 -2
My evening batch of parsing fixes.
----------------------------
revision 1.549
date: 2005/02/18 05:16:46;  author: pfaedit;  state: Exp;  lines: +2 -2
diffstubs is out of date again.
----------------------------
revision 1.548
date: 2005/02/18 05:10:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, if TYPE3 was not enabled there was a flow of control through a function which did not return a value.
----------------------------
revision 1.547
date: 2005/02/18 04:51:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Got a little over ambitious at detecting errors the other day.
----------------------------
revision 1.546
date: 2005/02/18 04:47:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the encoding for scripting strings be utf8 consistently instead of the previous mishash.
----------------------------
revision 1.545
date: 2005/02/17 19:52:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Recovery files did not include multilayer marker which lead to strange behavior and crashes.
----------------------------
revision 1.544
date: 2005/02/17 19:51:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Converting a font to multi layer caused a crash if there were outline glyph windows open.
----------------------------
revision 1.543
date: 2005/02/17 19:10:07;  author: pfaedit;  state: Exp;  lines: +3 -3
More parsing protection.
----------------------------
revision 1.542
date: 2005/02/17 05:46:45;  author: pfaedit;  state: Exp;  lines: +2 -2
More parsing fixes.
----------------------------
revision 1.541
date: 2005/02/17 03:32:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow the scripting Export() command to take a format spec to give user control over filename.
----------------------------
revision 1.540
date: 2005/02/17 02:39:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some problems with the real number (scripting support) change.
----------------------------
revision 1.539
date: 2005/02/17 02:21:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from KANOU to provide two names for "Hints" one with and one without a colon.
----------------------------
revision 1.538
date: 2005/02/17 02:19:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Some tweaks to autohint to make it work better with metafont (work in progress).
----------------------------
revision 1.537
date: 2005/02/15 04:06:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Yet more protection against erronious font input.
----------------------------
revision 1.536
date: 2005/02/14 19:33:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for reals to the scripting language.
----------------------------
revision 1.535
date: 2005/02/14 17:33:14;  author: pfaedit;  state: Exp;  lines: +3 -3
NearlyHv{Cps,Lines} scripting commands complained about too many args.
----------------------------
revision 1.534
date: 2005/02/14 03:34:23;  author: pfaedit;  state: Exp;  lines: +2 -2
More fixes to avoid crashes on erroneous fonts.
----------------------------
revision 1.533
date: 2005/02/14 03:33:28;  author: pfaedit;  state: Exp;  lines: +3 -3
ff had a bug when outputting otf contextual ligatures.
----------------------------
revision 1.532
date: 2005/02/13 05:01:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix various crashes & infinite loops involved in parsing erroneous fonts (ttf fonts).
----------------------------
revision 1.531
date: 2005/02/12 04:15:14;  author: pfaedit;  state: Exp;  lines: +2 -2
A small problem with doubles, they make our multimaster weightvector type too big to be allocated by chunks. So increase the chunk max.
----------------------------
revision 1.530
date: 2005/02/12 04:00:59;  author: pfaedit;  state: Exp;  lines: +2 -2
ff wasn't handling user defined encodings properly. In part this was broken by the change to iconv(). But also ff had the bad habit of taking one name that mapped to a unicode code point and changing it to the prefered version of the name (uni0020 would be changed to space in an encoding.)
----------------------------
revision 1.529
date: 2005/02/12 03:23:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Make ff able work again with doubles. The code had some hidden dependencies on floats.
----------------------------
revision 1.528
date: 2005/02/12 03:20:34;  author: pfaedit;  state: Exp;  lines: +2 -2
libiconv says its second argument is a "const char **", and iconv says it is a "char **". Deal with this annoyance.
----------------------------
revision 1.527
date: 2005/02/11 17:47:15;  author: pfaedit;  state: Exp;  lines: +3 -3
The string += operator in scripting (concatenation) screwed up memory.
----------------------------
revision 1.526
date: 2005/02/11 05:02:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Guard against an unexpected EOF.
----------------------------
revision 1.525
date: 2005/02/11 05:01:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. After a -c <cmd> argument the next argument would be ignored.
----------------------------
revision 1.524
date: 2005/02/11 05:00:27;  author: pfaedit;  state: Exp;  lines: +2 -2
The font type detector would fail to notice a svg file as such if it began with the byte-order character (didn't matter much because we'd usually work it out from the extension).
----------------------------
revision 1.523
date: 2005/02/10 14:43:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou points out that Ord didn't do proper type checking on its second argument.
----------------------------
revision 1.522
date: 2005/02/10 03:11:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. GPOS/GSUB code still not quite right.
----------------------------
revision 1.521
date: 2005/02/10 02:45:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. things are a little different than I guessed:
Sergey Malkin from MicroSoft tells me:
    Each shaping engine in Uniscribe can decide on its requirements for
    layout tables - some of them require both GSUB and GPOS, in some cases
    any table present is enough, or it can work without any table.

    Sometimes, purpose of the check is to determine if font is supporting
    particular script - if required tables are not there font is just
    rejected by this shaping engine. Sometimes, shaping engine can not just
    reject the font because there are fonts using older shaping technologies
    we still have to support, so it uses some logic when to fallback to
    legacy layout code.

    In your case this is Hebrew, where both tables are required to use
    OpenType processing. Arabic requires both tables too, Latin requires
    GSUB to execute GPOS. But in general, if you have both tables you should
    be safe with any script to get fully featured OpenType shaping.
So the script table of both needs to be the union of both.
----------------------------
revision 1.520
date: 2005/02/09 22:51:11;  author: pfaedit;  state: Exp;  lines: +2 -2
The AddATT scripting command had no way to add "Nested" features.
----------------------------
revision 1.519
date: 2005/02/09 22:38:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Maxim Iorsh sent me a two fonts, one with a 'mark' table added by volt, one with a 'mark' sub-table added by fontforge. The ff font didn't work under Uniscribe. The two GPOS tables where essentially identical (same data, sub-tables in a
different order). But volt had also added a dummy GSUB table with an (empty) entry for 'hebr' script. If I removed the GSUB table, or changed the script in it to 'latn' the volt font did not work. If I added a GSUB table with a (dummy) hebrew substitution the ff font worked.
Conclusion: Uniscribe expects a script entry in GSUB for all scripts in GPOS. No one on the opentype list bothered to respond to my request for elucidation, so I stick with this conclusion for now.
----------------------------
revision 1.518
date: 2005/02/08 04:34:47;  author: pfaedit;  state: Exp;  lines: +2 -2
I had thought I might want "-command" as a synonem for "-c". I don't.
----------------------------
revision 1.517
date: 2005/02/08 04:28:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for passing scripting commands to fontforge directly via the command line. Anything after "-c" argument will be treated as scripting commands.
----------------------------
revision 1.516
date: 2005/02/08 02:51:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Further changes, to do something reasonable if iconv fails to have standard encodings we need. (ie. try not to crash any more).
----------------------------
revision 1.515
date: 2005/02/07 22:22:18;  author: pfaedit;  state: Exp;  lines: +2 -2
There is no guarantee that iconv(3) supports all the encodings we need to read a ttf file properly. Be prepared to handled a NULL return from FindOrMakeEncoding when reading 'cmap'.
----------------------------
revision 1.514
date: 2005/02/07 21:10:23;  author: pfaedit;  state: Exp;  lines: +3 -3
There's yet another ASCII map in UNICODE, at 0xe0000 for specifying language names.
----------------------------
revision 1.513
date: 2005/02/06 22:51:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Missing an include file for the bitmap stuff (when compiling freetype.o against a static library).
----------------------------
revision 1.512
date: 2005/02/03 16:29:06;  author: pfaedit;  state: Exp;  lines: +3 -3
I was wrong. Solaris doesn't have a braindead iconv, some user has screwed up his libraries to the point they don't work. Add a work around and a small check.
----------------------------
revision 1.511
date: 2005/02/03 04:35:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow user to redefine the OtherSubrs routines.
----------------------------
revision 1.510
date: 2005/02/03 02:23:43;  author: pfaedit;  state: Exp;  lines: +2 -2
The code to use freetype to do general rasterizing didn't work for composite glyphs (ie. those with references).
----------------------------
revision 1.509
date: 2005/02/02 20:52:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the way we output othersubrs slightly to make it easier to customize them.
----------------------------
revision 1.508
date: 2005/02/02 20:51:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Code to handle loading relative filespecs for fonts didn't work.
----------------------------
revision 1.507
date: 2005/01/31 02:11:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Change add Extrema so that it only adds extrema if
	1) The spline length is >= em_size/32
	2) The extremum is an extremum of the entire contour containing
		the spline.
(Behavior in the outline view when there is a selection remains the same. So if the endpoints of a spline are both selected then all local extrema will be added to that spline, no matter how long it may be).
----------------------------
revision 1.506
date: 2005/01/30 15:52:29;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Ralf Stubner. Fonts without UniqueID had a bad syntax.
----------------------------
revision 1.505
date: 2005/01/29 05:33:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Just in case iconv returns NULL on failure (instead of -1).
----------------------------
revision 1.504
date: 2005/01/29 05:15:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Add stub for systems without freetype.
----------------------------
revision 1.503
date: 2005/01/25 22:10:56;  author: pfaedit;  state: Exp;  lines: +2 -2
More fixes to make stroked fonts work on systems without multilayer turned on.
----------------------------
revision 1.502
date: 2005/01/25 15:22:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Also didn't work without multilayer.
----------------------------
revision 1.501
date: 2005/01/25 15:09:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, recent "fix" to bitmap views didn't work if not compiled with multilayer.
----------------------------
revision 1.500
date: 2005/01/25 01:01:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for stroked PostScript (& svg) fonts. PaintType==2.
----------------------------
revision 1.499
date: 2005/01/24 17:31:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Still haven't gotten clustering right.
----------------------------
revision 1.498
date: 2005/01/24 02:46:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Clustering is already broken.
----------------------------
revision 1.497
date: 2005/01/24 02:04:09;  author: pfaedit;  state: Exp;  lines: +3 -3
Support for using freetype on type3 fonts (do an expand stroke on stroked layers, then call freetype).
The bitmap dlg would not have worked on multilayered fonts if the Use Freetype check box was clicked.
BitmapView crashed when it started if only multilayered outlines had been used.
----------------------------
revision 1.496
date: 2005/01/21 14:25:34;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, can't use freetype for multilayered fonts
I think I've got the baseline right now.
----------------------------
revision 1.495
date: 2005/01/21 04:39:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Small mistake.
----------------------------
revision 1.494
date: 2005/01/21 03:59:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Use freetype (when it is present) to rasterize the fontview display and the metricsview using FT_Outline_Get_Bitmap.
Current version gets the baseline slightly wrong.
----------------------------
revision 1.493
date: 2005/01/21 02:08:54;  author: pfaedit;  state: Exp;  lines: +2 -2
If we had a contour nested within another, and we selected it and did an Overlap Exclude, it didn't work. The inner contour must be drawn backwards.
----------------------------
revision 1.492
date: 2005/01/21 02:06:46;  author: pfaedit;  state: Exp;  lines: +2 -2
RoundToContext had a bug when rounding a selection.
Remove Overlap set selection mode on RoundToContext by mistake. (selection in remove overlap is by contour, so if a single point is selected the entire contour must be rounded. R2C doesn't work that way, so always round everything).
----------------------------
revision 1.491
date: 2005/01/21 02:04:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the arguments of the RoundToContext scripting command. They didn't make much sense before.
----------------------------
revision 1.490
date: 2005/01/21 00:10:04;  author: pfaedit;  state: Exp;  lines: +2 -2
The [] Correct Direction checkbox when importing PS into a type1 font didn't do
anything.
	The direction was always corrected whether the bit was set or not
		(in one place)
	And in another place (earlier, where the bit was checked) it was
		corrected badly.
----------------------------
revision 1.489
date: 2005/01/20 19:45:26;  author: pfaedit;  state: Exp;  lines: +2 -2
In a bitmap only font bitmaps created without moving the width line would get lost.
----------------------------
revision 1.488
date: 2005/01/20 19:25:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Cleanup a couple of things.
----------------------------
revision 1.487
date: 2005/01/20 19:18:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Added a new scripting function, SelectByColor
----------------------------
revision 1.486
date: 2005/01/20 19:02:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't apply transformations to glyphs which aren't worth outputting.
----------------------------
revision 1.485
date: 2005/01/20 17:15:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Changing control points with get info had problems in quadratic splines.
----------------------------
revision 1.484
date: 2005/01/20 05:54:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Shadow and Wireframe effects don't work in multilayer mode.
----------------------------
revision 1.483
date: 2005/01/20 05:47:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When adding type 42 support back in October, I seem to have broken multi master support. At the moment the offensive line does not appear needed for type42 support either. So away with it.
----------------------------
revision 1.482
date: 2005/01/20 04:00:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Take out the warning I put in that was supposed to detect overlaps between contours of different orientations. It actually tested something else, closely related, because I couldn't figure out how to do the real test in an efficient manner, but the test I used returned too many false positives.
----------------------------
revision 1.481
date: 2005/01/18 14:53:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner suggests adding a trailing newline to my type1 fonts. Sounds reasonable.
----------------------------
revision 1.480
date: 2005/01/18 02:22:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Output of 'size' feature had a typo.
----------------------------
revision 1.479
date: 2005/01/18 02:18:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou needs to disambiguate the word "Point" in ui between
	Point meaning a unit of measurement (1/72th inch)
	Point a geometric object.
----------------------------
revision 1.478
date: 2005/01/17 20:49:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Take out "scroll mode" patch, and make capslock modifier work on the arrow keys to make them scroll.
----------------------------
revision 1.477
date: 2005/01/17 20:47:03;  author: pfaedit;  state: Exp;  lines: +3 -3
We lost count of hints when generating type2 fonts with references containing hints which didn't conflict. This could result in garbage being written if our count were off by 8.
----------------------------
revision 1.476
date: 2005/01/17 03:30:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the arrows scroll when the current tool is the scroll hand.
----------------------------
revision 1.475
date: 2005/01/17 02:32:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a 'TeX ' table to sfnts to contain TeX metrics data.
Also fix up some problems with tfm output.
----------------------------
revision 1.474
date: 2005/01/17 02:30:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Reencoding something to "Original" encoding wrote memory 1 beyond what was allocated.
----------------------------
revision 1.473
date: 2005/01/16 19:17:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Some improvements on KANOU's patch. If a glyph does have a name like "%" then look it up in the unicode names and call it "percent" instead.
----------------------------
revision 1.472
date: 2005/01/16 19:02:11;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU provides a patch to:
  1) fixup glyph names if they aren't legal postscript name tokens
  2) fix a crash when a non-latin1 bdf font is imported into a new font as background.
----------------------------
revision 1.471
date: 2005/01/16 14:29:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in sfd routine to read size data.
----------------------------
revision 1.470
date: 2005/01/16 03:20:13;  author: pfaedit;  state: Exp;  lines: +2 -2
An array was declared too small in PointGetInfo which caused a crash on the mac.
----------------------------
revision 1.469
date: 2005/01/16 02:47:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Further attempts to improve spline approximation, try to avoid local minima.
----------------------------
revision 1.468
date: 2005/01/15 23:30:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Simplify was too willing to throw out lines as "not-parallel". Many rounding errors when end points are forced to integers.
----------------------------
revision 1.467
date: 2005/01/15 15:20:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the last values given in the Simplify More dlg be the default for the next simplify (usually).
----------------------------
revision 1.466
date: 2005/01/15 04:27:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh neat. pfm files must be executable under windows now, just like ttf files.
----------------------------
revision 1.465
date: 2005/01/15 04:01:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. The whole point of the clustering exercise was to improve Remove Overlap. And I forgot to add the call there. This should do it.
----------------------------
revision 1.464
date: 2005/01/15 03:46:21;  author: pfaedit;  state: Exp;  lines: +3 -3
SplineOverlap gets very upset when it is given points that are very close but not quite at the same coordinate. Suddenly sounding errors become significant. Before I've done some implicit rounding, and that generally improves things, but it can make things worse (ie. round2int would move .4999 far from .5001 instead of
making them identical). So I've added a new command "Cluster" which looks for clusters of coordinate values, and forces them all to have the same coordinate.
----------------------------
revision 1.463
date: 2005/01/14 03:09:20;  author: pfaedit;  state: Exp;  lines: +2 -2
When loading ligature data out of a tfm file, ff would only save the final component that made up the ligature, so if it got an entry "f i -> fi", it would store it as "i->fi".
----------------------------
revision 1.462
date: 2005/01/14 01:39:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the behavior of simplify in fontview match that in charview. FontView used to use the values specified in last simplify more command.
----------------------------
revision 1.461
date: 2005/01/14 01:02:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Support for the GPOS 'size' feature which allows us to specify the design size of the font.
----------------------------
revision 1.460
date: 2005/01/12 23:17:52;  author: pfaedit;  state: Exp;  lines: +2 -2
If we have two glyphs, for example bullet and openbullet where the outer circle of openbullet matches the only circle of bullet, then that appears to be a match and ReplaceWithReference wants to replace it. But that would leave us with a reference and a counter-clockwise path... which makes no sense. So look for this very particular case, and don't allow it to happen. I don't see how to detect more complex cases without huge amounts of processing.
----------------------------
revision 1.459
date: 2005/01/12 23:13:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Copying an anchor didn't copy its device tables.
----------------------------
revision 1.458
date: 2005/01/12 23:12:50;  author: pfaedit;  state: Exp;  lines: +2 -2
If the mouse moved out of the window while selecting (as happens during a drag select which shifts the viewpoint), then we got various bad memory references.
----------------------------
revision 1.457
date: 2005/01/12 22:22:53;  author: pfaedit;  state: Exp;  lines: +3 -3
A scripting function for returning whether a file exists or not.
----------------------------
revision 1.456
date: 2005/01/11 22:34:21;  author: pfaedit;  state: Exp;  lines: +2 -2
For glyphs with no conflicting hints which got put into a subroutine then we'd not get any hints at all.
----------------------------
revision 1.455
date: 2005/01/11 15:34:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Be more willing to generate format12 encoding sub-tables (non-bmp unicode). We used to do it only if the font was encoded in unicode full. Now try whenever there is a non-BMP (but unicode) character no matter what the encoding.
----------------------------
revision 1.454
date: 2005/01/11 15:18:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by Kanou to add old encoding names back.
----------------------------
revision 1.453
date: 2005/01/11 15:11:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Use freetype more efficiently in the anchor dlg.
----------------------------
revision 1.452
date: 2005/01/11 04:41:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Device tables for anchored glyphs now.
Also a new dialog showing and controlling anchored combos.
----------------------------
revision 1.451
date: 2005/01/10 04:21:28;  author: pfaedit;  state: Exp;  lines: +2 -2
And there was a similar confusion about writing device tables for anchors.
----------------------------
revision 1.450
date: 2005/01/10 04:11:50;  author: pfaedit;  state: Exp;  lines: +2 -2
The OpenType spec is rather misleading when it describes how offsets to device tables should be calculated  in anchor tables.
Fix a typo too.
----------------------------
revision 1.449
date: 2005/01/10 03:30:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. When parsing Apple's kerning class format, I didn't initialize the (useless) pointer for device tables.
----------------------------
revision 1.448
date: 2005/01/10 00:36:48;  author: pfaedit;  state: Exp;  lines: +2 -2
A patch suggested by Neil Parker. I only provide panose meanings for latin fonts, but I should not crash when displaying a non-latin font.
----------------------------
revision 1.447
date: 2005/01/09 23:39:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Add code to support "device tables". Add a UI for creating and setting device tables that apply to kerning.
----------------------------
revision 1.446
date: 2005/01/07 04:06:33;  author: pfaedit;  state: Exp;  lines: +2 -2
New version of autohinter. Get rid of diagonal stems/minimum distance hints.
----------------------------
revision 1.445
date: 2005/01/06 19:53:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Yesterday's invert selection patch used an shortcut that was already assigned. Give it something else. Extend the patch to the fontview.
----------------------------
revision 1.444
date: 2005/01/06 03:04:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a check for a null pointer (I can't duplicate the reported crash, but the check can't hurt).
----------------------------
revision 1.443
date: 2005/01/06 02:54:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Pasting from the fontview did not clear glyph instructions as it should have. Resulting in very strange glyphs.
----------------------------
revision 1.442
date: 2005/01/06 02:33:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Menu command to invert the selection in outline views. From: Yoshiki Hayashi
----------------------------
revision 1.441
date: 2005/01/06 01:52:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Tweaked the merge command to behave better when merging tiny spline segments (ie. segments for which the slope at the end-point is irrelevant when compared to the other segment it is merged with).
----------------------------
revision 1.440
date: 2005/01/06 01:43:10;  author: pfaedit;  state: Exp;  lines: +3 -3
In a && or || scripting operator, if the second operand did not need to be evaluated (because first operand of && was fals or first of || true), and the second operand contand a procedure call, then ff would crash. Uninitialized values.
----------------------------
revision 1.439
date: 2005/01/05 01:25:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Rounding to 1/512em isn't good enough. We need to round to 1/256em at least (before doing remove overlap).
----------------------------
revision 1.438
date: 2005/01/04 22:57:52;  author: pfaedit;  state: Exp;  lines: +3 -3
ff was too strict about its definition of colinear in Simplify.
----------------------------
revision 1.437
date: 2005/01/03 14:39:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Was not prepared to deal with a gradiant whose length was 0 in the intersection improver of spline overlap.
----------------------------
revision 1.436
date: 2005/01/03 02:54:16;  author: pfaedit;  state: Exp;  lines: +2 -2
A simple idiom for producing dots in a type3 font.
----------------------------
revision 1.435
date: 2005/01/02 20:31:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a warning when two external contours with differing orientations intersect in remove overlap.
----------------------------
revision 1.434
date: 2005/01/02 19:44:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Simplify had a hard time with tangent points. I now think it should just convert them to curves if possible, or corners if not.
----------------------------
revision 1.433
date: 2005/01/02 19:42:46;  author: pfaedit;  state: Exp;  lines: +3 -3
More pointtype fixes.
----------------------------
revision 1.432
date: 2005/01/01 19:39:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Adapt splash screen resizing to new text on splash image.
----------------------------
revision 1.431
date: 2005/01/01 15:05:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Update copyright notices to 2004.
Remove reference to PfaEdit (no more "used to be named PfaEdit" on startup).
----------------------------
revision 1.430
date: 2005/01/01 03:31:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Simplify had more problems with order2 splines.
----------------------------
revision 1.429
date: 2005/01/01 00:06:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Put some variables which are used conditionally where they belong.
----------------------------
revision 1.428
date: 2004/12/31 23:44:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, small typo in new pfm code for non-windows latin fonts with fewer than 256 glyphs.
----------------------------
revision 1.427
date: 2004/12/31 21:57:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend simplify command(s) so that it doesn't try to simplify long straight lines into curved ones.
----------------------------
revision 1.426
date: 2004/12/31 15:22:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix some problems caused by unicode accent unification when building accented letters. Many chars which are said to use cedilla actually use something that looks like a comma. Similarly for caron and comma. Make U+0145 be buildable as an accented letter.
----------------------------
revision 1.425
date: 2004/12/31 03:38:05;  author: pfaedit;  state: Exp;  lines: +3 -3
The View->Display Substitutions command had numerous problems.
----------------------------
revision 1.424
date: 2004/12/29 04:07:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Make the behavior of control points at the ends of (open) paths a little more reasonable.
----------------------------
revision 1.423
date: 2004/12/28 05:47:01;  author: pfaedit;  state: Exp;  lines: +2 -2
If a character were not in the current encoding (but was in the font) then the character could not be found in the font. This meant that the metrics view would not display it.
----------------------------
revision 1.422
date: 2004/12/27 20:49:00;  author: pfaedit;  state: Exp;  lines: +3 -3
ff did not update the metrics view if the user pasted the selection in with the middle mouse button.
----------------------------
revision 1.421
date: 2004/12/27 05:31:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Pasting a reference in multi-layer mode produced a very odd layer.
----------------------------
revision 1.420
date: 2004/12/26 04:07:31;  author: pfaedit;  state: Exp;  lines: +3 -3
In the "Full Page Glyph" printing option, the glyph was not printed where it should have been. (a slight offset).
----------------------------
revision 1.419
date: 2004/12/25 02:56:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for dashed lines in multi-layer editing.
----------------------------
revision 1.418
date: 2004/12/23 14:01:05;  author: pfaedit;  state: Exp;  lines: +3 -3
The generated ttf unique id string had an off by one error in the month field.
----------------------------
revision 1.417
date: 2004/12/23 04:10:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Tweak the bounding box of exported svg chars a little.
Remove the advance width from exported svg chars (didn't have it in exported eps files).
----------------------------
revision 1.416
date: 2004/12/23 02:38:40;  author: pfaedit;  state: Exp;  lines: +2 -2
More quibbles about ghost hints.
----------------------------
revision 1.415
date: 2004/12/23 02:18:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Fixes for multilayered svg output.
----------------------------
revision 1.414
date: 2004/12/23 01:30:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Yoshiki Hayashi points out that in SVG export I had a transform attribute which is not legal. Inserted a nested <g> to contain it instead. He also points out that my DTD pointer is obsolete, updated it.
----------------------------
revision 1.413
date: 2004/12/21 21:28:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Improvements to Type1 reference output.
----------------------------
revision 1.412
date: 2004/12/21 21:14:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Type1 output problems for a glyph containing a reference to a glyph with an outline and a reference.
----------------------------
revision 1.411
date: 2004/12/21 01:09:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow the scripting command to take an argument, a fudge factor, by which each coordinate may differ from the expected.
----------------------------
revision 1.410
date: 2004/12/21 00:34:42;  author: pfaedit;  state: Exp;  lines: +3 -3
ReplaceWithReference was broken.
----------------------------
revision 1.409
date: 2004/12/20 03:39:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Oh. Windows pfm files use Win Latin encoding, not the encoding in the pfb file.
(actually there are several different possibilities for encoding, but as I don'tknow what any of them mean aside from win latin, I shall ignore the other cases).
----------------------------
revision 1.408
date: 2004/12/18 23:31:33;  author: pfaedit;  state: Exp;  lines: +3 -3
A better way to find the intersection of two splines. Use an approach based on the gradient.
----------------------------
revision 1.407
date: 2004/12/17 14:17:15;  author: pfaedit;  state: Exp;  lines: +2 -2
If a type1 font never defined notdef but used it atleast twice in the encoding ff crashed.
----------------------------
revision 1.406
date: 2004/12/17 13:46:51;  author: pfaedit;  state: Exp;  lines: +3 -3
New japanese UI from KANOU
----------------------------
revision 1.405
date: 2004/12/16 16:20:58;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out a prototype was wrong on a stub routine.
----------------------------
revision 1.404
date: 2004/12/16 16:15:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some more remove overlap problems.
----------------------------
revision 1.403
date: 2004/12/16 16:14:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix some unprotected isalnum/isdigit calls
----------------------------
revision 1.402
date: 2004/12/15 05:17:28;  author: pfaedit;  state: Exp;  lines: +2 -2
If a glyph was used for two encodings, and an opentype (cff, not ttf) font was generated, then the metrics tables would contain an extra entry and every glyph after the second encoding would have the wrong width.
----------------------------
revision 1.401
date: 2004/12/14 18:25:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Constraining the pen tool didn't do what I expected.
----------------------------
revision 1.400
date: 2004/12/14 17:37:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a raster window to debugging showing the current raster (normal sized).
Also remember what debug windows user has open.
----------------------------
revision 1.399
date: 2004/12/13 05:11:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Printing a font display at 140pt tried to print 4 glyphs per line when there was only room for 3
----------------------------
revision 1.398
date: 2004/12/13 05:06:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Type3 fonts which set grey/colour didn't work. I was always using setcachedevice instead of setcharwidth.
----------------------------
revision 1.397
date: 2004/12/13 04:11:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Ooops, the AdobeStandard (&symbol) encodings were mistakenly marked as unicode. This meant that attempting to print caused a crash.
----------------------------
revision 1.396
date: 2004/12/13 04:05:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a slightly new mode to addpoint controlled by capslock
----------------------------
revision 1.395
date: 2004/12/12 21:34:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm had a crash after getinfo on a single point
----------------------------
revision 1.394
date: 2004/12/12 21:31:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Redo backslash newline so it is ignored rather than a space.
----------------------------
revision 1.393
date: 2004/12/12 18:41:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Got the supplementary PUA bounds wrong.
----------------------------
revision 1.392
date: 2004/12/12 18:28:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow scripting lines to be broken by backslash newline (between tokens)
----------------------------
revision 1.391
date: 2004/12/11 19:49:19;  author: pfaedit;  state: Exp;  lines: +2 -2
In some places I assumed freetype gave me 2 phantom pts, in other cases 4. Now I check the library version # to determine which.
----------------------------
revision 1.390
date: 2004/12/11 15:52:48;  author: pfaedit;  state: Exp;  lines: +3 -3
When finding the home directory, look in the passwd file before checking $HOME
----------------------------
revision 1.389
date: 2004/12/10 21:07:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Do better with Luc Devroye's type3 fonts
----------------------------
revision 1.388
date: 2004/12/09 21:28:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a Rand() scripting command.
----------------------------
revision 1.387
date: 2004/12/09 21:27:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Support for fontographer's encrypted typ3s
More multi layer reference bug fixes.
----------------------------
revision 1.386
date: 2004/12/09 14:19:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Crash when using fake mnemonics in layers palette
----------------------------
revision 1.385
date: 2004/12/08 16:17:56;  author: pfaedit;  state: Exp;  lines: +3 -3
some support for fontographer type3s.
Fix some multilayer referene bugs.
----------------------------
revision 1.384
date: 2004/12/06 23:22:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the points window (in debugger) so it does not insert "interploated" points between phantom points or in the twilight zone.  Add lines to mark contour boundaries.
----------------------------
revision 1.383
date: 2004/12/06 22:07:13;  author: pfaedit;  state: Exp;  lines: +3 -3
If you ran  a glyph program twice, then the start of the second run would show the diffs between the beginning and the end. Which is backwards and wrong.
----------------------------
revision 1.382
date: 2004/12/05 22:39:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Some error messages seem to have crept back into remove overlap. Get rid of them.
----------------------------
revision 1.381
date: 2004/12/05 21:35:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend the PointInfo dlg by adding two new buttons which allow user to walk the current contour. Also change the []Default checkboxes to show when we are at the ends of an open contour.
----------------------------
revision 1.380
date: 2004/12/05 15:00:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up a problem with the optimizer
----------------------------
revision 1.379
date: 2004/12/04 23:52:46;  author: pfaedit;  state: Exp;  lines: +3 -3
I took a short cut to make the raster comparison easier. The result was that it sometimes refused to compare.
----------------------------
revision 1.378
date: 2004/12/03 23:36:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Need to add a stub in case the debugger isn't available.
----------------------------
revision 1.377
date: 2004/12/03 23:25:48;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, typo in preserved table stuff.
----------------------------
revision 1.376
date: 2004/12/03 23:09:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Windows users probably want the binary flag on preserved tables.
----------------------------
revision 1.375
date: 2004/12/03 22:31:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to have ff insert an uninterpreted table into an SFNT. This entails:
  a new preference item: PreserveTables which lists comma seperated tags of tables that should be preserved (unparsed) when reading an SFNT
  four new scripting commands: LoadTableFromFile, SaveTableToFile, RemovePreservedTable, HasPreservedTable
----------------------------
revision 1.374
date: 2004/12/03 16:44:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Highlight rasterized pixels in the debugger as they change (one color for adding a pixel, different for removing one).
----------------------------
revision 1.373
date: 2004/12/03 16:22:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Keep the debugging raster image after the glyph program has finished.
----------------------------
revision 1.372
date: 2004/12/03 16:13:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a bad memory reference on a dead window.
----------------------------
revision 1.371
date: 2004/12/03 13:57:01;  author: pfaedit;  state: Exp;  lines: +3 -3
When debugging, add a popup showing relevent info about points as the cursor passes over them.
----------------------------
revision 1.370
date: 2004/12/03 05:07:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Still a few cases (the final spline of a contour) where curved splines came out as lines.
Improved the points window by
	* showing implied points
	* showing whether a point is on/off curve (normal/control)
	* added a scroll bar
Changed the default behavior of the points window to show normal (not twilight) points on start up.
----------------------------
revision 1.369
date: 2004/12/02 14:38:07;  author: pfaedit;  state: Exp;  lines: +2 -2
If a cff file had unencoded glyphs then ff would crash.
----------------------------
revision 1.368
date: 2004/12/02 14:00:54;  author: pfaedit;  state: Exp;  lines: +3 -3
ff was producing a line when it should have found a quadratic spline in conversion of cubic to quadratic.
----------------------------
revision 1.367
date: 2004/12/02 04:35:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Show what rasterization would look like (with splines as they currently are) during the debugging process.
----------------------------
revision 1.366
date: 2004/12/01 16:43:54;  author: pfaedit;  state: Exp;  lines: +2 -2
The debugger windows didn't always say "<empty>" when they should have.
----------------------------
revision 1.365
date: 2004/12/01 16:12:49;  author: pfaedit;  state: Exp;  lines: +2 -2
The debugger would often crash the second time we closed its window.
----------------------------
revision 1.364
date: 2004/12/01 16:11:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Asking for the script of ".notdef" made us check unallocated memory.
----------------------------
revision 1.363
date: 2004/12/01 15:20:53;  author: pfaedit;  state: Exp;  lines: +2 -2
We weren't labelling control points in the debugger.
----------------------------
revision 1.362
date: 2004/12/01 15:12:30;  author: pfaedit;  state: Exp;  lines: +3 -3
The debugger (and grid fitter) for tt fonts showed curved splines as lines.
----------------------------
revision 1.361
date: 2004/11/30 17:37:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Kerning pairs did not get scaled when changing the em-size (kerning classes should have).
----------------------------
revision 1.360
date: 2004/11/30 17:36:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a preference item to turn off automatic gotos when typing a character in the glyph window.
----------------------------
revision 1.359
date: 2004/11/30 17:34:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new command to Glyph View windows to go back to the glyph we used to be editing (ie. a short history list).
----------------------------
revision 1.358
date: 2004/11/22 17:07:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Fonts without a FontName string did not go through ff's checks to validate the fontname.
----------------------------
revision 1.357
date: 2004/11/22 16:35:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't crash when we get an erroneous substitution.
----------------------------
revision 1.356
date: 2004/11/22 15:13:10;  author: pfaedit;  state: Exp;  lines: +3 -3
If the font contains multiple names for the same language, complain and allow the user to pick which s/he prefers. (moe_kai contains multiple names, so of which appear to be garbage).
----------------------------
revision 1.355
date: 2004/11/22 05:36:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Two bugs:
1) The routine to read postscript fontnames from a ttf file got broken by the encoding change.
2) If a ttf file contained a composite glyph with no data then ff might randomly attempt to read instructions for it and crash.
----------------------------
revision 1.354
date: 2004/11/22 04:27:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Kevin Schoedel points out that type1 fonts in a mac resource fork are stored in resource id order rather than file order (normally the two will prove the same) and provides a patch to read them that way.
----------------------------
revision 1.353
date: 2004/11/22 02:10:51;  author: pfaedit;  state: Exp;  lines: +3 -3
ff has lost the ability to say Select("U+xxxx") or Select("=") from a script.
----------------------------
revision 1.352
date: 2004/11/20 15:39:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Kevin Schoedel points out that it is perfectly legal to have a NUL in a postscript string. While ff isn't going to support this, we should at least read such files without error.
----------------------------
revision 1.351
date: 2004/11/20 15:12:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Remember (across invocations) whether palettes are hidden or not.
----------------------------
revision 1.350
date: 2004/11/19 15:31:43;  author: pfaedit;  state: Exp;  lines: +3 -3
Further work on default language for ttf names. Moved locale names out of the language name strings and put into a separate table. Added some more languages.
----------------------------
revision 1.349
date: 2004/11/18 16:38:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Chinese needs special care (don't mix simplified/traditional)
Add locale names for language strings missing them.
----------------------------
revision 1.348
date: 2004/11/18 14:20:26;  author: pfaedit;  state: Exp;  lines: +3 -3
The ttf names dialog would often pick a fairly useless language as default. Now:
	If there's a string in the user's locale pick it
	Else if there's a string in the user's language pick it
	Else if there's a string in english pick it
	Else if there's any string at all pick it
----------------------------
revision 1.347
date: 2004/11/16 16:30:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Add the ability to specify a sample string to the PrintFont scripting command (as opposed to a sample file).
----------------------------
revision 1.346
date: 2004/11/16 16:29:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Added a new scripting command DrawsSomething() to say if a glyph actually makes a mark on the paper. Similar to WorthOutputting except that returns true on spaces where the width has been set explicitly.
----------------------------
revision 1.345
date: 2004/11/15 23:57:56;  author: pfaedit;  state: Exp;  lines: +2 -2
The ascent and descent fields of hhea were usually wrong (0).
----------------------------
revision 1.344
date: 2004/11/15 23:56:40;  author: pfaedit;  state: Exp;  lines: +2 -2
New version of nomen-fr from Pierre.
----------------------------
revision 1.343
date: 2004/11/15 17:35:23;  author: pfaedit;  state: Exp;  lines: +2 -2
When saving a utf7 string into an sfd file (ttf names, anchor names, etc.) If a hyphen followed directly after a character which needed to be expressed in base64, then that hyphen would vanish.
----------------------------
revision 1.342
date: 2004/11/15 15:40:20;  author: pfaedit;  state: Exp;  lines: +2 -2
At one point I thought it a bad idea to have references to .notdef. Now I think it a good idea. Removed code from sfd which removed .notdef references.
----------------------------
revision 1.341
date: 2004/11/15 15:32:17;  author: pfaedit;  state: Exp;  lines: +2 -2
If ff started without a prefs file, then creating a new font caused a crash.
----------------------------
revision 1.340
date: 2004/11/15 15:23:45;  author: pfaedit;  state: Exp;  lines: +2 -2
If the copyright string containted newlines, then ff would produce bad postscript
----------------------------
revision 1.339
date: 2004/11/15 14:57:10;  author: pfaedit;  state: Exp;  lines: +3 -3
If user set glyph comment/color but nothing else, glyph was not preserved in sfd file.
----------------------------
revision 1.338
date: 2004/11/12 20:36:13;  author: pfaedit;  state: Exp;  lines: +3 -3
ff had a limit on ttf names of 1024 characters. Remove that limit.
----------------------------
revision 1.337
date: 2004/11/09 23:09:12;  author: pfaedit;  state: Exp;  lines: +2 -2
When the glyph window was scaled so that the vertical distance from top to bottom was less than one em-unit, then the vertical ruler was drawn with the top and bottom labels reversed.
----------------------------
revision 1.336
date: 2004/11/09 14:57:07;  author: pfaedit;  state: Exp;  lines: +3 -3
If a postscript font's encoding contained a name which was not defined int the CharStrings (or probably CharProcs) dictionary, then ff would crash. This was probably broken by the duplicate notdef patch a few weeks ago.
----------------------------
revision 1.335
date: 2004/11/09 05:54:06;  author: pfaedit;  state: Exp;  lines: +2 -2
More overlap fixes.
----------------------------
revision 1.334
date: 2004/11/08 18:16:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Patches by Mark G. Adams for 64 bit linux.
----------------------------
revision 1.333
date: 2004/11/07 01:35:19;  author: pfaedit;  state: Exp;  lines: +3 -3
The encoding change broke the prefs dialog.
----------------------------
revision 1.332
date: 2004/11/05 15:51:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Great. iconv and libiconv use different names for the UCS2 encoding. The name "UCS-2" works in both but means different things.
----------------------------
revision 1.331
date: 2004/11/04 14:33:45;  author: pfaedit;  state: Exp;  lines: +3 -3
New Scripting comand AddAccent() to add an arbetrary accent to an arbetrary glyph.
----------------------------
revision 1.330
date: 2004/11/04 04:02:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Martin Giese corrects Pippi Longstocking.
----------------------------
revision 1.329
date: 2004/11/03 19:13:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Made an addition to CharInfo so user could determine the horizontal extrema of a glyph at a given vertical position. Similar command to determine vertical extrema at a horizontal position.
----------------------------
revision 1.328
date: 2004/11/03 19:11:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting command to allow a user to apply an offset when pasting. Useful for building accented characters.
----------------------------
revision 1.327
date: 2004/11/02 05:15:06;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out diffstubs is missing an include file.
----------------------------
revision 1.326
date: 2004/11/02 05:13:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Kanou points out the error return from iconv_open is -1, not NULL.
----------------------------
revision 1.325
date: 2004/11/02 05:00:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Select(".notdef") in a script usually did not work.
----------------------------
revision 1.324
date: 2004/10/30 23:25:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou provides a patch to fix another crash in the layers palette.
----------------------------
revision 1.323
date: 2004/10/30 23:13:03;  author: pfaedit;  state: Exp;  lines: +2 -2
Kanou provides a new japanese translation reflecting the character/glyph clarification.
----------------------------
revision 1.322
date: 2004/10/30 19:15:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Creating a new layer left some dangling pointers. We could also try to enable layers beyond the current max, leading to other memory problems.
----------------------------
revision 1.321
date: 2004/10/29 04:03:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Sync up.
----------------------------
revision 1.320
date: 2004/10/29 03:36:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. This should have been done earlier.
----------------------------
revision 1.319
date: 2004/10/29 02:35:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch, inspired by KANOU, to make the GRadio.Font resource control the font used in the layer palette of the glyph view.
----------------------------
revision 1.318
date: 2004/10/29 02:33:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Cleanup the encoding menu a bit.
----------------------------
revision 1.317
date: 2004/10/29 02:31:47;  author: pfaedit;  state: Exp;  lines: +2 -2
More work on extremum detector
----------------------------
revision 1.316
date: 2004/10/28 18:12:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Add scripting commands to do some of the fixes available in findproblems
	Force nearly hor/vert lines to be hor/vert
	Force nearly hor/vert cps to be hor/vert.
----------------------------
revision 1.315
date: 2004/10/28 17:05:41;  author: pfaedit;  state: Exp;  lines: +2 -2
More rounding error fixes.
----------------------------
revision 1.314
date: 2004/10/28 16:18:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Still not right.
----------------------------
revision 1.313
date: 2004/10/28 16:01:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Add an encoding synonym.
----------------------------
revision 1.312
date: 2004/10/28 15:44:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Add ability (from script) to round to hundredths, or sixty-fourths or whatevers.
----------------------------
revision 1.311
date: 2004/10/28 15:42:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Further improvements to extremity detector
----------------------------
revision 1.310
date: 2004/10/28 15:41:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove Overlap also gets confused if a control point stretchs beyond the end point of a spline (so that there is a backtrack at the other end-point).
----------------------------
revision 1.309
date: 2004/10/28 14:02:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Extremum test was still wrong.
----------------------------
revision 1.308
date: 2004/10/28 13:50:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. This got missed in yesterday's patch.
----------------------------
revision 1.307
date: 2004/10/28 04:03:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Reworked yesterday's encoding patch. Removed all the old code, so now we always use iconv. For systems with no iconv we include a minimal version based on the encodings available in gdraw/gunicode.
----------------------------
revision 1.306
date: 2004/10/27 04:31:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Use iconv to get encodings rather than gdraw/gunicode. Stepping stone to gtk.
----------------------------
revision 1.305
date: 2004/10/26 21:25:53;  author: pfaedit;  state: Exp;  lines: +3 -3
Kanou noticed that the ISO 15924 script list has been updated and provided a patch.
----------------------------
revision 1.304
date: 2004/10/23 13:52:33;  author: pfaedit;  state: Exp;  lines: +3 -3
Yet more problems with simplify introduced by recent change.
----------------------------
revision 1.303
date: 2004/10/22 22:40:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Further efforts to fixup after rounding errors.
----------------------------
revision 1.302
date: 2004/10/22 21:26:59;  author: pfaedit;  state: Exp;  lines: +2 -2
Overlap had more problems with very short spline segments.
----------------------------
revision 1.301
date: 2004/10/22 20:21:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. the default mac filesystem isn't case concious either. Extend the windows export patch to it.
----------------------------
revision 1.300
date: 2004/10/22 14:48:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Yesterday's extrema patch to simplify slowed it down, in some cases by a factor of twenty-five. This speeds things back up.
----------------------------
revision 1.299
date: 2004/10/21 22:38:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Simplify sometimes failed to recognize extrema (ie. it would sometimes remove one).
----------------------------
revision 1.298
date: 2004/10/21 04:27:45;  author: pfaedit;  state: Exp;  lines: +2 -2
metricsview and fvcomposit both had routines that were done better in fvfonts. Remove the duplicates.
----------------------------
revision 1.297
date: 2004/10/20 23:04:57;  author: pfaedit;  state: Exp;  lines: +2 -2
The last patch (ability to scale greymaps) meant that we removed two error messages (which said we couldn't scale them). So remove them from the nomen files.
----------------------------
revision 1.296
date: 2004/10/20 22:53:27;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU wants to be able to scale greymaps.
And thinks you should be able to remove all bitmaps from a bitmap only font.
----------------------------
revision 1.295
date: 2004/10/20 20:48:46;  author: pfaedit;  state: Exp;  lines: +3 -3
When creating a new glyph in a greymap font, most pathways actually created a bitmap glyph which immediately caused problems.
----------------------------
revision 1.294
date: 2004/10/18 18:10:24;  author: pfaedit;  state: Exp;  lines: +2 -2
When doing automatic recovery after a crash, or some such, and a glyph contained GSUB/GPOS features, then we'd get a warning about bad sli.
----------------------------
revision 1.293
date: 2004/10/18 18:07:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Overlap didn't like lines that turned upon themselves and backtracked.
----------------------------
revision 1.292
date: 2004/10/17 22:33:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Remove overlap has real problems when given tiny splines. Make more efforts to get rid of them.
----------------------------
revision 1.291
date: 2004/10/17 22:32:33;  author: pfaedit;  state: Exp;  lines: +3 -3
The ruler code was based on the assumption that people were dealing with reasonable splines, and that showing 1 decimal point was accurate enough. Well Andrey V. Panov keeps giving me nasty splines where I need to know distances on the order of 1e-5. So if the distance is tiny, use %g rather than %.1f.
----------------------------
revision 1.290
date: 2004/10/16 14:45:13;  author: pfaedit;  state: Exp;  lines: +3 -3
My routine for solving quartics went blooey when it was passed a quadratic. So append a check at the start of the quartic solver which looks for quartics which are actually cubics, quadratics, lines and solve for them too.
----------------------------
revision 1.289
date: 2004/10/15 20:40:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. memory problem in new spline overlap.
----------------------------
revision 1.288
date: 2004/10/14 18:03:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Remove overlap has problems with tiny splines (close to rounding error of float in length). Get rid of them. Code to check line intersection failed to test properly for whether it was better to check along x or y.
----------------------------
revision 1.287
date: 2004/10/14 04:04:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Move the Open Outline/Bitmap/Metrics commands from the file menus to the windows menus, and change "Open" to "New"
----------------------------
revision 1.286
date: 2004/10/14 04:03:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Window title of bitmap view was missing the glyph name.
----------------------------
revision 1.285
date: 2004/10/14 04:02:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Write glyph names in sans-serif type in the fontview.
----------------------------
revision 1.284
date: 2004/10/13 21:09:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the term "Character" to "Glyph" where appropriate.
----------------------------
revision 1.283
date: 2004/10/13 04:57:35;  author: pfaedit;  state: Exp;  lines: +2 -2
I see from Fontes & codages that
  The labels in the metrics view can't be translated
   Fixed.
  It is desirable to label the glyph boxes in the font view with other
  things than just a small glyph image (ie. glyph name, encoding, etc.)
   Done.
----------------------------
revision 1.282
date: 2004/10/12 14:40:46;  author: pfaedit;  state: Exp;  lines: +3 -3
We made multiple notdef encodings into SCDuplicates. Which I supose makes sense but makes font generation a bit harder. Fix that up.
----------------------------
revision 1.281
date: 2004/10/12 04:36:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Various fixes to various nomen files.
----------------------------
revision 1.280
date: 2004/10/12 04:28:36;  author: pfaedit;  state: Exp;  lines: +2 -2
First real version of nomen-es.c
----------------------------
revision 1.279
date: 2004/10/12 04:27:24;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that view->compact on an empty font causes a crash (when mouse moves across it) and that there is no reason for compact to be available when the font is empty. Fix both.
----------------------------
revision 1.278
date: 2004/10/12 04:25:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Put some un-ifdefed structure references into print.c which are only defined in multilayered configurations
----------------------------
revision 1.277
date: 2004/10/12 04:02:58;  author: pfaedit;  state: Exp;  lines: +2 -2
A few more fixes for type3 fonts.
----------------------------
revision 1.276
date: 2004/10/11 19:36:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Should be able to read type3 fonts that we produce. At least those we produce which aren't multilayered.
----------------------------
revision 1.275
date: 2004/10/11 16:50:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Now do ttf files as type 2 CIDFonts
Fixup some other bugs with cid fonts.
basically working now.
----------------------------
revision 1.274
date: 2004/10/11 15:54:13;  author: pfaedit;  state: Exp;  lines: +3 -3
Ok pdf generation now seems to work for  CID fonts. (Postscript ones)
----------------------------
revision 1.273
date: 2004/10/11 05:08:43;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU needs a couple more English homonens disambiguated.
----------------------------
revision 1.272
date: 2004/10/11 04:52:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for printing to pdf file.
  (Still some work to do for cid fonts I think)
(fix a problem with export to pdf file).
----------------------------
revision 1.271
date: 2004/10/10 22:35:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix various problems with multi layered mode (particularly turning it off in fontinfo, also rasterizing it).
----------------------------
revision 1.270
date: 2004/10/04 21:08:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Ok, now we can read normal type42 files. I don't think I'll bother with type42 cids (actually type11 or some such).
----------------------------
revision 1.269
date: 2004/10/04 18:52:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Change the prohibition against multiple unique font identifiers (in truetype 'name' table) into a warning. Both Apple and MS supply fonts with multiple unique ids (an oxymoron, but there you have it), god knows what they think it means.
----------------------------
revision 1.268
date: 2004/10/04 18:27:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend multimaster scripting interface with more functionality.
----------------------------
revision 1.267
date: 2004/10/04 17:03:50;  author: pfaedit;  state: Exp;  lines: +2 -2
Test the postscript fontname when we load it from a ttf 'name' table. Make sure it meets Adobe's requirements. Otherwise if we try to print it or generate a type1 font we will generate invalid PS.
----------------------------
revision 1.266
date: 2004/10/04 13:46:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Support for generating type42 fonts & type42 cid fonts.
Now when printing an order2 font we will turn it into a type42, presumably better quality.
----------------------------
revision 1.265
date: 2004/09/30 23:53:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend the Import() scripting command to allow user to specify stroking flags. Also make the toback argument (both of scripting and the font view dlg) be meaningful in a couple more situations.
----------------------------
revision 1.264
date: 2004/09/30 22:36:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Oh let's just get rid of it entirely. It only causes problems.
----------------------------
revision 1.263
date: 2004/09/30 22:33:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Yesterday's patch still left us removing extra Deltas from some TeX fonts which intentionally have Delta appearing 2 or 3 times in the encoding.
----------------------------
revision 1.262
date: 2004/09/30 22:22:33;  author: pfaedit;  state: Exp;  lines: +3 -3
New approach to remove overlap.
----------------------------
revision 1.261
date: 2004/09/30 04:56:51;  author: pfaedit;  state: Exp;  lines: +2 -2
ff would crash at some random point after loading a font with multiple versions of some of the greek letters.
----------------------------
revision 1.260
date: 2004/09/30 04:01:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for glyphs with encodings in PUA when in BMP but with proper encodings in another plane.
Add support for AMS reencoding of glyphs into PUA.
Add Build Duplicate (element menu & scripting) command.
Recovery files should now preserve unicode interp.
----------------------------
revision 1.259
date: 2004/09/29 01:56:20;  author: pfaedit;  state: Exp;  lines: +2 -2
AMS Math extensions: Provide support for the AMS interpretation of the Public use area as specified in http://www.ams.org/STIX/bnb/stix-tbl.asc-2003-10-10. Also provide a mapping from TeX math names to unicode.
----------------------------
revision 1.258
date: 2004/09/29 01:54:39;  author: pfaedit;  state: Exp;  lines: +3 -3
AMS Math Extensions: Supply appropriate hint glyphs in the header line of the fontview for 1d400-1d7ff.
----------------------------
revision 1.257
date: 2004/09/27 17:44:20;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. The Problems->Find Intersections command thought that adjacent splines intersected at their end points. Technically they do, but that isn't useful information.
----------------------------
revision 1.256
date: 2004/09/26 22:50:37;  author: pfaedit;  state: Exp;  lines: +3 -3
We used to clear the info line in the charview when the cursor left the window. But some of the info remains relevant, so continue to display those bits.
----------------------------
revision 1.255
date: 2004/09/22 23:09:04;  author: pfaedit;  state: Exp;  lines: +2 -2
The Point->Make Line command would crash if either of the points was lacking a next or previous spline.
----------------------------
revision 1.254
date: 2004/09/22 23:05:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Pierre HANSER provides a patch to fix a bug in problems.c (in fonts with <32 glyphs).
----------------------------
revision 1.253
date: 2004/09/22 23:03:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Pierre HANSER provides a patch when merging a font with bitmaps.
----------------------------
revision 1.252
date: 2004/09/22 23:02:17;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU provides a patch to disambiguate a word (used in two contexts) which is the same in English but different in Japanese. (Vertical).
----------------------------
revision 1.251
date: 2004/09/22 23:00:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch by Michael Gährken to allow the scripting Skew command to take numerator/denominator style angles.
----------------------------
revision 1.250
date: 2004/09/22 05:06:30;  author: pfaedit;  state: Exp;  lines: +3 -3
If we delete a char view window with docked palettes and then change the cursor in another char view, we will have killed the cvtools palette and the attempt to set a cursor in it crashes.
----------------------------
revision 1.249
date: 2004/09/22 05:03:39;  author: pfaedit;  state: Exp;  lines: +3 -3
The perspective icon had the wrong background colour.
----------------------------
revision 1.248
date: 2004/09/22 05:02:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Another patch for stroking.
----------------------------
revision 1.247
date: 2004/09/22 04:59:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Piska keeps complaining about the way ff handles 0 width strokes. He wants it to be a true 0 width, while PS says it means the thinnest possible line (not clear what that means in ff, I interpret it as a 1em-unit width). But this screws up the import of some METAPOST stuff which does a fill and a 0 width stroke, expecting the stroke to be 0 width. So if I have a fill and a 0 width stroke I turn off stroking. (But a stand-alone zero-width stroke, by itself, will still do a minimal stroke (1 em-unit)).
----------------------------
revision 1.246
date: 2004/09/22 04:55:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Use a different approach to approximating a set of points with a spline (holding end slopes fixed). Used to do successive least squares, now do one least squares, fix up the slopes and then vary the lengths of the slope vectors until we get a good match. (perturbations).
----------------------------
revision 1.245
date: 2004/09/22 04:52:34;  author: pfaedit;  state: Exp;  lines: +3 -3
I was generating flex hints when I should not have done so. Add some heuristics to keep from flexing small circles, etc.
----------------------------
revision 1.244
date: 2004/09/22 04:50:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Got the slope wrong sometimes when trying to keep it constant (180 out of phase as I recall).
----------------------------
revision 1.243
date: 2004/09/02 12:50:20;  author: pfaedit;  state: Exp;  lines: +1 -1
Failed to read long format pk characters.
----------------------------
revision 1.242
date: 2004/09/02 12:48:19;  author: pfaedit;  state: Exp;  lines: +1 -1
FontView's scroll bars could overflow16 bits on full unicode.
----------------------------
revision 1.241
date: 2004/09/02 12:45:25;  author: pfaedit;  state: Exp;  lines: +1 -1
Patch for bad slis.
----------------------------
revision 1.240
date: 2004/08/25 01:08:21;  author: pfaedit;  state: Exp;  lines: +3 -3
FontInfo sometimes had its embossed box in the wrong place.
----------------------------
revision 1.239
date: 2004/08/22 21:32:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Add the ability to have the fontview display a substitution.
User asks to display 'scmp' and the "a" slot displays "a.scmp"
Clicking on "a" goes to "a.scmp"
Clicking on "nine" produces a new character "nine.scmp" and links it to "nine" in the appropriate fashion.
----------------------------
revision 1.238
date: 2004/08/17 22:49:38;  author: pfaedit;  state: Exp;  lines: +2 -2
There was a path through LoadEncoding file where it would silently fail in a script. I hope I've plugged it.
----------------------------
revision 1.237
date: 2004/08/17 22:48:14;  author: pfaedit;  state: Exp;  lines: +2 -2
In scripts
  * Don't save user defined encodings after loading them
  * Do save these encodings in SavePrefs
(LoadPrefs already loaded them).
----------------------------
revision 1.236
date: 2004/08/17 16:16:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Further cleanup of the perspective stuff.
  1) Make the vanishing point tool do the proper approximation rather than
	just transforming the points and control points.
  2) Make the PoV dialog calculate the location of the vanishing point.
----------------------------
revision 1.235
date: 2004/08/17 04:50:47;  author: pfaedit;  state: Exp;  lines: +3 -3
Create a point of view dlg to allow real perspective transforms.
----------------------------
revision 1.234
date: 2004/08/16 03:43:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Support 3D transforms in the transform dlg too. Couple of bug fixes to the perspective tool. Cleanup strings in the transform dlg.
----------------------------
revision 1.233
date: 2004/08/15 22:59:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Add two new tools to the outline character view
  * Do a 3d rotation about an axis followed by projection back into xy-plane
  * Do a perspective transformation.
----------------------------
revision 1.232
date: 2004/08/13 22:32:13;  author: pfaedit;  state: Exp;  lines: +3 -3
More gtk stuff.
----------------------------
revision 1.231
date: 2004/08/12 03:50:34;  author: pfaedit;  state: Exp;  lines: +2 -2
The change to allow script files on the command line without "-script" broke handling of "-" to mean "read a script from stdin".
----------------------------
revision 1.230
date: 2004/08/12 00:14:48;  author: pfaedit;  state: Exp;  lines: +2 -2
If you copied a glyph feature from a glyph which did not have that feature and then pasted it, you got a crash.
----------------------------
revision 1.229
date: 2004/08/12 00:13:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Get/SetPref scripting command didn't let you touch NewCharset.
----------------------------
revision 1.228
date: 2004/08/11 18:43:37;  author: pfaedit;  state: Exp;  lines: +2 -2
The code to check for a tfm file had a typo. This didn't matter much because in almost all cases the extension check would work.
----------------------------
revision 1.227
date: 2004/08/11 13:21:01;  author: pfaedit;  state: Exp;  lines: +3 -3
MURAOKA Taro provides a patch to fix the SetPanose scripting command.
----------------------------
revision 1.226
date: 2004/08/10 22:32:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow users to say
 $ fontforge scriptfile
(assuming scriptfile starts with #! /usr/local/bin/fontforge or similar).
----------------------------
revision 1.225
date: 2004/08/09 21:35:16;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops the patch for glyphmap files in a script was incomplete.
----------------------------
revision 1.224
date: 2004/08/09 19:15:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Didn't get quite all of Michael Ga:hrken's patch yesterday.
----------------------------
revision 1.223
date: 2004/08/09 19:13:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't load preferences before running a script.
Add new scripting commands LoadPrefs, SavePrefs
Add new environment variable FONTFORGE_LOADPREFS
----------------------------
revision 1.222
date: 2004/08/09 19:12:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Get rid of the DumpGlyphMap preference item and add a new flag to the [Option] dialog to the same effect.
----------------------------
revision 1.221
date: 2004/08/08 23:18:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Two problems:
 1) Expand stroke generates garbage on some very obscure input
 2) AutoHint crashes when given a glyph with huge ymax-ymin or xmax-xmin
	(ie. the above garbage).
----------------------------
revision 1.220
date: 2004/08/08 23:16:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Add Extrema failed if the initial spline of a path needed a extremum point added.
----------------------------
revision 1.219
date: 2004/08/08 23:15:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Expand Stroke failed when given a path consisting of a single point with a zero length spline linking back to itself.
----------------------------
revision 1.218
date: 2004/08/08 19:08:09;  author: pfaedit;  state: Exp;  lines: +2 -2
The ExpandStroke scripting command did not work for caligraphic expansion. Michael Gährken provides a patch.
----------------------------
revision 1.217
date: 2004/08/08 18:26:14;  author: pfaedit;  state: Exp;  lines: +2 -2
One more try at French.
----------------------------
revision 1.216
date: 2004/08/08 18:21:39;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU provides a patch to keep BDFMakeChar from crashing on CID keyed fonts.
----------------------------
revision 1.215
date: 2004/08/06 19:30:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Name file updates from Pierre.
----------------------------
revision 1.214
date: 2004/08/06 18:36:42;  author: pfaedit;  state: Exp;  lines: +3 -3
In the Shades palette, pick out the grey level in use in the bitmap (greyscale) underneath the cursor.
----------------------------
revision 1.213
date: 2004/08/05 14:25:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, got the gender wrong on kachide'.
----------------------------
revision 1.212
date: 2004/08/04 21:17:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Can now build ff without dlgs. (just scripts)
----------------------------
revision 1.211
date: 2004/08/02 21:57:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some strange behaviors related to moving the width:
  1) If one moves to a negative width, and then says [No] to the question
	of whether to use that, then the width reverts to the wrong value.
  2) When the width is huge it would wrap and become negative. It should
	probably stick at SHRT_MAX instead.
----------------------------
revision 1.210
date: 2004/08/02 20:54:21;  author: pfaedit;  state: Exp;  lines: +2 -2
I got the locale wrong for Hong Kong.
----------------------------
revision 1.209
date: 2004/08/02 20:40:12;  author: pfaedit;  state: Exp;  lines: +2 -2
ff would crash when it got a postscript sequence "{}" (an empty function).
----------------------------
revision 1.208
date: 2004/08/02 20:26:50;  author: pfaedit;  state: Exp;  lines: +2 -2
When dragging the width line around and releasing it in the negative width area we pop up an error -- but as the user moves the currsor around s/he continues to move the width line.
----------------------------
revision 1.207
date: 2004/08/02 20:07:49;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone complained that if nothing were selected in the import dlg then the dialog would fail in the wrong way. He's right, but so what?
----------------------------
revision 1.206
date: 2004/08/02 19:08:30;  author: pfaedit;  state: Exp;  lines: +2 -2
Ambrose Li suggests a better error message.
----------------------------
revision 1.205
date: 2004/08/02 18:56:18;  author: pfaedit;  state: Exp;  lines: +2 -2
The "ExtraSpace" TeX parameter didn't have enough room in Spanish.
----------------------------
revision 1.204
date: 2004/08/02 18:39:46;  author: pfaedit;  state: Exp;  lines: +2 -2
In spanish, the kern classes' dlg's buttons are too squinched.
----------------------------
revision 1.203
date: 2004/08/02 18:12:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Buttons too sweezed in Spanish.
----------------------------
revision 1.202
date: 2004/08/01 18:11:58;  author: pfaedit;  state: Exp;  lines: +3 -3
More changes for GTK
----------------------------
revision 1.201
date: 2004/07/31 21:10:24;  author: pfaedit;  state: Exp;  lines: +3 -3
Add support for reading pfm files.
Make merge kern determine file type by looking at the first few bytes of the file first, and using extensions secondarily (rather than just using extensions).
----------------------------
revision 1.200
date: 2004/07/30 23:04:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Added a scripting command to get unix environment variables.
----------------------------
revision 1.199
date: 2004/07/30 20:30:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up a set of resource strings.
----------------------------
revision 1.198
date: 2004/07/29 18:05:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Get rid of some warning messages generated by solaris compilers.
----------------------------
revision 1.197
date: 2004/07/29 14:21:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Still problems with tfm files.
----------------------------
revision 1.196
date: 2004/07/29 13:47:08;  author: pfaedit;  state: Exp;  lines: +3 -3
The fondname patch broke $fontversion and $copyright in scripts.
----------------------------
revision 1.195
date: 2004/07/28 04:22:26;  author: pfaedit;  state: Exp;  lines: +3 -3
A couple of problems related to automagical dialog sizing.
----------------------------
revision 1.194
date: 2004/07/25 04:43:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Give CopyGLyphFeatures a ... style argument.
It will either accept an array, or an arbetrary list of strings/numbers.
----------------------------
revision 1.193
date: 2004/07/25 04:13:11;  author: pfaedit;  state: Exp;  lines: +2 -2
In Windows 3.1 some truetype fonts (chinese) were released with a version number of 2 (0x00020000). Accept that as a valid ttf version.
----------------------------
revision 1.192
date: 2004/07/25 03:44:01;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a mechanism (both scripting and menu/dlg driven) for copying kerning and pst information from one glyph to another.
----------------------------
revision 1.191
date: 2004/07/23 15:24:53;  author: pfaedit;  state: Exp;  lines: +2 -2
ff fails to load svg fonts which use the "t" directive (order 2 splines, control point implied, relative to last point). Result is a nasty scribble.
----------------------------
revision 1.190
date: 2004/07/23 14:22:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Windows file systems are not case conscious. The filenames we generated for Export use the glyph names which are case conscious. So on windows exporting "a" and "A" will end up overwriting the same file. Add a $ in front of capital letters.
----------------------------
revision 1.189
date: 2004/07/23 00:26:34;  author: pfaedit;  state: Exp;  lines: +2 -2
Thomas Phinney of Adobe confirms that truetype Unique Font IDs should be unique (one for apple, one for ms, no multiple langs allowed). Check for this.
----------------------------
revision 1.188
date: 2004/07/22 20:42:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Make sure the ttf unique font id entry (in 'name' table) gets checked when user changes fontname, just as we check all the other unique id type entries.
----------------------------
revision 1.187
date: 2004/07/22 19:26:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops we were not scaling images/refs uniformly when we dragged the corners. Instead we added/subtracted the same amount (these two are equivalent for squares but not general rectangles).
----------------------------
revision 1.186
date: 2004/07/22 19:24:18;  author: pfaedit;  state: Exp;  lines: +2 -2
xml does not allow most control characters in its input stream, even if described by entities. So we can't use the "unicode" attribute to define the encoding for these characters. Backspace is a common example, many ttf files have backspace mapped in the cmap (god knows why).
----------------------------
revision 1.185
date: 2004/07/12 05:17:30;  author: pfaedit;  state: Exp;  lines: +2 -2
The Default ATT entry->Unicode decomposition didn't work.
Add a new entry Cap -> Small Caps.
----------------------------
revision 1.184
date: 2004/07/12 05:15:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Eschew zero width hints.
----------------------------
revision 1.183
date: 2004/07/08 22:35:18;  author: pfaedit;  state: Exp;  lines: +3 -3
Change from gdraw error messages to gtk messages. Change a couple of other standard dlgs too.
----------------------------
revision 1.182
date: 2004/07/07 21:36:29;  author: pfaedit;  state: Exp;  lines: +3 -3
The libuninameslist library now comes in localized versions (currently only French is available), change the thing which dlopens the lib to check for the one which is right for the current locale.
----------------------------
revision 1.181
date: 2004/07/03 15:13:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Undoes in the guide layer crashed.
----------------------------
revision 1.180
date: 2004/07/03 05:41:13;  author: pfaedit;  state: Exp;  lines: +2 -2
More problems with ps subroutines. Left out the initial move when refering to a subroutine containing the current char.
----------------------------
revision 1.179
date: 2004/07/03 05:38:45;  author: pfaedit;  state: Exp;  lines: +2 -2
Problems with the new point numbering scheme.
----------------------------
revision 1.178
date: 2004/07/02 22:35:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Set the script lang index of ligature carets to SLI_UNKNOWN when reading from a ttf file.
----------------------------
revision 1.177
date: 2004/07/02 22:34:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Preserve hhead ascent/descent as offsets. No UI for it yet. Also preserve various OS2 fields. Again no UI.
----------------------------
revision 1.176
date: 2004/07/02 13:38:10;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU's last patch also included a patch to set the average character width in the OS/2 table in a weighted fashion.
----------------------------
revision 1.175
date: 2004/07/02 13:24:49;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU provides a patch which lets windows access embedded bitmaps in ttf files. Windows, he says, needs a modification to the gasp table for this to work.
----------------------------
revision 1.174
date: 2004/07/02 05:53:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Add support for Adobe's variant accents
	Grave and grave.cap	(for grave accents over capital letters)
	breve.cyr		(for breve accents over cyrillic letters)
	breve.cyrcap
----------------------------
revision 1.173
date: 2004/07/02 04:13:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Points were not properly renumbered if they got out of order.
----------------------------
revision 1.172
date: 2004/07/02 02:39:10;  author: pfaedit;  state: Exp;  lines: +2 -2
The "Changed" xor interacted badly with a character having its own color.
----------------------------
revision 1.171
date: 2004/07/01 22:48:45;  author: pfaedit;  state: Exp;  lines: +2 -2
People still can't figure out my check boxes, so draw an X.
----------------------------
revision 1.170
date: 2004/07/01 21:58:11;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge didn't realize that tonos should be treated as an accent in BuildAccented (it is spacing).
----------------------------
revision 1.169
date: 2004/07/01 21:38:36;  author: pfaedit;  state: Exp;  lines: +3 -3
Clean up an ancient message which was built out of 3 sub-strings. It now uses one string which includes format specs.
----------------------------
revision 1.168
date: 2004/06/18 13:13:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Add three new problems to find:
   Glyphs with intersecting contours
   Multiple glyphs with same name
   Multiple glyphs with same unicode code point
----------------------------
revision 1.167
date: 2004/06/18 00:12:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Do a better job fixing up for Greek fonts.
----------------------------
revision 1.166
date: 2004/06/16 22:03:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Can no longer blindly rotate a splineset to avoid an initial flex. If the point has a hintmask (in a type2 font) then we must insure that whatever point we rotate to also has a hintmask. Easier just to turn off flex.
----------------------------
revision 1.165
date: 2004/06/15 19:43:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Build Accented had an uninitialized variable in the bitmap code. Also array refs out of bounds in bytemap code.
----------------------------
revision 1.164
date: 2004/06/14 22:55:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Apply the recommended ordering of ttf/otf tables specified at http://partners.adobe.com/asn/tech/type/opentype/recom.jsp, though I'm blessed if I can see how this makes a difference.
----------------------------
revision 1.163
date: 2004/06/14 15:41:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Improve ItalicConstrained, allow verticals too.
----------------------------
revision 1.162
date: 2004/06/12 04:42:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Autotrace crashed in multi-layered mode.
----------------------------
revision 1.161
date: 2004/06/11 22:06:40;  author: pfaedit;  state: Exp;  lines: +3 -3
Still more bugs in type1 subroutines: references to references.
----------------------------
revision 1.160
date: 2004/06/10 20:47:26;  author: pfaedit;  state: Exp;  lines: +3 -3
Bitmap resolution was being ignored when coming from a script.
----------------------------
revision 1.159
date: 2004/06/04 14:57:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Conversion from mac style to mac postscript style was wrong.
----------------------------
revision 1.158
date: 2004/06/03 22:52:46;  author: pfaedit;  state: Exp;  lines: +3 -3
The preference items controlling accent positioning were not accessable from scripts.
----------------------------
revision 1.157
date: 2004/06/02 14:33:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Rename a variable called "strlen". It confuses gcc.
----------------------------
revision 1.156
date: 2004/06/01 21:20:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Point types were incorrect after conversion from quadratic to cubic.
----------------------------
revision 1.155
date: 2004/06/01 03:39:00;  author: pfaedit;  state: Exp;  lines: +3 -3
On 13-May (build=19-May) I introduced a bug whereby control points could be defaulted to NaN values.
----------------------------
revision 1.154
date: 2004/05/29 14:28:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Improve order2 merges a bit.
----------------------------
revision 1.153
date: 2004/05/29 06:24:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Proplem with parallel lines in expand stroke caused nans which later caused a crash.
----------------------------
revision 1.152
date: 2004/05/29 00:27:58;  author: pfaedit;  state: Exp;  lines: +2 -2
And a warning about POST resources too.
----------------------------
revision 1.151
date: 2004/05/28 22:13:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Damn. Still problems with WinAscent/Descent. This time sfd files didn't save them properly so that they'd be wrong after loading a sfd file.
----------------------------
revision 1.150
date: 2004/05/28 16:37:17;  author: pfaedit;  state: Exp;  lines: +3 -3
FontView & scripting import insisted on b&w images. Not sure why.
----------------------------
revision 1.149
date: 2004/05/28 02:52:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't let users create a type1 font in a mac resource wrapper if they aren't creating at least on NFNT at the same time. Also warn that NFNTs are otherwise obsolete.
----------------------------
revision 1.148
date: 2004/05/28 02:50:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops we weren't parsing the font matrix properly. I don't think we use it ever,
but let's get it right anyway.
----------------------------
revision 1.147
date: 2004/05/28 02:49:38;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops the mac name matchin improvements didn't work for fonts where the name was the same as the base name.
----------------------------
revision 1.146
date: 2004/05/25 15:33:39;  author: pfaedit;  state: Exp;  lines: +2 -2
FF was confused by initial (or multiple) spaces in OTF class lists.
----------------------------
revision 1.145
date: 2004/05/25 15:28:51;  author: pfaedit;  state: Exp;  lines: +3 -3
FF would crash when trying to change the tag of a contextual or chaining sub.
----------------------------
revision 1.144
date: 2004/05/25 02:31:42;  author: pfaedit;  state: Exp;  lines: +2 -2
Do a better job of identifying font names inside mac FONDs (for loading kerning info).
----------------------------
revision 1.143
date: 2004/05/25 02:28:45;  author: pfaedit;  state: Exp;  lines: +3 -3
When converting a point into a tangent point, the prev cp could get set to the next cp when editing a quadratic font.
----------------------------
revision 1.142
date: 2004/05/24 05:11:45;  author: pfaedit;  state: Exp;  lines: +2 -2
The MergeKern scripting command was out of date.
And while we're at it, let's improve the fontname matching in FONDs a bit.
----------------------------
revision 1.141
date: 2004/05/23 21:14:15;  author: pfaedit;  state: Exp;  lines: +2 -2
At Valek's suggestion, add a popup to the open font dlg giving the name(s) of the font(s) contained in a given file.
----------------------------
revision 1.140
date: 2004/05/23 19:56:59;  author: pfaedit;  state: Exp;  lines: +2 -2
We weren't loading background images.
----------------------------
revision 1.139
date: 2004/05/23 19:55:52;  author: pfaedit;  state: Exp;  lines: +3 -3
Reorder choice of accent variants.
----------------------------
revision 1.138
date: 2004/05/20 15:47:55;  author: pfaedit;  state: Exp;  lines: +3 -3
Scripting wasn't tweaked enough to support the new FOND interface.
----------------------------
revision 1.137
date: 2004/05/20 05:43:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new command: Paste After, which allows me to build up words easily. I doubt many people will want to do this, so it is not visible by default and must be configured in configure-pfaedit.h
----------------------------
revision 1.136
date: 2004/05/19 17:06:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Typo in saving an AMFM file (AFM for MultiMaster).
----------------------------
revision 1.135
date: 2004/05/19 14:46:18;  author: pfaedit;  state: Exp;  lines: +3 -3
New way of making apple font families. Produce multiple FONDs in the same file.
----------------------------
revision 1.134
date: 2004/05/19 14:44:05;  author: pfaedit;  state: Exp;  lines: +3 -3
Yesterday's hidden glyph patch was wrong.
----------------------------
revision 1.133
date: 2004/05/17 22:24:11;  author: pfaedit;  state: Exp;  lines: +3 -3
FontForge would sometimes use the space character as one of the two initial extra glyphs that truetype wants and leave us with a 0 width space.
----------------------------
revision 1.132
date: 2004/05/16 21:59:38;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge was complaining about "stroke too big, may self intersect" at the wrong times.
----------------------------
revision 1.131
date: 2004/05/16 21:31:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Preserve whether a patch is open or closed when loading a PaintType=1 font. Perhaps we should stroke it, but I think probably better not.
----------------------------
revision 1.130
date: 2004/05/16 20:43:57;  author: pfaedit;  state: Exp;  lines: +3 -3
Change the behavior of the pointer tool so that if the <Alt> key is depressed, it will not automatically join two contours.
----------------------------
revision 1.129
date: 2004/05/15 00:39:55;  author: pfaedit;  state: Exp;  lines: +3 -3
KANOU suggests a command to make selected splines into line-segments.
----------------------------
revision 1.128
date: 2004/05/13 16:13:39;  author: pfaedit;  state: Exp;  lines: +3 -3
I used to calculate default control points by means of angles. This wasn't
particularly efficient and was easily confused. I now do it with vectors
and it seems to work better.
----------------------------
revision 1.127
date: 2004/05/13 01:26:17;  author: pfaedit;  state: Exp;  lines: +3 -3
Do something to deal with complexities of winAscent/Descent
----------------------------
revision 1.126
date: 2004/05/11 16:45:21;  author: pfaedit;  state: Exp;  lines: +3 -3
New Japanese UI from KANOU.
----------------------------
revision 1.125
date: 2004/05/09 15:27:51;  author: pfaedit;  state: Exp;  lines: +2 -2
When we have an [*] Enable check box in a feature/setting dlg in a Mutually exclusive feature, then make sure that setting the check box clears any other enabled settings.
----------------------------
revision 1.124
date: 2004/05/09 15:13:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Back out a bit of the GSUB->state machine conversion changes that I added last week. A bit too extreme I think.
----------------------------
revision 1.123
date: 2004/05/09 06:44:29;  author: pfaedit;  state: Exp;  lines: +2 -2
search didn't work in order2 fonts.
----------------------------
revision 1.122
date: 2004/05/09 05:55:28;  author: pfaedit;  state: Exp;  lines: +2 -2
Sivan says that hebrew kerns are broken again.
----------------------------
revision 1.121
date: 2004/05/09 04:53:30;  author: pfaedit;  state: Exp;  lines: +2 -2
The documentation for OS/2.winAscent containts incompatible statements. If I attempt to do what it initially defines winAscent to be then I break non-latin fonts. So I will force winAscent to be hhea.ascent.
----------------------------
revision 1.120
date: 2004/05/09 04:32:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. We were putting seac commands inside subroutines and then invoking them and trying to call other routines afterwards.
----------------------------
revision 1.119
date: 2004/05/09 01:34:19;  author: pfaedit;  state: Exp;  lines: +2 -2
If we wanted to put a glyph with references into a subroutine we failed miserably.
----------------------------
revision 1.118
date: 2004/05/09 00:14:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Create a new command from the font view which will for each selected character,
try to find any copies of that character in other characters, and if it finds any then will replace them with a reference to the character. A special case of find and replace that is common and needs to be easy for users to do.
----------------------------
revision 1.117
date: 2004/05/07 01:17:58;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix some bugs in transforming OT contextual substitutions to Mac State Machines.
----------------------------
revision 1.116
date: 2004/05/06 04:48:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops the strings in the first pane of the contextual/chaining dialog were
out of date and did not reflect reality.
----------------------------
revision 1.115
date: 2004/05/06 03:38:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow users to express Simplify() (scripting command's) error term as a fraction.
----------------------------
revision 1.114
date: 2004/05/06 03:02:52;  author: pfaedit;  state: Exp;  lines: +2 -2
More typos in the ghost hint code.
----------------------------
revision 1.113
date: 2004/05/06 02:04:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Was not setting the r2l flag properly when generating 'morx' sub-tables for simple substitutions nor ligatures.
----------------------------
revision 1.112
date: 2004/05/04 00:02:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Tfm files have an extension mechanism for when the lig/kern sub-table needs to be big. FontForge did not support it. It should have.
----------------------------
revision 1.111
date: 2004/05/03 05:08:33;  author: pfaedit;  state: Exp;  lines: +2 -2
New french translation from Pierre Hanser (for MM strings).
----------------------------
revision 1.110
date: 2004/05/02 23:29:13;  author: pfaedit;  state: Exp;  lines: +2 -2
Problem generating gdef table in CID keyed fonts if a class began in one subfont and ended in another.
----------------------------
revision 1.109
date: 2004/05/02 15:53:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Pierre Hanser points out some oddities in nomen-en.c
----------------------------
revision 1.108
date: 2004/05/02 15:44:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Memory got screwed up when pasting something containing a reference in multi-layered mode.
----------------------------
revision 1.107
date: 2004/05/02 07:18:07;  author: pfaedit;  state: Exp;  lines: +3 -3
Kevin Schoedel points out an uninitialized variable in the kern class dlg.
----------------------------
revision 1.106
date: 2004/05/02 07:13:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Various fixes to tfm input/output.
----------------------------
revision 1.105
date: 2004/04/27 22:19:02;  author: pfaedit;  state: Exp;  lines: +3 -3
People don't like my checkboxes, so let's change the colour used to draw them when set.
----------------------------
revision 1.104
date: 2004/04/26 03:23:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Problems with merging points out of order2 splines (or simplifying).
----------------------------
revision 1.103
date: 2004/04/26 03:19:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, was a crash here.
----------------------------
revision 1.102
date: 2004/04/25 23:43:55;  author: pfaedit;  state: Exp;  lines: +2 -2
Allow user to control whether the ruler window stays on the screen after the completion of a ruler measurement.
Add a couple of entries in the transform dlg, to grab information from the last ruler measurement.
Double clicking on the scale/rotate/flip/skew tools now brings up the transform dlg with the appropriate transformation selected.
----------------------------
revision 1.101
date: 2004/04/25 18:42:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Allow rectangles and ellipses to have different settings of center out.
Add a dlg which allows the user to specify a rect/ellipse exactly (by numbers) rather than dragging one out.
----------------------------
revision 1.100
date: 2004/04/25 06:21:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Clean up point type conversion when the control points are already correct.

Also make the definition of "knownlinear" for a spline a little broader.
----------------------------
revision 1.99
date: 2004/04/25 04:09:42;  author: pfaedit;  state: Exp;  lines: +2 -2
When flickering in and out of compacted mode when generating a font, the displayed bitmap's encodings would get out of sync with those of the font, potentially leading to a crash.
----------------------------
revision 1.98
date: 2004/04/25 04:06:19;  author: pfaedit;  state: Exp;  lines: +2 -2
Bug in the improved cubic->quadratic conversion of 18-Apr.
----------------------------
revision 1.97
date: 2004/04/25 00:19:20;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge had problems with maximized windows. They aren't an integral number of grid cells and we can't resize them.
----------------------------
revision 1.96
date: 2004/04/25 00:18:21;  author: pfaedit;  state: Exp;  lines: +3 -3
More autohint fixes.
----------------------------
revision 1.95
date: 2004/04/21 17:18:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch by E.J. Neafsey, misspelled svg keyword.
----------------------------
revision 1.94
date: 2004/04/21 16:59:15;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from Andrey Panov. Some Cyrillic characters are expected to have non-standard heights and should not be included in bluevalues calculations.
----------------------------
revision 1.93
date: 2004/04/21 16:55:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Yesterday's ghost hnt patch had a typo.
----------------------------
revision 1.92
date: 2004/04/20 02:16:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix some uninitialized variables in metafont.
----------------------------
revision 1.91
date: 2004/04/20 01:05:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in code for adding ghost hints at curves.
----------------------------
revision 1.90
date: 2004/04/18 19:07:39;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the user control over whether s/he sees point numbers on the screen. Extend to cubic splines too.
----------------------------
revision 1.89
date: 2004/04/18 19:05:14;  author: pfaedit;  state: Exp;  lines: +2 -2
FontForge did not calculate the MaxCompositePointCount field of 'maxp' properly (if the source was a set of cubic splines. It returned the point count in the cubic world.)
----------------------------
revision 1.88
date: 2004/04/18 19:03:11;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a bit more protection when parsing GPOS/GSUB. Make sure we don't run off the end of the table.
----------------------------
revision 1.87
date: 2004/04/18 07:24:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Our cubic->quadratic conversion could yield spline segements whose endpoints were <1 unit apart. Since ttf rounds all coords to ints, this meant the endpoints would appear on top of each other (font val. complains about this, and it is stupid).
----------------------------
revision 1.86
date: 2004/04/18 07:17:21;  author: pfaedit;  state: Exp;  lines: +2 -2
We were throwing out some perfectly good test splines when we converted from cubic to quadradic splines. Leading to an excessive number of intermediate points and often straight spline segments.
----------------------------
revision 1.85
date: 2004/04/18 06:19:31;  author: pfaedit;  state: Exp;  lines: +2 -2
'hhea'.caretSlopeRun should match tan(italicAngle).
----------------------------
revision 1.84
date: 2004/04/18 05:30:11;  author: pfaedit;  state: Exp;  lines: +2 -2
More protection against bad classes when parsing GPOS/GSUB. In particular mangal.ttf has a bad GSUB which used to crash us.
----------------------------
revision 1.83
date: 2004/04/18 05:27:26;  author: pfaedit;  state: Exp;  lines: +2 -2
Lcarets should have ignored the sli, but they didn't.
----------------------------
revision 1.82
date: 2004/04/18 05:25:46;  author: pfaedit;  state: Exp;  lines: +2 -2
Edit->Merge didn't work properly on order2 splines.
----------------------------
revision 1.81
date: 2004/04/18 05:24:06;  author: pfaedit;  state: Exp;  lines: +2 -2
Uninitialized variable in 'name' table creation.
----------------------------
revision 1.80
date: 2004/04/18 05:23:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Fix a couple of bugs in dealing with references in multi-layered editing.
----------------------------
revision 1.79
date: 2004/04/11 14:55:23;  author: pfaedit;  state: Exp;  lines: +3 -3
fix some spelling mistakes.
----------------------------
revision 1.78
date: 2004/04/11 05:50:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Markus Schwarzenberg points out that the ScaleToEm scripting command sometimes doesn't.
----------------------------
revision 1.77
date: 2004/04/11 05:43:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Version patch was wrong. Pointed out by Pierre Hanser.
----------------------------
revision 1.76
date: 2004/04/09 13:33:51;  author: pfaedit;  state: Exp;  lines: +2 -2
".null" was appearing twice in the 'post' table when saving a ttf file a second time.
----------------------------
revision 1.75
date: 2004/04/09 13:32:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Yesterday;s patch didn't work if the font had no ttf names to start with.
----------------------------
revision 1.74
date: 2004/04/09 02:39:30;  author: pfaedit;  state: Exp;  lines: +2 -2
The flatten commands didn't presever the 'name' or 'OS/2' tables.
----------------------------
revision 1.73
date: 2004/04/09 02:38:22;  author: pfaedit;  state: Exp;  lines: +3 -3
Redo the way the 'name' table is generated.
----------------------------
revision 1.72
date: 2004/04/09 02:36:27;  author: pfaedit;  state: Exp;  lines: +3 -3
The rangeShift field of the 'kern' table had the wrong sign.
----------------------------
revision 1.71
date: 2004/04/06 06:03:19;  author: pfaedit;  state: Exp;  lines: +3 -3
Check for a reference to a null char when pasting.
----------------------------
revision 1.70
date: 2004/04/04 19:33:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops, typo in hintmask patch.
----------------------------
revision 1.69
date: 2004/04/04 18:55:19;  author: pfaedit;  state: Exp;  lines: +2 -2
MS makes some weird restrictions on the format of the GSUB table when doing vertical writing.
Patch from KANOU.
----------------------------
revision 1.68
date: 2004/04/04 18:47:44;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch from KANOU fixing parsing of format 2 bitmaps.
----------------------------
revision 1.67
date: 2004/04/04 18:35:25;  author: pfaedit;  state: Exp;  lines: +2 -2
Put a real (well as real as I let them be) version number in output files.
----------------------------
revision 1.66
date: 2004/04/04 18:27:03;  author: pfaedit;  state: Exp;  lines: +3 -3
We used to create a hintmask associated with the first point on a glyph even if we did not need one. Clean that up.
Put in code that avoids outputting these unneeded hintmasks.
Oops, we should output a hinthm operator even if there are no h conflicts but are v conflicts.
----------------------------
revision 1.65
date: 2004/04/01 06:31:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Get rid of duplicate strings in the sid table.
----------------------------
revision 1.64
date: 2004/03/29 23:51:03;  author: pfaedit;  state: Exp;  lines: +2 -2
More bugs with CFF encoding vectors (one introduced yesterday).
----------------------------
revision 1.63
date: 2004/03/29 23:48:43;  author: pfaedit;  state: Exp;  lines: +2 -2
In multilayered mode, the Revert Glyph command left memory in a bad state.
----------------------------
revision 1.62
date: 2004/03/29 23:47:34;  author: pfaedit;  state: Exp;  lines: +3 -3
If a glyph was used as a reference, and we decided to put it in a subroutine (type1 output) and the glyph had hint conflicts, then it never got its first group of hints set.
----------------------------
revision 1.61
date: 2004/03/29 06:42:14;  author: pfaedit;  state: Exp;  lines: +3 -3
Bug in both reading and writing of cff encodings (off by one error, forgot to ignore .notdef).
----------------------------
revision 1.60
date: 2004/03/27 19:29:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Reset the typoAscender (if set) when scaling a font from the font view.
----------------------------
revision 1.59
date: 2004/03/27 04:47:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Display the phantom points, and be prepared for either 2 or 4 of them.
----------------------------
revision 1.58
date: 2004/03/27 04:45:22;  author: pfaedit;  state: Exp;  lines: +2 -2
Drawing a rectangle from center out didn't work.
----------------------------
revision 1.57
date: 2004/03/27 03:53:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix a couple of memory problems with closing debugger.
----------------------------
revision 1.56
date: 2004/03/27 03:51:35;  author: pfaedit;  state: Exp;  lines: +3 -3
Wasn't numbering points properly when it added new ones.
----------------------------
revision 1.55
date: 2004/03/26 03:02:14;  author: pfaedit;  state: Exp;  lines: +2 -2
Give the user a bit of control about scaling kern pairs too.
----------------------------
revision 1.54
date: 2004/03/25 19:25:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Transform kerning data from the fontview.
----------------------------
revision 1.53
date: 2004/03/25 18:27:21;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops. Typo in cvt editor. If there were a 'cvt ' table, editor created a blank one. If there weren't, editor crashed. Cases mixed.
----------------------------
revision 1.52
date: 2004/03/25 04:01:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Patch a leak when reading features from GPOS/GSUB.
----------------------------
revision 1.51
date: 2004/03/24 18:30:42;  author: pfaedit;  state: Exp;  lines: +3 -3
Reading in a kerning class with more second character classes than first character classes screwed up memory (and often caused a crash).
----------------------------
revision 1.50
date: 2004/03/24 06:48:01;  author: pfaedit;  state: Exp;  lines: +3 -3
FontForge would crash on bdf files with illegal bounding boxes.
----------------------------
revision 1.49
date: 2004/03/23 01:39:25;  author: pfaedit;  state: Exp;  lines: +2 -2
When FontForge had to convert a reference to inline splines during Type1 output, any translation applied to the reference got lost.
----------------------------
revision 1.48
date: 2004/03/22 17:14:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Patch from R.L. Horn to fix stack overflows in type3 fonts.
----------------------------
revision 1.47
date: 2004/03/22 03:52:52;  author: pfaedit;  state: Exp;  lines: +2 -2
Sync up.
----------------------------
revision 1.46
date: 2004/03/21 19:12:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Take care of the case where the post table has more names than there are glyphs in the file.
----------------------------
revision 1.45
date: 2004/03/21 19:11:32;  author: pfaedit;  state: Exp;  lines: +2 -2
Update some of my icons to look more like a fontforge.
----------------------------
revision 1.44
date: 2004/03/21 19:10:34;  author: pfaedit;  state: Exp;  lines: +2 -2
More multi master fixes.
----------------------------
revision 1.43
date: 2004/03/21 19:10:09;  author: pfaedit;  state: Exp;  lines: +3 -3
I was pointing to the wrong dtd file for svg.
----------------------------
revision 1.42
date: 2004/03/21 07:20:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Extend ps interpreter to support more looping constructs
				more current/set pairs
Fix matrix inversion of matrices with non-0 translations.
----------------------------
revision 1.41
date: 2004/03/20 21:58:15;  author: pfaedit;  state: Exp;  lines: +3 -3
Various fixes to multi-layered editing.
----------------------------
revision 1.40
date: 2004/03/19 05:08:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Manage instructions properly within apple distortable fonts. There should be only one copy of the instructions (in the normal font), but all instances should share them. (Save for 'prep' and 'fpgm' tables. But the 'cvt ' table can be different from instance to instance.
----------------------------
revision 1.39
date: 2004/03/18 05:04:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Get "Blend to new font" working.
Clean up some problems with private dicts in adobe mm fonts.
(I think we now support apple's distortable fonts).
----------------------------
revision 1.38
date: 2004/03/17 00:58:31;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops new fonts need to be the same order as the distortable font.
----------------------------
revision 1.37
date: 2004/03/17 00:27:45;  author: pfaedit;  state: Exp;  lines: +3 -3
MM Info should now handle apple's distortable fonts as well as Adobe's.
----------------------------
revision 1.36
date: 2004/03/15 20:05:00;  author: pfaedit;  state: Exp;  lines: +3 -3
Dragging and dropping a character from the fontview to the char info dlg (to create a substitution) created a crash instead.
----------------------------
revision 1.35
date: 2004/03/15 02:58:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Ok, we can now read in Skia, and save it out as something that we recognize as a distortable font.
----------------------------
revision 1.34
date: 2004/03/11 05:35:02;  author: pfaedit;  state: Exp;  lines: +2 -2
Add some more translations for things like "Bold" (dutch, swedish, norwegian)
----------------------------
revision 1.33
date: 2004/03/11 05:33:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Ok, now we can parse the mac specific stuff in variation tables (axis names, named instances, etc.)
And we can save it to an sfd file.
----------------------------
revision 1.32
date: 2004/03/10 23:06:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Add code to display the friendly name of a four letter tag as a popup msg in the new substution (etc.) dlg.
----------------------------
revision 1.31
date: 2004/03/10 22:58:54;  author: pfaedit;  state: Exp;  lines: +3 -3
Holding down the control key will make a popup remain.
----------------------------
revision 1.30
date: 2004/03/10 20:28:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Still getting the windows bounding box wrong. This time for cid fonts.
----------------------------
revision 1.29
date: 2004/03/10 19:20:12;  author: pfaedit;  state: Exp;  lines: +3 -3
Show ATT failed to display the names of simple positioning features.
----------------------------
revision 1.28
date: 2004/03/10 06:28:30;  author: pfaedit;  state: Exp;  lines: +2 -2
I broke auto hint when Werner pointed out that hintmasks ran backwards. I tried to correct this in autohint, and ended up reversing the direction of some contours.
----------------------------
revision 1.27
date: 2004/03/10 01:30:04;  author: pfaedit;  state: Exp;  lines: +2 -2
A couple of corrections to my lists of opentype tags. Remove all the fake mac tags I added before I used mac featrue/settings. 'rphf' was incorrectly called 'reph'.
----------------------------
revision 1.26
date: 2004/03/09 22:25:11;  author: pfaedit;  state: Exp;  lines: +2 -2
With a tall font and a lot of att entries, the show att dlg would overflow a short and write in the wrong place. The real bug was that it should have stopped long before.
Also we set the vertical scroll bar to have the horizontal scroll bars bounds at one point.
----------------------------
revision 1.25
date: 2004/03/09 20:57:08;  author: pfaedit;  state: Exp;  lines: +2 -2
Another approach of naming CIDs.
----------------------------
revision 1.24
date: 2004/03/09 19:54:03;  author: pfaedit;  state: Exp;  lines: +2 -2
We failed to draw some rotated glyphs properly in the display lines of the fontview. (in cid keyed fonts).
----------------------------
revision 1.23
date: 2004/03/09 19:53:10;  author: pfaedit;  state: Exp;  lines: +2 -2
Disable the Default ATT menu if nothing is selected.
----------------------------
revision 1.22
date: 2004/03/09 19:52:18;  author: pfaedit;  state: Exp;  lines: +3 -3
The dlg to create new or modify old mac->ot mappings (under prefs) never exited.
----------------------------
revision 1.21
date: 2004/03/09 05:59:27;  author: pfaedit;  state: Exp;  lines: +2 -2
Make Generate fonts use a more realistic extension than ".mult". We use %s.pfb now (the %s can be anywhere in the filename, and we'll accept .pfa too).
----------------------------
revision 1.20
date: 2004/03/09 05:25:18;  author: pfaedit;  state: Exp;  lines: +2 -2
Make the scripting command FlattenByCMap abort if it fails.
----------------------------
revision 1.19
date: 2004/03/09 04:50:47;  author: pfaedit;  state: Exp;  lines: +2 -2
Show ATT didn't work with cid-keyed fonts.
----------------------------
revision 1.18
date: 2004/03/09 04:20:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Interconversion between apple & opentype small caps used wrong mac feature/setting.
----------------------------
revision 1.17
date: 2004/03/09 03:52:57;  author: pfaedit;  state: Exp;  lines: +2 -2
Werner sent me valgrind output that made it look as though this might be needed. Though it should be guarded against elsewhere...
----------------------------
revision 1.16
date: 2004/03/09 03:02:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new command Element->Show Dependents->Substitutions to show what glyphs make use of this glyph in substitutions (so "i" would say "fi" used it as a 'liga', "a.vert" would say that "a" used it as a 'vrt2')
----------------------------
revision 1.15
date: 2004/03/09 03:00:53;  author: pfaedit;  state: Exp;  lines: +2 -2
Char Info was not available in cid keyed fonts.
----------------------------
revision 1.14
date: 2004/03/09 02:59:33;  author: pfaedit;  state: Exp;  lines: +2 -2
The Flatten CID commands didn't work when subfonts were compacted.
----------------------------
revision 1.13
date: 2004/03/09 02:58:24;  author: pfaedit;  state: Exp;  lines: +3 -3
We do a reasonable job parsing the *var tables now.
----------------------------
revision 1.12
date: 2004/03/09 02:57:23;  author: pfaedit;  state: Exp;  lines: +2 -2
We would occasionally get internal errors when moving points to far in order2 editing.
----------------------------
revision 1.11
date: 2004/03/07 23:09:43;  author: pfaedit;  state: Exp;  lines: +2 -2
Include the current encoding on the title bar of the font.
Also mark whether the font has changed.
----------------------------
revision 1.10
date: 2004/03/07 19:13:22;  author: pfaedit;  state: Exp;  lines: +3 -3
When parsing a mac contextual substitution statemachine we made an eggregious error in guessing what classes could be active for mark substitutions. Be much more liberal in what we take now. (Now we have far too many subs, but that's better than missing some).
----------------------------
revision 1.9
date: 2004/03/07 01:11:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. The change the other day to fix the winascent actually broke it.
----------------------------
revision 1.8
date: 2004/03/07 01:02:20;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. got the wrong language when loading a mac unicode 'name' table entry.
----------------------------
revision 1.7
date: 2004/03/07 00:49:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Fix undef variable
Fix potential crash when saving multiple.
----------------------------
revision 1.6
date: 2004/03/06 22:21:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Add a new scripting command to flatten a cid file.
----------------------------
revision 1.5
date: 2004/03/06 22:05:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Flattening a cid font from a script caused a crash when it attempted to change the title of the (non-existant) window.
----------------------------
revision 1.4
date: 2004/03/06 21:55:13;  author: pfaedit;  state: Exp;  lines: +2 -2
when saving multiple, fontforge was freeing the fonts hash table multiple times.
----------------------------
revision 1.3
date: 2004/03/06 21:20:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Flattening a font lost a lot of state. In particular it lost the script/lang list which meant that any ligatures or substitutions could cause crashes.
----------------------------
revision 1.2
date: 2004/03/03 20:06:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Oops, when reading class kerning sub-tables from a 'kern' table, we lost count of how many subtables we should read.
Also we were happy to read all kerning data. Should only have been reading that with tuple index == 0.
----------------------------
revision 1.1
date: 2004/03/02 22:35:57;  author: pfaedit;  state: Exp;
Initial add.
----------------------------
revision 1.675.2.38
date: 2005/07/23 03:01:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Incorrect error error message when parsing 'name' table.
----------------------------
revision 1.675.2.37
date: 2005/07/22 21:01:11;  author: pfaedit;  state: Exp;  lines: +3 -3
Add some extra browsers to the default list.
----------------------------
revision 1.675.2.36
date: 2005/07/21 22:56:00;  author: pfaedit;  state: Exp;  lines: +2 -2
still not quite right in calculating bitmap size.
----------------------------
revision 1.675.2.35
date: 2005/07/21 18:09:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Using the kerning pair closeup dlg to create a new kerning pair caused a crash (eventually).
----------------------------
revision 1.675.2.34
date: 2005/07/21 17:29:53;  author: pfaedit;  state: Exp;  lines: +2 -2
When saving a block of ttf bitmap glyphs all with about the same metrics,
we forgot the bitmap depth when entering the glyph size. Result single bit bitmaps were thought to be 8 times too big and we only got every eighth glyph.
----------------------------
revision 1.675.2.33
date: 2005/07/21 13:19:56;  author: pfaedit;  state: Exp;  lines: +3 -3
Kern pairs were not scaled to emsize when loading from an afm file.
----------------------------
revision 1.675.2.32
date: 2005/07/21 03:44:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Revert glyph broke with multilayer. And had an even older bug.
----------------------------
revision 1.675.2.31
date: 2005/07/20 21:23:12;  author: pfaedit;  state: Exp;  lines: +2 -2
GetFontNames returned an uninitialized value on bad ttf files.
----------------------------
revision 1.675.2.30
date: 2005/07/20 18:54:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Cleanup behavior of generating ttf bitmaps from a script.
----------------------------
revision 1.675.2.29
date: 2005/07/20 02:58:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Transform/ScaleToEm didn't scale vertical advance.
----------------------------
revision 1.675.2.28
date: 2005/07/19 22:46:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Still problems detecting where a glyph in a subroutine ends.
----------------------------
revision 1.675.2.27
date: 2005/07/19 13:47:16;  author: pfaedit;  state: Exp;  lines: +3 -3
When saving multiple, make sure we don't get extraneous kerns. (to glyphs not in the current sub-font).
----------------------------
revision 1.675.2.26
date: 2005/07/19 02:33:22;  author: pfaedit;  state: Exp;  lines: +2 -2
We didn't test the right thing when figuring out where to set the start of a subroutine continaing refs.
----------------------------
revision 1.675.2.25
date: 2005/07/18 22:38:27;  author: pfaedit;  state: Exp;  lines: +3 -3
A bit of extranious code snuck in to the kern class dlg due to the recent selection changes.
----------------------------
revision 1.675.2.24
date: 2005/07/17 20:19:50;  author: pfaedit;  state: Exp;  lines: +3 -3
Kern class selections didn't deal with scrolling.
----------------------------
revision 1.675.2.23
date: 2005/07/15 20:58:03;  author: pfaedit;  state: Exp;  lines: +3 -3
Context chain dlg had problems with empty patterns (no terminal NUL in empty string used to represent them).
----------------------------
revision 1.675.2.22
date: 2005/07/13 23:25:16;  author: pfaedit;  state: Exp;  lines: +2 -2
EditData button in contextual subs disabled at wrong times.
----------------------------
revision 1.675.2.21
date: 2005/07/13 23:15:12;  author: pfaedit;  state: Exp;  lines: +2 -2
Transforming by a negative scale factor screwed up the hints.
----------------------------
revision 1.675.2.20
date: 2005/07/13 22:29:27;  author: pfaedit;  state: Exp;  lines: +3 -3
Add move up/down buttons to the kerning class dlg (class lists area)
Use the selection from the class lists to highlight offsets.
----------------------------
revision 1.675.2.19
date: 2005/07/12 22:45:16;  author: pfaedit;  state: Exp;  lines: +3 -3
Bad loop bounds check.
----------------------------
revision 1.675.2.18
date: 2005/07/11 14:55:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Print sample did not handle kerning by classes.
----------------------------
revision 1.675.2.17
date: 2005/07/11 05:22:27;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.675.2.16
date: 2005/07/11 01:17:01;  author: pfaedit;  state: Exp;  lines: +2 -2
When changing lists they should not scroll back to the beginning.
----------------------------
revision 1.675.2.15
date: 2005/07/11 00:02:43;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.675.2.14
date: 2005/07/08 21:16:17;  author: pfaedit;  state: Exp;  lines: +2 -2
Apply Substitutions was badly broken when ff compiled with multilayer.
----------------------------
revision 1.675.2.13
date: 2005/07/08 20:13:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Kern Pair dlg looked at garbage memory when it closed (and crashed sometimes).
----------------------------
revision 1.675.2.12
date: 2005/07/08 04:46:31;  author: pfaedit;  state: Exp;  lines: +3 -3
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.
----------------------------
revision 1.675.2.11
date: 2005/07/05 22:31:10;  author: pfaedit;  state: Exp;  lines: +3 -3
One more attempt to rule out absurd results in simplify().
----------------------------
revision 1.675.2.10
date: 2005/07/03 23:21:38;  author: pfaedit;  state: Exp;  lines: +2 -2
if the lsb/rsb dlg was given a negative value it complained about negative widths. (whether the width would have been negative or not).
----------------------------
revision 1.675.2.9
date: 2005/07/03 23:07:15;  author: pfaedit;  state: Exp;  lines: +2 -2
$italicangle has been broken since I added reals to scripting.
----------------------------
revision 1.675.2.8
date: 2005/07/03 21:58:46;  author: pfaedit;  state: Exp;  lines: +2 -2
The kernclass dialog did not handle deleted classes properly.
----------------------------
revision 1.675.2.7
date: 2005/07/03 20:22:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Add ability to undo hints.
----------------------------
revision 1.675.2.6
date: 2005/07/01 00:28:56;  author: pfaedit;  state: Exp;  lines: +2 -2
Once again starting a browser on windows is broken.
----------------------------
revision 1.675.2.5
date: 2005/07/01 00:13:44;  author: pfaedit;  state: Exp;  lines: +2 -2
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.
----------------------------
revision 1.675.2.4
date: 2005/06/30 22:56:46;  author: pfaedit;  state: Exp;  lines: +2 -2
An open path consisting of a single point caused replace with reference to crash.
----------------------------
revision 1.675.2.3
date: 2005/06/30 22:45:24;  author: pfaedit;  state: Exp;  lines: +2 -2
Generating a postscript resource font on the mac from a script did not work.
----------------------------
revision 1.675.2.2
date: 2005/06/30 17:34:30;  author: pfaedit;  state: Exp;  lines: +3 -3
Werner points out that afm files generated by FontForge still claim to have been made by pfaedit. Oops.
----------------------------
revision 1.675.2.1
date: 2005/06/27 17:13:25;  author: pfaedit;  state: Exp;  lines: +3 -3
Didn't parse user defined encodings properly and often omitted the first glyph.
----------------------------
revision 1.965.2.34
date: 2005/12/02 00:12:49;  author: pfaedit;  state: Exp;  lines: +2 -2
I added a check in parsing tfm files to make sure I didn't read outside the boun
ds of the kern table. But the table size was expressed in ints (32 bit units), a
nd my index was in bytes, so I frequently exceded it.
----------------------------
revision 1.965.2.33
date: 2005/12/01 23:28:37;  author: pfaedit;  state: Exp;  lines: +2 -2
When we had a reference in a ttf font which did not do point matching, and we used Get Info on the ref, then pressing [OK] would produce an inappropriate error.
----------------------------
revision 1.965.2.32
date: 2005/12/01 23:25:51;  author: pfaedit;  state: Exp;  lines: +3 -3
When using endchar as seac didn't work in an otf font (only in a bare cff font)
----------------------------
revision 1.965.2.31
date: 2005/11/16 01:14:51;  author: pfaedit;  state: Exp;  lines: +3 -3
Improve behavior of simplify when a curve point has no cp in one direction.
----------------------------
revision 1.965.2.30
date: 2005/11/13 14:13:54;  author: pfaedit;  state: Exp;  lines: +3 -3
We were getting multiple error windows.
----------------------------
revision 1.965.2.29
date: 2005/11/12 14:51:45;  author: pfaedit;  state: Exp;  lines: +3 -3
Don't allow users to add instructions to glyphs containing both references and contours.
----------------------------
revision 1.965.2.28
date: 2005/11/12 02:35:46;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in remove overlap caused bad bug in feta26
----------------------------
revision 1.965.2.27
date: 2005/11/09 20:13:44;  author: pfaedit;  state: Exp;  lines: +3 -3
Further tweaks to the simplify patch.
----------------------------
revision 1.965.2.26
date: 2005/11/08 06:25:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov finds another bug
	If we change the unicode enc of a glyph, then we must also change the
	unicode enc of all refs to that glyph.
----------------------------
revision 1.965.2.25
date: 2005/11/08 05:45:38;  author: pfaedit;  state: Exp;  lines: +2 -2
Panov turns up two more bugs:
	If an sfd file contains an unencoded glyph, then ff crashes when
		reading that sfd file.
	Force Encoding->Original crashed if there were a bitmap font missing some glyphs (ie. the piecemeal display font).
----------------------------
revision 1.965.2.24
date: 2005/11/08 04:46:10;  author: pfaedit;  state: Exp;  lines: +3 -3
Panov has found yet another error in simplify.
----------------------------
revision 1.965.2.23
date: 2005/11/04 21:25:48;  author: pfaedit;  state: Exp;  lines: +3 -3
Some old sfd files (CaslonItalic) did not have a SplineChar for every bitmap char, and this caused crashes.
----------------------------
revision 1.965.2.22
date: 2005/11/04 04:43:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Sometimes we would get both an EUC-CN and a GB2312packed entry in the Encoding menu.
----------------------------
revision 1.965.2.21
date: 2005/11/04 03:53:21;  author: pfaedit;  state: Exp;  lines: +2 -2
Recognize that GB12345 should be output (in ttf cmap) as GB2312.
----------------------------
revision 1.965.2.20
date: 2005/11/04 03:41:08;  author: pfaedit;  state: Exp;  lines: +3 -3
Add (configurable) support for gb12345.
----------------------------
revision 1.965.2.19
date: 2005/10/28 22:31:02;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a new scripting function NearlyLines which converts things which are almost lines into lines.
Make AddExtrema ignore extrema which are too close to the endpoints.
----------------------------
revision 1.965.2.18
date: 2005/10/25 21:10:46;  author: pfaedit;  state: Exp;  lines: +3 -3
We were dumping all opentype ligatures into an ofm(tfm) file. Not a good idea. In almost all cases "No" should not become the numero glyph.
Omega seems to believe that 0 width glyphs don't exist. This means it thinks none of the combining accents exist. So we hack a zero width (on all real glyphs) to be the smallest positive width.
----------------------------
revision 1.965.2.17
date: 2005/10/24 21:46:48;  author: pfaedit;  state: Exp;  lines: +2 -2
The coalesce lookups patch back in July broke parsing of alternate and multiple lookups. These lookups always got a tag of 0 ('^@^@^@^@').
----------------------------
revision 1.965.2.16
date: 2005/10/24 20:51:41;  author: pfaedit;  state: Exp;  lines: +2 -2
The ClearTable scripting command failed to parse the table tag properly.
----------------------------
revision 1.965.2.15
date: 2005/10/24 15:51:35;  author: pfaedit;  state: Exp;  lines: +2 -2
Add to scripting routines to read and write a string from/to a file. One string per file.
----------------------------
revision 1.965.2.14
date: 2005/10/24 15:12:58;  author: pfaedit;  state: Exp;  lines: +2 -2
Grr. Another typo in ofm generation.
----------------------------
revision 1.965.2.13
date: 2005/10/24 14:22:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Someone wants longer strings in scripts. Make the parser's limit be 256 rather than 100.
----------------------------
revision 1.965.2.12
date: 2005/10/23 21:35:58;  author: pfaedit;  state: Exp;  lines: +3 -3
David Binderman points out an out of bounds array reference in cvexport that has been there for years. Gleep.
----------------------------
revision 1.965.2.11
date: 2005/10/21 22:58:32;  author: pfaedit;  state: Exp;  lines: +3 -3
Add scripting commands for manipulating ttf instructions.
----------------------------
revision 1.965.2.10
date: 2005/10/21 03:17:41;  author: pfaedit;  state: Exp;  lines: +3 -3
Daniel Gillmor points out there is no way to set the Weight field of the OS/2 table in a script. And provides a patch to make this possible. It made me realize there is no way to set any of the OS/2 fields (except panose) and extend his patch.

patch with the following new scripting functions:
        SetOS2Value("item-name", value)
        GetOS2Value("item-name")
        SetPrivateValue("item-key","item-value")
        GetPrivateValue("item-key")
        HasPrivateValue("item-key")
        RemovePrivateValue("item-key")

SetPrivateValue
        Changes (or Adds) an entry to the font's private dictionary with
        the given key and given value. Both must be strings. The key may
        be anything, it is not limited to any set of expected keys.
GetPrivateValue
        Returns the string in the private dictionary which matches the
        given key. If the key isn't in the dictionary it explodes.
HasPrivateValue
        Returns whether a key is in the dictionary
RemovePrivateValue
        Removes a key (and associated value) from the dictionary.
        Returns whether the key was in the dictionary (this is not a
        typo).
SetOS2Value
        The first argument must be one of the following strings. The
        second argument is usually an integer, but VendorId takes a (4
        character) string, and panose takes a 10 element integer array.
        Weight, Width, FSType, IBMFamily, VendorID, Panose,
        WinAscent, WinAscentIsOffset
                These are equivalent to the WinAscent field & []Offset
                check box in Font Info->OS/2->Misc. Where
                WinAscentOffset controls whether WinAscent is treated as
                an absolute number or as relative to the expected
                number.
        WinDescent, WinDescentIsOffset,
        TypoAscent, TypoAscentIsOffset,
        TypoDescent, TypoDescentIsOffset,
        HHeadAscent, HHeadAscentIsOffset,
        HHeadDescent, HHeadDescentIsOffset,
        TypoLineGap, HHeadLineGap, VHeadLineGap,
        SubXSize, SubYSize, SubXOffset, SubYOffset,
                Sets the Subscript x/y sizes/offsets
        SupXSize, SupYSize, SupXOffset, SupYOffset,
                Sets the Superscript x/y sizes/offsets
        StrikeOutSize, StrikeOutPos
GetOS2Value
        The argument takes the same set of tag strings. VendorId returns
        a string, and Panose returns an array. The others return
        integers.
----------------------------
revision 1.965.2.9
date: 2005/10/18 21:44:40;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. Ofm files where a glyph had more than 128 kerns didn't work.
----------------------------
revision 1.965.2.8
date: 2005/10/18 14:55:08;  author: pfaedit;  state: Exp;  lines: +3 -3
When outputting a mark-to-base feature with multiple mark classes, each base glyph may be used by several marks. We were adding the base glyph multiple times to the coverage table. Bad.
----------------------------
revision 1.965.2.7
date: 2005/10/18 04:44:59;  author: pfaedit;  state: Exp;  lines: +2 -2
KANOU points out that I was using rules too strict in parsing an svg poly command.
----------------------------
revision 1.965.2.6
date: 2005/10/17 23:36:37;  author: pfaedit;  state: Exp;  lines: +3 -3
Oh. It looks as though ofm files don't actually use the font direction field. Al
l files I've looked at have this set to 0 (Top to bottom, Left to Right) even the arabic only ones.
----------------------------
revision 1.965.2.5
date: 2005/10/17 02:01:45;  author: pfaedit;  state: Exp;  lines: +2 -2
I think I know enough to set font-direction for left-to-right vs right-to-left.
----------------------------
revision 1.965.2.4
date: 2005/10/16 18:25:05;  author: pfaedit;  state: Exp;  lines: +2 -2
Add 'nukt' ligature substitutions to appropriate Devanagari letters.
----------------------------
revision 1.965.2.3
date: 2005/10/16 15:31:23;  author: pfaedit;  state: Exp;  lines: +3 -3
More tweaks to ofm files, but the results still crash ofm2opl
----------------------------
revision 1.965.2.2
date: 2005/10/15 18:16:46;  author: pfaedit;  state: Exp;  lines: +3 -3
The SCWorthOutputting patch I worried about but decided was innocuous, was not innocuous. It broke bitmap fonts. Or more accurately, loading & editing bitmap only fonts did not set the widthset flag. So we couldn't depend on it.
----------------------------
revision 1.965.2.1
date: 2005/10/15 04:13:00;  author: pfaedit;  state: Exp;  lines: +3 -3
The ofm patch broke tfm output.
The ofm files didn't contain ligature info (usually).
----------------------------
revision 1.1718.2.3
date: 2007/03/15 15:20:41;  author: pfaedit;  state: Exp;  lines: +2 -2
Warn user they should add their email address after pressing [Add SIL Open Font License] button.
----------------------------
revision 1.1718.2.2
date: 2007/03/15 13:31:59;  author: pfaedit;  state: Exp;  lines: +2 -2
The [Change Length] button of the cvt dlg didn't work.
----------------------------
revision 1.1718.2.1
date: 2007/03/15 13:11:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Output/Input of Apple's 'lcar' table wasn't consistent. Hardly surprising as it isn't too well documented and I have no examples.
=============================================================================
