I'm pleased to announce another release of GNU FreeFont.

This release addresses mostly technical issues with the fonts. Several
outstanding bug reports are fixed, and some characters are added,
especially Math symbols.

Download it at
You want the tarballs dated 2008-03-23.

Thanks to the several people who offered advice!

A lot of changes were made, and probably a few things are screwed up.
Certainly not all the pending bug reports have been dealt with.  I
expect to make another release soon, dealing in more detail with bugs.

Please have a look, and drop me a line!

Main technical improvements

Brought into line with Debian ttf-freefont

Updated file format to Spline Font Database (SFD) 2 (so now we can use
recent versions of FontForge)

The recent versions of FontForge are much superior to those of acouple
of years ago. Besides being much more stable, they now do quite
thorough checking for font problems. Thanks to George!

Line height improved
        (it is still slightly increased: see discussion below)

Glyph outlines in Windows are now good
        (see discussion below)

Now works in Windows and Mac OS
        I have installed and used it in Windows Vista, and it has been tested
on Mac OS X

Path problems fixed
        open paths
        intersecting paths
        outermost paths not clockwise
        no control point at path vert. or horiz. extrema
        flipped references
        mixed references and contours
        many "points too close" fixed

Lookup table (ATT) problems
        especially in Sans: Indic ranges were a complete mess

        all faces now pass FontForge validate

Back layer
        removed all back layers: fixed "ghost glyph" in printing

Font Info: Manufacturer (like OS/2 Vendor ID) is now GNU
        Copyright date updated

Changes to character ranges

Combining Diacriticals
        Many were incorrectly placed
        DPOS 'mark' table for Latin

        Ligatures ff ffi ffl fi fl put in standard lookup table
        Superscript digits and fractions regularized
        Extended Additionals: fixed incorrect stacking of many accents
        Added double hyphen uni2E17

        Made 'tonos' to be the same as combining accent acute
        Moved capital letters with tonos so tonos doesn't cover preceding letter

        I hope is basically functional now.
        Added lookup tables to do contextual character replacement,
        Added the required ligature look-up for lam-alif.
        Offset so baseline agrees with Latin.

Japanese Hiragana, Katakana
        Offset so baseline agrees with Latin.
        Fixed U+30FB, KATAKANA MIDDLE DOT to be full-width

        Increased height of letter "i"

Indic (Devangari, Gurmurkhi, Bengali, Gujarati)
        many changes of references to outlines
        in Sans, many alterations to lookup tables, which are very buggy
        many fixes of glyph outline problems

HTML Character Entities
        completed set for all faces

Math operators
        Completed LaTeX 2e range in Roman faces
        Worked on extensible integrals

To do

kerning (and related issues) needs to be changed to "kerning by classes"

* policies
* development tricks page
* test pages

maybe a find a better way to provide font snapshots

perhaps glyphs from http://packages.debian.org/sid/ttf-mph-2b-damase

perhaps replace Hiragana/Katakana with more modern set,
* such as Sazanami Mincho, VL-Gothic

several ranges (Ethiopic, Japanese, Indic) need a lot of work
* many glyphs are plain ugly (might be most efficient just to replace them)
* much work was done on lookups in Sans, but lookups in other faces
are probably non-functional

many outstanding bugs in the bugs list

Line height

Ever since GNU Freefont started acquiring language script ranges, line
height has been a problem. The underlying reason is, some of those new
glyphs were very high or low.

The result was that in many applications, the line spacing (of
FreeSerif especially) was extremely large.

In the Debian distribution of FreeFont, a patch was applied to remedy
this.  I applied this patch to FreeFont in CVS. However, I have since
had to replace it. It had some bad side-effects: the most obvious was
that in Windows, the ascenders and descenders of Latin letters were
chopped off.

The current state is a compromise. The line spacing is now slightly
increased (by about 15%) to allow for most accents and high and low

The purpose of putting scripts from different languages into a single
font can only be, to make it easy to make text in mixed languages. A
for them being together must therefore be that they look good
together. They should therefore at least be commensurate.

Now, I found that some scripts (Japanese, Arabic, and Tamil) were
greatly offset from the baseline, for no reason I could see. I have
put them
where I think they belong, and that helped a lot.

I hope in the future the situation can be further improved.

These scripts have some characters that are conventionally very high
or low: Arabic, Thai, Tamil. There are also standard typographic
that can make them work well with Latin. The extended Latin ranges are
a rather worse problem. There are cases of stacked accents which may
be difficult to fit into a comfortable height.

Technical details:
ascent and descent: 800 EM, 200 EM.
OS/2 Win ascent and descent: 900 EM, 300 EM.

Unfortunately, this Win ascent/descent is interpreted variously. It
was meant to serve simply a graphical clipping region, but many
applications also take it to indicate line spacing (and some as line
spacing but not clipping region).

Glyph outlines in Windows

The appearance of the font in Windows has evidently always been very
poor.  The outlines appeared very choppy, very much like a
badly-scaled bitmap.

After a great deal of detective work, comparing FreeFont to other
fonts,  and switching my (single home) computer between operating
systems, I figured it out.

Now the outlines look quite good in my Windows Vista.

Technical details:

Windows will fail to do what is required unless some "TrueType tables"
are included in the font: in SFD format, these have names like
"TtTable" and "ShortTable". These were absent in FreeFont.  (Just what
Windows does isn't clear to me: the tables are "hinting" tables, but
the effect looks to me like anti-aliasing.)

Now, FontForge generates such tables, with the Auto Instruct
command--but only for fonts with quadratic outlines. FontForge has
always had cubic
outlines...the command was disabled.

To maintain the cubic outlines (I don't know why, but let's say it is
desirable), here is the trick:
        Font Info -> Layers -> All layers quadratic
        Auto-hint everything
        Save As (different file name)
With text editor, copy the TrueType tables from the cubic .sfd file to
the quadratic .sfd file.

Note: this problem goes away if the font is bundled in OpenType
format.  This is the main format in Windows Vista, but many important
in the free software world don't support it.


Reply via email to