freetype-devel
[Top][All Lists]
Advanced

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

[Devel] ttnameid.h Surrogates


From: Detlef Würkner
Subject: [Devel] ttnameid.h Surrogates
Date: Tue, 20 Nov 2001 11:27:45 +0100

Hello!

IMHO ttnameid.h contains a wrong description of the Unicode codepoint
range covered by bit 57 of ulUnicodeRangeX of the OS/2 table:

----8<----
  /* Surrogates Area */

  /* Bit 57   High Surrogates             + */
  /*          High Private Use Surrogates + */
  /*          Low Surrogates                */
#define TT_UCR_SURROGATES                      (1L << 25) /* U+D800-U+DB7F */
                                                          /* U+DB80-U+DBFF */
                                                          /* U+DC00-U+DFFF */
----8<----

This description implies that a font may have glyphs for "the surrogate
codepoints", but these are just a special escape mechanism to specify
a codepoint beyond 0xFFFF with two 16-bit values instead of one 32-bit
value. The OpenType1.3 specs say:

----8<----
* Setting bit 57 implies that there is atleast one codepoint beyond the
Basic Multilingual Plane that is supported by this font.
----8<----

which currently (Unicode 3.1) means the codepoint ranges

U+10300-U+1032F Old Italic
U+10330-U+1034F Gothic
U+10400-U+1044F Deseret
U+1D000-U+1D0FF Byzantine Musical Symbols
U+1D100-U+1D1FF Musical Symbols
U+1D400-U+1D7FF Mathematical Alphanumeric Symbols
U+20000-U+2A6D6 CJK Unified Ideographs Extension B
U+2F800-U+2FA1F CJK Compatibility Ideographs Supplement
U+E0000-U+E007F Tags
U+F0000-U+FFFFD Private Use
U+100000-U+10FFFD Private Use

or more general U+10000-U+10FFFD since there will be more Unicode
codepoint ranges defined in future, or just say U+10000-U+FFFFFFFF
to follow the OpenType spec.

Ciao, Detlef
-- 
_ // address@hidden
\X/  Detlef Wuerkner, Langgoens/Germany



reply via email to

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