aboutsummaryrefslogtreecommitdiff
path: root/src/unicode/letter.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/unicode/letter.go')
-rw-r--r--src/unicode/letter.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/unicode/letter.go b/src/unicode/letter.go
index 8443ee51a2..8aec920d22 100644
--- a/src/unicode/letter.go
+++ b/src/unicode/letter.go
@@ -217,7 +217,7 @@ func to(_case int, r rune, caseRange []CaseRange) rune {
m := lo + (hi-lo)/2
cr := caseRange[m]
if rune(cr.Lo) <= r && r <= rune(cr.Hi) {
- delta := rune(cr.Delta[_case])
+ delta := cr.Delta[_case]
if delta > MaxRune {
// In an Upper-Lower sequence, which always starts with
// an UpperCase letter, the real deltas always look like:
@@ -332,6 +332,10 @@ type foldPair struct {
// SimpleFold('1') = '1'
//
func SimpleFold(r rune) rune {
+ if int(r) < len(asciiFold) {
+ return rune(asciiFold[r])
+ }
+
// Consult caseOrbit table for special cases.
lo := 0
hi := len(caseOrbit)