mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-12-30 14:00:57 +00:00
61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
|
// 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
|
||
|
)
|