aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--enc/unicode.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fce9a0e8ae..13de019257 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */