Re: Char... Unicode version (bug?): what about 2.0?
- From: "Willy Denoyette [MVP]" <willy.denoyette@xxxxxxxxxx>
- Date: Wed, 24 Aug 2005 11:11:23 +0200
I don't think it's a bug, .NET v2.0 is Unicode 3.1 based and U+03F9 is a
4.0.0 codepoint.
Anyway, like Christoph said, you can always file an issue to
http://lab.msdn.microsoft.com/productfeedback/
Willy.
"Dan" <fusi.daniele@xxxxxxxxxx> wrote in message
news:430b485f$0$8476$5fc30a8@xxxxxxxxxxxxxxxxxx
> Hi all, I'd like to submit what it seems to be a bug as for the Unicode
> compliance of methods like Char.Is...: as stated by the latest version of
> Unicode, codes +03F2 and +03F9 represent Greek lunate sigma, lowercase and
> uppercase respectively (c and C). For these codes I get the following
> results:
>
> +03F2: lowercase c:
> Char.IsLetter() = true (OK)
> Char.IsUpper() = false (OK)
> Char.IsLower() = true (OK)
> Char.ToUpper('\x3f2') and .ToLower both = +03F2 (! I'd expect +03F9 for
> ToUpper)
>
> +03F9: uppercase C:
> Char.IsLetter() = false (!)
> Char.IsUpper() = false (!)
> Char.IsLower() = false (OK)
> Char.ToUpper('\x3f9') and .ToLower both = +03F9 (! I'd expect +03F2 for
> ToLower)
>
> It appears that +03F9 is not treated as a 'letter' as it happens for
> +03F2, which seems deprived of its capital form. I'd like to know if this
> is an issue coming from an older Unicode version or it's just a bug or by
> some design choice I can't catch, and if anyone using the .NET 2 Beta can
> tell me how .NET 2.0 behaves about this.
> If you 2.0 guys are as lazy as me, try the following code fragment to have
> a test (just paste it into a console app):
>
> static private void DumpSingleChar(char c)
> {
> Console.WriteLine("IsLetter = {0}", Char.IsLetter(c));
> Console.WriteLine("IsUpper = {0}", Char.IsUpper(c));
> Console.WriteLine("IsLower = {0}", Char.IsLower(c));
> Console.WriteLine("ToUpper = {0:X4}", (int)Char.ToUpper(c));
> Console.WriteLine("ToLower = {0:X4}", (int)Char.ToLower(c));
> }
>
> [STAThread]
> static void Main(string[] args)
> {
> Console.WriteLine("+03F2");
> DumpSingleChar('\x3F2');
>
> Console.WriteLine("+03F9");
> DumpSingleChar('\x3F9');
> }
>
> Thanx!
>
.
- References:
- Prev by Date: Re: Regexp fails to return matches
- Next by Date: Re: *svchost.exe thing in BETA 2 ?
- Previous by thread: Re: Char... Unicode version (bug?): what about 2.0?
- Next by thread: https connection problem
- Index(es):
Relevant Pages
|