Making OT/TTF layout features work in MS Word 2010

Matthew ButterickMatthew Butterick Posts: 143
edited December 2012 in Software
I'm not the first to get tripped up by this. But I came up with a solution suitable for the cheap & lazy—er, economical & efficient.

For bad and arbitrary reasons, OT/TTF fonts with layout features are only recognized as such in Windows if they have a DSIG (digital signature) table. Without this table, they behave as normal TTF fonts (i.e., none of the layout features work). This is not true of OT/CFF fonts, which need no DSIG table.

Windows customers can use OT/CFF fonts. But MS Office, and MS Word in particular, still works better with TT-based fonts. For instance, for bad and arbitrary reasons, the built-in PDF generator in Word will not embed OT/CFF fonts, only OT/TTF.

To make a DSIG, one solution is to buy an actual digital signature from a certificate authority. Fontlab, for instance, can generate the DSIG table if you have the signature files. (Don't know how it's handled in Glyphs or Robofont.) But this is about $200 per year. Digitally signing your fonts has other ostensible benefits, so if you like that, great. To me, it's a lot to pay just to get OT/TTF fonts to do what they should've been able to do in the first place, which is: work.

FontForge can put in a dummy DSIG table, but that requires dealing with FontForge.

If you have ttx installed, however, you can do it this way:

Create a ttx file with a dummy DSIG table, like so:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.2">
<DSIG>
<hexdata>
00000001 00000000
</hexdata>
</DSIG>
</ttFont>
Then you can merge this into your OT/TTF like this:

ttx -m font.ttf dsig.ttx

This will decompile the ttf, add the DSIG table, and recompile in one step. Then the font will work as intended in MS Office (or so I have found in my testing thus far.) This is also easy to incorporate into other scripts.

Of course, this is not a real digital signature, but it's sufficient to convince Windows that the font has a valid DSIG table.

(Hat tip to Ross Mills for pointing me in the right direction.)

Comments

Sign In or Register to comment.