summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-04-29 21:15:10 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-04-29 21:15:10 (GMT)
commit678622482afea72fdfcf94dcb285d1b0a68f6037 (patch)
treebd4a0161f2ff1e4fa017b84ef2cee78fc33d79e5 /tools
parentc23982e3c203350801e96f4a95d273a9918b248a (diff)
parentbfc5a0090ff536e09dc97682d33965b26416e8a2 (diff)
downloadtcl-678622482afea72fdfcf94dcb285d1b0a68f6037.zip
tcl-678622482afea72fdfcf94dcb285d1b0a68f6037.tar.gz
tcl-678622482afea72fdfcf94dcb285d1b0a68f6037.tar.bz2
Merge 8.7 (= upgrade to Unicode 11 beta)
Diffstat (limited to 'tools')
-rw-r--r--tools/uniClass.tcl4
-rw-r--r--tools/uniParse.tcl11
2 files changed, 10 insertions, 5 deletions
diff --git a/tools/uniClass.tcl b/tools/uniClass.tcl
index 9b4819d..8047894 100644
--- a/tools/uniClass.tcl
+++ b/tools/uniClass.tcl
@@ -20,7 +20,7 @@ proc emitRange {first last} {
set extranges 1
set numranges 0
set ranges [string trimright $ranges " \n\r\t,"]
- append ranges "\n#if TCL_UTF_MAX > 4\n ,"
+ append ranges "\n#if CHRBITS > 16\n ,"
}
append ranges [format "{0x%x, 0x%x}, " \
$first $last]
@@ -33,7 +33,7 @@ proc emitRange {first last} {
set extchars 1
set numchars 0
set chars [string trimright $chars " \n\r\t,"]
- append chars "\n#if TCL_UTF_MAX > 4\n ,"
+ append chars "\n#if CHRBITS > 16\n ,"
}
append chars [format "0x%x, " $first]
incr numchars
diff --git a/tools/uniParse.tcl b/tools/uniParse.tcl
index 8125790..c712e62 100644
--- a/tools/uniParse.tcl
+++ b/tools/uniParse.tcl
@@ -272,6 +272,7 @@ static const unsigned char groupMap\[\] = {"
* 100 = subtract delta for title/upper
* 101 = sub delta for upper, sub 1 for title
* 110 = sub delta for upper, add delta for lower
+ * 111 = subtract delta for upper
*
* Bits 8-31 Case delta: delta for case conversions. This should be the
* highest field so we can easily sign extend.
@@ -309,10 +310,14 @@ static const int groups\[\] = {"
}
}
} elseif {$toupper} {
- # subtract delta for upper, add delta for lower
- set case 6
set delta $toupper
- if {$tolower != $toupper} {
+ if {$tolower == $toupper} {
+ # subtract delta for upper, add delta for lower
+ set case 6
+ } elseif {!$tolower} {
+ # subtract delta for upper
+ set case 7
+ } else {
error "New case conversion type needed: $toupper $tolower $totitle"
}
} elseif {$tolower} {