[Scribus] font lint tool

avox avox
Tue Sep 4 15:55:36 CEST 2007

Craig Ringer wrote:
> gww at silcom.com wrote:
>> At the Libre Graphics Meeting in Montreal I was asked by someone from
>> Scribus
>> (and I can't recall who any longer) to write a tool for checking that a
>> font was
>> valid (didn't have any intersecting contours, had points at the extrema,
>> etc.)
>> I have now written this tool, called fontlint.
>> It is part of the current release of fontforge.
>> http://fontforge.sf.net/
> Out of >2000 fonts I've run this on, including the full Adobe OTF
> collection, the MS TT core fonts, some scary old clipart CD fonts, and
> the Vera series, I've found exactly 16 faces that pass (all from the
> Adobe OTF collection).

I always thought the long fontlists in Scribus are unwieldy :-)

> ...
> Here's an example from the OTF collection:
>> $ fontlint "Adobe Garamond Pro/AGaramondPro-BoldItalic.otf"
>> Copyright (c) 2000-2007 by George Williams.
>>  Executable based on sources from 15:43 31-Aug-2007.
>> Warning: Mac string is a subset of the Windows string in the 'name' table
>>  for the Family string in the English (US) language.
>> Warning: Mac and Windows entries in the 'name' table differ for the
>>  Styles (SubFamily) string in the language English (US)
>>  Mac String: Bold Italic
>> Windows String: Italic
>> Warning: Mac and Windows entries in the 'name' table differ for the
>>  Fullname string in the language English (US)
>>  Mac String: Adobe Garamond Pro Bold Italic
>> Windows String: AGaramondPro-BoldItalic
>> Validation AGaramondPro-BoldItalic ...Failed
>>   Missing Points at Extrema

AFAIK the name thing will mostly affect portability of fonts between
different OSs.
Since Scribus uses the FreeType library on all platforms it will probably
not affect Scribus directly, but fontnames might be different in Scribus and
native apps.

> ...
> Similar issues are reported for many of the MS TT Core fonts, eg:
> Validation Arial-Black ...Failed
>   Self Intersecting Glyph
>   Wrong Direction
>   Flipped Reference

Self Intersecting Glyph is a bad one. It means that the fill operator may
fail on that glyph outline on some RIPs. Dunno about the other two, but I
think Wrong Direction might reverse the meaning of inside/outside of a

> ...
> If I run the tool over the entire Adobe OTF library then filter the
> output to show only failures other than the apparently universal
> "Missing Points at Extrema" error, here's what I get:
> ...

Missing Points at Extrema means that the bounding box of the glyph outline
is different to the bounding box of it's support points. I'm not sure why
that's deprecated, but I don think it's critical.

>> craig at wallace:~/lintout$ grep -A 8 Failed * | gawk ' /^--$/ { next; }
>> /\.\.\Failed$/ { next; } /Missing Points at Extrema$/ { next; } /^.*$/ {
>> print $0; } ' | sort
>> ACaslonPro-BoldItalic.otf.txt-  Self Intersecting Glyph
>> ACaslonPro-Bold.otf.txt-  Self Intersecting Glyph
>> ACaslonPro-Italic.otf.txt-  Self Intersecting Glyph
>> ...
>> WoodtypeOrnamentsStd.otf.txt-  Self Intersecting Glyph
>> ZapfDingbatsStd.otf.txt-  Self Intersecting Glyph
>> ZebrawoodStd-Fill.otf.txt-  Wrong Direction
>> craig at wallace:~/lint$

A future version of Scribus will probably reject those fonts for embedding.

I'll probably implement a mandatory outlining for fonts with broken glyphs.
That means they can still be used in Scribus, but they will not be copied
into the PS or PDF file.

View this message in context: http://www.nabble.com/font-lint-tool-tf4366971.html#a12478546
Sent from the Scribus mailing list archive at Nabble.com.

More information about the scribus mailing list