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.
64 lines
1.5 KiB
64 lines
1.5 KiB
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. |
|
|
|
package precis |
|
|
|
// entry is the entry of a trie table |
|
// 7..6 property (unassigned, disallowed, maybe, valid) |
|
// 5..0 category |
|
type entry uint8 |
|
|
|
const ( |
|
propShift = 6 |
|
propMask = 0xc0 |
|
catMask = 0x3f |
|
) |
|
|
|
func (e entry) property() property { return property(e & propMask) } |
|
func (e entry) category() category { return category(e & catMask) } |
|
|
|
type property uint8 |
|
|
|
// The order of these constants matter. A Profile may consider runes to be |
|
// allowed either from pValid or idDisOrFreePVal. |
|
const ( |
|
unassigned property = iota << propShift |
|
disallowed |
|
idDisOrFreePVal // disallowed for Identifier, pValid for FreeForm |
|
pValid |
|
) |
|
|
|
// compute permutations of all properties and specialCategories. |
|
type category uint8 |
|
|
|
const ( |
|
other category = iota |
|
|
|
// Special rune types |
|
joiningL |
|
joiningD |
|
joiningT |
|
joiningR |
|
viramaModifier |
|
viramaJoinT // Virama + JoiningT |
|
latinSmallL // U+006c |
|
greek |
|
greekJoinT // Greek + JoiningT |
|
hebrew |
|
hebrewJoinT // Hebrew + JoiningT |
|
japanese // hirigana, katakana, han |
|
|
|
// Special rune types associated with contextual rules defined in |
|
// https://tools.ietf.org/html/rfc5892#appendix-A. |
|
// ContextO |
|
zeroWidthNonJoiner // rule 1 |
|
zeroWidthJoiner // rule 2 |
|
// ContextJ |
|
middleDot // rule 3 |
|
greekLowerNumeralSign // rule 4 |
|
hebrewPreceding // rule 5 and 6 |
|
katakanaMiddleDot // rule 7 |
|
arabicIndicDigit // rule 8 |
|
extendedArabicIndicDigit // rule 9 |
|
|
|
numCategories |
|
)
|
|
|