[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Devel] ttnameid.h Surrogates,
Detlef Würkner <=