Changeset View
Changeset View
Standalone View
Standalone View
tools/uni2characterwidth/properties.h
- This file was added.
1 | #ifndef CATEGORY_PROPERTY_VALUE | ||||
---|---|---|---|---|---|
2 | #define CATEGORY_PROPERTY_VALUE(val, sym, intVal) | ||||
3 | #endif | ||||
4 | #ifndef CATEGORY_PROPERTY_GROUP | ||||
5 | #define CATEGORY_PROPERTY_GROUP(val, sym, intVal) | ||||
6 | #endif | ||||
7 | | ||||
8 | CATEGORY_PROPERTY_VALUE(Lu, UppercaseLetter, 1<<0) // an uppercase letter | ||||
9 | CATEGORY_PROPERTY_VALUE(Ll, LowercaseLetter, 1<<1) // a lowercase letter | ||||
10 | CATEGORY_PROPERTY_VALUE(Lt, TitlecaseLetter, 1<<2) // a digraphic character, with first part uppercase | ||||
11 | CATEGORY_PROPERTY_GROUP(LC, CasedLetter, 1<<0|1<<1|1<<2) | ||||
12 | CATEGORY_PROPERTY_VALUE(Lm, ModifierLetter, 1<<3) // a modifier letter | ||||
13 | CATEGORY_PROPERTY_VALUE(Lo, OtherLetter, 1<<4) // other letters, including syllables and ideographs | ||||
14 | CATEGORY_PROPERTY_GROUP(L, Letter, 1<<0|1<<1|1<<2|1<<3|1<<4) | ||||
15 | CATEGORY_PROPERTY_VALUE(Mn, NonspacingMark, 1<<5) // a nonspacing combining mark (zero advance width) | ||||
16 | CATEGORY_PROPERTY_VALUE(Mc, SpacingMark, 1<<6) // a spacing combining mark (positive advance width) | ||||
17 | CATEGORY_PROPERTY_VALUE(Me, EnclosingMark, 1<<7) // an enclosing combining mark | ||||
18 | CATEGORY_PROPERTY_GROUP(M, Mark, 1<<5|1<<6|1<<7) | ||||
19 | CATEGORY_PROPERTY_VALUE(Nd, DecimalNumber, 1<<8) // a decimal digit | ||||
20 | CATEGORY_PROPERTY_VALUE(Nl, LetterNumber, 1<<9) // a letterlike numeric character | ||||
21 | CATEGORY_PROPERTY_VALUE(No, OtherNumber, 1<<10) // a numeric character of other type | ||||
22 | CATEGORY_PROPERTY_GROUP(N, Number, 1<<8|1<<9|1<<10) | ||||
23 | CATEGORY_PROPERTY_VALUE(Pc, ConnectorPunctuation, 1<<11) // a connecting punctuation mark, like a tie | ||||
24 | CATEGORY_PROPERTY_VALUE(Pd, DashPunctuation, 1<<12) // a dash or hyphen punctuation mark | ||||
25 | CATEGORY_PROPERTY_VALUE(Ps, OpenPunctuation, 1<<13) // an opening punctuation mark (of a pair) | ||||
26 | CATEGORY_PROPERTY_VALUE(Pe, ClosePunctuation, 1<<14) // a closing punctuation mark (of a pair) | ||||
27 | CATEGORY_PROPERTY_VALUE(Pi, InitialPunctuation, 1<<15) // an initial quotation mark | ||||
28 | CATEGORY_PROPERTY_VALUE(Pf, FinalPunctuation, 1<<16) // a final quotation mark | ||||
29 | CATEGORY_PROPERTY_VALUE(Po, OtherPunctuation, 1<<17) // a punctuation mark of other type | ||||
30 | CATEGORY_PROPERTY_GROUP(P, Punctuation, 1<<11|1<<12|1<<13|1<<14|1<<15|1<<16|1<<17) | ||||
31 | CATEGORY_PROPERTY_VALUE(Sm, MathSymbol, 1<<18) // a symbol of mathematical use | ||||
32 | CATEGORY_PROPERTY_VALUE(Sc, CurrencySymbol, 1<<19) // a currency sign | ||||
33 | CATEGORY_PROPERTY_VALUE(Sk, ModifierSymbol, 1<<20) // a non-letterlike modifier symbol | ||||
34 | CATEGORY_PROPERTY_VALUE(So, OtherSymbol, 1<<21) // a symbol of other type | ||||
35 | CATEGORY_PROPERTY_GROUP(S, Symbol, 1<<18|1<<19|1<<20|1<<21) | ||||
36 | CATEGORY_PROPERTY_VALUE(Zs, SpaceSeparator, 1<<22) // a space character (of various non-zero widths) | ||||
37 | CATEGORY_PROPERTY_VALUE(Zl, LineSeparator, 1<<23) // U+2028 LINE SEPARATOR only | ||||
38 | CATEGORY_PROPERTY_VALUE(Zp, ParagraphSeparator, 1<<24) // U+2029 PARAGRAPH SEPARATOR only | ||||
39 | CATEGORY_PROPERTY_GROUP(Z, Separator, 1<<22|1<<23|1<<24) | ||||
40 | CATEGORY_PROPERTY_VALUE(Cc, Control, 1<<25) // a C0 or C1 control code | ||||
41 | CATEGORY_PROPERTY_VALUE(Cf, Format, 1<<26) // a format control character | ||||
42 | CATEGORY_PROPERTY_VALUE(Cs, Surrogate, 1<<27) // a surrogate code point | ||||
43 | CATEGORY_PROPERTY_VALUE(Co, PrivateUse, 1<<28) // a private-use character | ||||
44 | CATEGORY_PROPERTY_VALUE(Cn, Unassigned, 1<<29) // a reserved unassigned code point or a noncharacter | ||||
45 | CATEGORY_PROPERTY_GROUP(C, Other, 1<<25|1<<26|1<<27|1<<28|1<<29) | ||||
46 | | ||||
47 | #undef CATEGORY_PROPERTY_VALUE | ||||
48 | #undef CATEGORY_PROPERTY_GROUP | ||||
49 | | ||||
50 | /**************************************/ | ||||
51 | | ||||
52 | #ifndef EAST_ASIAN_WIDTH_PROPERTY_VALUE | ||||
53 | #define EAST_ASIAN_WIDTH_PROPERTY_VALUE(val, sym, intVal) | ||||
54 | #endif | ||||
55 | | ||||
56 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(A, Ambiguous, 1<<0) | ||||
57 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(F, Fullwidth, 1<<1) | ||||
58 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(H, Halfwidth, 1<<2) | ||||
59 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(N, Neutral, 1<<3) | ||||
60 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(Na, Narrow, 1<<4) | ||||
61 | EAST_ASIAN_WIDTH_PROPERTY_VALUE(W, Wide, 1<<5) | ||||
62 | | ||||
63 | #undef EAST_ASIAN_WIDTH_PROPERTY_VALUE | ||||
64 | | ||||
65 | /**************************************/ | ||||
66 | | ||||
67 | #ifndef EMOJI_PROPERTY_VALUE | ||||
68 | #define EMOJI_PROPERTY_VALUE(val, sym, intVal) | ||||
69 | #endif | ||||
70 | | ||||
71 | EMOJI_PROPERTY_VALUE(, None, 0) | ||||
72 | EMOJI_PROPERTY_VALUE(Emoji, Emoji, 1<<0) | ||||
73 | EMOJI_PROPERTY_VALUE(Emoji_Presentation, EmojiPresentation, 1<<1) | ||||
74 | EMOJI_PROPERTY_VALUE(Emoji_Modifier, EmojiModifier, 1<<2) | ||||
75 | EMOJI_PROPERTY_VALUE(Emoji_Modifier_Base, EmojiModifier_Base, 1<<3) | ||||
76 | EMOJI_PROPERTY_VALUE(Emoji_Component, EmojiComponent, 1<<4) | ||||
77 | | ||||
78 | #undef EMOJI_PROPERTY_VALUE |