Lorna Evans wrote, about trying to get at the license information in the Nikosh 
Bengali font -

> ...it quits at this point.


FWIW, it appears (I'm not entirely sure, but someone may be able to confirm) 
there's something wonky/corrupt in the Nikosh font,

see 
<http://www.bpdb.gov.bd/bpdb/index.php?option=com_content&view=article&id=239>

in particular its internal 'name' table, where the license and other 
information strings are kept in various forms, based on platform, encoding, 
language, etc.

If I install this font into my Mac's Fonts folder, the Mac's FontBook shows the 
English license information in a string called "Description", followed by lots 
of Asian characters in a different string called "License."  The long Asian 
text then lapses back into English text that repeats the start of the Creative 
Commons license, but then cuts it all short in mid-sentence.

According to Apple's documentation on the 'name' table, see
<https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html>
regardless of the platform or encoding, each text string is stored with a 
length field that always counts bytes, even if the string is stored as UTF-16.  
The TrueType/OTF spec, at Section 5.2.6.1, says the same thing: it specifies a 
byte count, regardless of bytes per character.

Internally in TTF/OTF fonts, platform 0 is Unicode, platform 1 is the Mac, and 
platform 3 is Windows.  So the Mac's FontBook should be ignoring all the 
strings in the 'name' table for platforms 0 and 3 and using strings for 
platform 1.  Peculiarly, the Asian text the Mac is displaying is internally 
stored as for Windows only.

After parsing the internal data in the table with some of my own tools, I've 
found that the license string byte count for platform 0 (Unicode) is almost the 
same as the byte count for platform 1 (Mac), which is half the byte count for 
platform 3.  But text for the Unicode and Windows platforms is stored as 
two-byte UTF-16, whereas for the Mac it's one-byte 
ASCII/MacRoman/UTF-8/whatever.  Therefore it looks like the count for the 
Unicode platform License string is half what it should be (likely someone 
counted characters, not bytes).  And it appears only half is stored in the 
data.  Whatever, something is definitely out-of-whack.

The number of strings is different for each of the three platforms, which is 
also sloppy/weird/corrupt.

Other of the font's tables seem to parse okay, and the license flag bits in the 
'OS/2' table show up as

    restricted license embedding
    preview and print embedding
    editable embedding
    no subsetting
    bitmap embedding only

which confirms an earlier reply. OTOH, perhaps there are other problems in this 
font's data.

Doug McKenna
Mathemaesthetics, Inc.




--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex

Reply via email to