/htdocs/oldchangelog.html
HTML | 9713 lines | 8104 code | 1606 blank | 3 comment | 0 complexity | c47053390f6c3ff3ae2659190a9bd4b7 MD5 | raw file
Possible License(s): GPL-3.0, LGPL-2.0
Large files files are truncated, but you can click here to view the full file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content=
- "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" />
- <!-- Created with AOLpress/2.0 -->
- <!-- AP: Created on: 16-Sep-2001 -->
- <!-- AP: Last modified: 29-Apr-2010 -->
- <title>Older changes to FontForge</title>
- <link rel="icon" href="fftype16.png" />
- <link rel="stylesheet" type="text/css" href="FontForge.css" />
- <style type="text/css">
- /*<![CDATA[*/
- p.c3 {text-align: center}
- span.c2 {color: red}
- p.c1 {text-align: right}
- /*]]>*/
- </style>
- </head>
- <body>
- <div id="in">
- <table align="right">
- <tr>
- <td>
- <blockquote id="lit">
- <b><small>CHAPLAIN:</small></b><br />
- It was very interesting; I was dreaming I
- stood<br />
- On Jacob's ladder, waiting for the gates to
- open.<br />
- And the ladder was made entirely of diminished
- sevenths.<br />
- I was surprised, but not put out. Nothing<br />
- Is altogether what we suppose it to be.
- <p class="c1"><i>The Lady's not for Burning</i><br />
- Christopher Fry</p>
- </blockquote>
- </td>
- </tr>
- </table>
- <p><a href="changelog.html">Current changes</a><br />
- <a href="pfaeditchangelog.html">Changes to PfaEdit (predecessor
- to FontForge)</a><br />
- Changes to the <a href="sfdchangelog.html">sfd format</a>.</p>
- <ul>
- <li>24-August-2008
- <ul>
- <li>
- <table align="left">
- <tr>
- <td><img src="FF32.png" width="32" height=
- "32" /></td>
- <td><img src="FFsfd32.png" width="32" height=
- "32" /></td>
- </tr>
- </table>
- <p>Changes to create a stub Mac application. Add an
- apple event handler to fontforge so that it will notice
- when the finder wants it to open files. Add icons, etc.
- so it will look like a mac app.</p>
- </li>
- <li>Make it possible to drag and drop lookups
- <ul>
- <li>from one font info window to another<br />
- (copy lookups from one font to
- another)</li>
- <li>within a font info window<br />
- (reorder lookups)</li>
- </ul>
- </li>
- <li>Layers can now be marked as either background or
- foreground.
- <ul>
- <li>Foreground layers may be generated into
- fonts</li>
- <li>Background layers may contain images. Pasting
- into an empty glyph in a background layer will not
- set the width. Splines in background layers do not
- make a glyph worth outputting.</li>
- </ul>
- </li>
- <li>Add a color picker so users can select glyph label
- colors other than red, cyan, green, etc.</li>
- <li>Memory problems with references, introduced recently,
- have been fixed.</li>
- <li>I hope I'm now getting keysyms right for non-latin
- menu short cuts.</li>
- <li>Typo in background layer patch could cause a crash in
- fonts with many layers.</li>
- <li>Werner wants an $iscid variable to determine whether
- a font is a cid-keyed font or not.</li>
- <li>add font.iscid to python too.</li>
- <li>python font.cid* variables didn't work, fix
- them.</li>
- <li>Add $haspython variable to normal scripting so I can
- detect if python is available.</li>
- <li>When pasting a reference into an order2 layer, ff
- would sometimes miss the fact that the instructions were
- out of date.</li>
- <li>Replace with references had the same problem.</li>
- <li>In scripting, instructions did not get checked for
- up-to-dateness</li>
- <li>In the charview, unlink ref only worked on the
- foreground layer.</li>
- <li>Patch by Barry (fixed up by me) to fix up open
- charviews when a layer is added.</li>
- <li>Barry points out that Contour.round and Layer.round
- are supposed to have an optional argument, but instead
- have a required arg.</li>
- <li>Just as pasting references screws up instructions, so
- does replace with reference. Do the same thing that we
- just did to rplref.</li>
- <li>When scripting without a UI, the char changed routine
- did not check to see if it should clear the instructions
- on a change. It now does.</li>
- <li>Setting device table adjustments from the accent pane
- of the Math dlg didn't work.</li>
- <li>File->Revert File (from the UI) didn't work.</li>
- <li>If a contextual chaining pos/sub in a sfd file
- referred to a non-existant lookup we would insert a NULL
- lookup into a rule. This would cause almost anything that
- used that lookup to crash. Now, simply remove the
- sequence/lookup info.</li>
- <li>When importing lookups we might import a lookup twice
- if it were nested.</li>
- <li>When generating bitmaps automatically from a script
- it was possible that the freetype library got initialized
- too late and we'd pass a NULL pointer to FT_Memory_Face
- -- and things would crash.</li>
- <li>In a quadratic layer of a glyph, when selecting an
- on-curve point and trying to make it interpolated, if
- that point had no control points then behavior was
- odd.</li>
- <li>didn't create an input context for top level window
- char and font views. This meant could only use ASCII in
- menus if the focus were in the top level window (in the
- scroll bars, or the menu bar.</li>
- <li>Typo in the code to display side bearings in the
- charview.</li>
- <li>FontForge assumed that all anchor classes for a given
- subtable were in sequence, but Panov has a font where an
- anchor class for a different subtable appears in the
- middle of a list of classes for the desired subtable.
- Result was garbage output, and View->Show Att
- crashed.</li>
- <li>View->Next/Prev [Def] & Find In Font View
- don't work in charviews when there are tabs active.</li>
- <li>R. Sander points out that if you select an ordered
- set of lookups in one font and import them into another
- they become disordered. Not good.</li>
- <li>When pasting into a charview we only set the width if
- there was nothing in foreground. When pasting into the
- fontview we always set the width because we were clearing
- the foreground before we pasted (unless we did paste into
- -- then we didn't set the width).
- <p>With layers that should all change. We should only
- set the width if there is nothing in any of the
- potential foreground layers. Don't count the background
- layers or the grid psuedo layer. Don't count open
- contours (might be a secondary guide line layer or
- something). If we're going to clear a layer before
- pasting (normal behavior in fontview) then don't count
- the layer cleared.</p>
- </li>
- <li>Add several different behavior patterms for the
- metrics view. Users complain that the current
- multi-functional window is confusing and would prefer a
- view which only does kerning, or only sets the advance
- widths, etc.</li>
- <li>Due to a typo, merging two splinesets at a curve
- point generally left the point marked with default
- adjustment enabled on its control points.</li>
- <li>Another layers problem. Only in the foreground layer
- could anchor points be moved.</li>
- <li>Python glyph.unlinkReference command didn't
- work.</li>
- <li>My intent was that ligature carets positioned at 0
- didn't count (0 isn't meaningful -- a ligature with a
- zero-width first component?) but that only got
- implemented for 'lcar' table not for 'GDEF'. So fix that.
- <p>Also allow the user to specify exactly how many
- ligature carets s/he wants rather than just setting a
- minimum bound.</p>
- <p>Also 'lcar' (Apple) output was broken.</p>
- <p>Also neither AAT nor OpenType supports negative lig
- carets, so if the user drags a lig caret line negative,
- have it stick at 0.</p>
- </li>
- <li>Moving ligature carets always marked for an undo in
- the foreground layer. Register the movement in the layer
- in which it happens.</li>
- <li>When placing an accent glyph about which we know
- nothing, assume it should be centered on top.</li>
- <li>Change sfd.c so that it will treat the sequence
- "backslash newline" as no characters on input (er, except
- in ASCII85 input). And so that it thinks it can parse
- version 4 or the sfd format.
- <p>We don't generate version 4 yet, and we won't for a
- while. Version 4 will include the ability to insert
- backslash newline into long lines. This is so we can
- conform to the internet requirements of fewer than 990
- bytes on a line. And the delay is so that people don't
- scream at me for making an incompatible change to the
- format -- if I give the parser time to perculate
- through the user community, with luck no one will even
- notice -- especially as long lines are rare.</p>
- </li>
- <li>Selections/Clipboard didn't work in textfields on
- 64bit intel. There seems to be a bug in the 64bit Xlib
- which doesn't transfer 32 bit quantities properly. I was
- passing unicode strings as 32bit UCS4, but UTF8 will work
- just fine instead.</li>
- <li>Add the ability to clear all device tables associated
- with a kerning by classes table. (Needed because of a bug
- which introduced garbage).</li>
- <li>We didn't think we could read in a kerning subtable
- (class or pair) with device tables, so we converted them
- to pst data. We can read them in in optimized form and we
- should do so.</li>
- <li>Alexej points out that if a glyph has
- "instructions_out_of_date" set on it, then setting the
- instructions via a script should clear the bit -- but
- didn't.</li>
- <li>Werner points out that if a type2 charstring
- contained a sequence <num> endchar then ff would
- set the width of the charater even if the the width had
- already been set. Width can only be set on first stack
- clearing operation, any extra params on subsequent calls
- get ignored.
- <p>Actually it's worse than that, the spec says that if
- there are too many things on the stack then start
- parsing the stack from the unexpected end.</p>
- <p>Adobe have admitted that the obvious reading of
- their spec is incorrect (they can't quite bring
- themselves to say the spec is wrong). So revert some of
- the way we were parsing type2 charstrings.</p>
- </li>
- <li>Barry complains that when building ff does not apply
- the ".cap" suffix when using inverted breve.</li>
- <li>Valgrind finds a bug in drawing non-BMP characters in
- the metrics view.</li>
- <li>Alexej would like to be able to manipulate
- non-unicode glyphs with the text field of the metrics
- view. The textfield used to map all non-unicode code
- points to 0xfffd, but if the font doesn't make use of the
- supplementary private use areas (planes 15&16) then
- create a mapping from the font into these areas so that
- we can represent non-unicode glyphs as funky private use
- glyphs.
- <p>(Only do this if font doesn't use these areas).</p>
- </li>
- <li>Alexej points out that in non-foreground quadratic
- fonts the "Points->Dont Interpolate" command doesn't
- do anything.
- <p>Fix a couple of other foreground specific things
- too.</p>
- </li>
- <li>Barry points out that setting a glyph's anchorPoints
- from python does not mark a glyph as changed nor force an
- update.</li>
- <li>Autoinstructor: large patch from Alexey:
- <ul>
- <li>handlles conflicting H/V stems much better;</li>
- <li>tries to place HStems between blues better;</li>
- <li>adds optional apparatus for instructing
- serifs;</li>
- <li>relies on generic point-to-stem snapping routines
- from stemdb.c;</li>
- <li>needs FPGM changed (older FF's glyph programs
- should still work, but FPGMs need updating!).</li>
- </ul>
- </li>
- <li>If the user has opened a backup sfd file (one that
- ends in .sfd~) and does a save on it, then pop up a save
- as dlg instead of blindly saving it. Saving it back to
- the backup is probably wrong, yet saving it onto the
- non-backup version without prompting the user is
- questionable.</li>
- <li>glyph.appendAccents didn't mark the glyph as changed
- nor did it force an update.</li>
- <li>Barry wants a way to control the use_my_metrics bit
- of a reference from python.<br />
- Give him a hack<br />
- glyph.useRefsMetrics(name[,set])</li>
- <li>Add a glyph.appendAccent() command.</li>
- <li>Ralf from end-if.de points out that when trying to
- change the kerning between two glyphs which have a kern
- class setting of 0, then ff keeps asking the same
- question several times before a non-zero value is
- entered. (once when the field is clicked in, once when a
- minus sign is typed, and once more when a number is
- entered).</li>
- <li>The python stuff won't compile under cygwin because
- it used pointers to stuff in shared libraries as
- initializers of static variables. It seems windows can't
- handle that. This patch should provide a work
- around.</li>
- <li>Add a font.importLookups (from another font) function
- to python scripting.</li>
- <li>When joining two splinesets (during glyph editing) we
- didn't pay attention to any user settings for the control
- points, and we'd just always refigure default control
- points. Now use user specified directions when
- possible.</li>
- <li>Add a problem (Find Problems) which will look through
- all glyphs for those with both contours and references,
- and which will create a new glyph to contain the contours
- and make a reference to it in the original.
- <p>Do something similar for bad transformation matrices
- (those with members 2 or more (or less than -2)).</p>
- </li>
- <li>Importing a kerning class from one font to another
- (and perhaps merging fonts) could cause memory problems
- if the number of second classes were bigger than the
- number of first classes.</li>
- <li>Retain sizes of bitmap and metrics views. People seem
- to like this even if I don't.</li>
- <li>Still problems with the guide lines layer
- <ol>
- <li>Displaying a point read bad memory (probably
- harmless, might cause visual artifacts).</li>
- <li>Edit->Undo in guide layer trampled
- memory.</li>
- </ol>
- </li>
- <li>Find Problems would occasionally pop up a blank
- problem dlg.</li>
- <li>Only show points of inflection in the active
- layer.</li>
- <li>If a glyph window were displaying something other
- than the foreground layer then changes in that window
- would not be reflected in dependant glyph windows (a
- change to tilde didn't show in atilde) nor in the
- fontview.</li>
- <li>In a cubic glyph with references, turning on point
- numbering did not renumber the references. They seem to
- be numbered for TrueType. Not sure where that comes
- from.</li>
- <li>Alexey points out that after deleting the active
- layer, ff does not update the internal bitmap font it
- used to display glyphs in the font view.</li>
- <li>Make "-lang ff" work for "-lang=ff", it's more
- consistent with the rest of the arguments.</li>
- <li>Add a -unique argument which means that FF checks to
- see if another fontforge is running on the current
- screen. If no other fontforge exists things proceed
- normally, but if there is another, then we send it our
- arguments and ask it to open them, and then we exit.</li>
- <li>Make the OFLib dialog have an option to download a
- preview when you click on a line (rather than requiring
- you press the [Preview] button for each).</li>
- <li>The BitmapsAvail and BitmapsRegen scripting functions
- were broken by the layers patch (they generated bitmaps
- of whatever was in the background layer).</li>
- <li>Put in some checks to warn the user when a 'kern'
- table subtable uses more than 10920 pairs.</li>
- <li>Give the user one of those "This operation cannot be
- undone" warnings when deleting a layer in Font Info.
- (Similar warning about instructions if user changes last
- quadratic layer(s) to cubic without deleting any).</li>
- <li>When deleting the last quadratic layer, delete the tt
- instructions also.</li>
- <li>When deleting a layer from a font, ff very carefully
- went through all open glyph views to make sure none was
- looking at the layer being deleted (and fixing them up if
- they were) -- but it totally ignored the font views.
- Their layers needed to be updated too. And the metrics
- views.</li>
- <li>The Import menu item in Font Info->Lookups popup
- menu was always enabled. It should not have been.</li>
- <li>Add menu items in Font Info->Lookups (popup menu)
- to do a global add/remove language from a specified
- script in all selected lookups.</li>
- <li>Get Info (maybe a few other things) didn't work on a
- selected reference which wasn't in the foreground
- layer.</li>
- <li>Copy/Paste of references only worked well in
- foreground layer.</li>
- <li>Only in the foreground layer was it possible to
- select a reference by clicking on it.</li>
- <li>Snapping to blues was broken due to a typo in the
- code.</li>
- <li>Still were a number of places where behavior depended
- on the spline order in the foreground layer:
- <ul>
- <li>Could only debug a glyph if the foreground layer
- were quadratic</li>
- <li>Show gridfit used some point numbers from the
- foreground layer and some from the layer being
- shown.</li>
- <li>Gridfit didn't change when changing layers.</li>
- </ul>
- </li>
- <li>Peter Lunicks points out that a tooltip in the prefs
- dlg actually was for a different preference item.</li>
- </ul>
- </li>
- <li>20-July-2008
- <ul>
- <li>Updated Russian UI</li>
- <li>Updated Simplified Chinese UI</li>
- <li>Small Caps dialog greatly rewritten and merged into
- the sub/superscript dialog and a new change glyph
- dialog.</li>
- <li>Alexey Kryukov makes Small Caps and friends deal with
- diagonal stems.</li>
- <li>Update the upload mechanism to OFLib to send a
- preview image, license text (if specified in our
- database) and fontlog (again, if in our database).
- Currently OFLib throws away both the license info and the
- fontlog, but I hope they will fix that in time.</li>
- <li>Add a dialog to browse fonts on the OFLib.</li>
- <li>Fix some bugs in feature file generation of
- contextual chaining lookups which refer to marks. Note
- these are not supported in the spec. This is a FontForge
- only extension.</li>
- <li>If a script contain no default language features (but
- did contain some languages) then ff produced a garbage
- script table for GPOS/GSUB.</li>
- <li>A number of Dialogs still did not autosize themselves
- for different languages Create Hints, Kern (Anchor) Pair,
- Review Hints.</li>
- <li>Still places where ff uses the foreground layer
- rather than the current layer to determine if a glyph is
- quadratic.</li>
- <li>On systems using different font metrics, the debug
- pane looks bad with the buttons partly covered by the
- instruction pane. If the font is large, and the cvt dlg
- empty, then I'm told ff complains.</li>
- <li>Barry points out that Add Encoding Slots scrolls to
- the wrong place.</li>
- <li>Adding glyphs in compacted encodings caused
- problems.</li>
- <li>When the user resizes the outline glyph window,
- retain that size and use it for the default size of
- subsequent invocations of the window.</li>
- <li>It used to be that whenever ff opened an sfd file
- then all subsequent new fonts (or fonts opened from real
- font files) would be displayed in windows the same size
- as the one requested in the sfd file. Only set the window
- size preference when the user explicitly changes it, not
- upon openning something with a different setting.</li>
- <li>In a CID-keyed font, when opening an empty CID slot,
- ff could trample memory.</li>
- <li>BlueFuzz support for autohinter and metafont.</li>
- <li>Add some checks to make sure that we can survive bad
- font data without crashing.</li>
- <li>When trying to change kerning between the last two
- glyphs in the metrics view using the text field (rather
- than dragging the line) then the textfield would change,
- but the kerning would not.</li>
- <li>In the metrics view, give the user several options
- about the grid (which shows the advance widths of the
- glyphs)
- <ul>
- <li>hidden</li>
- <li>fully displayed</li>
- <li>small lines at the top and bottom of the
- pane</li>
- <li>fully displayed except when the user is adjusting
- kerning or the advance width, etc. When adjusting
- grid vanishes until user releases the mouse
- button.</li>
- </ul>
- <p>(setting is sticky).</p>
- </li>
- <li>Allow the user to customize the colors in the metrics
- view.</li>
- <li>In the metrics view (or in the print display dlg)
- when glyphs are overlapping (e asier to see when glyphs
- are large) then the places where one glyph ends and
- another begins often have a faint halo of lighter pixels.
- Try to improve things and make these joins be more
- uniform in color.</li>
- <li>Add minimal support for alpha channels (treat them as
- a bitmask for transparent).</li>
- <li>I find it really hard to believe that this is an
- error, but I have a second hand report that MicroSoft
- claims that it is. To me making it erroneous is pointless
- and annoying, but I don't write the spec.<br />
- Add to Find Problems and Validate a check to see that if
- a base glyph (or mark) contains an anchor point in one
- anchor class in a lookup subtable, then it must have
- anchor points for ALL anchor classes in that
- subtable.</li>
- <li>Fontimage would crash if asked to process a font with
- glyphs not in BMP. Make fontimage better about fonts
- which contain no standard scripts (Apostolos's Phaistos
- font).</li>
- <li>A few tweaks to make stemdb.c usable for resizing
- glyphs and stem control.</li>
- <li>When importing lookups into a font, append the
- fontname to the lookup name only if there is already a
- lookup in the new font with the original name.</li>
- <li>Empty glyphs containing a "." in the name could cause
- ff to crash when doing or checking to see if it could do
- a build accented.</li>
- <li>Gasp editing was broken (still) from the change to
- the cleartype stuff.</li>
- <li>Andrey P. would like to see a reference's bounding
- box in the Element->Get Info dlg for the
- reference.</li>
- <li>Revert glyph had some stray memory references.</li>
- <li>Add two proposed language tags for IPA use (one for
- IPA and one for Americanist).</li>
- <li>In an empty python layer layer.boundingBox should
- return a tuple of 4 zeros, instead it returned a tuple of
- 2 zeros and 2 random garbage values.</li>
- <li>Validate dlg's scrollbar was broken, and you couldn't
- drag the thumb up to the top (you could get it to the top
- by other ways).</li>
- <li>Add a revalidate all menu item to the window to force
- a reevaluation of the entire font.</li>
- <li>Add ability to import graphics from a page of a pdf
- file.</li>
- <li>Python interface does not categorize points.</li>
- <li>The (python) psMat.skew command skewed vertically,
- rather than horizontally and by the wrong amoung.</li>
- <li>When doing a font sample from a script which did not
- set the page width/height explicitly, then ff would use a
- size of 0 for each. All text drawn was out of the imaging
- area, lines were too short (as well as invisible), too
- many pages (all blank).</li>
- <li>Barry points out that "print" is a python keyword. So
- font.print() doesn't work. Call it printSample()
- instead.</li>
- <li>Freetype now (or in the next release, 2.3.7) supports
- dropout modes, which means fontforge must do a bit of
- work when generating rasters for the debugger.</li>
- <li>Move some logic out of fontimage.pe and into
- fontforge to make a default string for a font image more
- widely available.</li>
- <li>When saving an image fromt the print dlg, the top
- line was off the top of the image.</li>
- <li>Interpolated points need not be on integral
- boundaries, but ff was checking for them. Different
- problems in validator and find problems, but both
- wrong.</li>
- <li>In the point near hint check (find problems), ff was
- leaving the hint selected.</li>
- <li>Fix some rounding errors in spline/line
- intersection.</li>
- <li>in Font Info, after user pressed [OK] FF set the
- state of the subscript superscript default checkbox to
- the panose default checkbox by mistake. This means if the
- user defined panose and not sub/super garbage would
- appear in the OS/2 sub/super fields.</li>
- <li>fontimage didn't get the script right, so features
- weren't applied properly.</li>
- <li>More work on conflicting stems.</li>
- <li>Pressing [Done] in the print dialog would right to a
- random address on the stack. Depending on what was going
- on when this was done it could cause a crash.</li>
- <li>Fix an uninitialized variable introduced by the last
- change to order2 conversion.</li>
- <li>Add the ability to open an archive and peek inside it
- for fonts. Useful if we want to open stuff from the open
- font library which is often packaged in zip files.</li>
- <li>Add a new validation check to see if a glyph has
- non-integral coordinates. Only an error in TrueType (and
- can't happen when fontlinting a truetype file, but could
- happen on an sfd file). Add some logic to ask user if
- they intend to generate truetype in cases where we aren't
- sure.</li>
- <li>Add a preference which allows people to change the
- pixmap dir -- and do what we can to reload images from
- the new dir. Some old windows may not be updated, but new
- ones should reflect the new stuff.</li>
- <li>When ff changed the name of a glyph, it fixed up all
- the tabs in charviews to the new name -- but in neglected
- to refresh them. So they still showed on the screen with
- the old name (until something forced a refresh).</li>
- <li>The Anchor Class dialog (which lists all anchor
- classes of a subtable) only let you create an Anchor
- Control dialog for the first anchor class.</li>
- <li>Guard (harder) against generating pathological
- results when converting cubic to quadratic splines.</li>
- <li>If we had a spline which almost doubled back on
- itself, sufficiently so that the spline intersector found
- lots of really close points, which it called
- intersections, but not sufficiently so that our collinear
- detector caught it, then we'd generate a ton of
- intersections, overflow certain arrays, and trash the
- stack. => ff would crash. I didn't think this could
- happen, until someone provided a test case, so put in
- guards against this.</li>
- <li>provide python access to
- <blockquote>
- glyph.altuni
- </blockquote>
- <p>either None, or a tuple of tuples, one sub-tuple for
- each alternate. each sub-tuple is (alternate-unicode,
- variation selector (or -1), reserved for future=0
- now).</p>
- </li>
- <li>Trying to build dieresis with "PreferSpacingAccents"
- set meant that we tried to build it out of itself, and
- crashed.</li>
- <li>Also fix so that 0x22EF (ellipsis variant) is built
- out of centered dot in a spacing mode, while Ldot uses it
- in a non-spacing mode.</li>
- <li>Merge fonts broken again. This time references didn't
- work.</li>
- <li>Provide a mechanism for loading image files to make
- menu item icons (instead of expecting the images to live
- in memory inside of fontforge). Then provide a bunch of
- these icons so the menus will look more interesting.
- <p>Provide some icons</p>
- <p>Also update the install procedure to put them in the
- right place.</p>
- <p>Preference item containing a directory from which to
- read icon files</p>
- </li>
- <li>FF crashed when opening CID keyed fonts with
- compact_on_open set.</li>
- <li>If fontforge got an end of file in the middle of
- reading a (corrupt) cff font, then ff would sit there
- reading endlessly and ignoring the error.</li>
- <li>Off by one error in drawing the large "pixel"
- rectangles that show grid fit generated.</li>
- <li>Werner points out that my instruction glosses are out
- of date:
- <ol>
- <li>Was following Apple's docs for SCANTYPE, not MS.
- MS has a number of new values.</li>
- <li>Was using an old convention for accessing PPEM
- which broke after freetype 2.3.5</li>
- <li>Added the FreeType return for GETINFO.</li>
- </ol>
- </li>
- <li>Featurefile patch from Barry.</li>
- <li>I used to think that the max glyph instruction length
- field of 'maxp' refered to fpgm and prep. I thought this
- because there was a footnote (which I now see was for a
- different field) saying the field also applied to fpgm
- and prep.</li>
- </ul>
- </li>
- <li>07-June-2008
- <ul>
- <li>New Russian translation of the UI</li>
- <li>Sometimes FF didn't set the message locale directory
- properly.</li>
- <li>Since FF will crash if you load a feature file when
- the Font Info window is open for that font, close the
- Font Info window when loading a feature file.</li>
- <li>New <a href="Styles.html#Italic">dialog</a> to help
- users convert an upright font into an italic one.</li>
- <li>New <a href="Styles.html#Smallcaps">dialog</a> to
- help users create small caps glyphs.</li>
- <li>New <a href="Styles.html#SubSuper">dialog</a> to help
- users create subscript/superscript glyphs.</li>
- <li>And matching python commands: font.italicize(),
- font.addSmallCaps(), layer.stemControl()</li>
- <li>Make it clear that the transform dlg from the
- fontview will move the width of a glyph by default, and
- provide a checkbox so the user can turn this off.</li>
- <li>Fix various bugs in argument handling of
- fontforge.askChoices</li>
- <li>Change font.removeGlyph to accept a single string
- argument to remove the glyph with that name.</li>
- <li>FF didn't like decimal points in the metrics view l/r
- bearing fields -- even though it would put them there
- itself.</li>
- <li>Metrics windows weren't being remetricked after a
- feature file was loaded (nor an afm file for that
- matter). Nor were they remetricked after lookups changed
- in fontinfo.</li>
- <li>Add to python
- <ul>
- <li>font.revert()</li>
- <li>font.revertFromBackup()</li>
- <li>font.buildOrReplaceAALTFeatures()</li>
- </ul>
- </li>
- <li>Changing a glyph's width from a python script didn't
- update the metrics window.</li>
- <li>Adding two languages in the same script to a lookup
- in a feature file didn't work.</li>
- <li>It wasn't possible to rename an anchor class (at
- least not by the obvious method through the dlg).
- Attempting to delete an anchor class popped up an error
- message which didn't provide all its own arguments and so
- could crash on some systems.</li>
- <li>Better error recovery in feature file parsing.</li>
- <li>Werner points out that since I allow the user to see
- points in references transformed to their ultimate
- position, I should also transform the raster.</li>
- <li>Patch by Barry to fix kerning classes (ie. figuring
- out WHAT glyphs go into a class).</li>
- <li>When parsing a feature file which used a default
- languagesystem setup, ff only used the most recent
- script.</li>
- <li>If a lookup contained no data (no subtables, or empty
- subtables) then when generating a feature file ff would
- output stuff to declare a lookup, but when there was no
- content that frame could not be parsed as it would be
- impossible to figure out the lookup type. Try to avoid
- that.</li>
- <li>FF did not put contextual lookups on all the lists
- they needed to be on when loading them from a feature
- file.</li>
- <li>Sometimes the Open Font dlg opened with the files
- shifted left so the first characters of the name were
- outside the window.</li>
- <li>Patch from Barry Schwartz. "include" syntax in
- feature files didn't work.</li>
- <li>Sort button in the lookups pane of font info didn't
- refresh the window after it finished (so things looked
- unsorted even after pressing it).</li>
- <li>When doing a Build Accented on dotted glyphname
- (agrave.sc, etc.) the accent was positioned using anchors
- in the undotted base glyph (a rather than a.sc).</li>
- <li>Fix various problems with tt debugging.</li>
- <li>The XUID and UniqueID fields of a PostScript font are
- deprecated, yet FF has continued to output them by
- default. Make it so FF no longer does so.</li>
- <li>When outputing an sfd file, ff would sometimes output
- a truetype spline as a line if it had a collinear
- control-point. I thought I'd taken care of that, but
- here's another case which needed fixing.</li>
- <li>Typo when loading the underline position field from a
- 'post' table. I was subtracting half the underline width.
- I should have been adding it instead. (Why did adobe use
- a different definition of the same concept in two places?
- GRRR).</li>
- <li>It wasn't possible to make the foreground layer
- invisible.</li>
- <li>When the file chooser bookmark list got too long ff
- would crash.</li>
- <li>I wasn't doing the obvious checks to the sfnt header
- in font lint. So now:
- <ol>
- <li>Check that there are no duplicate table
- entries</li>
- <li>Check that there are no overlapping tables</li>
- <li>Check that no tables extend beyond the end of
- file</li>
- <li>Check that the file's checksum is correct</li>
- <li>Check that each table's checksum is correct</li>
- <li>Check that the number of tables is reasonable and
- that the binary search header is consistent with the
- number of tables.</li>
- <li>Check that required tables are present</li>
- <li>Check that certain fixed length tables have the
- correct length.</li>
- </ol>
- </li>
- <li>Werner would like to be able to debug (truetype
- instructions) when using non-square pixels (x_ppem !=
- y_ppem).</li>
- <li>Barry wants to be able to close a tab. Add a menu
- item.</li>
- <li>When a glyph's name changed, I did not update the
- names in any tabs in the charviews -- so those tabs would
- stop working after the change.</li>
- <li>Scrollbar in points debug window wasn't set
- right.</li>
- <li>A. Panov provides a patch. Prefs was losing
- bookmarks.</li>
- <li>the new release of volt reveals some new opentype
- tags.</li>
- <li>If we have a glyph named "agrave.sc" or "eacute.sc"
- then FF will now let you build this as an accented
- character. It will remove the suffix from then name, and
- look up the components of the bare glyph. Then for the
- first component it will search for a glyph named "a.sc"
- and insert it. For the accents it will use "grave.sc" if
- present, and "grave" if it is not.</li>
- <li>FF wasn't handling a FontMatrix in the top dict of a
- cid font.</li>
- <li>Trying to filter for fig files in the Import dlg
- caused a crash.</li>
- <li>Check for bad OS/2 versions (that is, versions
- windows will reject) when loading a font.<br />
- Connect validation's "Points too far" with Find Problem's
- version.<br />
- Make fontlint aware of the new validation states.<br />
- When generating a font we complained about bad os/2
- version only if they asked for a validation. Move it
- somewhere more prominant.</li>
- <li>Add two new problems to find
- <ol>
- <li>Points too far apart</li>
- <li>Bitmap advance width different from scaled
- outline advance widths</li>
- </ol>
- <p>(also boxify the Find Problems dlg).</p>
- </li>
- <li>Add a new validation state: Test that points aren't
- too far appart (must be within 32767 of each other or we
- can't output them).</li>
- <li>Try a little harder to get some of the obscure code
- pages right in the OS/2 table.</li>
- <li>Was getting the first glyph index of OS/2 wrong for
- OTF fonts.</li>
- <li>If an sfnt contains embedded bitmaps, and if those
- bitmaps contain a glyph whose advance width is different
- from that expected by scaling the horizontal advance of
- the vector data, then windows will only get the correct
- metrics if the "Instructions modify width" bit is set in
- the 'head'.flags field.</li>
- <li>If the "changedsincelasthinted" bit got set on a
- glyph by the unlink/remove overlap flag on a glyph during
- font saving, then the glyph did not get restored to its
- original state.</li>
- <li>Doing an Undo in the Guidelines layer didn't work,
- usually crashed.</li>
- <li>Validate didn't work on CID keyed fonts.</li>
- </ul>
- </li>
- <li>29-Apr-2008
- <ul>
- <li>Validate didn't work in CID keyed fonts.</li>
- <li>Pierre Hanser wants an X Resource
- (fontforge.CharView.Rulers.FontSize) to specify the font
- size of text displayed in the info line and the rulers. I
- have applied his patch, but have made no effort to insure
- that text will fit in the space allowed for it.</li>
- <li>Hmm. Freetype seems to dislike rasterizing some
- complex outlines at large pixelsizes in black and white,
- but seems fine with doing them in greyscale.</li>
- <li>When opening a ttc file (and posting a dlg which
- lists all the fonts in the file) try to find a fontname
- in the current locale. We used to look first for English
- and then anything. Now try: First current locale, then
- english, then anything.</li>
- <li>Make the Open Font dlg (and similar file chooser
- dlgs) be customizable, and store that info in prefs.
- Specifically control whether directories are displayed in
- alphabetical order among other files, before normal
- files, or in a separate pane.
- <p>Also add a bookmark (and back/forward)
- mechanism.</p>
- </li>
- <li>Add support for opening a font from http & ftp
- URLs. Can browse ftp URLs, and save fonts back to
- ftp.<br />
- <code>$ fontforge
- http://openfontlibrary.org/people/Nasenbaer/Nasenbaer_-_Widelands.ttf</code></li>
- <li>The validation patch broke the save mac family
- dialog, and then the upload to open font library broke it
- further.</li>
- <li>When doing expand stroke, it is possible to have two
- points so close together that there is no data on the
- curve in between the two. If this happens
- ApproximateFromPointsSlopes can't do a good job. So be
- careful of this case.</li>
- <li>Layers change introduced a potential crash in the
- Embolden command.</li>
- <li>fontimage didn't draw the first line.<br />
- Add a cgi front end to <a href=
- "fontimage.html">fontimage</a> so now it is possible to
- get a font sample of any font on my website.</li>
- <li>In the Display dlg, if you changed the font, or the
- point size without selecting something, then that change
- would vanish instantly. Fix that.
- <p>Also, was a crash bug when mixing a font with a
- baseline table and a font without one (in the disply
- dlg).</p>
- </li>
- <li>Add a command to insert text into a glyph.
- (<code>Element->Insert Text Outlines)</code> It adds
- the text outlines directly (instead of a draw command
- using another font) because most fonts can't include text
- drawing in their glyphs. Also include a Bind to Path
- variant.</li>
- <li>GLyph lists in kerning classes (in show att) were
- displayed as ligatures.</li>
- <li>Upgrade to unicode 5.1</li>
- <li>If an sfd file were saved with spiros active, and
- then loaded into a version of fontforge without libspiro,
- then bad things would happen. Whenever we check that
- spiros are active also check that they can be active, and
- add some warnings for the user to let him/her know that
- spiros aren't available.</li>
- <li>Add a tile pattern command (if --enable-tile-path)
- this allows the user to replicate any given pattern in
- another glyph.
- <p>This could be used to produce a grid of guidelines,
- or, in conjunction with
- <code>Element->Overlap->Intersec</code>t it could
- provide a poor man's "Pattern Fill" (Since Pattern
- fills are only available in type3 fonts this sort of
- makes them work for any font type).</p>
- </li>
- </ul>
- </li>
- <li>30-Mar-2008
- <ul>
- <li>Add support for the OpenType 'BASE' table, and to a
- lesser extent for Apple's 'bsln' table.
- <p>Add python scripting (font.horizontalBaseline,
- font.verticalBaseline) too.</p>
- <p>Add support under Show ATT.</p>
- <p>Remove the old vertical origin field.</p>
- </li>
- <li>Add the ability to create a dummy 'DSIG' table (one
- containing no signatures) so that Windows will show an
- opentype icon for a font with extension 'ttf'</li>
- <li>Add support for gradient and pattern fills to type3
- fonts (only if <code>./configure --enable-type3</code> is
- specified, of course.
- <p>Also add support for cliping paths</p>
- <p>Make fonts containing images work in pdf output.</p>
- </li>
- <li>Bump the sfd version number. This should have
- happened in the last release, but I didn't realize it was
- needed then, thus there will be sfd files with an
- incorrect version number (2) when it should be 3. However
- that should not cause the current parser problems.</li>
- <li>New Greek translation from Apostolos</li>
- <li>Updated Polish translation from Michal</li>
- <li>Apostolos points out that compiling on systems
- without freetype (Solaris boxes) was broken after last
- months layers patch.</li>
- <li>Werner suggested various improvements to Show ATT:
- <ul>
- <li>Lookups should be sorted</li>
- <li>Glyph images should be drawn in more cases
- (before, just for substitutions)</li>
- </ul>
- </li>
- <li>Patch from Alexey, for better handling conflicts
- between diagonal and H/V stems.</li>
- <li>Do a more consistent job of handlong curved stem
- segments. Also collect point data for off-curve points
- too (may be useful in future for TTF hinting).</li>
- <li>Last month I put in a patch to make sure the lsb as
- stored in the 'hmtx' table was really the glyph's lsb if
- bit 1 of the head.flags field were set. Unfortunately I
- read in the lsb as an unsigned number which shifted
- negative lsbs off to around 65535. FF sometimes refused
- to rasterize them. Of course when the font was generated
- they got truncated back to negatives in the output.</li>
- <li>Add a preference item so that fonts will be
- automagically compacted when they are opened.</li>
- <li>Add a new preference item (SeekCharacter) to allow
- users to control which character will be displayed when
- opening a new font. Normally FontForge displays 'A', but
- that's a bit latin-alphabet-centric.</li>
- <li>If palettes were not docked, then a complicated
- series of events could lead to a crash after closing a
- TilePath (Math kerning, Gradient Fill, etc.) dialog.</li>
- <li>Was not outputting the %%LanguageLevel DSC
- comment.</li>
- <li>Generating a CID-keyed otf font was broken by the
- layers patch. (Only the background layer …
Large files files are truncated, but you can click here to view the full file