On Wed, 09 Sep 2009 23:29:49 +0200, George Williams <gww@...> wrote:
> On Wed, 2009-08-05 at 06:57, Dave Crossland wrote:
>> "as part of a Windows security patch the decision was made to not load
>> fonts with more than 5K in a name table record, which includes fonts
>> like Gentium which includes the entire Open Font License text in the
>> license name record."
>> I'd like to suggest that FontForge's validation functions warn when
>> the name table record is more than 5k.
> Calculating the size of the name table is a complicated process. Bits
> get added to it from all over the place and duplicating the code for
> this check does not appeal.
> 1. When a font is generated FF will post a warning notice if the
> 'name' table is too big.
> 2. When loading a font in validation mode, FF will warn if the
> 'name' table were too big.
> 3. In Font Info [OK] FF will do a rough check (add up all the
> string lengths) which is guaranteed to be smaller than the
> actual size of the table. And if this number is too big it will
> post a warning.
I decided to investigate this, and evidently this check is too
restrictive. It should warn if any individual entry in the table is larger
than 5KB, not if the whole table is too big. See this forwarded mail:
------- Forwarded message -------
From: "Simon Daniels" <simonda@...>
To: "Johan Winge" <johan.winge@...>
Subject: RE: Font name table limit
Date: Sun, 13 Dec 2009 20:53:01 +0100
The limitation only applies to fonts being processed by t2embed.dll - the
font embedding code used by IE, Word, PowerPoint etc., - so any font with
a single name table entry (not the entire table) that exceeds 5KB (say a
license string) that's embedded in an existing Word document, PPT or EOT
will not be processed by the updated t2embed, and also won't be embedded
into new documents.
Not sure of the status of getting this fixed. I'll ask.
Hope that makes sense. Please feel free to forward.
From: Johan Winge [mailto:johan.winge@...]
Sent: Saturday, December 12, 2009 3:24 PM
To: Simon Daniels
Subject: Font name table limit
I write to you regarding the restriction on the 'name' table, which was
noted on the www-font mailing list:
In a discussion with a fellow font designer this restriction came up, and
we both wonder how concerned we should be about it. I have tried to find
out more information and news about the patch, but your message was the
closest I could find to an official statement. None of us have experienced
the restriction, which supposedly should prohibit e.g. Gentium from
installing -- but we only tested in Windows XP and Vista, since that was
what we had access to. Is this restriction only present in Windows 7? I
would be very grateful if you could clarify which Windows versions are
affected and what patch introduced it.
Also, exactly what is the restriction? As a response to the above mail
thread, George Williams included a check in FontForge, which warns if the
'name' table as a whole exceeds 5K; however, it seems to me, based on the
original mail from John Daggett, that the restriction is that _one_single_
record in the table (such as the License record) can't be larger than 5K
(but that no such limit exists for the table as a whole). So I fear that
FontForge is overtly cautious in this matter.
Is it alright if I forward your response to the parties concerned (such as
the fontforge-devel list)?