Commit 841c18a9 authored by Robert Griesemer's avatar Robert Griesemer

gofmt-ify unicode

R=r
http://go/go-review/1018051
parent 55ba9d6a
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
package unicode_test package unicode_test
import ( import (
"testing"; "testing";
. "unicode"; . "unicode";
) )
var testDigit = []int{ var testDigit = []int{
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
package unicode_test package unicode_test
import ( import (
"testing"; "testing";
. "unicode"; . "unicode";
) )
var upperTest = []int{ var upperTest = []int{
......
...@@ -30,7 +30,7 @@ func main() { ...@@ -30,7 +30,7 @@ func main() {
printCases(); printCases();
} }
var dataUrl = flag.String("data", "", "full URL for UnicodeData.txt; defaults to --url/UnicodeData.txt"); var dataUrl = flag.String("data", "", "full URL for UnicodeData.txt; defaults to --url/UnicodeData.txt")
var url = flag.String("url", var url = flag.String("url",
"http://www.unicode.org/Public/5.1.0/ucd/", "http://www.unicode.org/Public/5.1.0/ucd/",
"URL of Unicode database directory") "URL of Unicode database directory")
...@@ -51,9 +51,9 @@ var test = flag.Bool("test", ...@@ -51,9 +51,9 @@ var test = flag.Bool("test",
"test existing tables; can be used to compare web data with package data") "test existing tables; can be used to compare web data with package data")
var scriptRe = regexp.MustCompile(`([0-9A-F]+)(\.\.[0-9A-F]+)? *; ([A-Za-z_]+)`) var scriptRe = regexp.MustCompile(`([0-9A-F]+)(\.\.[0-9A-F]+)? *; ([A-Za-z_]+)`)
var die = log.New(os.Stderr, nil, "", log.Lexit|log.Lshortfile) var die = log.New(os.Stderr, nil, "", log.Lexit | log.Lshortfile)
var category = map[string] bool{ "letter":true } // Nd Lu etc. letter is a special case var category = map[string]bool{"letter": true} // Nd Lu etc. letter is a special case
// UnicodeData.txt has form: // UnicodeData.txt has form:
// 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; // 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
...@@ -61,7 +61,7 @@ var category = map[string] bool{ "letter":true } // Nd Lu etc. letter is a speci ...@@ -61,7 +61,7 @@ var category = map[string] bool{ "letter":true } // Nd Lu etc. letter is a speci
// See http://www.unicode.org/Public/5.1.0/ucd/UCD.html for full explanation // See http://www.unicode.org/Public/5.1.0/ucd/UCD.html for full explanation
// The fields: // The fields:
const ( const (
FCodePoint = iota; FCodePoint = iota;
FName; FName;
FGeneralCategory; FGeneralCategory;
FCanonicalCombiningClass; FCanonicalCombiningClass;
...@@ -78,7 +78,7 @@ const ( ...@@ -78,7 +78,7 @@ const (
FSimpleTitlecaseMapping; FSimpleTitlecaseMapping;
NumField; NumField;
MaxChar = 0x10FFFF; // anything above this shouldn't exist MaxChar = 0x10FFFF; // anything above this shouldn't exist
) )
var fieldName = []string{ var fieldName = []string{
...@@ -96,13 +96,13 @@ var fieldName = []string{ ...@@ -96,13 +96,13 @@ var fieldName = []string{
"ISOComment", "ISOComment",
"SimpleUppercaseMapping", "SimpleUppercaseMapping",
"SimpleLowercaseMapping", "SimpleLowercaseMapping",
"SimpleTitlecaseMapping" "SimpleTitlecaseMapping",
} }
// This contains only the properties we're interested in. // This contains only the properties we're interested in.
type Char struct { type Char struct {
field []string; // debugging only; could be deleted if we take out char.dump() field []string; // debugging only; could be deleted if we take out char.dump()
codePoint uint32; // if zero, this index is not a valid code point. codePoint uint32; // if zero, this index is not a valid code point.
category string; category string;
upperCase int; upperCase int;
lowerCase int; lowerCase int;
...@@ -120,8 +120,8 @@ type Script struct { ...@@ -120,8 +120,8 @@ type Script struct {
} }
var chars = make([]Char, MaxChar+1) var chars = make([]Char, MaxChar+1)
var scripts = make(map[string] []Script) var scripts = make(map[string][]Script)
var props = make(map[string] []Script) // a property looks like a script; can share the format var props = make(map[string][]Script) // a property looks like a script; can share the format
var lastChar uint32 = 0 var lastChar uint32 = 0
...@@ -130,8 +130,9 @@ var lastChar uint32 = 0 ...@@ -130,8 +130,9 @@ var lastChar uint32 = 0
// 4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;; // 4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
// parseCategory returns a state variable indicating the weirdness. // parseCategory returns a state variable indicating the weirdness.
type State int type State int
const ( const (
SNormal State = iota; // known to be zero for the type SNormal State = iota; // known to be zero for the type
SFirst; SFirst;
SLast; SLast;
SMissing; SMissing;
...@@ -144,17 +145,17 @@ func parseCategory(line string) (state State) { ...@@ -144,17 +145,17 @@ func parseCategory(line string) (state State) {
} }
point, err := strconv.Btoui64(field[FCodePoint], 16); point, err := strconv.Btoui64(field[FCodePoint], 16);
if err != nil { if err != nil {
die.Log("%.5s...:", err) die.Log("%.5s...:", err);
} }
lastChar = uint32(point); lastChar = uint32(point);
if point == 0 { if point == 0 {
return // not interesting and we use 0 as unset return; // not interesting and we use 0 as unset
} }
if point > MaxChar { if point > MaxChar {
return; return;
} }
char := &chars[point]; char := &chars[point];
char.field=field; char.field = field;
if char.codePoint != 0 { if char.codePoint != 0 {
die.Logf("point U+%04x reused\n"); die.Logf("point U+%04x reused\n");
} }
...@@ -179,16 +180,16 @@ func parseCategory(line string) (state State) { ...@@ -179,16 +180,16 @@ func parseCategory(line string) (state State) {
} }
switch { switch {
case strings.Index(field[FName], ", First>") > 0: case strings.Index(field[FName], ", First>") > 0:
state = SFirst state = SFirst;
case strings.Index(field[FName], ", Last>") > 0: case strings.Index(field[FName], ", Last>") > 0:
state = SLast state = SLast;
} }
return return;
} }
func (char *Char) dump(s string) { func (char *Char) dump(s string) {
fmt.Print(s, " "); fmt.Print(s, " ");
for i:=0;i<len(char.field);i++ { for i := 0; i < len(char.field); i++ {
fmt.Printf("%s:%q ", fieldName[i], char.field[i]); fmt.Printf("%s:%q ", fieldName[i], char.field[i]);
} }
fmt.Print("\n"); fmt.Print("\n");
...@@ -202,14 +203,14 @@ func (char *Char) letter(u, l, t string) { ...@@ -202,14 +203,14 @@ func (char *Char) letter(u, l, t string) {
func (char *Char) letterValue(s string, cas string) int { func (char *Char) letterValue(s string, cas string) int {
if s == "" { if s == "" {
return 0 return 0;
} }
v, err := strconv.Btoui64(s, 16); v, err := strconv.Btoui64(s, 16);
if err != nil { if err != nil {
char.dump(cas); char.dump(cas);
die.Logf("U+%04x: bad letter(%s): %s", char.codePoint, s, err) die.Logf("U+%04x: bad letter(%s): %s", char.codePoint, s, err);
} }
return int(v) return int(v);
} }
func allCategories() []string { func allCategories() []string {
...@@ -222,7 +223,7 @@ func allCategories() []string { ...@@ -222,7 +223,7 @@ func allCategories() []string {
return a; return a;
} }
func all(scripts map[string] []Script) []string { func all(scripts map[string][]Script) []string {
a := make([]string, len(scripts)); a := make([]string, len(scripts));
i := 0; i := 0;
for k := range scripts { for k := range scripts {
...@@ -238,7 +239,7 @@ func version() string { ...@@ -238,7 +239,7 @@ func version() string {
fields := strings.Split(*url, "/", 0); fields := strings.Split(*url, "/", 0);
for _, f := range fields { for _, f := range fields {
if len(f) > 0 && '0' <= f[0] && f[0] <= '9' { if len(f) > 0 && '0' <= f[0] && f[0] <= '9' {
return f return f;
} }
} }
die.Log("unknown version"); die.Log("unknown version");
...@@ -248,9 +249,9 @@ func version() string { ...@@ -248,9 +249,9 @@ func version() string {
func letterOp(code int) bool { func letterOp(code int) bool {
switch chars[code].category { switch chars[code].category {
case "Lu", "Ll", "Lt", "Lm", "Lo": case "Lu", "Ll", "Lt", "Lm", "Lo":
return true return true;
} }
return false return false;
} }
func loadChars() { func loadChars() {
...@@ -274,25 +275,25 @@ func loadChars() { ...@@ -274,25 +275,25 @@ func loadChars() {
} }
die.Log(err); die.Log(err);
} }
switch parseCategory(line[0:len(line)-1]) { switch parseCategory(line[0 : len(line)-1]) {
case SNormal: case SNormal:
if first != 0 { if first != 0 {
die.Logf("bad state normal at U+%04X", lastChar) die.Logf("bad state normal at U+%04X", lastChar);
} }
case SFirst: case SFirst:
if first != 0 { if first != 0 {
die.Logf("bad state first at U+%04X", lastChar) die.Logf("bad state first at U+%04X", lastChar);
} }
first = lastChar first = lastChar;
case SLast: case SLast:
if first == 0 { if first == 0 {
die.Logf("bad state last at U+%04X", lastChar) die.Logf("bad state last at U+%04X", lastChar);
} }
for i := first+1; i <= lastChar; i++ { for i := first+1; i <= lastChar; i++ {
chars[i] = chars[first]; chars[i] = chars[first];
chars[i].codePoint = i; chars[i].codePoint = i;
} }
first = 0 first = 0;
} }
} }
resp.Body.Close(); resp.Body.Close();
...@@ -300,16 +301,16 @@ func loadChars() { ...@@ -300,16 +301,16 @@ func loadChars() {
func printCategories() { func printCategories() {
if *tablelist == "" { if *tablelist == "" {
return return;
} }
// Find out which categories to dump // Find out which categories to dump
list := strings.Split(*tablelist, ",", 0); list := strings.Split(*tablelist, ",", 0);
if *tablelist == "all" { if *tablelist == "all" {
list = allCategories() list = allCategories();
} }
if *test { if *test {
fullCategoryTest(list); fullCategoryTest(list);
return return;
} }
fmt.Printf( fmt.Printf(
"// Generated by running\n" "// Generated by running\n"
...@@ -317,15 +318,14 @@ func printCategories() { ...@@ -317,15 +318,14 @@ func printCategories() {
"// DO NOT EDIT\n\n" "// DO NOT EDIT\n\n"
"package unicode\n\n", "package unicode\n\n",
*tablelist, *tablelist,
*dataUrl *dataUrl);
);
fmt.Println("// Version is the Unicode edition from which the tables are derived."); fmt.Println("// Version is the Unicode edition from which the tables are derived.");
fmt.Printf("const Version = %q\n\n", version()); fmt.Printf("const Version = %q\n\n", version());
if *tablelist == "all" { if *tablelist == "all" {
fmt.Println("// Categories is the set of Unicode data tables."); fmt.Println("// Categories is the set of Unicode data tables.");
fmt.Println("var Categories = map[string] []Range {"); fmt.Println("var Categories = map[string] []Range {");
for k, _ := range category { for k, _ := range category {
fmt.Printf("\t%q: %s,\n", k, k); fmt.Printf("\t%q: %s,\n", k, k);
} }
...@@ -358,22 +358,19 @@ func printCategories() { ...@@ -358,22 +358,19 @@ func printCategories() {
if name != "letter" { if name != "letter" {
varDecl += fmt.Sprintf( varDecl += fmt.Sprintf(
"\t%s = _%s; // %s is the set of Unicode characters in category %s.\n", "\t%s = _%s; // %s is the set of Unicode characters in category %s.\n",
name, name, name, name name, name, name, name);
);
} }
decl[ndecl] = varDecl; decl[ndecl] = varDecl;
ndecl++; ndecl++;
if name == "letter" { // special case if name == "letter" { // special case
dumpRange( dumpRange(
"var letter = []Range {\n", "var letter = []Range {\n",
letterOp letterOp);
);
continue; continue;
} }
dumpRange( dumpRange(
fmt.Sprintf("var _%s = []Range {\n", name), fmt.Sprintf("var _%s = []Range {\n", name),
func(code int) bool { return chars[code].category == name } func(code int) bool { return chars[code].category == name });
);
} }
decl.Sort(); decl.Sort();
fmt.Println("var ("); fmt.Println("var (");
...@@ -384,7 +381,8 @@ func printCategories() { ...@@ -384,7 +381,8 @@ func printCategories() {
} }
type Op func(code int) bool type Op func(code int) bool
const format = "\tRange{0x%04x, 0x%04x, %d},\n";
const format = "\tRange{0x%04x, 0x%04x, %d},\n"
func dumpRange(header string, inCategory Op) { func dumpRange(header string, inCategory Op) {
fmt.Print(header); fmt.Print(header);
...@@ -393,11 +391,11 @@ func dumpRange(header string, inCategory Op) { ...@@ -393,11 +391,11 @@ func dumpRange(header string, inCategory Op) {
for { for {
// look for start of range // look for start of range
for next < len(chars) && !inCategory(next) { for next < len(chars) && !inCategory(next) {
next++ next++;
} }
if next >= len(chars) { if next >= len(chars) {
// no characters remain // no characters remain
break break;
} }
// start of range // start of range
...@@ -408,7 +406,7 @@ func dumpRange(header string, inCategory Op) { ...@@ -408,7 +406,7 @@ func dumpRange(header string, inCategory Op) {
next++; next++;
// look for another character to set the stride // look for another character to set the stride
for next < len(chars) && !inCategory(next) { for next < len(chars) && !inCategory(next) {
next++ next++;
} }
if next >= len(chars) { if next >= len(chars) {
// no more characters // no more characters
...@@ -416,22 +414,22 @@ func dumpRange(header string, inCategory Op) { ...@@ -416,22 +414,22 @@ func dumpRange(header string, inCategory Op) {
break; break;
} }
// set stride // set stride
stride = next - lo; stride = next-lo;
// check for length of run. next points to first jump in stride // check for length of run. next points to first jump in stride
for i := next; i < len(chars); i++ { for i := next; i < len(chars); i++ {
if inCategory(i) == (((i-lo)%stride) == 0) { if inCategory(i) == (((i-lo)%stride) == 0) {
// accept // accept
if inCategory(i) { if inCategory(i) {
hi = i hi = i;
} }
} else { } else {
// no more characters in this run // no more characters in this run
break break;
} }
} }
fmt.Printf(format, lo, hi, stride); fmt.Printf(format, lo, hi, stride);
// next range: start looking where this range ends // next range: start looking where this range ends
next = hi + 1; next = hi+1;
} }
fmt.Print("}\n\n"); fmt.Print("}\n\n");
} }
...@@ -451,8 +449,7 @@ func fullCategoryTest(list []string) { ...@@ -451,8 +449,7 @@ func fullCategoryTest(list []string) {
verifyRange( verifyRange(
name, name,
func(code int) bool { return chars[code].category == name }, func(code int) bool { return chars[code].category == name },
r r);
);
} }
} }
} }
...@@ -467,14 +464,14 @@ func verifyRange(name string, inCategory Op, table []unicode.Range) { ...@@ -467,14 +464,14 @@ func verifyRange(name string, inCategory Op, table []unicode.Range) {
} }
} }
func parseScript(line string, scripts map[string] []Script) { func parseScript(line string, scripts map[string][]Script) {
comment := strings.Index(line, "#"); comment := strings.Index(line, "#");
if comment >= 0 { if comment >= 0 {
line = line[0:comment] line = line[0:comment];
} }
line = strings.TrimSpace(line); line = strings.TrimSpace(line);
if len(line) == 0 { if len(line) == 0 {
return return;
} }
field := strings.Split(line, ";", -1); field := strings.Split(line, ";", -1);
if len(field) != 2 { if len(field) != 2 {
...@@ -486,13 +483,13 @@ func parseScript(line string, scripts map[string] []Script) { ...@@ -486,13 +483,13 @@ func parseScript(line string, scripts map[string] []Script) {
} }
lo, err := strconv.Btoui64(matches[1], 16); lo, err := strconv.Btoui64(matches[1], 16);
if err != nil { if err != nil {
die.Log("%.5s...:", err) die.Log("%.5s...:", err);
} }
hi := lo; hi := lo;
if len(matches[2]) > 2 { // ignore leading .. if len(matches[2]) > 2 { // ignore leading ..
hi, err = strconv.Btoui64(matches[2][2:len(matches[2])], 16); hi, err = strconv.Btoui64(matches[2][2:len(matches[2])], 16);
if err != nil { if err != nil {
die.Log("%.5s...:", err) die.Log("%.5s...:", err);
} }
} }
name := matches[3]; name := matches[3];
...@@ -500,12 +497,12 @@ func parseScript(line string, scripts map[string] []Script) { ...@@ -500,12 +497,12 @@ func parseScript(line string, scripts map[string] []Script) {
if !ok || len(s) == cap(s) { if !ok || len(s) == cap(s) {
ns := make([]Script, len(s), len(s)+100); ns := make([]Script, len(s), len(s)+100);
for i, sc := range s { for i, sc := range s {
ns[i] = sc ns[i] = sc;
} }
s = ns; s = ns;
} }
s = s[0:len(s)+1]; s = s[0 : len(s)+1];
s[len(s)-1] = Script{ uint32(lo), uint32(hi), name }; s[len(s)-1] = Script{uint32(lo), uint32(hi), name};
scripts[name] = s; scripts[name] = s;
} }
...@@ -514,10 +511,10 @@ func foldAdjacent(r []Script) []unicode.Range { ...@@ -514,10 +511,10 @@ func foldAdjacent(r []Script) []unicode.Range {
s := make([]unicode.Range, 0, len(r)); s := make([]unicode.Range, 0, len(r));
j := 0; j := 0;
for i := 0; i < len(r); i++ { for i := 0; i < len(r); i++ {
if j>0 && int(r[i].lo) == s[j-1].Hi+1 { if j > 0 && int(r[i].lo) == s[j-1].Hi + 1 {
s[j-1].Hi = int(r[i].hi); s[j-1].Hi = int(r[i].hi);
} else { } else {
s = s[0:j+1]; s = s[0 : j+1];
s[j] = unicode.Range{int(r[i].lo), int(r[i].hi), 1}; s[j] = unicode.Range{int(r[i].lo), int(r[i].hi), 1};
j++; j++;
} }
...@@ -525,7 +522,7 @@ func foldAdjacent(r []Script) []unicode.Range { ...@@ -525,7 +522,7 @@ func foldAdjacent(r []Script) []unicode.Range {
return s; return s;
} }
func fullScriptTest(list []string, installed map[string] []unicode.Range, scripts map[string] []Script) { func fullScriptTest(list []string, installed map[string][]unicode.Range, scripts map[string][]Script) {
for _, name := range list { for _, name := range list {
if _, ok := scripts[name]; !ok { if _, ok := scripts[name]; !ok {
die.Log("unknown script", name); die.Log("unknown script", name);
...@@ -559,7 +556,7 @@ func printScriptOrProperty(doProps bool) { ...@@ -559,7 +556,7 @@ func printScriptOrProperty(doProps bool) {
installed = unicode.Properties; installed = unicode.Properties;
} }
if flaglist == "" { if flaglist == "" {
return return;
} }
var err os.Error; var err os.Error;
resp, _, err := http.Get(*url + file); resp, _, err := http.Get(*url + file);
...@@ -578,7 +575,7 @@ func printScriptOrProperty(doProps bool) { ...@@ -578,7 +575,7 @@ func printScriptOrProperty(doProps bool) {
} }
die.Log(err); die.Log(err);
} }
parseScript(line[0:len(line)-1], table); parseScript(line[0 : len(line)-1], table);
} }
resp.Body.Close(); resp.Body.Close();
...@@ -598,8 +595,7 @@ func printScriptOrProperty(doProps bool) { ...@@ -598,8 +595,7 @@ func printScriptOrProperty(doProps bool) {
"// DO NOT EDIT\n\n", "// DO NOT EDIT\n\n",
flag, flag,
flaglist, flaglist,
*url *url);
);
if flaglist == "all" { if flaglist == "all" {
if doProps { if doProps {
fmt.Println("// Properties is the set of Unicode property tables."); fmt.Println("// Properties is the set of Unicode property tables.");
...@@ -620,13 +616,11 @@ func printScriptOrProperty(doProps bool) { ...@@ -620,13 +616,11 @@ func printScriptOrProperty(doProps bool) {
if doProps { if doProps {
decl[ndecl] = fmt.Sprintf( decl[ndecl] = fmt.Sprintf(
"\t%s = _%s;\t// %s is the set of Unicode characters with property %s.\n", "\t%s = _%s;\t// %s is the set of Unicode characters with property %s.\n",
name, name, name, name name, name, name, name);
);
} else { } else {
decl[ndecl] = fmt.Sprintf( decl[ndecl] = fmt.Sprintf(
"\t%s = _%s;\t// %s is the set of Unicode characters in script %s.\n", "\t%s = _%s;\t// %s is the set of Unicode characters in script %s.\n",
name, name, name, name name, name, name, name);
);
} }
ndecl++; ndecl++;
fmt.Printf("var _%s = []Range {\n", name); fmt.Printf("var _%s = []Range {\n", name);
...@@ -645,16 +639,16 @@ func printScriptOrProperty(doProps bool) { ...@@ -645,16 +639,16 @@ func printScriptOrProperty(doProps bool) {
} }
const ( const (
CaseUpper = 1 << iota; CaseUpper = 1<<iota;
CaseLower; CaseLower;
CaseTitle; CaseTitle;
CaseNone = 0; // must be zero CaseNone = 0; // must be zero
CaseMissing = -1; // character not present; not a valid case state CaseMissing = -1; // character not present; not a valid case state
) )
type caseState struct { type caseState struct {
point int; point int;
_case int; _case int;
deltaToUpper int; deltaToUpper int;
deltaToLower int; deltaToLower int;
deltaToTitle int; deltaToTitle int;
...@@ -663,25 +657,25 @@ type caseState struct { ...@@ -663,25 +657,25 @@ type caseState struct {
// Is d a continuation of the state of c? // Is d a continuation of the state of c?
func (c *caseState) adjacent(d *caseState) bool { func (c *caseState) adjacent(d *caseState) bool {
if d.point < c.point { if d.point < c.point {
c, d = d, c c, d = d, c;
} }
switch { switch {
case d.point != c.point+1: // code points not adjacent (shouldn't happen) case d.point != c.point + 1: // code points not adjacent (shouldn't happen)
return false return false;
case d._case != c._case: // different cases case d._case != c._case: // different cases
return c.upperLowerAdjacent(d); return c.upperLowerAdjacent(d);
case c._case == CaseNone: case c._case == CaseNone:
return false return false;
case c._case == CaseMissing: case c._case == CaseMissing:
return false return false;
case d.deltaToUpper != c.deltaToUpper: case d.deltaToUpper != c.deltaToUpper:
return false return false;
case d.deltaToLower != c.deltaToLower: case d.deltaToLower != c.deltaToLower:
return false return false;
case d.deltaToTitle != c.deltaToTitle: case d.deltaToTitle != c.deltaToTitle:
return false return false;
} }
return true; return true;
} }
// Is d the same as c, but opposite in upper/lower case? this would make it // Is d the same as c, but opposite in upper/lower case? this would make it
...@@ -690,32 +684,32 @@ func (c *caseState) upperLowerAdjacent(d *caseState) bool { ...@@ -690,32 +684,32 @@ func (c *caseState) upperLowerAdjacent(d *caseState) bool {
// check they're a matched case pair. we know they have adjacent values // check they're a matched case pair. we know they have adjacent values
switch { switch {
case c._case == CaseUpper && d._case != CaseLower: case c._case == CaseUpper && d._case != CaseLower:
return false return false;
case c._case == CaseLower && d._case != CaseUpper: case c._case == CaseLower && d._case != CaseUpper:
return false return false;
} }
// matched pair (at least in upper/lower). make the order Upper Lower // matched pair (at least in upper/lower). make the order Upper Lower
if c._case == CaseLower { if c._case == CaseLower {
c, d = d, c c, d = d, c;
} }
// for an Upper Lower sequence the deltas have to be in order // for an Upper Lower sequence the deltas have to be in order
// c: 0 1 0 // c: 0 1 0
// d: -1 0 -1 // d: -1 0 -1
switch { switch {
case c.deltaToUpper != 0: case c.deltaToUpper != 0:
return false return false;
case c.deltaToLower != 1: case c.deltaToLower != 1:
return false return false;
case c.deltaToTitle != 0: case c.deltaToTitle != 0:
return false return false;
case d.deltaToUpper != -1: case d.deltaToUpper != -1:
return false return false;
case d.deltaToLower != 0: case d.deltaToLower != 0:
return false return false;
case d.deltaToTitle != -1: case d.deltaToTitle != -1:
return false return false;
} }
return true return true;
} }
// Does this character start an UpperLower sequence? // Does this character start an UpperLower sequence?
...@@ -724,13 +718,13 @@ func (c *caseState) isUpperLower() bool { ...@@ -724,13 +718,13 @@ func (c *caseState) isUpperLower() bool {
// c: 0 1 0 // c: 0 1 0
switch { switch {
case c.deltaToUpper != 0: case c.deltaToUpper != 0:
return false return false;
case c.deltaToLower != 1: case c.deltaToLower != 1:
return false return false;
case c.deltaToTitle != 0: case c.deltaToTitle != 0:
return false return false;
} }
return true return true;
} }
// Does this character start a LowerUpper sequence? // Does this character start a LowerUpper sequence?
...@@ -739,17 +733,17 @@ func (c *caseState) isLowerUpper() bool { ...@@ -739,17 +733,17 @@ func (c *caseState) isLowerUpper() bool {
// c: -1 0 -1 // c: -1 0 -1
switch { switch {
case c.deltaToUpper != -1: case c.deltaToUpper != -1:
return false return false;
case c.deltaToLower != 0: case c.deltaToLower != 0:
return false return false;
case c.deltaToTitle != -1: case c.deltaToTitle != -1:
return false return false;
} }
return true return true;
} }
func getCaseState(i int) (c *caseState) { func getCaseState(i int) (c *caseState) {
c = &caseState{ point: i, _case: CaseNone }; c = &caseState{point: i, _case: CaseNone};
ch := &chars[i]; ch := &chars[i];
switch int(ch.codePoint) { switch int(ch.codePoint) {
case 0: case 0:
...@@ -763,24 +757,24 @@ func getCaseState(i int) (c *caseState) { ...@@ -763,24 +757,24 @@ func getCaseState(i int) (c *caseState) {
c._case = CaseTitle; c._case = CaseTitle;
} }
if ch.upperCase != 0 { if ch.upperCase != 0 {
c.deltaToUpper = ch.upperCase - i c.deltaToUpper = ch.upperCase - i;
} }
if ch.lowerCase != 0 { if ch.lowerCase != 0 {
c.deltaToLower = ch.lowerCase - i c.deltaToLower = ch.lowerCase - i;
} }
if ch.titleCase != 0 { if ch.titleCase != 0 {
c.deltaToTitle = ch.titleCase - i c.deltaToTitle = ch.titleCase - i;
} }
return; return;
} }
func printCases() { func printCases() {
if !*cases { if !*cases {
return return;
} }
if *test { if *test {
fullCaseTest(); fullCaseTest();
return return;
} }
fmt.Printf( fmt.Printf(
"// Generated by running\n" "// Generated by running\n"
...@@ -790,8 +784,7 @@ func printCases() { ...@@ -790,8 +784,7 @@ func printCases() {
"// non-self mappings.\n" "// non-self mappings.\n"
"var CaseRanges = _CaseRanges\n" "var CaseRanges = _CaseRanges\n"
"var _CaseRanges = []CaseRange {\n", "var _CaseRanges = []CaseRange {\n",
*dataUrl *dataUrl);
);
var startState *caseState; // the start of a run; nil for not active var startState *caseState; // the start of a run; nil for not active
var prevState = &caseState{}; // the state of the previous character var prevState = &caseState{}; // the state of the previous character
...@@ -814,33 +807,33 @@ func printCases() { ...@@ -814,33 +807,33 @@ func printCases() {
func printCaseRange(lo, hi *caseState) { func printCaseRange(lo, hi *caseState) {
if lo == nil { if lo == nil {
return return;
} }
if lo.deltaToUpper == 0 && lo.deltaToLower == 0 && lo.deltaToTitle == 0 { if lo.deltaToUpper == 0 && lo.deltaToLower == 0 && lo.deltaToTitle == 0 {
// character represents itself in all cases - no need to mention it // character represents itself in all cases - no need to mention it
return return;
} }
switch { switch {
case hi.point > lo.point && lo.isUpperLower(): case hi.point > lo.point && lo.isUpperLower():
fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{UpperLower, UpperLower, UpperLower}},\n", fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{UpperLower, UpperLower, UpperLower}},\n",
lo.point, hi.point) lo.point, hi.point);
case hi.point > lo.point && lo.isLowerUpper(): case hi.point > lo.point && lo.isLowerUpper():
die.Log("LowerUpper sequence: should not happen: U+%04X. If it's real, need to fix To()", lo.point); die.Log("LowerUpper sequence: should not happen: U+%04X. If it's real, need to fix To()", lo.point);
fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{LowerUpper, LowerUpper, LowerUpper}},\n", fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{LowerUpper, LowerUpper, LowerUpper}},\n",
lo.point, hi.point) lo.point, hi.point);
default: default:
fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{%d, %d, %d}},\n", fmt.Printf("\tCaseRange{0x%04X, 0x%04X, d{%d, %d, %d}},\n",
lo.point, hi.point, lo.point, hi.point,
lo.deltaToUpper, lo.deltaToLower, lo.deltaToTitle) lo.deltaToUpper, lo.deltaToLower, lo.deltaToTitle);
} }
} }
// If the cased value in the Char is 0, it means use the rune itself. // If the cased value in the Char is 0, it means use the rune itself.
func caseIt(rune, cased int) int { func caseIt(rune, cased int) int {
if cased == 0 { if cased == 0 {
return rune return rune;
} }
return cased return cased;
} }
func fullCaseTest() { func fullCaseTest() {
......
...@@ -8,7 +8,7 @@ package unicode ...@@ -8,7 +8,7 @@ package unicode
const Version = "5.1.0" const Version = "5.1.0"
// Categories is the set of Unicode data tables. // Categories is the set of Unicode data tables.
var Categories = map[string] []Range { var Categories = map[string][]Range{
"Lm": Lm, "Lm": Lm,
"Ll": Ll, "Ll": Ll,
"Me": Me, "Me": Me,
...@@ -41,7 +41,7 @@ var Categories = map[string] []Range { ...@@ -41,7 +41,7 @@ var Categories = map[string] []Range {
"Lo": Lo, "Lo": Lo,
} }
var _Lm = []Range { var _Lm = []Range{
Range{0x02b0, 0x02c1, 1}, Range{0x02b0, 0x02c1, 1},
Range{0x02c6, 0x02d1, 1}, Range{0x02c6, 0x02d1, 1},
Range{0x02e0, 0x02e4, 1}, Range{0x02e0, 0x02e4, 1},
...@@ -73,7 +73,7 @@ var _Lm = []Range { ...@@ -73,7 +73,7 @@ var _Lm = []Range {
Range{0xff9f, 0xff9f, 1}, Range{0xff9f, 0xff9f, 1},
} }
var _Ll = []Range { var _Ll = []Range{
Range{0x0061, 0x007a, 1}, Range{0x0061, 0x007a, 1},
Range{0x00aa, 0x00b5, 11}, Range{0x00aa, 0x00b5, 11},
Range{0x00ba, 0x00df, 37}, Range{0x00ba, 0x00df, 37},
...@@ -213,7 +213,7 @@ var _Ll = []Range { ...@@ -213,7 +213,7 @@ var _Ll = []Range {
Range{0x1d7cb, 0x1d7cb, 1}, Range{0x1d7cb, 0x1d7cb, 1},
} }
var _Me = []Range { var _Me = []Range{
Range{0x0488, 0x0489, 1}, Range{0x0488, 0x0489, 1},
Range{0x06de, 0x20dd, 6655}, Range{0x06de, 0x20dd, 6655},
Range{0x20de, 0x20e0, 1}, Range{0x20de, 0x20e0, 1},
...@@ -221,7 +221,7 @@ var _Me = []Range { ...@@ -221,7 +221,7 @@ var _Me = []Range {
Range{0xa670, 0xa672, 1}, Range{0xa670, 0xa672, 1},
} }
var _Mc = []Range { var _Mc = []Range{
Range{0x0903, 0x093e, 59}, Range{0x0903, 0x093e, 59},
Range{0x093f, 0x0940, 1}, Range{0x093f, 0x0940, 1},
Range{0x0949, 0x094c, 1}, Range{0x0949, 0x094c, 1},
...@@ -302,7 +302,7 @@ var _Mc = []Range { ...@@ -302,7 +302,7 @@ var _Mc = []Range {
Range{0x1d16e, 0x1d172, 1}, Range{0x1d16e, 0x1d172, 1},
} }
var _Mn = []Range { var _Mn = []Range{
Range{0x0300, 0x036f, 1}, Range{0x0300, 0x036f, 1},
Range{0x0483, 0x0487, 1}, Range{0x0483, 0x0487, 1},
Range{0x0591, 0x05bd, 1}, Range{0x0591, 0x05bd, 1},
...@@ -447,11 +447,11 @@ var _Mn = []Range { ...@@ -447,11 +447,11 @@ var _Mn = []Range {
Range{0xe0100, 0xe01ef, 1}, Range{0xe0100, 0xe01ef, 1},
} }
var _Zl = []Range { var _Zl = []Range{
Range{0x2028, 0x2028, 1}, Range{0x2028, 0x2028, 1},
} }
var letter = []Range { var letter = []Range{
Range{0x0041, 0x005a, 1}, Range{0x0041, 0x005a, 1},
Range{0x0061, 0x007a, 1}, Range{0x0061, 0x007a, 1},
Range{0x00aa, 0x00b5, 11}, Range{0x00aa, 0x00b5, 11},
...@@ -825,11 +825,11 @@ var letter = []Range { ...@@ -825,11 +825,11 @@ var letter = []Range {
Range{0x2f800, 0x2fa1d, 1}, Range{0x2f800, 0x2fa1d, 1},
} }
var _Zp = []Range { var _Zp = []Range{
Range{0x2029, 0x2029, 1}, Range{0x2029, 0x2029, 1},
} }
var _Zs = []Range { var _Zs = []Range{
Range{0x0020, 0x00a0, 128}, Range{0x0020, 0x00a0, 128},
Range{0x1680, 0x180e, 398}, Range{0x1680, 0x180e, 398},
Range{0x2000, 0x200a, 1}, Range{0x2000, 0x200a, 1},
...@@ -837,17 +837,17 @@ var _Zs = []Range { ...@@ -837,17 +837,17 @@ var _Zs = []Range {
Range{0x3000, 0x3000, 1}, Range{0x3000, 0x3000, 1},
} }
var _Cs = []Range { var _Cs = []Range{
Range{0xd800, 0xdfff, 1}, Range{0xd800, 0xdfff, 1},
} }
var _Co = []Range { var _Co = []Range{
Range{0xe000, 0xf8ff, 1}, Range{0xe000, 0xf8ff, 1},
Range{0xf0000, 0xffffd, 1}, Range{0xf0000, 0xffffd, 1},
Range{0x100000, 0x10fffd, 1}, Range{0x100000, 0x10fffd, 1},
} }
var _Cf = []Range { var _Cf = []Range{
Range{0x00ad, 0x0600, 1363}, Range{0x00ad, 0x0600, 1363},
Range{0x0601, 0x0603, 1}, Range{0x0601, 0x0603, 1},
Range{0x06dd, 0x070f, 50}, Range{0x06dd, 0x070f, 50},
...@@ -863,12 +863,12 @@ var _Cf = []Range { ...@@ -863,12 +863,12 @@ var _Cf = []Range {
Range{0xe0021, 0xe007f, 1}, Range{0xe0021, 0xe007f, 1},
} }
var _Cc = []Range { var _Cc = []Range{
Range{0x0001, 0x001f, 1}, Range{0x0001, 0x001f, 1},
Range{0x007f, 0x009f, 1}, Range{0x007f, 0x009f, 1},
} }
var _Po = []Range { var _Po = []Range{
Range{0x0021, 0x0023, 1}, Range{0x0021, 0x0023, 1},
Range{0x0025, 0x0027, 1}, Range{0x0025, 0x0027, 1},
Range{0x002a, 0x002e, 2}, Range{0x002a, 0x002e, 2},
...@@ -965,7 +965,7 @@ var _Po = []Range { ...@@ -965,7 +965,7 @@ var _Po = []Range {
Range{0x12470, 0x12473, 1}, Range{0x12470, 0x12473, 1},
} }
var _Pi = []Range { var _Pi = []Range{
Range{0x00ab, 0x2018, 8045}, Range{0x00ab, 0x2018, 8045},
Range{0x201b, 0x201c, 1}, Range{0x201b, 0x201c, 1},
Range{0x201f, 0x2039, 26}, Range{0x201f, 0x2039, 26},
...@@ -974,7 +974,7 @@ var _Pi = []Range { ...@@ -974,7 +974,7 @@ var _Pi = []Range {
Range{0x2e1c, 0x2e20, 4}, Range{0x2e1c, 0x2e20, 4},
} }
var _Pf = []Range { var _Pf = []Range{
Range{0x00bb, 0x2019, 8030}, Range{0x00bb, 0x2019, 8030},
Range{0x201d, 0x203a, 29}, Range{0x201d, 0x203a, 29},
Range{0x2e03, 0x2e05, 2}, Range{0x2e03, 0x2e05, 2},
...@@ -982,7 +982,7 @@ var _Pf = []Range { ...@@ -982,7 +982,7 @@ var _Pf = []Range {
Range{0x2e1d, 0x2e21, 4}, Range{0x2e1d, 0x2e21, 4},
} }
var _Pe = []Range { var _Pe = []Range{
Range{0x0029, 0x005d, 52}, Range{0x0029, 0x005d, 52},
Range{0x007d, 0x0f3b, 3774}, Range{0x007d, 0x0f3b, 3774},
Range{0x0f3d, 0x169c, 1887}, Range{0x0f3d, 0x169c, 1887},
...@@ -1006,7 +1006,7 @@ var _Pe = []Range { ...@@ -1006,7 +1006,7 @@ var _Pe = []Range {
Range{0xff5d, 0xff63, 3}, Range{0xff5d, 0xff63, 3},
} }
var _Pd = []Range { var _Pd = []Range{
Range{0x002d, 0x058a, 1373}, Range{0x002d, 0x058a, 1373},
Range{0x05be, 0x1806, 4680}, Range{0x05be, 0x1806, 4680},
Range{0x2010, 0x2015, 1}, Range{0x2010, 0x2015, 1},
...@@ -1017,7 +1017,7 @@ var _Pd = []Range { ...@@ -1017,7 +1017,7 @@ var _Pd = []Range {
Range{0xfe63, 0xff0d, 170}, Range{0xfe63, 0xff0d, 170},
} }
var _Pc = []Range { var _Pc = []Range{
Range{0x005f, 0x203f, 8160}, Range{0x005f, 0x203f, 8160},
Range{0x2040, 0x2054, 20}, Range{0x2040, 0x2054, 20},
Range{0xfe33, 0xfe34, 1}, Range{0xfe33, 0xfe34, 1},
...@@ -1025,7 +1025,7 @@ var _Pc = []Range { ...@@ -1025,7 +1025,7 @@ var _Pc = []Range {
Range{0xff3f, 0xff3f, 1}, Range{0xff3f, 0xff3f, 1},
} }
var _Ps = []Range { var _Ps = []Range{
Range{0x0028, 0x005b, 51}, Range{0x0028, 0x005b, 51},
Range{0x007b, 0x0f3a, 3775}, Range{0x007b, 0x0f3a, 3775},
Range{0x0f3c, 0x169b, 1887}, Range{0x0f3c, 0x169b, 1887},
...@@ -1051,7 +1051,7 @@ var _Ps = []Range { ...@@ -1051,7 +1051,7 @@ var _Ps = []Range {
Range{0xff62, 0xff62, 1}, Range{0xff62, 0xff62, 1},
} }
var _Nd = []Range { var _Nd = []Range{
Range{0x0030, 0x0039, 1}, Range{0x0030, 0x0039, 1},
Range{0x0660, 0x0669, 1}, Range{0x0660, 0x0669, 1},
Range{0x06f0, 0x06f9, 1}, Range{0x06f0, 0x06f9, 1},
...@@ -1087,7 +1087,7 @@ var _Nd = []Range { ...@@ -1087,7 +1087,7 @@ var _Nd = []Range {
Range{0x1d7ce, 0x1d7ff, 1}, Range{0x1d7ce, 0x1d7ff, 1},
} }
var _Nl = []Range { var _Nl = []Range{
Range{0x16ee, 0x16f0, 1}, Range{0x16ee, 0x16f0, 1},
Range{0x2160, 0x2182, 1}, Range{0x2160, 0x2182, 1},
Range{0x2185, 0x2188, 1}, Range{0x2185, 0x2188, 1},
...@@ -1100,7 +1100,7 @@ var _Nl = []Range { ...@@ -1100,7 +1100,7 @@ var _Nl = []Range {
Range{0x12400, 0x12462, 1}, Range{0x12400, 0x12462, 1},
} }
var _No = []Range { var _No = []Range{
Range{0x00b2, 0x00b3, 1}, Range{0x00b2, 0x00b3, 1},
Range{0x00b9, 0x00bc, 3}, Range{0x00b9, 0x00bc, 3},
Range{0x00bd, 0x00be, 1}, Range{0x00bd, 0x00be, 1},
...@@ -1133,7 +1133,7 @@ var _No = []Range { ...@@ -1133,7 +1133,7 @@ var _No = []Range {
Range{0x1d360, 0x1d371, 1}, Range{0x1d360, 0x1d371, 1},
} }
var _So = []Range { var _So = []Range{
Range{0x00a6, 0x00a7, 1}, Range{0x00a6, 0x00a7, 1},
Range{0x00a9, 0x00ae, 5}, Range{0x00a9, 0x00ae, 5},
Range{0x00b0, 0x00b6, 6}, Range{0x00b0, 0x00b6, 6},
...@@ -1257,7 +1257,7 @@ var _So = []Range { ...@@ -1257,7 +1257,7 @@ var _So = []Range {
Range{0x1f030, 0x1f093, 1}, Range{0x1f030, 0x1f093, 1},
} }
var _Sm = []Range { var _Sm = []Range{
Range{0x002b, 0x003c, 17}, Range{0x002b, 0x003c, 17},
Range{0x003d, 0x003e, 1}, Range{0x003d, 0x003e, 1},
Range{0x007c, 0x007e, 2}, Range{0x007c, 0x007e, 2},
...@@ -1310,7 +1310,7 @@ var _Sm = []Range { ...@@ -1310,7 +1310,7 @@ var _Sm = []Range {
Range{0x1d7a9, 0x1d7c3, 26}, Range{0x1d7a9, 0x1d7c3, 26},
} }
var _Sk = []Range { var _Sk = []Range{
Range{0x005e, 0x0060, 2}, Range{0x005e, 0x0060, 2},
Range{0x00a8, 0x00af, 7}, Range{0x00a8, 0x00af, 7},
Range{0x00b4, 0x00b8, 4}, Range{0x00b4, 0x00b8, 4},
...@@ -1334,7 +1334,7 @@ var _Sk = []Range { ...@@ -1334,7 +1334,7 @@ var _Sk = []Range {
Range{0xffe3, 0xffe3, 1}, Range{0xffe3, 0xffe3, 1},
} }
var _Sc = []Range { var _Sc = []Range{
Range{0x0024, 0x00a2, 126}, Range{0x0024, 0x00a2, 126},
Range{0x00a3, 0x00a5, 1}, Range{0x00a3, 0x00a5, 1},
Range{0x060b, 0x09f2, 999}, Range{0x060b, 0x09f2, 999},
...@@ -1348,7 +1348,7 @@ var _Sc = []Range { ...@@ -1348,7 +1348,7 @@ var _Sc = []Range {
Range{0xffe6, 0xffe6, 1}, Range{0xffe6, 0xffe6, 1},
} }
var _Lu = []Range { var _Lu = []Range{
Range{0x0041, 0x005a, 1}, Range{0x0041, 0x005a, 1},
Range{0x00c0, 0x00d6, 1}, Range{0x00c0, 0x00d6, 1},
Range{0x00d8, 0x00de, 1}, Range{0x00d8, 0x00de, 1},
...@@ -1475,7 +1475,7 @@ var _Lu = []Range { ...@@ -1475,7 +1475,7 @@ var _Lu = []Range {
Range{0x1d7ca, 0x1d7ca, 1}, Range{0x1d7ca, 0x1d7ca, 1},
} }
var _Lt = []Range { var _Lt = []Range{
Range{0x01c5, 0x01cb, 3}, Range{0x01c5, 0x01cb, 3},
Range{0x01f2, 0x1f88, 7574}, Range{0x01f2, 0x1f88, 7574},
Range{0x1f89, 0x1f8f, 1}, Range{0x1f89, 0x1f8f, 1},
...@@ -1485,7 +1485,7 @@ var _Lt = []Range { ...@@ -1485,7 +1485,7 @@ var _Lt = []Range {
Range{0x1ffc, 0x1ffc, 1}, Range{0x1ffc, 0x1ffc, 1},
} }
var _Lo = []Range { var _Lo = []Range{
Range{0x01bb, 0x01c0, 5}, Range{0x01bb, 0x01c0, 5},
Range{0x01c1, 0x01c3, 1}, Range{0x01c1, 0x01c3, 1},
Range{0x0294, 0x05d0, 828}, Range{0x0294, 0x05d0, 828},
...@@ -1761,40 +1761,40 @@ var _Lo = []Range { ...@@ -1761,40 +1761,40 @@ var _Lo = []Range {
} }
var ( var (
Cc = _Cc; // Cc is the set of Unicode characters in category Cc. Cc = _Cc; // Cc is the set of Unicode characters in category Cc.
Cf = _Cf; // Cf is the set of Unicode characters in category Cf. Cf = _Cf; // Cf is the set of Unicode characters in category Cf.
Co = _Co; // Co is the set of Unicode characters in category Co. Co = _Co; // Co is the set of Unicode characters in category Co.
Cs = _Cs; // Cs is the set of Unicode characters in category Cs. Cs = _Cs; // Cs is the set of Unicode characters in category Cs.
Digit = _Nd; // Digit is the set of Unicode characters with the "decimal digit" property. Digit = _Nd; // Digit is the set of Unicode characters with the "decimal digit" property.
Nd = _Nd; // Nd is the set of Unicode characters in category Nd. Nd = _Nd; // Nd is the set of Unicode characters in category Nd.
Letter = letter; // Letter is the set of Unicode letters. Letter = letter; // Letter is the set of Unicode letters.
Lm = _Lm; // Lm is the set of Unicode characters in category Lm. Lm = _Lm; // Lm is the set of Unicode characters in category Lm.
Lo = _Lo; // Lo is the set of Unicode characters in category Lo. Lo = _Lo; // Lo is the set of Unicode characters in category Lo.
Lower = _Ll; // Lower is the set of Unicode lower case letters. Lower = _Ll; // Lower is the set of Unicode lower case letters.
Ll = _Ll; // Ll is the set of Unicode characters in category Ll. Ll = _Ll; // Ll is the set of Unicode characters in category Ll.
Mc = _Mc; // Mc is the set of Unicode characters in category Mc. Mc = _Mc; // Mc is the set of Unicode characters in category Mc.
Me = _Me; // Me is the set of Unicode characters in category Me. Me = _Me; // Me is the set of Unicode characters in category Me.
Mn = _Mn; // Mn is the set of Unicode characters in category Mn. Mn = _Mn; // Mn is the set of Unicode characters in category Mn.
Nl = _Nl; // Nl is the set of Unicode characters in category Nl. Nl = _Nl; // Nl is the set of Unicode characters in category Nl.
No = _No; // No is the set of Unicode characters in category No. No = _No; // No is the set of Unicode characters in category No.
Pc = _Pc; // Pc is the set of Unicode characters in category Pc. Pc = _Pc; // Pc is the set of Unicode characters in category Pc.
Pd = _Pd; // Pd is the set of Unicode characters in category Pd. Pd = _Pd; // Pd is the set of Unicode characters in category Pd.
Pe = _Pe; // Pe is the set of Unicode characters in category Pe. Pe = _Pe; // Pe is the set of Unicode characters in category Pe.
Pf = _Pf; // Pf is the set of Unicode characters in category Pf. Pf = _Pf; // Pf is the set of Unicode characters in category Pf.
Pi = _Pi; // Pi is the set of Unicode characters in category Pi. Pi = _Pi; // Pi is the set of Unicode characters in category Pi.
Po = _Po; // Po is the set of Unicode characters in category Po. Po = _Po; // Po is the set of Unicode characters in category Po.
Ps = _Ps; // Ps is the set of Unicode characters in category Ps. Ps = _Ps; // Ps is the set of Unicode characters in category Ps.
Sc = _Sc; // Sc is the set of Unicode characters in category Sc. Sc = _Sc; // Sc is the set of Unicode characters in category Sc.
Sk = _Sk; // Sk is the set of Unicode characters in category Sk. Sk = _Sk; // Sk is the set of Unicode characters in category Sk.
Sm = _Sm; // Sm is the set of Unicode characters in category Sm. Sm = _Sm; // Sm is the set of Unicode characters in category Sm.
So = _So; // So is the set of Unicode characters in category So. So = _So; // So is the set of Unicode characters in category So.
Title = _Lt; // Title is the set of Unicode title case letters. Title = _Lt; // Title is the set of Unicode title case letters.
Lt = _Lt; // Lt is the set of Unicode characters in category Lt. Lt = _Lt; // Lt is the set of Unicode characters in category Lt.
Upper = _Lu; // Upper is the set of Unicode upper case letters. Upper = _Lu; // Upper is the set of Unicode upper case letters.
Lu = _Lu; // Lu is the set of Unicode characters in category Lu. Lu = _Lu; // Lu is the set of Unicode characters in category Lu.
Zl = _Zl; // Zl is the set of Unicode characters in category Zl. Zl = _Zl; // Zl is the set of Unicode characters in category Zl.
Zp = _Zp; // Zp is the set of Unicode characters in category Zp. Zp = _Zp; // Zp is the set of Unicode characters in category Zp.
Zs = _Zs; // Zs is the set of Unicode characters in category Zs. Zs = _Zs; // Zs is the set of Unicode characters in category Zs.
) )
// Generated by running // Generated by running
...@@ -1802,7 +1802,7 @@ var ( ...@@ -1802,7 +1802,7 @@ var (
// DO NOT EDIT // DO NOT EDIT
// Scripts is the set of Unicode script tables. // Scripts is the set of Unicode script tables.
var Scripts = map[string] []Range { var Scripts = map[string][]Range{
"Katakana": Katakana, "Katakana": Katakana,
"Malayalam": Malayalam, "Malayalam": Malayalam,
"Phags_Pa": Phags_Pa, "Phags_Pa": Phags_Pa,
...@@ -1882,7 +1882,7 @@ var Scripts = map[string] []Range { ...@@ -1882,7 +1882,7 @@ var Scripts = map[string] []Range {
"Gothic": Gothic, "Gothic": Gothic,
} }
var _Katakana = []Range { var _Katakana = []Range{
Range{0x30a1, 0x30fa, 1}, Range{0x30a1, 0x30fa, 1},
Range{0x30fd, 0x30ff, 1}, Range{0x30fd, 0x30ff, 1},
Range{0x31f0, 0x31ff, 1}, Range{0x31f0, 0x31ff, 1},
...@@ -1892,7 +1892,7 @@ var _Katakana = []Range { ...@@ -1892,7 +1892,7 @@ var _Katakana = []Range {
Range{0xff71, 0xff9d, 1}, Range{0xff71, 0xff9d, 1},
} }
var _Malayalam = []Range { var _Malayalam = []Range{
Range{0x0d02, 0x0d03, 1}, Range{0x0d02, 0x0d03, 1},
Range{0x0d05, 0x0d0c, 1}, Range{0x0d05, 0x0d0c, 1},
Range{0x0d0e, 0x0d10, 1}, Range{0x0d0e, 0x0d10, 1},
...@@ -1907,11 +1907,11 @@ var _Malayalam = []Range { ...@@ -1907,11 +1907,11 @@ var _Malayalam = []Range {
Range{0x0d79, 0x0d7f, 1}, Range{0x0d79, 0x0d7f, 1},
} }
var _Phags_Pa = []Range { var _Phags_Pa = []Range{
Range{0xa840, 0xa877, 1}, Range{0xa840, 0xa877, 1},
} }
var _Latin = []Range { var _Latin = []Range{
Range{0x0041, 0x005a, 1}, Range{0x0041, 0x005a, 1},
Range{0x0061, 0x007a, 1}, Range{0x0061, 0x007a, 1},
Range{0x00aa, 0x00aa, 1}, Range{0x00aa, 0x00aa, 1},
...@@ -1943,19 +1943,19 @@ var _Latin = []Range { ...@@ -1943,19 +1943,19 @@ var _Latin = []Range {
Range{0xff41, 0xff5a, 1}, Range{0xff41, 0xff5a, 1},
} }
var _Osmanya = []Range { var _Osmanya = []Range{
Range{0x10480, 0x1049d, 1}, Range{0x10480, 0x1049d, 1},
Range{0x104a0, 0x104a9, 1}, Range{0x104a0, 0x104a9, 1},
} }
var _Khmer = []Range { var _Khmer = []Range{
Range{0x1780, 0x17dd, 1}, Range{0x1780, 0x17dd, 1},
Range{0x17e0, 0x17e9, 1}, Range{0x17e0, 0x17e9, 1},
Range{0x17f0, 0x17f9, 1}, Range{0x17f0, 0x17f9, 1},
Range{0x19e0, 0x19ff, 1}, Range{0x19e0, 0x19ff, 1},
} }
var _Inherited = []Range { var _Inherited = []Range{
Range{0x0300, 0x036f, 1}, Range{0x0300, 0x036f, 1},
Range{0x064b, 0x0655, 1}, Range{0x064b, 0x0655, 1},
Range{0x0670, 0x0670, 1}, Range{0x0670, 0x0670, 1},
...@@ -1976,7 +1976,7 @@ var _Inherited = []Range { ...@@ -1976,7 +1976,7 @@ var _Inherited = []Range {
Range{0xe0100, 0xe01ef, 1}, Range{0xe0100, 0xe01ef, 1},
} }
var _Telugu = []Range { var _Telugu = []Range{
Range{0x0c01, 0x0c03, 1}, Range{0x0c01, 0x0c03, 1},
Range{0x0c05, 0x0c0c, 1}, Range{0x0c05, 0x0c0c, 1},
Range{0x0c0e, 0x0c10, 1}, Range{0x0c0e, 0x0c10, 1},
...@@ -1993,28 +1993,28 @@ var _Telugu = []Range { ...@@ -1993,28 +1993,28 @@ var _Telugu = []Range {
Range{0x0c78, 0x0c7f, 1}, Range{0x0c78, 0x0c7f, 1},
} }
var _Bopomofo = []Range { var _Bopomofo = []Range{
Range{0x3105, 0x312d, 1}, Range{0x3105, 0x312d, 1},
Range{0x31a0, 0x31b7, 1}, Range{0x31a0, 0x31b7, 1},
} }
var _Kayah_Li = []Range { var _Kayah_Li = []Range{
Range{0xa900, 0xa92f, 1}, Range{0xa900, 0xa92f, 1},
} }
var _New_Tai_Lue = []Range { var _New_Tai_Lue = []Range{
Range{0x1980, 0x19a9, 1}, Range{0x1980, 0x19a9, 1},
Range{0x19b0, 0x19c9, 1}, Range{0x19b0, 0x19c9, 1},
Range{0x19d0, 0x19d9, 1}, Range{0x19d0, 0x19d9, 1},
Range{0x19de, 0x19df, 1}, Range{0x19de, 0x19df, 1},
} }
var _Tai_Le = []Range { var _Tai_Le = []Range{
Range{0x1950, 0x196d, 1}, Range{0x1950, 0x196d, 1},
Range{0x1970, 0x1974, 1}, Range{0x1970, 0x1974, 1},
} }
var _Kharoshthi = []Range { var _Kharoshthi = []Range{
Range{0x10a00, 0x10a03, 1}, Range{0x10a00, 0x10a03, 1},
Range{0x10a05, 0x10a06, 1}, Range{0x10a05, 0x10a06, 1},
Range{0x10a0c, 0x10a13, 1}, Range{0x10a0c, 0x10a13, 1},
...@@ -2025,7 +2025,7 @@ var _Kharoshthi = []Range { ...@@ -2025,7 +2025,7 @@ var _Kharoshthi = []Range {
Range{0x10a50, 0x10a58, 1}, Range{0x10a50, 0x10a58, 1},
} }
var _Common = []Range { var _Common = []Range{
Range{0x0000, 0x0040, 1}, Range{0x0000, 0x0040, 1},
Range{0x005b, 0x0060, 1}, Range{0x005b, 0x0060, 1},
Range{0x007b, 0x00a9, 1}, Range{0x007b, 0x00a9, 1},
...@@ -2165,7 +2165,7 @@ var _Common = []Range { ...@@ -2165,7 +2165,7 @@ var _Common = []Range {
Range{0xe0020, 0xe007f, 1}, Range{0xe0020, 0xe007f, 1},
} }
var _Kannada = []Range { var _Kannada = []Range{
Range{0x0c82, 0x0c83, 1}, Range{0x0c82, 0x0c83, 1},
Range{0x0c85, 0x0c8c, 1}, Range{0x0c85, 0x0c8c, 1},
Range{0x0c8e, 0x0c90, 1}, Range{0x0c8e, 0x0c90, 1},
...@@ -2181,7 +2181,7 @@ var _Kannada = []Range { ...@@ -2181,7 +2181,7 @@ var _Kannada = []Range {
Range{0x0ce6, 0x0cef, 1}, Range{0x0ce6, 0x0cef, 1},
} }
var _Tamil = []Range { var _Tamil = []Range{
Range{0x0b82, 0x0b83, 1}, Range{0x0b82, 0x0b83, 1},
Range{0x0b85, 0x0b8a, 1}, Range{0x0b85, 0x0b8a, 1},
Range{0x0b8e, 0x0b90, 1}, Range{0x0b8e, 0x0b90, 1},
...@@ -2200,12 +2200,12 @@ var _Tamil = []Range { ...@@ -2200,12 +2200,12 @@ var _Tamil = []Range {
Range{0x0be6, 0x0bfa, 1}, Range{0x0be6, 0x0bfa, 1},
} }
var _Tagalog = []Range { var _Tagalog = []Range{
Range{0x1700, 0x170c, 1}, Range{0x1700, 0x170c, 1},
Range{0x170e, 0x1714, 1}, Range{0x170e, 0x1714, 1},
} }
var _Arabic = []Range { var _Arabic = []Range{
Range{0x0606, 0x060b, 1}, Range{0x0606, 0x060b, 1},
Range{0x060d, 0x061a, 1}, Range{0x060d, 0x061a, 1},
Range{0x061e, 0x061e, 1}, Range{0x061e, 0x061e, 1},
...@@ -2225,17 +2225,17 @@ var _Arabic = []Range { ...@@ -2225,17 +2225,17 @@ var _Arabic = []Range {
Range{0xfe76, 0xfefc, 1}, Range{0xfe76, 0xfefc, 1},
} }
var _Tagbanwa = []Range { var _Tagbanwa = []Range{
Range{0x1760, 0x176c, 1}, Range{0x1760, 0x176c, 1},
Range{0x176e, 0x1770, 1}, Range{0x176e, 0x1770, 1},
Range{0x1772, 0x1773, 1}, Range{0x1772, 0x1773, 1},
} }
var _Canadian_Aboriginal = []Range { var _Canadian_Aboriginal = []Range{
Range{0x1401, 0x1676, 1}, Range{0x1401, 0x1676, 1},
} }
var _Tibetan = []Range { var _Tibetan = []Range{
Range{0x0f00, 0x0f47, 1}, Range{0x0f00, 0x0f47, 1},
Range{0x0f49, 0x0f6c, 1}, Range{0x0f49, 0x0f6c, 1},
Range{0x0f71, 0x0f8b, 1}, Range{0x0f71, 0x0f8b, 1},
...@@ -2245,18 +2245,18 @@ var _Tibetan = []Range { ...@@ -2245,18 +2245,18 @@ var _Tibetan = []Range {
Range{0x0fce, 0x0fd4, 1}, Range{0x0fce, 0x0fd4, 1},
} }
var _Coptic = []Range { var _Coptic = []Range{
Range{0x03e2, 0x03ef, 1}, Range{0x03e2, 0x03ef, 1},
Range{0x2c80, 0x2cea, 1}, Range{0x2c80, 0x2cea, 1},
Range{0x2cf9, 0x2cff, 1}, Range{0x2cf9, 0x2cff, 1},
} }
var _Hiragana = []Range { var _Hiragana = []Range{
Range{0x3041, 0x3096, 1}, Range{0x3041, 0x3096, 1},
Range{0x309d, 0x309f, 1}, Range{0x309d, 0x309f, 1},
} }
var _Limbu = []Range { var _Limbu = []Range{
Range{0x1900, 0x191c, 1}, Range{0x1900, 0x191c, 1},
Range{0x1920, 0x192b, 1}, Range{0x1920, 0x192b, 1},
Range{0x1930, 0x193b, 1}, Range{0x1930, 0x193b, 1},
...@@ -2264,12 +2264,12 @@ var _Limbu = []Range { ...@@ -2264,12 +2264,12 @@ var _Limbu = []Range {
Range{0x1944, 0x194f, 1}, Range{0x1944, 0x194f, 1},
} }
var _Myanmar = []Range { var _Myanmar = []Range{
Range{0x1000, 0x1099, 1}, Range{0x1000, 0x1099, 1},
Range{0x109e, 0x109f, 1}, Range{0x109e, 0x109f, 1},
} }
var _Armenian = []Range { var _Armenian = []Range{
Range{0x0531, 0x0556, 1}, Range{0x0531, 0x0556, 1},
Range{0x0559, 0x055f, 1}, Range{0x0559, 0x055f, 1},
Range{0x0561, 0x0587, 1}, Range{0x0561, 0x0587, 1},
...@@ -2277,7 +2277,7 @@ var _Armenian = []Range { ...@@ -2277,7 +2277,7 @@ var _Armenian = []Range {
Range{0xfb13, 0xfb17, 1}, Range{0xfb13, 0xfb17, 1},
} }
var _Sinhala = []Range { var _Sinhala = []Range{
Range{0x0d82, 0x0d83, 1}, Range{0x0d82, 0x0d83, 1},
Range{0x0d85, 0x0d96, 1}, Range{0x0d85, 0x0d96, 1},
Range{0x0d9a, 0x0db1, 1}, Range{0x0d9a, 0x0db1, 1},
...@@ -2291,7 +2291,7 @@ var _Sinhala = []Range { ...@@ -2291,7 +2291,7 @@ var _Sinhala = []Range {
Range{0x0df2, 0x0df4, 1}, Range{0x0df2, 0x0df4, 1},
} }
var _Bengali = []Range { var _Bengali = []Range{
Range{0x0981, 0x0983, 1}, Range{0x0981, 0x0983, 1},
Range{0x0985, 0x098c, 1}, Range{0x0985, 0x098c, 1},
Range{0x098f, 0x0990, 1}, Range{0x098f, 0x0990, 1},
...@@ -2308,7 +2308,7 @@ var _Bengali = []Range { ...@@ -2308,7 +2308,7 @@ var _Bengali = []Range {
Range{0x09e6, 0x09fa, 1}, Range{0x09e6, 0x09fa, 1},
} }
var _Greek = []Range { var _Greek = []Range{
Range{0x0370, 0x0373, 1}, Range{0x0370, 0x0373, 1},
Range{0x0375, 0x0377, 1}, Range{0x0375, 0x0377, 1},
Range{0x037a, 0x037d, 1}, Range{0x037a, 0x037d, 1},
...@@ -2344,14 +2344,14 @@ var _Greek = []Range { ...@@ -2344,14 +2344,14 @@ var _Greek = []Range {
Range{0x1d200, 0x1d245, 1}, Range{0x1d200, 0x1d245, 1},
} }
var _Cham = []Range { var _Cham = []Range{
Range{0xaa00, 0xaa36, 1}, Range{0xaa00, 0xaa36, 1},
Range{0xaa40, 0xaa4d, 1}, Range{0xaa40, 0xaa4d, 1},
Range{0xaa50, 0xaa59, 1}, Range{0xaa50, 0xaa59, 1},
Range{0xaa5c, 0xaa5f, 1}, Range{0xaa5c, 0xaa5f, 1},
} }
var _Hebrew = []Range { var _Hebrew = []Range{
Range{0x0591, 0x05c7, 1}, Range{0x0591, 0x05c7, 1},
Range{0x05d0, 0x05ea, 1}, Range{0x05d0, 0x05ea, 1},
Range{0x05f0, 0x05f4, 1}, Range{0x05f0, 0x05f4, 1},
...@@ -2363,12 +2363,12 @@ var _Hebrew = []Range { ...@@ -2363,12 +2363,12 @@ var _Hebrew = []Range {
Range{0xfb46, 0xfb4f, 1}, Range{0xfb46, 0xfb4f, 1},
} }
var _Saurashtra = []Range { var _Saurashtra = []Range{
Range{0xa880, 0xa8c4, 1}, Range{0xa880, 0xa8c4, 1},
Range{0xa8ce, 0xa8d9, 1}, Range{0xa8ce, 0xa8d9, 1},
} }
var _Hangul = []Range { var _Hangul = []Range{
Range{0x1100, 0x1159, 1}, Range{0x1100, 0x1159, 1},
Range{0x115f, 0x11a2, 1}, Range{0x115f, 0x11a2, 1},
Range{0x11a8, 0x11f9, 1}, Range{0x11a8, 0x11f9, 1},
...@@ -2383,26 +2383,26 @@ var _Hangul = []Range { ...@@ -2383,26 +2383,26 @@ var _Hangul = []Range {
Range{0xffda, 0xffdc, 1}, Range{0xffda, 0xffdc, 1},
} }
var _Runic = []Range { var _Runic = []Range{
Range{0x16a0, 0x16ea, 1}, Range{0x16a0, 0x16ea, 1},
Range{0x16ee, 0x16f0, 1}, Range{0x16ee, 0x16f0, 1},
} }
var _Deseret = []Range { var _Deseret = []Range{
Range{0x10400, 0x1044f, 1}, Range{0x10400, 0x1044f, 1},
} }
var _Sundanese = []Range { var _Sundanese = []Range{
Range{0x1b80, 0x1baa, 1}, Range{0x1b80, 0x1baa, 1},
Range{0x1bae, 0x1bb9, 1}, Range{0x1bae, 0x1bb9, 1},
} }
var _Glagolitic = []Range { var _Glagolitic = []Range{
Range{0x2c00, 0x2c2e, 1}, Range{0x2c00, 0x2c2e, 1},
Range{0x2c30, 0x2c5e, 1}, Range{0x2c30, 0x2c5e, 1},
} }
var _Oriya = []Range { var _Oriya = []Range{
Range{0x0b01, 0x0b03, 1}, Range{0x0b01, 0x0b03, 1},
Range{0x0b05, 0x0b0c, 1}, Range{0x0b05, 0x0b0c, 1},
Range{0x0b0f, 0x0b10, 1}, Range{0x0b0f, 0x0b10, 1},
...@@ -2419,11 +2419,11 @@ var _Oriya = []Range { ...@@ -2419,11 +2419,11 @@ var _Oriya = []Range {
Range{0x0b66, 0x0b71, 1}, Range{0x0b66, 0x0b71, 1},
} }
var _Buhid = []Range { var _Buhid = []Range{
Range{0x1740, 0x1753, 1}, Range{0x1740, 0x1753, 1},
} }
var _Ethiopic = []Range { var _Ethiopic = []Range{
Range{0x1200, 0x1248, 1}, Range{0x1200, 0x1248, 1},
Range{0x124a, 0x124d, 1}, Range{0x124a, 0x124d, 1},
Range{0x1250, 0x1256, 1}, Range{0x1250, 0x1256, 1},
...@@ -2453,29 +2453,29 @@ var _Ethiopic = []Range { ...@@ -2453,29 +2453,29 @@ var _Ethiopic = []Range {
Range{0x2dd8, 0x2dde, 1}, Range{0x2dd8, 0x2dde, 1},
} }
var _Syloti_Nagri = []Range { var _Syloti_Nagri = []Range{
Range{0xa800, 0xa82b, 1}, Range{0xa800, 0xa82b, 1},
} }
var _Vai = []Range { var _Vai = []Range{
Range{0xa500, 0xa62b, 1}, Range{0xa500, 0xa62b, 1},
} }
var _Cherokee = []Range { var _Cherokee = []Range{
Range{0x13a0, 0x13f4, 1}, Range{0x13a0, 0x13f4, 1},
} }
var _Ogham = []Range { var _Ogham = []Range{
Range{0x1680, 0x169c, 1}, Range{0x1680, 0x169c, 1},
} }
var _Syriac = []Range { var _Syriac = []Range{
Range{0x0700, 0x070d, 1}, Range{0x0700, 0x070d, 1},
Range{0x070f, 0x074a, 1}, Range{0x070f, 0x074a, 1},
Range{0x074d, 0x074f, 1}, Range{0x074d, 0x074f, 1},
} }
var _Gurmukhi = []Range { var _Gurmukhi = []Range{
Range{0x0a01, 0x0a03, 1}, Range{0x0a01, 0x0a03, 1},
Range{0x0a05, 0x0a0a, 1}, Range{0x0a05, 0x0a0a, 1},
Range{0x0a0f, 0x0a10, 1}, Range{0x0a0f, 0x0a10, 1},
...@@ -2494,11 +2494,11 @@ var _Gurmukhi = []Range { ...@@ -2494,11 +2494,11 @@ var _Gurmukhi = []Range {
Range{0x0a66, 0x0a75, 1}, Range{0x0a66, 0x0a75, 1},
} }
var _Ol_Chiki = []Range { var _Ol_Chiki = []Range{
Range{0x1c50, 0x1c7f, 1}, Range{0x1c50, 0x1c7f, 1},
} }
var _Mongolian = []Range { var _Mongolian = []Range{
Range{0x1800, 0x1801, 1}, Range{0x1800, 0x1801, 1},
Range{0x1804, 0x1804, 1}, Range{0x1804, 0x1804, 1},
Range{0x1806, 0x180e, 1}, Range{0x1806, 0x180e, 1},
...@@ -2507,11 +2507,11 @@ var _Mongolian = []Range { ...@@ -2507,11 +2507,11 @@ var _Mongolian = []Range {
Range{0x1880, 0x18aa, 1}, Range{0x1880, 0x18aa, 1},
} }
var _Hanunoo = []Range { var _Hanunoo = []Range{
Range{0x1720, 0x1734, 1}, Range{0x1720, 0x1734, 1},
} }
var _Cypriot = []Range { var _Cypriot = []Range{
Range{0x10800, 0x10805, 1}, Range{0x10800, 0x10805, 1},
Range{0x10808, 0x10808, 1}, Range{0x10808, 0x10808, 1},
Range{0x1080a, 0x10835, 1}, Range{0x1080a, 0x10835, 1},
...@@ -2520,62 +2520,62 @@ var _Cypriot = []Range { ...@@ -2520,62 +2520,62 @@ var _Cypriot = []Range {
Range{0x1083f, 0x1083f, 1}, Range{0x1083f, 0x1083f, 1},
} }
var _Buginese = []Range { var _Buginese = []Range{
Range{0x1a00, 0x1a1b, 1}, Range{0x1a00, 0x1a1b, 1},
Range{0x1a1e, 0x1a1f, 1}, Range{0x1a1e, 0x1a1f, 1},
} }
var _Lepcha = []Range { var _Lepcha = []Range{
Range{0x1c00, 0x1c37, 1}, Range{0x1c00, 0x1c37, 1},
Range{0x1c3b, 0x1c49, 1}, Range{0x1c3b, 0x1c49, 1},
Range{0x1c4d, 0x1c4f, 1}, Range{0x1c4d, 0x1c4f, 1},
} }
var _Thaana = []Range { var _Thaana = []Range{
Range{0x0780, 0x07b1, 1}, Range{0x0780, 0x07b1, 1},
} }
var _Old_Persian = []Range { var _Old_Persian = []Range{
Range{0x103a0, 0x103c3, 1}, Range{0x103a0, 0x103c3, 1},
Range{0x103c8, 0x103d5, 1}, Range{0x103c8, 0x103d5, 1},
} }
var _Cuneiform = []Range { var _Cuneiform = []Range{
Range{0x12000, 0x1236e, 1}, Range{0x12000, 0x1236e, 1},
Range{0x12400, 0x12462, 1}, Range{0x12400, 0x12462, 1},
Range{0x12470, 0x12473, 1}, Range{0x12470, 0x12473, 1},
} }
var _Rejang = []Range { var _Rejang = []Range{
Range{0xa930, 0xa953, 1}, Range{0xa930, 0xa953, 1},
Range{0xa95f, 0xa95f, 1}, Range{0xa95f, 0xa95f, 1},
} }
var _Georgian = []Range { var _Georgian = []Range{
Range{0x10a0, 0x10c5, 1}, Range{0x10a0, 0x10c5, 1},
Range{0x10d0, 0x10fa, 1}, Range{0x10d0, 0x10fa, 1},
Range{0x10fc, 0x10fc, 1}, Range{0x10fc, 0x10fc, 1},
Range{0x2d00, 0x2d25, 1}, Range{0x2d00, 0x2d25, 1},
} }
var _Shavian = []Range { var _Shavian = []Range{
Range{0x10450, 0x1047f, 1}, Range{0x10450, 0x1047f, 1},
} }
var _Lycian = []Range { var _Lycian = []Range{
Range{0x10280, 0x1029c, 1}, Range{0x10280, 0x1029c, 1},
} }
var _Nko = []Range { var _Nko = []Range{
Range{0x07c0, 0x07fa, 1}, Range{0x07c0, 0x07fa, 1},
} }
var _Yi = []Range { var _Yi = []Range{
Range{0xa000, 0xa48c, 1}, Range{0xa000, 0xa48c, 1},
Range{0xa490, 0xa4c6, 1}, Range{0xa490, 0xa4c6, 1},
} }
var _Lao = []Range { var _Lao = []Range{
Range{0x0e81, 0x0e82, 1}, Range{0x0e81, 0x0e82, 1},
Range{0x0e84, 0x0e84, 1}, Range{0x0e84, 0x0e84, 1},
Range{0x0e87, 0x0e88, 1}, Range{0x0e87, 0x0e88, 1},
...@@ -2596,7 +2596,7 @@ var _Lao = []Range { ...@@ -2596,7 +2596,7 @@ var _Lao = []Range {
Range{0x0edc, 0x0edd, 1}, Range{0x0edc, 0x0edd, 1},
} }
var _Linear_B = []Range { var _Linear_B = []Range{
Range{0x10000, 0x1000b, 1}, Range{0x10000, 0x1000b, 1},
Range{0x1000d, 0x10026, 1}, Range{0x1000d, 0x10026, 1},
Range{0x10028, 0x1003a, 1}, Range{0x10028, 0x1003a, 1},
...@@ -2606,12 +2606,12 @@ var _Linear_B = []Range { ...@@ -2606,12 +2606,12 @@ var _Linear_B = []Range {
Range{0x10080, 0x100fa, 1}, Range{0x10080, 0x100fa, 1},
} }
var _Old_Italic = []Range { var _Old_Italic = []Range{
Range{0x10300, 0x1031e, 1}, Range{0x10300, 0x1031e, 1},
Range{0x10320, 0x10323, 1}, Range{0x10320, 0x10323, 1},
} }
var _Devanagari = []Range { var _Devanagari = []Range{
Range{0x0901, 0x0939, 1}, Range{0x0901, 0x0939, 1},
Range{0x093c, 0x094d, 1}, Range{0x093c, 0x094d, 1},
Range{0x0950, 0x0950, 1}, Range{0x0950, 0x0950, 1},
...@@ -2622,27 +2622,27 @@ var _Devanagari = []Range { ...@@ -2622,27 +2622,27 @@ var _Devanagari = []Range {
Range{0x097b, 0x097f, 1}, Range{0x097b, 0x097f, 1},
} }
var _Lydian = []Range { var _Lydian = []Range{
Range{0x10920, 0x10939, 1}, Range{0x10920, 0x10939, 1},
Range{0x1093f, 0x1093f, 1}, Range{0x1093f, 0x1093f, 1},
} }
var _Tifinagh = []Range { var _Tifinagh = []Range{
Range{0x2d30, 0x2d65, 1}, Range{0x2d30, 0x2d65, 1},
Range{0x2d6f, 0x2d6f, 1}, Range{0x2d6f, 0x2d6f, 1},
} }
var _Ugaritic = []Range { var _Ugaritic = []Range{
Range{0x10380, 0x1039d, 1}, Range{0x10380, 0x1039d, 1},
Range{0x1039f, 0x1039f, 1}, Range{0x1039f, 0x1039f, 1},
} }
var _Thai = []Range { var _Thai = []Range{
Range{0x0e01, 0x0e3a, 1}, Range{0x0e01, 0x0e3a, 1},
Range{0x0e40, 0x0e5b, 1}, Range{0x0e40, 0x0e5b, 1},
} }
var _Cyrillic = []Range { var _Cyrillic = []Range{
Range{0x0400, 0x0523, 1}, Range{0x0400, 0x0523, 1},
Range{0x1d2b, 0x1d2b, 1}, Range{0x1d2b, 0x1d2b, 1},
Range{0x1d78, 0x1d78, 1}, Range{0x1d78, 0x1d78, 1},
...@@ -2652,7 +2652,7 @@ var _Cyrillic = []Range { ...@@ -2652,7 +2652,7 @@ var _Cyrillic = []Range {
Range{0xa67c, 0xa697, 1}, Range{0xa67c, 0xa697, 1},
} }
var _Gujarati = []Range { var _Gujarati = []Range{
Range{0x0a81, 0x0a83, 1}, Range{0x0a81, 0x0a83, 1},
Range{0x0a85, 0x0a8d, 1}, Range{0x0a85, 0x0a8d, 1},
Range{0x0a8f, 0x0a91, 1}, Range{0x0a8f, 0x0a91, 1},
...@@ -2669,25 +2669,25 @@ var _Gujarati = []Range { ...@@ -2669,25 +2669,25 @@ var _Gujarati = []Range {
Range{0x0af1, 0x0af1, 1}, Range{0x0af1, 0x0af1, 1},
} }
var _Carian = []Range { var _Carian = []Range{
Range{0x102a0, 0x102d0, 1}, Range{0x102a0, 0x102d0, 1},
} }
var _Phoenician = []Range { var _Phoenician = []Range{
Range{0x10900, 0x10919, 1}, Range{0x10900, 0x10919, 1},
Range{0x1091f, 0x1091f, 1}, Range{0x1091f, 0x1091f, 1},
} }
var _Balinese = []Range { var _Balinese = []Range{
Range{0x1b00, 0x1b4b, 1}, Range{0x1b00, 0x1b4b, 1},
Range{0x1b50, 0x1b7c, 1}, Range{0x1b50, 0x1b7c, 1},
} }
var _Braille = []Range { var _Braille = []Range{
Range{0x2800, 0x28ff, 1}, Range{0x2800, 0x28ff, 1},
} }
var _Han = []Range { var _Han = []Range{
Range{0x2e80, 0x2e99, 1}, Range{0x2e80, 0x2e99, 1},
Range{0x2e9b, 0x2ef3, 1}, Range{0x2e9b, 0x2ef3, 1},
Range{0x2f00, 0x2fd5, 1}, Range{0x2f00, 0x2fd5, 1},
...@@ -2704,88 +2704,88 @@ var _Han = []Range { ...@@ -2704,88 +2704,88 @@ var _Han = []Range {
Range{0x2f800, 0x2fa1d, 1}, Range{0x2f800, 0x2fa1d, 1},
} }
var _Gothic = []Range { var _Gothic = []Range{
Range{0x10330, 0x1034a, 1}, Range{0x10330, 0x1034a, 1},
} }
var ( var (
Arabic = _Arabic; // Arabic is the set of Unicode characters in script Arabic. Arabic = _Arabic; // Arabic is the set of Unicode characters in script Arabic.
Armenian = _Armenian; // Armenian is the set of Unicode characters in script Armenian. Armenian = _Armenian; // Armenian is the set of Unicode characters in script Armenian.
Balinese = _Balinese; // Balinese is the set of Unicode characters in script Balinese. Balinese = _Balinese; // Balinese is the set of Unicode characters in script Balinese.
Bengali = _Bengali; // Bengali is the set of Unicode characters in script Bengali. Bengali = _Bengali; // Bengali is the set of Unicode characters in script Bengali.
Bopomofo = _Bopomofo; // Bopomofo is the set of Unicode characters in script Bopomofo. Bopomofo = _Bopomofo; // Bopomofo is the set of Unicode characters in script Bopomofo.
Braille = _Braille; // Braille is the set of Unicode characters in script Braille. Braille = _Braille; // Braille is the set of Unicode characters in script Braille.
Buginese = _Buginese; // Buginese is the set of Unicode characters in script Buginese. Buginese = _Buginese; // Buginese is the set of Unicode characters in script Buginese.
Buhid = _Buhid; // Buhid is the set of Unicode characters in script Buhid. Buhid = _Buhid; // Buhid is the set of Unicode characters in script Buhid.
Canadian_Aboriginal = _Canadian_Aboriginal; // Canadian_Aboriginal is the set of Unicode characters in script Canadian_Aboriginal. Canadian_Aboriginal = _Canadian_Aboriginal; // Canadian_Aboriginal is the set of Unicode characters in script Canadian_Aboriginal.
Carian = _Carian; // Carian is the set of Unicode characters in script Carian. Carian = _Carian; // Carian is the set of Unicode characters in script Carian.
Cham = _Cham; // Cham is the set of Unicode characters in script Cham. Cham = _Cham; // Cham is the set of Unicode characters in script Cham.
Cherokee = _Cherokee; // Cherokee is the set of Unicode characters in script Cherokee. Cherokee = _Cherokee; // Cherokee is the set of Unicode characters in script Cherokee.
Common = _Common; // Common is the set of Unicode characters in script Common. Common = _Common; // Common is the set of Unicode characters in script Common.
Coptic = _Coptic; // Coptic is the set of Unicode characters in script Coptic. Coptic = _Coptic; // Coptic is the set of Unicode characters in script Coptic.
Cuneiform = _Cuneiform; // Cuneiform is the set of Unicode characters in script Cuneiform. Cuneiform = _Cuneiform; // Cuneiform is the set of Unicode characters in script Cuneiform.
Cypriot = _Cypriot; // Cypriot is the set of Unicode characters in script Cypriot. Cypriot = _Cypriot; // Cypriot is the set of Unicode characters in script Cypriot.
Cyrillic = _Cyrillic; // Cyrillic is the set of Unicode characters in script Cyrillic. Cyrillic = _Cyrillic; // Cyrillic is the set of Unicode characters in script Cyrillic.
Deseret = _Deseret; // Deseret is the set of Unicode characters in script Deseret. Deseret = _Deseret; // Deseret is the set of Unicode characters in script Deseret.
Devanagari = _Devanagari; // Devanagari is the set of Unicode characters in script Devanagari. Devanagari = _Devanagari; // Devanagari is the set of Unicode characters in script Devanagari.
Ethiopic = _Ethiopic; // Ethiopic is the set of Unicode characters in script Ethiopic. Ethiopic = _Ethiopic; // Ethiopic is the set of Unicode characters in script Ethiopic.
Georgian = _Georgian; // Georgian is the set of Unicode characters in script Georgian. Georgian = _Georgian; // Georgian is the set of Unicode characters in script Georgian.
Glagolitic = _Glagolitic; // Glagolitic is the set of Unicode characters in script Glagolitic. Glagolitic = _Glagolitic; // Glagolitic is the set of Unicode characters in script Glagolitic.
Gothic = _Gothic; // Gothic is the set of Unicode characters in script Gothic. Gothic = _Gothic; // Gothic is the set of Unicode characters in script Gothic.
Greek = _Greek; // Greek is the set of Unicode characters in script Greek. Greek = _Greek; // Greek is the set of Unicode characters in script Greek.
Gujarati = _Gujarati; // Gujarati is the set of Unicode characters in script Gujarati. Gujarati = _Gujarati; // Gujarati is the set of Unicode characters in script Gujarati.
Gurmukhi = _Gurmukhi; // Gurmukhi is the set of Unicode characters in script Gurmukhi. Gurmukhi = _Gurmukhi; // Gurmukhi is the set of Unicode characters in script Gurmukhi.
Han = _Han; // Han is the set of Unicode characters in script Han. Han = _Han; // Han is the set of Unicode characters in script Han.
Hangul = _Hangul; // Hangul is the set of Unicode characters in script Hangul. Hangul = _Hangul; // Hangul is the set of Unicode characters in script Hangul.
Hanunoo = _Hanunoo; // Hanunoo is the set of Unicode characters in script Hanunoo. Hanunoo = _Hanunoo; // Hanunoo is the set of Unicode characters in script Hanunoo.
Hebrew = _Hebrew; // Hebrew is the set of Unicode characters in script Hebrew. Hebrew = _Hebrew; // Hebrew is the set of Unicode characters in script Hebrew.
Hiragana = _Hiragana; // Hiragana is the set of Unicode characters in script Hiragana. Hiragana = _Hiragana; // Hiragana is the set of Unicode characters in script Hiragana.
Inherited = _Inherited; // Inherited is the set of Unicode characters in script Inherited. Inherited = _Inherited; // Inherited is the set of Unicode characters in script Inherited.
Kannada = _Kannada; // Kannada is the set of Unicode characters in script Kannada. Kannada = _Kannada; // Kannada is the set of Unicode characters in script Kannada.
Katakana = _Katakana; // Katakana is the set of Unicode characters in script Katakana. Katakana = _Katakana; // Katakana is the set of Unicode characters in script Katakana.
Kayah_Li = _Kayah_Li; // Kayah_Li is the set of Unicode characters in script Kayah_Li. Kayah_Li = _Kayah_Li; // Kayah_Li is the set of Unicode characters in script Kayah_Li.
Kharoshthi = _Kharoshthi; // Kharoshthi is the set of Unicode characters in script Kharoshthi. Kharoshthi = _Kharoshthi; // Kharoshthi is the set of Unicode characters in script Kharoshthi.
Khmer = _Khmer; // Khmer is the set of Unicode characters in script Khmer. Khmer = _Khmer; // Khmer is the set of Unicode characters in script Khmer.
Lao = _Lao; // Lao is the set of Unicode characters in script Lao. Lao = _Lao; // Lao is the set of Unicode characters in script Lao.
Latin = _Latin; // Latin is the set of Unicode characters in script Latin. Latin = _Latin; // Latin is the set of Unicode characters in script Latin.
Lepcha = _Lepcha; // Lepcha is the set of Unicode characters in script Lepcha. Lepcha = _Lepcha; // Lepcha is the set of Unicode characters in script Lepcha.
Limbu = _Limbu; // Limbu is the set of Unicode characters in script Limbu. Limbu = _Limbu; // Limbu is the set of Unicode characters in script Limbu.
Linear_B = _Linear_B; // Linear_B is the set of Unicode characters in script Linear_B. Linear_B = _Linear_B; // Linear_B is the set of Unicode characters in script Linear_B.
Lycian = _Lycian; // Lycian is the set of Unicode characters in script Lycian. Lycian = _Lycian; // Lycian is the set of Unicode characters in script Lycian.
Lydian = _Lydian; // Lydian is the set of Unicode characters in script Lydian. Lydian = _Lydian; // Lydian is the set of Unicode characters in script Lydian.
Malayalam = _Malayalam; // Malayalam is the set of Unicode characters in script Malayalam. Malayalam = _Malayalam; // Malayalam is the set of Unicode characters in script Malayalam.
Mongolian = _Mongolian; // Mongolian is the set of Unicode characters in script Mongolian. Mongolian = _Mongolian; // Mongolian is the set of Unicode characters in script Mongolian.
Myanmar = _Myanmar; // Myanmar is the set of Unicode characters in script Myanmar. Myanmar = _Myanmar; // Myanmar is the set of Unicode characters in script Myanmar.
New_Tai_Lue = _New_Tai_Lue; // New_Tai_Lue is the set of Unicode characters in script New_Tai_Lue. New_Tai_Lue = _New_Tai_Lue; // New_Tai_Lue is the set of Unicode characters in script New_Tai_Lue.
Nko = _Nko; // Nko is the set of Unicode characters in script Nko. Nko = _Nko; // Nko is the set of Unicode characters in script Nko.
Ogham = _Ogham; // Ogham is the set of Unicode characters in script Ogham. Ogham = _Ogham; // Ogham is the set of Unicode characters in script Ogham.
Ol_Chiki = _Ol_Chiki; // Ol_Chiki is the set of Unicode characters in script Ol_Chiki. Ol_Chiki = _Ol_Chiki; // Ol_Chiki is the set of Unicode characters in script Ol_Chiki.
Old_Italic = _Old_Italic; // Old_Italic is the set of Unicode characters in script Old_Italic. Old_Italic = _Old_Italic; // Old_Italic is the set of Unicode characters in script Old_Italic.
Old_Persian = _Old_Persian; // Old_Persian is the set of Unicode characters in script Old_Persian. Old_Persian = _Old_Persian; // Old_Persian is the set of Unicode characters in script Old_Persian.
Oriya = _Oriya; // Oriya is the set of Unicode characters in script Oriya. Oriya = _Oriya; // Oriya is the set of Unicode characters in script Oriya.
Osmanya = _Osmanya; // Osmanya is the set of Unicode characters in script Osmanya. Osmanya = _Osmanya; // Osmanya is the set of Unicode characters in script Osmanya.
Phags_Pa = _Phags_Pa; // Phags_Pa is the set of Unicode characters in script Phags_Pa. Phags_Pa = _Phags_Pa; // Phags_Pa is the set of Unicode characters in script Phags_Pa.
Phoenician = _Phoenician; // Phoenician is the set of Unicode characters in script Phoenician. Phoenician = _Phoenician; // Phoenician is the set of Unicode characters in script Phoenician.
Rejang = _Rejang; // Rejang is the set of Unicode characters in script Rejang. Rejang = _Rejang; // Rejang is the set of Unicode characters in script Rejang.
Runic = _Runic; // Runic is the set of Unicode characters in script Runic. Runic = _Runic; // Runic is the set of Unicode characters in script Runic.
Saurashtra = _Saurashtra; // Saurashtra is the set of Unicode characters in script Saurashtra. Saurashtra = _Saurashtra; // Saurashtra is the set of Unicode characters in script Saurashtra.
Shavian = _Shavian; // Shavian is the set of Unicode characters in script Shavian. Shavian = _Shavian; // Shavian is the set of Unicode characters in script Shavian.
Sinhala = _Sinhala; // Sinhala is the set of Unicode characters in script Sinhala. Sinhala = _Sinhala; // Sinhala is the set of Unicode characters in script Sinhala.
Sundanese = _Sundanese; // Sundanese is the set of Unicode characters in script Sundanese. Sundanese = _Sundanese; // Sundanese is the set of Unicode characters in script Sundanese.
Syloti_Nagri = _Syloti_Nagri; // Syloti_Nagri is the set of Unicode characters in script Syloti_Nagri. Syloti_Nagri = _Syloti_Nagri; // Syloti_Nagri is the set of Unicode characters in script Syloti_Nagri.
Syriac = _Syriac; // Syriac is the set of Unicode characters in script Syriac. Syriac = _Syriac; // Syriac is the set of Unicode characters in script Syriac.
Tagalog = _Tagalog; // Tagalog is the set of Unicode characters in script Tagalog. Tagalog = _Tagalog; // Tagalog is the set of Unicode characters in script Tagalog.
Tagbanwa = _Tagbanwa; // Tagbanwa is the set of Unicode characters in script Tagbanwa. Tagbanwa = _Tagbanwa; // Tagbanwa is the set of Unicode characters in script Tagbanwa.
Tai_Le = _Tai_Le; // Tai_Le is the set of Unicode characters in script Tai_Le. Tai_Le = _Tai_Le; // Tai_Le is the set of Unicode characters in script Tai_Le.
Tamil = _Tamil; // Tamil is the set of Unicode characters in script Tamil. Tamil = _Tamil; // Tamil is the set of Unicode characters in script Tamil.
Telugu = _Telugu; // Telugu is the set of Unicode characters in script Telugu. Telugu = _Telugu; // Telugu is the set of Unicode characters in script Telugu.
Thaana = _Thaana; // Thaana is the set of Unicode characters in script Thaana. Thaana = _Thaana; // Thaana is the set of Unicode characters in script Thaana.
Thai = _Thai; // Thai is the set of Unicode characters in script Thai. Thai = _Thai; // Thai is the set of Unicode characters in script Thai.
Tibetan = _Tibetan; // Tibetan is the set of Unicode characters in script Tibetan. Tibetan = _Tibetan; // Tibetan is the set of Unicode characters in script Tibetan.
Tifinagh = _Tifinagh; // Tifinagh is the set of Unicode characters in script Tifinagh. Tifinagh = _Tifinagh; // Tifinagh is the set of Unicode characters in script Tifinagh.
Ugaritic = _Ugaritic; // Ugaritic is the set of Unicode characters in script Ugaritic. Ugaritic = _Ugaritic; // Ugaritic is the set of Unicode characters in script Ugaritic.
Vai = _Vai; // Vai is the set of Unicode characters in script Vai. Vai = _Vai; // Vai is the set of Unicode characters in script Vai.
Yi = _Yi; // Yi is the set of Unicode characters in script Yi. Yi = _Yi; // Yi is the set of Unicode characters in script Yi.
) )
// Generated by running // Generated by running
...@@ -2793,7 +2793,7 @@ var ( ...@@ -2793,7 +2793,7 @@ var (
// DO NOT EDIT // DO NOT EDIT
// Properties is the set of Unicode property tables. // Properties is the set of Unicode property tables.
var Properties = map[string] []Range { var Properties = map[string][]Range{
"Pattern_Syntax": Pattern_Syntax, "Pattern_Syntax": Pattern_Syntax,
"Other_ID_Start": Other_ID_Start, "Other_ID_Start": Other_ID_Start,
"Pattern_White_Space": Pattern_White_Space, "Pattern_White_Space": Pattern_White_Space,
...@@ -2828,7 +2828,7 @@ var Properties = map[string] []Range { ...@@ -2828,7 +2828,7 @@ var Properties = map[string] []Range {
"White_Space": White_Space, "White_Space": White_Space,
} }
var _Pattern_Syntax = []Range { var _Pattern_Syntax = []Range{
Range{0x0021, 0x002f, 1}, Range{0x0021, 0x002f, 1},
Range{0x003a, 0x0040, 1}, Range{0x003a, 0x0040, 1},
Range{0x005b, 0x005e, 1}, Range{0x005b, 0x005e, 1},
...@@ -2859,13 +2859,13 @@ var _Pattern_Syntax = []Range { ...@@ -2859,13 +2859,13 @@ var _Pattern_Syntax = []Range {
Range{0xfe45, 0xfe46, 1}, Range{0xfe45, 0xfe46, 1},
} }
var _Other_ID_Start = []Range { var _Other_ID_Start = []Range{
Range{0x2118, 0x2118, 1}, Range{0x2118, 0x2118, 1},
Range{0x212e, 0x212e, 1}, Range{0x212e, 0x212e, 1},
Range{0x309b, 0x309c, 1}, Range{0x309b, 0x309c, 1},
} }
var _Pattern_White_Space = []Range { var _Pattern_White_Space = []Range{
Range{0x0009, 0x000d, 1}, Range{0x0009, 0x000d, 1},
Range{0x0020, 0x0020, 1}, Range{0x0020, 0x0020, 1},
Range{0x0085, 0x0085, 1}, Range{0x0085, 0x0085, 1},
...@@ -2873,7 +2873,7 @@ var _Pattern_White_Space = []Range { ...@@ -2873,7 +2873,7 @@ var _Pattern_White_Space = []Range {
Range{0x2028, 0x2029, 1}, Range{0x2028, 0x2029, 1},
} }
var _Other_Lowercase = []Range { var _Other_Lowercase = []Range{
Range{0x02b0, 0x02b8, 1}, Range{0x02b0, 0x02b8, 1},
Range{0x02c0, 0x02c1, 1}, Range{0x02c0, 0x02c1, 1},
Range{0x02e0, 0x02e4, 1}, Range{0x02e0, 0x02e4, 1},
...@@ -2889,7 +2889,7 @@ var _Other_Lowercase = []Range { ...@@ -2889,7 +2889,7 @@ var _Other_Lowercase = []Range {
Range{0xa770, 0xa770, 1}, Range{0xa770, 0xa770, 1},
} }
var _Soft_Dotted = []Range { var _Soft_Dotted = []Range{
Range{0x0069, 0x006a, 1}, Range{0x0069, 0x006a, 1},
Range{0x012f, 0x012f, 1}, Range{0x012f, 0x012f, 1},
Range{0x0249, 0x0249, 1}, Range{0x0249, 0x0249, 1},
...@@ -2923,7 +2923,7 @@ var _Soft_Dotted = []Range { ...@@ -2923,7 +2923,7 @@ var _Soft_Dotted = []Range {
Range{0x1d692, 0x1d693, 1}, Range{0x1d692, 0x1d693, 1},
} }
var _Hex_Digit = []Range { var _Hex_Digit = []Range{
Range{0x0030, 0x0039, 1}, Range{0x0030, 0x0039, 1},
Range{0x0041, 0x0046, 1}, Range{0x0041, 0x0046, 1},
Range{0x0061, 0x0066, 1}, Range{0x0061, 0x0066, 1},
...@@ -2932,13 +2932,13 @@ var _Hex_Digit = []Range { ...@@ -2932,13 +2932,13 @@ var _Hex_Digit = []Range {
Range{0xff41, 0xff46, 1}, Range{0xff41, 0xff46, 1},
} }
var _ASCII_Hex_Digit = []Range { var _ASCII_Hex_Digit = []Range{
Range{0x0030, 0x0039, 1}, Range{0x0030, 0x0039, 1},
Range{0x0041, 0x0046, 1}, Range{0x0041, 0x0046, 1},
Range{0x0061, 0x0066, 1}, Range{0x0061, 0x0066, 1},
} }
var _Deprecated = []Range { var _Deprecated = []Range{
Range{0x0340, 0x0341, 1}, Range{0x0340, 0x0341, 1},
Range{0x17a3, 0x17a3, 1}, Range{0x17a3, 0x17a3, 1},
Range{0x17d3, 0x17d3, 1}, Range{0x17d3, 0x17d3, 1},
...@@ -2947,7 +2947,7 @@ var _Deprecated = []Range { ...@@ -2947,7 +2947,7 @@ var _Deprecated = []Range {
Range{0xe0020, 0xe007f, 1}, Range{0xe0020, 0xe007f, 1},
} }
var _Terminal_Punctuation = []Range { var _Terminal_Punctuation = []Range{
Range{0x0021, 0x0021, 1}, Range{0x0021, 0x0021, 1},
Range{0x002c, 0x002c, 1}, Range{0x002c, 0x002c, 1},
Range{0x002e, 0x002e, 1}, Range{0x002e, 0x002e, 1},
...@@ -3005,7 +3005,7 @@ var _Terminal_Punctuation = []Range { ...@@ -3005,7 +3005,7 @@ var _Terminal_Punctuation = []Range {
Range{0x12470, 0x12473, 1}, Range{0x12470, 0x12473, 1},
} }
var _Quotation_Mark = []Range { var _Quotation_Mark = []Range{
Range{0x0022, 0x0022, 1}, Range{0x0022, 0x0022, 1},
Range{0x0027, 0x0027, 1}, Range{0x0027, 0x0027, 1},
Range{0x00ab, 0x00ab, 1}, Range{0x00ab, 0x00ab, 1},
...@@ -3020,24 +3020,24 @@ var _Quotation_Mark = []Range { ...@@ -3020,24 +3020,24 @@ var _Quotation_Mark = []Range {
Range{0xff62, 0xff63, 1}, Range{0xff62, 0xff63, 1},
} }
var _Other_ID_Continue = []Range { var _Other_ID_Continue = []Range{
Range{0x00b7, 0x00b7, 1}, Range{0x00b7, 0x00b7, 1},
Range{0x0387, 0x0387, 1}, Range{0x0387, 0x0387, 1},
Range{0x1369, 0x1371, 1}, Range{0x1369, 0x1371, 1},
} }
var _Bidi_Control = []Range { var _Bidi_Control = []Range{
Range{0x200e, 0x200f, 1}, Range{0x200e, 0x200f, 1},
Range{0x202a, 0x202e, 1}, Range{0x202a, 0x202e, 1},
} }
var _Variation_Selector = []Range { var _Variation_Selector = []Range{
Range{0x180b, 0x180d, 1}, Range{0x180b, 0x180d, 1},
Range{0xfe00, 0xfe0f, 1}, Range{0xfe00, 0xfe0f, 1},
Range{0xe0100, 0xe01ef, 1}, Range{0xe0100, 0xe01ef, 1},
} }
var _Noncharacter_Code_Point = []Range { var _Noncharacter_Code_Point = []Range{
Range{0xfdd0, 0xfdef, 1}, Range{0xfdd0, 0xfdef, 1},
Range{0xfffe, 0xffff, 1}, Range{0xfffe, 0xffff, 1},
Range{0x1fffe, 0x1ffff, 1}, Range{0x1fffe, 0x1ffff, 1},
...@@ -3058,7 +3058,7 @@ var _Noncharacter_Code_Point = []Range { ...@@ -3058,7 +3058,7 @@ var _Noncharacter_Code_Point = []Range {
Range{0x10fffe, 0x10ffff, 1}, Range{0x10fffe, 0x10ffff, 1},
} }
var _Other_Math = []Range { var _Other_Math = []Range{
Range{0x005e, 0x005e, 1}, Range{0x005e, 0x005e, 1},
Range{0x03d0, 0x03d2, 1}, Range{0x03d0, 0x03d2, 1},
Range{0x03d5, 0x03d5, 1}, Range{0x03d5, 0x03d5, 1},
...@@ -3160,7 +3160,7 @@ var _Other_Math = []Range { ...@@ -3160,7 +3160,7 @@ var _Other_Math = []Range {
Range{0x1d7ce, 0x1d7ff, 1}, Range{0x1d7ce, 0x1d7ff, 1},
} }
var _Unified_Ideograph = []Range { var _Unified_Ideograph = []Range{
Range{0x3400, 0x4db5, 1}, Range{0x3400, 0x4db5, 1},
Range{0x4e00, 0x9fc3, 1}, Range{0x4e00, 0x9fc3, 1},
Range{0xfa0e, 0xfa0f, 1}, Range{0xfa0e, 0xfa0f, 1},
...@@ -3173,7 +3173,7 @@ var _Unified_Ideograph = []Range { ...@@ -3173,7 +3173,7 @@ var _Unified_Ideograph = []Range {
Range{0x20000, 0x2a6d6, 1}, Range{0x20000, 0x2a6d6, 1},
} }
var _Hyphen = []Range { var _Hyphen = []Range{
Range{0x002d, 0x002d, 1}, Range{0x002d, 0x002d, 1},
Range{0x00ad, 0x00ad, 1}, Range{0x00ad, 0x00ad, 1},
Range{0x058a, 0x058a, 1}, Range{0x058a, 0x058a, 1},
...@@ -3186,28 +3186,28 @@ var _Hyphen = []Range { ...@@ -3186,28 +3186,28 @@ var _Hyphen = []Range {
Range{0xff65, 0xff65, 1}, Range{0xff65, 0xff65, 1},
} }
var _IDS_Binary_Operator = []Range { var _IDS_Binary_Operator = []Range{
Range{0x2ff0, 0x2ff1, 1}, Range{0x2ff0, 0x2ff1, 1},
Range{0x2ff4, 0x2ffb, 1}, Range{0x2ff4, 0x2ffb, 1},
} }
var _Logical_Order_Exception = []Range { var _Logical_Order_Exception = []Range{
Range{0x0e40, 0x0e44, 1}, Range{0x0e40, 0x0e44, 1},
Range{0x0ec0, 0x0ec4, 1}, Range{0x0ec0, 0x0ec4, 1},
} }
var _Radical = []Range { var _Radical = []Range{
Range{0x2e80, 0x2e99, 1}, Range{0x2e80, 0x2e99, 1},
Range{0x2e9b, 0x2ef3, 1}, Range{0x2e9b, 0x2ef3, 1},
Range{0x2f00, 0x2fd5, 1}, Range{0x2f00, 0x2fd5, 1},
} }
var _Other_Uppercase = []Range { var _Other_Uppercase = []Range{
Range{0x2160, 0x216f, 1}, Range{0x2160, 0x216f, 1},
Range{0x24b6, 0x24cf, 1}, Range{0x24b6, 0x24cf, 1},
} }
var _STerm = []Range { var _STerm = []Range{
Range{0x0021, 0x0021, 1}, Range{0x0021, 0x0021, 1},
Range{0x002e, 0x002e, 1}, Range{0x002e, 0x002e, 1},
Range{0x003f, 0x003f, 1}, Range{0x003f, 0x003f, 1},
...@@ -3247,7 +3247,7 @@ var _STerm = []Range { ...@@ -3247,7 +3247,7 @@ var _STerm = []Range {
Range{0xff61, 0xff61, 1}, Range{0xff61, 0xff61, 1},
} }
var _Other_Alphabetic = []Range { var _Other_Alphabetic = []Range{
Range{0x0345, 0x0345, 1}, Range{0x0345, 0x0345, 1},
Range{0x05b0, 0x05bd, 1}, Range{0x05b0, 0x05bd, 1},
Range{0x05bf, 0x05bf, 1}, Range{0x05bf, 0x05bf, 1},
...@@ -3372,7 +3372,7 @@ var _Other_Alphabetic = []Range { ...@@ -3372,7 +3372,7 @@ var _Other_Alphabetic = []Range {
Range{0x10a0c, 0x10a0f, 1}, Range{0x10a0c, 0x10a0f, 1},
} }
var _Diacritic = []Range { var _Diacritic = []Range{
Range{0x005e, 0x005e, 1}, Range{0x005e, 0x005e, 1},
Range{0x0060, 0x0060, 1}, Range{0x0060, 0x0060, 1},
Range{0x00a8, 0x00a8, 1}, Range{0x00a8, 0x00a8, 1},
...@@ -3477,7 +3477,7 @@ var _Diacritic = []Range { ...@@ -3477,7 +3477,7 @@ var _Diacritic = []Range {
Range{0x1d1aa, 0x1d1ad, 1}, Range{0x1d1aa, 0x1d1ad, 1},
} }
var _Extender = []Range { var _Extender = []Range{
Range{0x00b7, 0x00b7, 1}, Range{0x00b7, 0x00b7, 1},
Range{0x02d0, 0x02d1, 1}, Range{0x02d0, 0x02d1, 1},
Range{0x0640, 0x0640, 1}, Range{0x0640, 0x0640, 1},
...@@ -3496,11 +3496,11 @@ var _Extender = []Range { ...@@ -3496,11 +3496,11 @@ var _Extender = []Range {
Range{0xff70, 0xff70, 1}, Range{0xff70, 0xff70, 1},
} }
var _Join_Control = []Range { var _Join_Control = []Range{
Range{0x200c, 0x200d, 1}, Range{0x200c, 0x200d, 1},
} }
var _Ideographic = []Range { var _Ideographic = []Range{
Range{0x3006, 0x3007, 1}, Range{0x3006, 0x3007, 1},
Range{0x3021, 0x3029, 1}, Range{0x3021, 0x3029, 1},
Range{0x3038, 0x303a, 1}, Range{0x3038, 0x303a, 1},
...@@ -3513,7 +3513,7 @@ var _Ideographic = []Range { ...@@ -3513,7 +3513,7 @@ var _Ideographic = []Range {
Range{0x2f800, 0x2fa1d, 1}, Range{0x2f800, 0x2fa1d, 1},
} }
var _Dash = []Range { var _Dash = []Range{
Range{0x002d, 0x002d, 1}, Range{0x002d, 0x002d, 1},
Range{0x058a, 0x058a, 1}, Range{0x058a, 0x058a, 1},
Range{0x05be, 0x05be, 1}, Range{0x05be, 0x05be, 1},
...@@ -3534,11 +3534,11 @@ var _Dash = []Range { ...@@ -3534,11 +3534,11 @@ var _Dash = []Range {
Range{0xff0d, 0xff0d, 1}, Range{0xff0d, 0xff0d, 1},
} }
var _IDS_Trinary_Operator = []Range { var _IDS_Trinary_Operator = []Range{
Range{0x2ff2, 0x2ff3, 1}, Range{0x2ff2, 0x2ff3, 1},
} }
var _Other_Grapheme_Extend = []Range { var _Other_Grapheme_Extend = []Range{
Range{0x09be, 0x09be, 1}, Range{0x09be, 0x09be, 1},
Range{0x09d7, 0x09d7, 1}, Range{0x09d7, 0x09d7, 1},
Range{0x0b3e, 0x0b3e, 1}, Range{0x0b3e, 0x0b3e, 1},
...@@ -3557,7 +3557,7 @@ var _Other_Grapheme_Extend = []Range { ...@@ -3557,7 +3557,7 @@ var _Other_Grapheme_Extend = []Range {
Range{0x1d16e, 0x1d172, 1}, Range{0x1d16e, 0x1d172, 1},
} }
var _Other_Default_Ignorable_Code_Point = []Range { var _Other_Default_Ignorable_Code_Point = []Range{
Range{0x034f, 0x034f, 1}, Range{0x034f, 0x034f, 1},
Range{0x115f, 0x1160, 1}, Range{0x115f, 0x1160, 1},
Range{0x2065, 0x2069, 1}, Range{0x2065, 0x2069, 1},
...@@ -3570,7 +3570,7 @@ var _Other_Default_Ignorable_Code_Point = []Range { ...@@ -3570,7 +3570,7 @@ var _Other_Default_Ignorable_Code_Point = []Range {
Range{0xe01f0, 0xe0fff, 1}, Range{0xe01f0, 0xe0fff, 1},
} }
var _White_Space = []Range { var _White_Space = []Range{
Range{0x0009, 0x000d, 1}, Range{0x0009, 0x000d, 1},
Range{0x0020, 0x0020, 1}, Range{0x0020, 0x0020, 1},
Range{0x0085, 0x0085, 1}, Range{0x0085, 0x0085, 1},
...@@ -3585,38 +3585,38 @@ var _White_Space = []Range { ...@@ -3585,38 +3585,38 @@ var _White_Space = []Range {
} }
var ( var (
ASCII_Hex_Digit = _ASCII_Hex_Digit; // ASCII_Hex_Digit is the set of Unicode characters with property ASCII_Hex_Digit. ASCII_Hex_Digit = _ASCII_Hex_Digit; // ASCII_Hex_Digit is the set of Unicode characters with property ASCII_Hex_Digit.
Bidi_Control = _Bidi_Control; // Bidi_Control is the set of Unicode characters with property Bidi_Control. Bidi_Control = _Bidi_Control; // Bidi_Control is the set of Unicode characters with property Bidi_Control.
Dash = _Dash; // Dash is the set of Unicode characters with property Dash. Dash = _Dash; // Dash is the set of Unicode characters with property Dash.
Deprecated = _Deprecated; // Deprecated is the set of Unicode characters with property Deprecated. Deprecated = _Deprecated; // Deprecated is the set of Unicode characters with property Deprecated.
Diacritic = _Diacritic; // Diacritic is the set of Unicode characters with property Diacritic. Diacritic = _Diacritic; // Diacritic is the set of Unicode characters with property Diacritic.
Extender = _Extender; // Extender is the set of Unicode characters with property Extender. Extender = _Extender; // Extender is the set of Unicode characters with property Extender.
Hex_Digit = _Hex_Digit; // Hex_Digit is the set of Unicode characters with property Hex_Digit. Hex_Digit = _Hex_Digit; // Hex_Digit is the set of Unicode characters with property Hex_Digit.
Hyphen = _Hyphen; // Hyphen is the set of Unicode characters with property Hyphen. Hyphen = _Hyphen; // Hyphen is the set of Unicode characters with property Hyphen.
IDS_Binary_Operator = _IDS_Binary_Operator; // IDS_Binary_Operator is the set of Unicode characters with property IDS_Binary_Operator. IDS_Binary_Operator = _IDS_Binary_Operator; // IDS_Binary_Operator is the set of Unicode characters with property IDS_Binary_Operator.
IDS_Trinary_Operator = _IDS_Trinary_Operator; // IDS_Trinary_Operator is the set of Unicode characters with property IDS_Trinary_Operator. IDS_Trinary_Operator = _IDS_Trinary_Operator; // IDS_Trinary_Operator is the set of Unicode characters with property IDS_Trinary_Operator.
Ideographic = _Ideographic; // Ideographic is the set of Unicode characters with property Ideographic. Ideographic = _Ideographic; // Ideographic is the set of Unicode characters with property Ideographic.
Join_Control = _Join_Control; // Join_Control is the set of Unicode characters with property Join_Control. Join_Control = _Join_Control; // Join_Control is the set of Unicode characters with property Join_Control.
Logical_Order_Exception = _Logical_Order_Exception; // Logical_Order_Exception is the set of Unicode characters with property Logical_Order_Exception. Logical_Order_Exception = _Logical_Order_Exception; // Logical_Order_Exception is the set of Unicode characters with property Logical_Order_Exception.
Noncharacter_Code_Point = _Noncharacter_Code_Point; // Noncharacter_Code_Point is the set of Unicode characters with property Noncharacter_Code_Point. Noncharacter_Code_Point = _Noncharacter_Code_Point; // Noncharacter_Code_Point is the set of Unicode characters with property Noncharacter_Code_Point.
Other_Alphabetic = _Other_Alphabetic; // Other_Alphabetic is the set of Unicode characters with property Other_Alphabetic. Other_Alphabetic = _Other_Alphabetic; // Other_Alphabetic is the set of Unicode characters with property Other_Alphabetic.
Other_Default_Ignorable_Code_Point = _Other_Default_Ignorable_Code_Point; // Other_Default_Ignorable_Code_Point is the set of Unicode characters with property Other_Default_Ignorable_Code_Point. Other_Default_Ignorable_Code_Point = _Other_Default_Ignorable_Code_Point; // Other_Default_Ignorable_Code_Point is the set of Unicode characters with property Other_Default_Ignorable_Code_Point.
Other_Grapheme_Extend = _Other_Grapheme_Extend; // Other_Grapheme_Extend is the set of Unicode characters with property Other_Grapheme_Extend. Other_Grapheme_Extend = _Other_Grapheme_Extend; // Other_Grapheme_Extend is the set of Unicode characters with property Other_Grapheme_Extend.
Other_ID_Continue = _Other_ID_Continue; // Other_ID_Continue is the set of Unicode characters with property Other_ID_Continue. Other_ID_Continue = _Other_ID_Continue; // Other_ID_Continue is the set of Unicode characters with property Other_ID_Continue.
Other_ID_Start = _Other_ID_Start; // Other_ID_Start is the set of Unicode characters with property Other_ID_Start. Other_ID_Start = _Other_ID_Start; // Other_ID_Start is the set of Unicode characters with property Other_ID_Start.
Other_Lowercase = _Other_Lowercase; // Other_Lowercase is the set of Unicode characters with property Other_Lowercase. Other_Lowercase = _Other_Lowercase; // Other_Lowercase is the set of Unicode characters with property Other_Lowercase.
Other_Math = _Other_Math; // Other_Math is the set of Unicode characters with property Other_Math. Other_Math = _Other_Math; // Other_Math is the set of Unicode characters with property Other_Math.
Other_Uppercase = _Other_Uppercase; // Other_Uppercase is the set of Unicode characters with property Other_Uppercase. Other_Uppercase = _Other_Uppercase; // Other_Uppercase is the set of Unicode characters with property Other_Uppercase.
Pattern_Syntax = _Pattern_Syntax; // Pattern_Syntax is the set of Unicode characters with property Pattern_Syntax. Pattern_Syntax = _Pattern_Syntax; // Pattern_Syntax is the set of Unicode characters with property Pattern_Syntax.
Pattern_White_Space = _Pattern_White_Space; // Pattern_White_Space is the set of Unicode characters with property Pattern_White_Space. Pattern_White_Space = _Pattern_White_Space; // Pattern_White_Space is the set of Unicode characters with property Pattern_White_Space.
Quotation_Mark = _Quotation_Mark; // Quotation_Mark is the set of Unicode characters with property Quotation_Mark. Quotation_Mark = _Quotation_Mark; // Quotation_Mark is the set of Unicode characters with property Quotation_Mark.
Radical = _Radical; // Radical is the set of Unicode characters with property Radical. Radical = _Radical; // Radical is the set of Unicode characters with property Radical.
STerm = _STerm; // STerm is the set of Unicode characters with property STerm. STerm = _STerm; // STerm is the set of Unicode characters with property STerm.
Soft_Dotted = _Soft_Dotted; // Soft_Dotted is the set of Unicode characters with property Soft_Dotted. Soft_Dotted = _Soft_Dotted; // Soft_Dotted is the set of Unicode characters with property Soft_Dotted.
Terminal_Punctuation = _Terminal_Punctuation; // Terminal_Punctuation is the set of Unicode characters with property Terminal_Punctuation. Terminal_Punctuation = _Terminal_Punctuation; // Terminal_Punctuation is the set of Unicode characters with property Terminal_Punctuation.
Unified_Ideograph = _Unified_Ideograph; // Unified_Ideograph is the set of Unicode characters with property Unified_Ideograph. Unified_Ideograph = _Unified_Ideograph; // Unified_Ideograph is the set of Unicode characters with property Unified_Ideograph.
Variation_Selector = _Variation_Selector; // Variation_Selector is the set of Unicode characters with property Variation_Selector. Variation_Selector = _Variation_Selector; // Variation_Selector is the set of Unicode characters with property Variation_Selector.
White_Space = _White_Space; // White_Space is the set of Unicode characters with property White_Space. White_Space = _White_Space; // White_Space is the set of Unicode characters with property White_Space.
) )
// Generated by running // Generated by running
...@@ -3626,7 +3626,7 @@ var ( ...@@ -3626,7 +3626,7 @@ var (
// CaseRanges is the table describing case mappings for all letters with // CaseRanges is the table describing case mappings for all letters with
// non-self mappings. // non-self mappings.
var CaseRanges = _CaseRanges var CaseRanges = _CaseRanges
var _CaseRanges = []CaseRange { var _CaseRanges = []CaseRange{
CaseRange{0x0041, 0x005A, d{0, 32, 0}}, CaseRange{0x0041, 0x005A, d{0, 32, 0}},
CaseRange{0x0061, 0x007A, d{-32, 0, -32}}, CaseRange{0x0061, 0x007A, d{-32, 0, -32}},
CaseRange{0x00B5, 0x00B5, d{743, 0, 743}}, CaseRange{0x00B5, 0x00B5, d{743, 0, 743}},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment