]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/golang.org/x/text/unicode/bidi/gen_trieval.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / golang.org / x / text / unicode / bidi / gen_trieval.go
1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // +build ignore
6
7 package main
8
9 // Class is the Unicode BiDi class. Each rune has a single class.
10 type Class uint
11
12 const (
13 L Class = iota // LeftToRight
14 R // RightToLeft
15 EN // EuropeanNumber
16 ES // EuropeanSeparator
17 ET // EuropeanTerminator
18 AN // ArabicNumber
19 CS // CommonSeparator
20 B // ParagraphSeparator
21 S // SegmentSeparator
22 WS // WhiteSpace
23 ON // OtherNeutral
24 BN // BoundaryNeutral
25 NSM // NonspacingMark
26 AL // ArabicLetter
27 Control // Control LRO - PDI
28
29 numClass
30
31 LRO // LeftToRightOverride
32 RLO // RightToLeftOverride
33 LRE // LeftToRightEmbedding
34 RLE // RightToLeftEmbedding
35 PDF // PopDirectionalFormat
36 LRI // LeftToRightIsolate
37 RLI // RightToLeftIsolate
38 FSI // FirstStrongIsolate
39 PDI // PopDirectionalIsolate
40
41 unknownClass = ^Class(0)
42 )
43
44 var controlToClass = map[rune]Class{
45 0x202D: LRO, // LeftToRightOverride,
46 0x202E: RLO, // RightToLeftOverride,
47 0x202A: LRE, // LeftToRightEmbedding,
48 0x202B: RLE, // RightToLeftEmbedding,
49 0x202C: PDF, // PopDirectionalFormat,
50 0x2066: LRI, // LeftToRightIsolate,
51 0x2067: RLI, // RightToLeftIsolate,
52 0x2068: FSI, // FirstStrongIsolate,
53 0x2069: PDI, // PopDirectionalIsolate,
54 }
55
56 // A trie entry has the following bits:
57 // 7..5 XOR mask for brackets
58 // 4 1: Bracket open, 0: Bracket close
59 // 3..0 Class type
60
61 const (
62 openMask = 0x10
63 xorMaskShift = 5
64 )