
RCS file: /cvsroot/fontforge/fontforge/fontforge/stamp.c,v
Working file: stamp.c
head: 1.2195
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: 2270;	selected revisions: 2270
description:
----------------------------
revision 1.2195
date: 2007/11/09 05:19:47;  author: pfaedit;  state: Exp;  lines: +2 -2
The Mac has deprecated the mach NSAddImage family of routines in favor of the more traditional dlopen routines.
----------------------------
revision 1.2194
date: 2007/11/09 03:29:31;  author: pfaedit;  state: Exp;  lines: +3 -3
In a truetype font, if a substitution lead to an unencoded glyph and the cursor hung over the substitution long enough to invoke the popup, then we'd generate a tiny font containing just the unencoded glyph, we'd complain that there were no encoded glyphs, we'd dismiss the popup, we'd generate the glyph image, then we'd try to free it with no free function because the popup was dismissed.
----------------------------
revision 1.2193
date: 2007/11/09 02:13:01;  author: pfaedit;  state: Exp;  lines: +2 -2
Hmm. I can do Add Extrema in spiro mode.
----------------------------
revision 1.2192
date: 2007/11/08 06:08:04;  author: pfaedit;  state: Exp;  lines: +2 -2
Merge Feature File didn't actually merge things in, it forgot about existing things -- which caused problems for kerning classes which get stored in two lists.
----------------------------
revision 1.2191
date: 2007/11/08 04:26:39;  author: pfaedit;  state: Exp;  lines: +3 -3
Barry wants to be able to order the private dict. in font info.
----------------------------
revision 1.2190
date: 2007/11/08 03:23:07;  author: pfaedit;  state: Exp;  lines: +2 -2
Barry Schwartz points out that the plate export failed to include the final close paren.
----------------------------
revision 1.2189
date: 2007/11/07 21:46:23;  author: pfaedit;  state: Exp;  lines: +2 -2
Someone gave me a bad sfd file and complained that it crashed ff. Can't really fix it up, but we can refrain from crashing.
----------------------------
revision 1.2188
date: 2007/11/07 17:49:37;  author: pfaedit;  state: Exp;  lines: +2 -2
Rumors abound on the web tha Apple has deprecated "/rsrc" as a way of getting at the resource fork. I find nothing official from Apple about this, but the /var/log/system.log file on my machine confirms it.
Rumors also say that the new approach is to open "/..namedfork/rsrc" instead. That seems to work, and doesn't cause nasty warnings in my system log.
There are warnings on the web that this mechanism only works on HFS+ file systems. So I first try namedfork, and then later, if that fails, try the older rsrc.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More debateable: if we change "f" to "u0066" then change "f.sc" to "u0066.sc" and "f_f_l" to "u0066_u0066_l" (and recurse on those name changes).
----------------------------
revision 1.2075
date: 2007/09/25 22:34:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Guess at the meaning for GDEF glyph class component glyph:
   Something not encoded
   Something which is refered to by at least one other glyph (as a reference)
   Something which is not generated by GSUB
----------------------------
revision 1.2074
date: 2007/09/25 03:58:19;  author: pfaedit;  state: Exp;  lines: +2 -2
(forgot to check BlueScale with respect to BlueValues)

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

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

So, I'll support this now as my only way of handling type3 style svg fonts with embedded bitmaps.

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

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

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

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

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

Also the contents of one of the structures has changed a bit, and a value that used to live in one field has moved to another (the ppem value moved from (exc)->size->metrics.x_ppem to (exc)->size->root.metrics.x_ppem.

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

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

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

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

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

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

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

There was no objection.

I have now removed them.

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

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

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

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

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

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

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

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

Default new references so that round to grid is set.
----------------------------
revision 1.909
date: 2005/09/17 05:05:56;  author: pfaedit;  state: Exp;  lines: +2 -2
When debugging a composite glyph, ff forgot that some references are translated (or scaled or rotated), and failed to display this.
----------------------------
revision 1.908
date: 2005/09/17 05:02:01;  author: pfaedit;  state: Exp;  lines: +2 -2
FF failed to keep track of the truetype "RoundToGrid" bit which applies to references.
----------------------------
revision 1.907
date: 2005/09/16 22:20:38;  author: pfaedit;  state: Exp;  lines: +2 -2
In the Points window of truetype debugging, if the penultimate point of a contour was interpolated, then the contour boundary was drawn in the wrong place.
----------------------------
revision 1.906
date: 2005/09/16 22:08:29;  author: pfaedit;  state: Exp;  lines: +2 -2
Use to store debugging dpi/pointsize in the charview. Werner suggests that it be global (so different glyphs will all share the same defaults).
----------------------------
revision 1.905
date: 2005/09/16 21:25:59;  author: pfaedit;  state: Exp;  lines: +3 -3
Some Unicode code blocks have moved (probably those which only in the pipeline or some such), and some others have been added to the pipeline.
----------------------------
revision 1.904
date: 2005/09/15 16:54:33;  author: pfaedit;  state: Exp;  lines: +2 -2
Can't use a subroutine to refer to a translated glyph which contains flex hints in type1 output.
----------------------------
revision 1.903
date: 2005/09/15 15:26:06;  author: pfaedit;  state: Exp;  lines: +3 -3
Hide another problem with rounding errors in remove overlap.
----------------------------
revision 1.902
date: 2005/09/14 20:33:00;  author: pfaedit;  state: Exp;  lines: +2 -2
Don't produce multiple warnings about the local encoding.
----------------------------
revision 1.901
date: 2005/09/14 19:34:24;  author: pfaedit;  state: Exp;  lines: +2 -2
In quadratic fonts the Remove Overlap menu item is disabled, but if you use the hotkey the command is invoked (with disasterous results).
----------------------------
revision 1.900
date: 2005/09/14 18:19:04;  author: pfaedit;  state: Exp;  lines: +3 -3
Typo in point info code to determine whether a hint mask contains conflicts (matched vertical hints against horizontal ons)
----------------------------
revision 1.899
date: 2005/09/12 14:21:49;  author: pfaedit;  state: Exp;  lines: +3 -3
Add a scripting command: DefaultUseMyMetrics() to set the bit appropriately in legacy fonts.
----------------------------
revision 1.898
date: 2005/09/12 01:04:51;  author: pfaedit;  state: Exp;  lines: +2 -2
Oops. I added a "UseMyMetrics" checkbox, but I didn't ever use the result in get info.
----------------------------
revision 1.897
date: 2005/09/11 22:34:14;  author: pfaedit;  state: Exp;  lines: +2 -2
   When ff pastes refs from one font to another it tries to figure out
	the width of a glyph containing references from the width of
	what appears to be the base glyph.
(because if you paste Aacute from one font to another, the size of the "A" glyph may be quite different in the new font. Using the width of the glyph in the original font would be wrong).

There are two problems with this:
	1) It didn't take forward references into account, and would use
		the original width rather than the modified width of the
		reference.
	2) It would (probably) be confused by an Alphatonos where the
		width of Alphatonos is not the same as that of Alpha.

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

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

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

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

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

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