diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2021-11-28 17:50:38 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2021-11-28 17:50:38 +0900 |
commit | f0870a4d2ec589bf5de268a54d51c1da197ed882 (patch) | |
tree | cdacf26b1eabb5776c00652e58c833051285c582 /ucd/api.go | |
parent | Support Script property (Meet RL1.2 of UTS #18 partially) (diff) | |
download | tre-f0870a4d2ec589bf5de268a54d51c1da197ed882.tar.gz tre-f0870a4d2ec589bf5de268a54d51c1da197ed882.tar.xz |
Remove default value's code points of General_Category
Diffstat (limited to '')
-rw-r--r-- | ucd/api.go | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -75,6 +75,25 @@ func FindCodePointRanges(propName, propVal string) ([]*CodePointRange, bool, err if !ok { return nil, false, fmt.Errorf("unsupported character property value: %v", propVal) } + if val == generalCategoryValueAbbs[normalizeSymbolicValue(generalCategoryDefaultValue)] { + var allCPs []*CodePointRange + if generalCategoryDefaultRange.From > codePointMin { + allCPs = append(allCPs, &CodePointRange{ + From: codePointMin, + To: generalCategoryDefaultRange.From - 1, + }) + } + if generalCategoryDefaultRange.To < codePointMax { + allCPs = append(allCPs, &CodePointRange{ + From: generalCategoryDefaultRange.To + 1, + To: codePointMax, + }) + } + for _, cp := range generalCategoryCodePoints { + allCPs = append(allCPs, cp...) + } + return allCPs, true, nil + } vals, ok := compositGeneralCategories[val] if !ok { vals = []string{val} @@ -98,13 +117,13 @@ func FindCodePointRanges(propName, propVal string) ([]*CodePointRange, bool, err if scriptDefaultRange.From > codePointMin { allCPs = append(allCPs, &CodePointRange{ From: codePointMin, - To: scriptDefaultRange.From - 1, + To: scriptDefaultRange.From - 1, }) } if scriptDefaultRange.To < codePointMax { allCPs = append(allCPs, &CodePointRange{ From: scriptDefaultRange.To + 1, - To: codePointMax, + To: codePointMax, }) } for _, cp := range scriptCodepoints { |