freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft] Correct TrueType Checksums


From: Lawrence D'Oliveiro
Subject: [ft] Correct TrueType Checksums
Date: Sun, 8 Mar 2015 16:36:07 +1300

The TrueType font format is full of checksums: the directory entry for
each table includes a checksum of the table contents, and in addition
the checksum for the entire font is supposed to come out to a fixed
value. To make the necessary adjustment to the font checksum, there is
a longword field in the 'head' table that can be set to any desired
value.

Unfortunately, this field gets counted in the font checksum twice, so
it can only adjust its value by ±2. So if you have an odd number of
tables with odd content checksums, there seems to be no way to get the
overall font checksum to come out right. Back when I was mucking around
with Macintosh fonts, I used to come across a lot of ones with bad
checksums--seems like font creators couldn’t even be bothered to get
them right.

But there is a way to do this: what I did in my font-hacking tools was,
where necessary, add an extra longword to the font that was not part of
any table. This way, it didn’t get counted in any table checksum, but
only in the overall font checksum. Setting this field to 1 served to
even out the odd content checksums, so the overall font checksum could
be made to come out correct.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]