On Wed, 2004-10-06 at 03:59, Polton, Richard (IT) wrote: > If the char which is to be converted is 0661, say, then what will be the > value of the subtraction? Will it be 0661 - 0660 or will it be 0661 - > 0030? I assume that a literal '0' will always map to 0030 rather than > cleverly detect the range of digits that the char belongs to.
Oh. Good point. (Why didn't I think of that?) The literal '0' is mapped to 0030, so you'd get U+0661 - U+0030, which is *way* too big. So I guess the code is broken. The question is, in what way? :-/ Now the question is: what does Microsoft's implementation do? :-) Someone will have to throw U+0661 at Microsoft's Microsoft.VisualBasic.dll and see what the return value (or exception generated) is. They may require a value between '0' and '9', and all other "Nd" digits, such as U+0661, generate exceptions. Alternatively, Microsoft always subtracts from the proper value. We can do either of these, we just need to know which to do. - Jon _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
