From: Kenneth Whistler (kenw@sybase.com)
Date: Fri Aug 24 2007 - 19:23:18 CDT
John Hudson responded to Andrew West:
> > But what a font should not do, in my opinion, is simply leave VS
> > characters to be rendered with the .notdef glyph.
>
> Ideally not, but there are tens of thousands of fonts out there in the wild, most will
> never be updated, and if they are updated only a fraction of users will end up with the
> updated versions. And what about when Unicode encodes new control characters that you
> might also want to be handled in this way? Then all the fonts will be 'broken' again.
This much of the problem was long ago anticipated by the UTC,
and appropriate action taken. Examine the listing of the
Other_Default_Ignorable_Code_Point property carefully:
# ================================================
034F ; Other_Default_Ignorable_Code_Point # Mn COMBINING GRAPHEME JOINER
115F..1160 ; Other_Default_Ignorable_Code_Point # Lo [2] HANGUL CHOSEONG FILLER..HANGUL
JUNGSEONG FILLER
2064..2069 ; Other_Default_Ignorable_Code_Point # Cn [6] <reserved-2064>..<reserved-2069>
3164 ; Other_Default_Ignorable_Code_Point # Lo HANGUL FILLER
FFA0 ; Other_Default_Ignorable_Code_Point # Lo HALFWIDTH HANGUL FILLER
FFF0..FFF8 ; Other_Default_Ignorable_Code_Point # Cn [9] <reserved-FFF0>..<reserved-FFF8>
E0000 ; Other_Default_Ignorable_Code_Point # Cn <reserved-E0000>
E0002..E001F ; Other_Default_Ignorable_Code_Point # Cn [30] <reserved-E0002>..<reserved-E001F>
E0080..E00FF ; Other_Default_Ignorable_Code_Point # Cn [128] <reserved-E0080>..<reserved-E00FF>
E01F0..E0FFF ; Other_Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
# Total code points: 3779
This includes lots of *unassigned* code points. Why? Because
the UTC long ago decided that any more default ignorable
code points should be assigned in one of the ranges where
these had started accumulating. Specifically, those are:
2060..206F (with 2064..2069 still unassigned as of Unicode 5.0)
FFF0..FFF8 (all unassigned... note: *not* FFF9..FFFD, despite any
square boxes around glyphs in the charts for the Specials)
E0000..E0FFF (the first 4K of Plane 14, mostly unassigned, except
for the tag characters and the CJK VS's)
The important thing for a general use font is that if it is set
up to show no glyph for any assigned character which is currently
Default_Ignorable_Code_Point=True *and* it treats those 3
ranges the same way, then it should be permanently covered for
any additional character assignments of this type.
--Ken
This archive was generated by hypermail 2.1.5 : Fri Aug 24 2007 - 19:25:42 CDT