diff options
Diffstat (limited to 'src/unicode/letter.go')
| -rw-r--r-- | src/unicode/letter.go | 6 |
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) |
