On Tue, 2007-03-13 at 07:40, George Williams wrote:
> Sometime later this week I hope to post an experimental build containing
> a major rewrite of the UI.
I had hoped that I would have time to finish rewriting the
documentation, but it appears that is not to be. (I go on vacation
tomorrow to run a marathon).
Instead I shall post an experimental source tarball into the file
release system (in the 12-March release), update the cvs tree, and write
a few words here about the differences.
The major change is that fontforge now presents lookups to the user
rather than features. I think this makes simple things more difficult
(which is why I avoided this when I started), but it makes complex
Sadly the world is not simple.
So when a piece of typographic information is created (a ligature, a
kern pair, a glyph substitution, etc.) it must be tagged with a lookup
(actually a lookup sub-table) rather than a feature tag.
The lookup itself will be tagged with a feature tag (possibly several
tags) and with scripts and languages in which that lookup should be
NOTE: This reverses the way GPOS/GSUB think about things, but it
contains the same information.
The Font Info dialog now contains a Lookup pane which allows you to
create and edit lookups and their subtables. You can also reorder them.
The order shown in the dialog is the order in which they will be
A mac feature/setting subtable also gets converted into this format.
The Font Info dialog no longer has Anchor Classes, Contextual, or State
Instead you can edit a lookup subtable's data. There are new dialogs
which list all the information for each lookup type (ie. a dialog which
lists all kern pairs in a subtable), and these provide access to the old
anchor class, contextual or state machine dialogs.
The Glyph Info command has also changed. It looks simpler and more
comprehensible (I think), but the act of creating a new substitution has
become more complex because (potentially) one must create a new lookup
and lookup subtable before doing the simple task of adding a new
The kerning class, contextual and state machine dialogs have all changed
in that they no longer request a feature tag, they now need a lookup
The metrics view also needs a subtable.
And so do many other dialogs.
Show ATT has changed, but it is still not editable. I hope that the
Lookups pane will do that instead.
There used to be a scripting command which indicated what ligature
features got stored in afm files. Now each ligature lookup has a flag
set on it which conveys this information.
The Element->Typographic Features menu has been removed. It's
functionality has moved into Font Info->Lookups (I hope I've got
Some scripting commands have been removed, others have been changed and
others have been added. I apologize for this, as it will break existing
scripts, but some basic concepts no longer exist and others, very
different, have replaced them.
AddATT Replaced with AddPosSub
SelectByATT Replaced with SelectByPosSub
Set(V)Kern takes an optional third argument, a lookup subtable name
(if not specified it choses one)
GetLookupInfo(lookup-name) => [type,flags,feature-script-lang-array]
The sfd format has changed. New files are tagged as version 2. Old files
will still work, but ff will no longer produce file in the old format.
I'm not aware of any bugs...