
RCS file: /cvsroot/fontforge/fontforge/fontforge/stamp.c,v
Working file: stamp.c
head: 1.3051
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: 3126;	selected revisions: 3126
description:
----------------------------
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).
