Sure I know it could (and will ) be implement by a mapping table. But you still need to know what U+4ff3a to define such mapping table, right ? and the mapping table will still be part of the software package, right ? And the user still won't get your new version of mapping table untill they upgrade it, right ? So, whatever the software the user currently have today, without an upgrade (either upgrade the code or mapping table) still won't know how to convert U+4ff3a to lower case or upper case, right ?
But how can you generate such mapping table without knowing that character ? When we deliver software to the customer, it contains both code and mapping table. and once the software is distribute to the customer, unless you redistribute a newer version or a patch to the customer, the customer won't have a new code or mapping table. From software engineering point of view, upgrading a mapping table are the same as upgrade code. You need to run the full QA cycle, you need to rebuild the installer, you need to distribute them the end user. Although it is safer to change the mapping table than change the code, it is the same in term of software distribution. Geoffrey Waigh wrote: > On Wed, 26 Sep 2001, Yung-Fong Tang wrote: > > > how can you implement tolower(U+4ff3a) without knowing what U+4ff3a is ? > > With a data table. One set of debugged code that handles surrogates, > composing characters, bidirectionality etc. coupled with a datafile that > gets upgraded with each release of Unicode. How many years does it take > to implement some of these concepts? It shouldn't require > honest-to-goodness we-were't-kidding see-here's-one-defined-now characters > for developers to slap themselves on the head and start developing support > for these things. How many years does it take for people to realize that give a new mappint to their customer still need a complete life cycle of QA and distribution? And there will be a new version number attach to the software for that. > > > Geoffrey

