From 201d1ad12be3ca539d6848a3efce52d97163ff2c Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 7 Apr 2011 08:25:52 +0000 Subject: [PATCH] Core: InitCaps improved to capitalize letters after any !IsLeNum character git-svn-id: svn://ultimatepp.org/upp/trunk@3327 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/CharSet.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/uppsrc/Core/CharSet.cpp b/uppsrc/Core/CharSet.cpp index 00c7fe2b1..8527659af 100644 --- a/uppsrc/Core/CharSet.cpp +++ b/uppsrc/Core/CharSet.cpp @@ -2725,7 +2725,7 @@ WString InitCaps(const wchar *s) r.Cat(ToUpper(*s)); else r.Cat(ToLower(*s)); - spc = IsSpace(*s); + spc = !IsLeNum(*s); s++; } return r; @@ -2742,7 +2742,7 @@ WString InitCaps(const WString& s) r[i] = ToUpper(c); else r[i] = ToLower(c); - spc = IsSpace(c); + spc = !IsLeNum(c); } return r; } @@ -2773,20 +2773,7 @@ WString ToAscii(const WString& w) String InitCaps(const char *s, byte charset) { - charset = ResolveCharset(charset); - if(charset == CHARSET_UTF8) - return ToUtf8(InitCaps(FromUtf8(s))); - StringBuffer r; - bool spc = true; - while(*s) { - if(spc) - r.Cat(ToUpper(*s, charset)); - else - r.Cat(ToLower(*s, charset)); - spc = IsSpace(*s); - s++; - } - return r; + return FromUnicode(InitCaps(ToUnicode(s, charset)), charset); } String ToUpper(const char *s, byte charset)