diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-19 03:45:32 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-19 03:45:32 +0000 |
commit | 6286ff6301f94a475702d905cb722d3a4c7c4535 (patch) | |
tree | 37a4ec0f486b2efb1a10546ef9c265d2a40e8c8b /enc | |
parent | 1f5a099546c82eaaf7ea74e8c191170f93e7b5a4 (diff) | |
download | ruby-6286ff6301f94a475702d905cb722d3a4c7c4535.tar.gz |
* enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.
(with Kimihito Matsui)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc')
-rw-r--r-- | enc/unicode.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/enc/unicode.c b/enc/unicode.c index 96294f7c3c..2170301985 100644 --- a/enc/unicode.c +++ b/enc/unicode.c @@ -698,6 +698,15 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, } } } + else if ((folded = onigenc_unicode_unfold1_lookup(code)) != 0) { + if (flags&OnigCaseFoldFlags(folded->n)) { + int count = OnigCodePointCount(folded->n); + const OnigCodePoint *next = folded->code; + MODIFIED; + if (count==1) + code = *next; + } + } } to += ONIGENC_CODE_TO_MBC(enc, code, to); /* switch from titlecase to lowercase for capitalize */ |