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

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

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

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

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

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

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

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

Add a problem which will look at the glyphs a lookup is active for, and then checks the script of each glyph against the scripts attached to the features which invoke this lookup. If the script doesn't match anything, then complain.
----------------------------
revision 1.2316
date: 2008/01/13 22:10:59;  author: pfaedit;  state: Exp;  lines: +2 -2
If a font contained an empty anchor class (having either no base glyphs or no mark glyphs) then when dumping out the font subsequent anchor classes got the wrong data associated with them.
----------------------------
revision 1.2315
date: 2008/01/13 21:28:09;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry wants non-integral hints.
----------------------------
revision 1.2314
date: 2008/01/13 20:46:54;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry points out that Scale To Em doesn't scale the guidelines.

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

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

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

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

About all it can do is open a font and display it. If a menu command does not
require a dialog then it might work. There are probably scores of bugs even in
the little bit that supposedly does work.

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

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

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

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

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

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

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

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

Having done this make sure we don't use the same anchor point more than once.
----------------------------
revision 1.2108
date: 2007/10/11 00:57:47;  author: pfaedit;  state: Exp;  lines: +2 -2
What glyph class should be used by default if a glyph is both a ligature and a mark? Probably mark. There are greek accent ligatures, and its probably more important to treat them as marks than as ligatures (I don't know any fonts which actually "skip ligatures" but there are lots which "skip marks").
----------------------------
revision 1.2107
date: 2007/10/10 17:48:28;  author: pfaedit;  state: Exp;  lines: +3 -3
Select Next/Prev point always selected the first point. Select First point did the wrong thing.
----------------------------
