Running a bit short on space?

by Michael S. Kaplan, published on 2006/12/24 18:09 -05:00, original URI:

The other day in response to It's not right when IsRightToLeft is wrong, regular reader Andrew West asked in a comment after a brief conversation about the layout bits in the FONTSIGNATURE:

I know that the Unicode range bits are set in the OS/2 table of the font, but what about bits 123-125 -- are these also derived from the UnicodeRange field of the OS/2 table in the font?

A very good question, which I went ahead and asked some of the folks on the Microsoft Typography team who know this sort of thing (Sergey Malkin and Peter Constable).

The response from the two of them was that:

Bits 123+ are not defined in OS/2 Unicode ranges. And I think they can’t be there, because they are not font or font+script wide.

We have taken note to treat those bits as permanently reserved.

...we are getting close to the limit.... ...running out of bits (something like 10 left).

Clearly this is something to keep an eye on, since obviously there will be new scripts in Unicode, but to keep from needing to rev. the structure some new scripts will have to be combined with subranges that already exist.

So these three bits, while not specifically related to fonts themselves since fonts do not contain them, are reserved bits that fonts will not use.


This post brought to you by  (U+a016, a.k.a. YI SYLLABLE BIT)

Andrew West on 25 Dec 2006 9:24 AM:

Thanks for letting me know. Does this mean that bits 123-125 are only relevant to the LOCALESIGNATURE structure but not the FONTSIGNATURE structure? Incidentally the documentation for LOCALESIGNATURE states that USB bitfield identifies up to 122 Unicode subranges, whereas the FONTSIGNATURE documentation states that the USB bitfield identifies up 126 Unicode subranges. If bits 123-125 are reserved for LOCALESIGNATURE use, then I guess bits 123-125 should be reserved in the font structure as well.

It is difficult for font designers to be sure what bits to set in the OS/2 table of the font as the official OS/2 Table documentation has not been publicly updated for years, and the MS documentation for the Unicode Subset Bitfields is all that we have to rely on for post Unicode 3.0 additions -- though I'm very pleased to see that it does now cover Unicode 5.0, which has enabled me to set Bit 53 in the Phags-pa fonts that I have just released ... even though the excellant (but much in need of an update) font properties extension treats Bit 53 as "CJK Miscellaneous" (judicious reuse of valuable bit space I suppose, though however hard Peter tries to squeeze all the new blocks into the few remaining bits, I'm afraid that there are too many new scripts still getting encoded to fit everything in).

Michael S. Kaplan on 25 Dec 2006 12:37 PM:

The bits are reserved in both structures; although in theory they could divorce the two, it would make the LOCALESIGNATURE less expressive for font selection....

referenced by

2008/10/05 Can I get your [font]signature on this, please?

2008/04/30 Why WC2MB needs a CP, chaver sheli!

go to newer or older post, or back to index or month or day