aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/exp/norm/maketables.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/exp/norm/maketables.go')
-rw-r--r--libgo/go/exp/norm/maketables.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/libgo/go/exp/norm/maketables.go b/libgo/go/exp/norm/maketables.go
index 1deedc9..8ac64ba 100644
--- a/libgo/go/exp/norm/maketables.go
+++ b/libgo/go/exp/norm/maketables.go
@@ -23,6 +23,7 @@ import (
"sort"
"strconv"
"strings"
+ "unicode"
)
func main() {
@@ -38,7 +39,7 @@ func main() {
}
var url = flag.String("url",
- "http://www.unicode.org/Public/6.0.0/ucd/",
+ "http://www.unicode.org/Public/"+unicode.Version+"/ucd/",
"URL of Unicode database directory")
var tablelist = flag.String("tables",
"all",
@@ -605,6 +606,10 @@ func printCharInfoTables() int {
lccc := ccc(d[0])
tccc := ccc(d[len(d)-1])
+ cc := ccc(r)
+ if cc != 0 && lccc == 0 && tccc == 0 {
+ logger.Fatalf("%U: trailing and leading ccc are 0 for non-zero ccc %d", r, cc)
+ }
if tccc < lccc && lccc != 0 {
const msg = "%U: lccc (%d) must be <= tcc (%d)"
logger.Fatalf(msg, r, lccc, tccc)
@@ -615,7 +620,13 @@ func printCharInfoTables() int {
index = 1
if lccc > 0 {
s += string([]byte{lccc})
- index |= 2
+ index = 2
+ }
+ if cc != lccc {
+ if cc != 0 {
+ logger.Fatalf("%U: for lccc != ccc, expected ccc to be 0; was %d", r, cc)
+ }
+ index = 3
}
}
return index, s
@@ -642,7 +653,7 @@ func printCharInfoTables() int {
size := 0
positionMap := make(map[string]uint16)
decompositions.WriteString("\000")
- cname := []string{"firstCCC", "firstLeadingCCC", "", "lastDecomp"}
+ cname := []string{"firstCCC", "firstLeadingCCC", "firstCCCZeroExcept", "lastDecomp"}
fmt.Println("const (")
for i, m := range decompSet {
sa := []string{}