From: "Frank Yung-Fong Tang" <[EMAIL PROTECTED]> > It is not that easy for you from "don't know beans about fonts" to > "creat a test font that contains ... \u20050". If you are lucky, it will > take you several month if not year. There are commercial base font tool. > But I am not sure they support 32 bits cmap or not (probably not).
According to: http://www.microsoft.com/typography/otspec/cmap.htm The so-called "Microsoft Unicode" cmap format 4 (platfom id=3, encoding id=1) is the one recommanded for all fonts, except those than need to encode supplementary planes. Format 0 is deprecated (was used to map 8-bit encodings to glyph ids), as well as now Format 2 (was used to map DBCS encodings with leadbyte/trail bytes in East Asia, as a mix of 8 and 16 bit codes) For supplementary planes, like a font built to support GB18030, the cmap format 12 must be used instead with the same platform id, but the encoding id 10 (UCS-4). Format 8 is used to create a mix of 16-bit and 32-bit maps (with the assumption that no 16bit Unicode character will have the same code point as the highest 16-bit of a character out of the BMP, meaning that it works as long as there's no glyph to assign for Unicode codepoints X between U+0000 and U+0010 simultaneously with codepoints between X<<16 and (X+1)<<16 - 1).This compresses a bit the size of the cmap. Format 10 is not portable unlike format 12 which must be provided in addition to the recommanded format 4 for characters present in the BMP. In practice, this format is used mostly for GB18030 support, and supported by Windows 2000 and later. So you won't have to wait for years to create a GB18030 font, using UCS-4 mappings...