Make unicode category data useable in other modules

This commit is contained in:
Kovid Goyal
2025-03-25 16:35:09 +05:30
parent 294de16898
commit fd2bbf57e3
5 changed files with 60 additions and 49 deletions

View File

@@ -32,7 +32,7 @@ const (
type UnicodeCategory uint8
const (
UC_None UnicodeCategory = iota
UC_Cn UnicodeCategory = iota
UC_Cc
UC_Zs
UC_Po
@@ -235,7 +235,7 @@ var charprops_t3 = [108]CharProps{
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Lm) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Lm) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((2 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Mn) & 0b11111) << 8) | ((CharProps(ICB_Extend) & 0b11) << 13) | ((CharProps(GBP_Extend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_None) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((0 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cn) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((0 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Me) & 0b11111) << 8) | ((CharProps(ICB_Extend) & 0b11) << 13) | ((CharProps(GBP_Extend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((1 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cf) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Prepend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Nd) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
@@ -261,7 +261,7 @@ var charprops_t3 = [108]CharProps{
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Zl) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Control) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Zp) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Control) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
((1 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((1 & 0b1) << 6) | ((1 & 0b1) << 7) | ((CharProps(UC_Po) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((1 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_None) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Control) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cn) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Control) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((1 & 0b1) << 6) | ((1 & 0b1) << 7) | ((CharProps(UC_Ll) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((1 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Nl) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((2 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((1 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((1 & 0b1) << 6) | ((1 & 0b1) << 7) | ((CharProps(UC_Sm) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((1 & 0b1) << 19) | ((2 & 0b111) << 20),
@@ -292,7 +292,7 @@ var charprops_t3 = [108]CharProps{
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Lo) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_LVT) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((1 & 0b1) << 4) | ((1 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cs) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((3 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Co) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((2 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_None) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cn) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((1 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Pc) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((1 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Sm) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((1 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Sc) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
@@ -301,9 +301,9 @@ var charprops_t3 = [108]CharProps{
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Ll) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Lm) & 0b11111) << 8) | ((CharProps(ICB_Extend) & 0b11) << 13) | ((CharProps(GBP_Extend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((1 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Lo) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_None) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((1 & 0b1) << 19) | ((0 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cn) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((1 & 0b1) << 19) | ((0 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((1 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((1 & 0b1) << 6) | ((1 & 0b1) << 7) | ((CharProps(UC_So) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_Regional_Indicator) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((1 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((1 & 0b1) << 6) | ((1 & 0b1) << 7) | ((CharProps(UC_Sk) & 0b11111) << 8) | ((CharProps(ICB_Extend) & 0b11) << 13) | ((CharProps(GBP_Extend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((6 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((1 & 0b1) << 2) | ((0 & 0b1) << 3) | ((1 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cf) & 0b11111) << 8) | ((CharProps(ICB_Extend) & 0b11) << 13) | ((CharProps(GBP_Extend) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((4 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_None) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
((0 & 0b1) << 0) | ((0 & 0b1) << 1) | ((0 & 0b1) << 2) | ((0 & 0b1) << 3) | ((0 & 0b1) << 4) | ((0 & 0b1) << 5) | ((0 & 0b1) << 6) | ((0 & 0b1) << 7) | ((CharProps(UC_Cn) & 0b11111) << 8) | ((CharProps(ICB_None) & 0b11) << 13) | ((CharProps(GBP_None) & 0b1111) << 15) | ((0 & 0b1) << 19) | ((5 & 0b111) << 20),
}