-
Bug
-
Resolution: Won't Fix
-
P5
-
None
-
1.4.0
-
None
-
generic
-
generic
The converter class sun.awt.motif.CharToByteX11Dingbats has numerous problems.
It maps some characters which don't have mappings and fails to
map some that do have mappings in the X11 and Postscript Dingbats fonts.
Specifically :
- it assumes everything in the range 0x2701 -> 0x275e is a
valid unicode codepoint that maps into dingbats.
Well that's wrong. The unicode manual shows there's no mapping for
2705, 270a, 270b, 2728, 274c, 274e, 2753, 2754, 2755, 2757.
- The unicode subrange "dingbats" extends from 0x2700->0x27bf
The implementation has a table which is filled with zeros (meaning no
mapping) for all characters in the rang 0x27
when in fact all but one of those has a unicode->dingbats mapping
according to Adobe specs for the ITC Zapf Dingbats (zapfdingbats-old.txt
on the adobe website).
- the same adobe spec also points out numerous unicode characters
that are not in the unicode dingbats subrange but are elsewhere
in unicode as well as being in Zapf Dingbats.
For example (this is illustrative, not exhaustive).
25;260E;a4;BLACK TELEPHONE
2A;261B;a11;BLACK RIGHT POINTING INDEX
2B;261E;a12;WHITE RIGHT POINTING INDEX
48;2605;a35;BLACK STAR
6C;25CF;a71;BLACK CIRCLE
6E;25A0;a73;BLACK SQUARE
AC;2460;a120;CIRCLED DIGIT ONE
AD;2461;a121;CIRCLED DIGIT TWO
AE;2462;a122;CIRCLED DIGIT THREE
AF;2463;a123;CIRCLED DIGIT FOUR
B0;2464;a124;CIRCLED DIGIT FIVE
B1;2465;a125;CIRCLED DIGIT SIX
B2;2466;a126;CIRCLED DIGIT SEVEN
B3;2467;a127;CIRCLED DIGIT EIGHT
B4;2468;a128;CIRCLED DIGIT NINE
B5;2469;a129;CIRCLED NUMBER TEN
the first value is the dingbats encoding value, the 2nd the unicode code
point.
If the purpose of CharToByteX11Dingbats is to be able to convert all
unicode characters that have a dingbats encoding then this shows it
falling short.
This is not likely to be worth fixing until such time as the class
is rewritten to the nio charset api.
###@###.### 10/12/04 20:27 GMT
It maps some characters which don't have mappings and fails to
map some that do have mappings in the X11 and Postscript Dingbats fonts.
Specifically :
- it assumes everything in the range 0x2701 -> 0x275e is a
valid unicode codepoint that maps into dingbats.
Well that's wrong. The unicode manual shows there's no mapping for
2705, 270a, 270b, 2728, 274c, 274e, 2753, 2754, 2755, 2757.
- The unicode subrange "dingbats" extends from 0x2700->0x27bf
The implementation has a table which is filled with zeros (meaning no
mapping) for all characters in the rang 0x27
when in fact all but one of those has a unicode->dingbats mapping
according to Adobe specs for the ITC Zapf Dingbats (zapfdingbats-old.txt
on the adobe website).
- the same adobe spec also points out numerous unicode characters
that are not in the unicode dingbats subrange but are elsewhere
in unicode as well as being in Zapf Dingbats.
For example (this is illustrative, not exhaustive).
25;260E;a4;BLACK TELEPHONE
2A;261B;a11;BLACK RIGHT POINTING INDEX
2B;261E;a12;WHITE RIGHT POINTING INDEX
48;2605;a35;BLACK STAR
6C;25CF;a71;BLACK CIRCLE
6E;25A0;a73;BLACK SQUARE
AC;2460;a120;CIRCLED DIGIT ONE
AD;2461;a121;CIRCLED DIGIT TWO
AE;2462;a122;CIRCLED DIGIT THREE
AF;2463;a123;CIRCLED DIGIT FOUR
B0;2464;a124;CIRCLED DIGIT FIVE
B1;2465;a125;CIRCLED DIGIT SIX
B2;2466;a126;CIRCLED DIGIT SEVEN
B3;2467;a127;CIRCLED DIGIT EIGHT
B4;2468;a128;CIRCLED DIGIT NINE
B5;2469;a129;CIRCLED NUMBER TEN
the first value is the dingbats encoding value, the 2nd the unicode code
point.
If the purpose of CharToByteX11Dingbats is to be able to convert all
unicode characters that have a dingbats encoding then this shows it
falling short.
This is not likely to be worth fixing until such time as the class
is rewritten to the nio charset api.
###@###.### 10/12/04 20:27 GMT