Greenville Revisited, A new look at FontForge

Wierd_w wierd_w at
Thu Jan 18 12:57:55 CST 2007

OK, Due to the recent interest in Greenville, and the
fact that enough time has passed that my original
rage/disgust/contempt at freetype has faded, I decided
to grab a recent Cygwin port of FontForge, and take a

FontForge is able to import the compiled glyphsets I
produce with Fontlab(the expensive font tool) pretty
neatly, and also seems to have fairly nice support for
SBITs in outputted OTF and TTF files. 

This means I should be able (with hard work) to
convert Greenville into a FontForge project file.
However, the generated font will contain bitmaps of
the glyphs for PPeM ranges 7-13, as the Type-1 hinting
mechanisms inside FontForge are insufficient to
cleanly hint the outlines for small point sizes. This
will make the font files generated a tad bit 'large'. 

I will combat this as much as possible by using glyph
composites as much as possible. (Basically aliasing to
existant glyph outlines with new placement data- This
not only improves consistancy of glyph shape, but also
reduces the size of the outline glyphset. EG, one can
make an "ü" by using the oderesis (The double dot
accent) and the "u", and combining aliases of them
into a new glyph. The same oderesis glyph can be used
on any such accented glyph, and prevents it having to
be drawn over and over again, reducing glyphset
complexity, and thus filesize. So, pretty much all of
Latin-A and Latin-B can be generated using a small set
of diacriticals, and Latin-1, if you know what you are
doing. :P It's like getting Latin-A and Latin-B for

I am comforted to read that FontForge's developer is
also "unsatisfied" with the lack of 'quality' truetype
instruction generation, and hope that he is able to
someday include a real truetype hinter. In the
meantime though, SBITs will have to do. (sigh)

I still perfer FontLab for my typesetting needs, as it
is more responsive on my host platform, and has better
Unicode character reordering support (It understands
the **FULL** Unicode range.), and a number of other
features which I have grown fond of.

However, the time I have available to work on it is
very limited. I have to be available to assist
students all day on Mondays and Wednesdays, and I take
classes myself on Tuesdays, Thursdays, and Saturdays.
This means that Fridays and Sundays are the only days
I have available, and that time is difficult to

To try and improve my functional time on this hobby
project, I need to get my laptop's battery serviced
(as it is an old clunker, but still able to run both
FontLab and FontForge+Cygwin) so I can work on it on
my downtime at the NIAR building (which admittedly can
be several hours a day. In fact, I am idling right
now...), which will cost me around 90$. This will have
to wait until my next bi-weekly pay deposit, as my
disposable income is near 0$ right now, as a result of
yet another tuition rate hike. (The university must
think I am litterally made out of money....)

I just wish there was a win32 native port of
Fontforge, but I wont hold my breath. (I really,
REALLY REALLY hate cygwin.)


I will have to begin re-examining the glyphs that the
windows rasterizer returns for Tahoma at various point
sizes in order to formulate suitable SBITs, but that
will have to wait until after I have completed the
glyphset to a degree that I consider at least

What unicode ranges, and or- codepages, would the
WINEHQ community require of a Tahoma replacement?

Ideally it would be all of them that MS Tahoma
currently supports, but that would require me to draw
characters that I have no functional knowledge of--
EG, Arabic, Cyrillic, Greek, and Hebrew characters.
Arabic is the one that has me a bit worried, as if
done wrong, the ligature substitution will be wonk,
and I dont have the functional knowledge of how the
language even works to produce such ligature
substitution to begin with. Simmilar problem with
Hebrew, but fewer glyphs to draw. 

I am currently shooting to have a full Latin-1,
Latin-A, and Latin-B + Greek + Cyrillic glyphset
before I start working on FontForge porting, and SBIT
generation. I allready have Latin-1 and Latin-A
complete (at least the glyphs that Tahoma supports),
and am about 75% through Latin-B. I havent really
touched Greek or Cyrillic yet.  When completed though,
it should support the US, Canada, and pretty much all
of Europe.

CJK ligatures, Arabic Ligatures, and Hebrew Ligatures
would need to be done by people who are familiar with
those glyphs, know what they mean, and how they are
"Supposed" to look, as I consider myself unqualified
to do them properly. I hope to have Greenville mostly
functional (In North America and Europe) by that time,
and to drop the fontforge project into WINEHQ custody,
and see how it grows from there.

Feedback would be greatly appreciated.

Get your own web address.  
Have a HUGE year through Yahoo! Small Business.

More information about the wine-devel mailing list