You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. |
|
|
|
package bidi |
|
|
|
// Class is the Unicode BiDi class. Each rune has a single class. |
|
type Class uint |
|
|
|
const ( |
|
L Class = iota // LeftToRight |
|
R // RightToLeft |
|
EN // EuropeanNumber |
|
ES // EuropeanSeparator |
|
ET // EuropeanTerminator |
|
AN // ArabicNumber |
|
CS // CommonSeparator |
|
B // ParagraphSeparator |
|
S // SegmentSeparator |
|
WS // WhiteSpace |
|
ON // OtherNeutral |
|
BN // BoundaryNeutral |
|
NSM // NonspacingMark |
|
AL // ArabicLetter |
|
Control // Control LRO - PDI |
|
|
|
numClass |
|
|
|
LRO // LeftToRightOverride |
|
RLO // RightToLeftOverride |
|
LRE // LeftToRightEmbedding |
|
RLE // RightToLeftEmbedding |
|
PDF // PopDirectionalFormat |
|
LRI // LeftToRightIsolate |
|
RLI // RightToLeftIsolate |
|
FSI // FirstStrongIsolate |
|
PDI // PopDirectionalIsolate |
|
|
|
unknownClass = ^Class(0) |
|
) |
|
|
|
var controlToClass = map[rune]Class{ |
|
0x202D: LRO, // LeftToRightOverride, |
|
0x202E: RLO, // RightToLeftOverride, |
|
0x202A: LRE, // LeftToRightEmbedding, |
|
0x202B: RLE, // RightToLeftEmbedding, |
|
0x202C: PDF, // PopDirectionalFormat, |
|
0x2066: LRI, // LeftToRightIsolate, |
|
0x2067: RLI, // RightToLeftIsolate, |
|
0x2068: FSI, // FirstStrongIsolate, |
|
0x2069: PDI, // PopDirectionalIsolate, |
|
} |
|
|
|
// A trie entry has the following bits: |
|
// 7..5 XOR mask for brackets |
|
// 4 1: Bracket open, 0: Bracket close |
|
// 3..0 Class type |
|
|
|
const ( |
|
openMask = 0x10 |
|
xorMaskShift = 5 |
|
)
|
|
|