Hi All,
There was some discussion on the list a ways back on the problems of Unicode. I could not think of a specific example at the time, but I just ran across one, so let me show you a concrete example.
The character 奠 is used in both Japanese and Chinese, but its character form is significantly different in the fonts typically used for each language. In Chinese fonts, the top of the character looks like the character 酋, while in Japanese fonts, it looks like 八+西.
To illustrate these differences, here is an enlarged example in MS 明朝 (a typical Japanese font) and a Chinese font called SimSun (I hope these display correctly):
奠 (MS 明朝)
奠 (SimSun)
Despite the character forms being significantly different in modern Japanese and Chinese, the same Unicode code point is used for both. This is not usually a problem for monolingual readers, since the fonts for each language are simply designed to reflect the preferences and expectations of the expected readers.
It does become a problem when it is not possible to change the display font. For example, my system is set to use Japanese display fonts and I went to this web page:
http://www.hanzismatter.com/2009/11/csi-ny-it-happened-to-me.html
I was confused because the Japanese form 奠 appeared in the image caption text, while the Chinese form 奠 clearly appeared in the image, so I knew something was wrong, but I was not sure what.
It took a while to sort everything out and I finally realized the problem was due to Han Unification under Unicode. This is clearly illustrated on the Unicode page for this character:
http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=%E5%A5%A0&useutf8=true
However, if these sorts of problems are indeed widespread and do cause significant difficulties, they can be solved by simply adding extra Unicode code points to disambiguate the character forms. Unicode is extensible enough to permit this.
Regards,
Alan Siegrist
Carmel, CA, USA
I wrote:
in Japanese fonts, it looks like 八+西.
Oops, it is more like 八+酉.
This is an interesting problem, and it is actually more complicated
than just code points. The browser you're using and the page's markup
will also affect which variant of the character is shown.
The two browsers I regularly use are Firefox and Safari. Firefox is
smarter about this kind of thing: if it detects that a page is written
in Chinese (based on the language declaration in the doctype element),
it will render using a Chinese typeface; Japanese for Japanese. The
hanzismatter page in question is declared as English, and Firefox
defaults to Japanese, which is higher up in my linguistic food-chain.
Safari is not so smart: because Japanese is higher up in my linguistic
food-chain, it renders Chinese characters in a Japanese font whenever
it can.
You can play around with this by downloading the hanzismatter page and
changing the language type. In fact, you can declare language
attributes on individual elements to see how that affects rendering
for identical text.
I've created a test page where you can see this effect in action:
http://8stars.org/misc/test_unihan.html
Adam Rice :: Austin TX USA :: adam...@8stars.org :: http://8stars.org
> I've created a test page where you can see this effect in action:
> http://8stars.org/misc/test_unihan.html
Thanks, Adam. That illustrates the effect perfectly.
I think this is a perfect illustration of the importance of page authors
declaring the language of text. Not being very HTML-savvy, I did not realize
that it is possible to declare the language for each individual bit of text
but now I know.
Thanks for the tutorial!
Best,
> > I think this is a perfect illustration of the importance of page authors
> > declaring the language of text. Not being very HTML-savvy, I did not
> > realize that it is possible to declare the language for each individual
> > bit of text but now I know.
>
> The issue is appropriately handled by having display/rendering systems
> sensitive to to the locale/language, NOT by adding extra codepoints to
> cater for minor glyph differences.
Yes, I see that now. I think it would be very helpful if display systems
like browsers would allow the user to change the locale/language setting on
the fly if the page author neglects to declare a specific locale or
language. This could be done in the same way that one can set the encoding
properly if you see mojibake on a page.
> Imagine what text searching and indexing would be like if we had different
> codepoints for Italic, Gothic, etc, in alphabetic languages.
Yes, we see this difficulty now when searching in Korean, for example. There
are actually two completely different sets of codepoints for the hanja of
common Korean names such as 金 (Kim), 李 (Lee) and 林 (Lim), despite the
respective character forms being identical. It appears to be random as to
which of the two codepoints would be used by any particular page author,
since both character forms look identical.
If one is searching for the name of a specific Korean person in hanja, it is
often necessary to do two different searches with two sets of characters to
be sure to get all hits. The number of searches required increases further
if the name has multiple characters with non-unique codepoints.
Regards,
> As I heard it, the multiple codepoints are because those hanja have more
> than one reading, so they did a codepoint for each.
I would be interested in hearing more about this.
> (Imagine if JIS codes had 15+ codepoints for 生.)
That would certainly be a mess. That does not seem to make sense, so I
wonder why a similar thing was done for Korean, if that was in fact the
case.
> Oh, and the North Korean code tables (yes, they have their own) have
> special codepoints for the characters for Kim Jong-Il and Kim Il-Sung.
What is the Korean word for "cult of personality"?