diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | enc/unicode.c | 9 |
2 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Fri Feb 19 12:44:57 2016 Martin Duerst <duerst@it.aoyama.ac.jp> + + * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array. + (with Kimihito Matsui) + Fri Feb 19 11:08:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/extmk.rb: add cygwin case, nothing excluded. 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 */ |