OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_INCLUDE_FXCRT_FX_UCD_H_ | 7 #ifndef CORE_INCLUDE_FXCRT_FX_UCD_H_ |
8 #define CORE_INCLUDE_FXCRT_FX_UCD_H_ | 8 #define CORE_INCLUDE_FXCRT_FX_UCD_H_ |
9 | 9 |
10 #include "fx_system.h" | 10 #include "fx_system.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 FX_CBP_CB = 32, | 46 FX_CBP_CB = 32, |
47 FX_CBP_XX = 33, | 47 FX_CBP_XX = 33, |
48 FX_CBP_AI = 34, | 48 FX_CBP_AI = 34, |
49 FX_CBP_SP = 35, | 49 FX_CBP_SP = 35, |
50 FX_CBP_TB = 37, | 50 FX_CBP_TB = 37, |
51 FX_CBP_NONE = 36, | 51 FX_CBP_NONE = 36, |
52 }; | 52 }; |
53 #define FX_BIDICLASSBITS 6 | 53 #define FX_BIDICLASSBITS 6 |
54 #define FX_BIDICLASSBITSMASK (31 << FX_BIDICLASSBITS) | 54 #define FX_BIDICLASSBITSMASK (31 << FX_BIDICLASSBITS) |
55 enum FX_BIDICLASS { | 55 enum FX_BIDICLASS { |
56 FX_BIDICLASS_ON = 0, | 56 FX_BIDICLASS_ON = 0, // Other Neutral |
57 FX_BIDICLASS_L = 1, | 57 FX_BIDICLASS_L = 1, // Left Letter |
58 FX_BIDICLASS_R = 2, | 58 FX_BIDICLASS_R = 2, // Right Letter |
59 FX_BIDICLASS_AN = 3, | 59 FX_BIDICLASS_AN = 3, // Arabic Number |
60 FX_BIDICLASS_EN = 4, | 60 FX_BIDICLASS_EN = 4, // European Number |
61 FX_BIDICLASS_AL = 5, | 61 FX_BIDICLASS_AL = 5, // Arabic Letter |
62 FX_BIDICLASS_NSM = 6, | 62 FX_BIDICLASS_NSM = 6, // Non-spacing Mark |
63 FX_BIDICLASS_CS = 7, | 63 FX_BIDICLASS_CS = 7, // Common Number Separator |
64 FX_BIDICLASS_ES = 8, | 64 FX_BIDICLASS_ES = 8, // European Separator |
65 FX_BIDICLASS_ET = 9, | 65 FX_BIDICLASS_ET = 9, // European Number Terminator |
66 FX_BIDICLASS_BN = 10, | 66 FX_BIDICLASS_BN = 10, // Boundary Neutral |
67 FX_BIDICLASS_S = 11, | 67 FX_BIDICLASS_S = 11, // Segment Separator |
68 FX_BIDICLASS_WS = 12, | 68 FX_BIDICLASS_WS = 12, // Whitespace |
69 FX_BIDICLASS_B = 13, | 69 FX_BIDICLASS_B = 13, // Paragraph Separator |
70 FX_BIDICLASS_RLO = 14, | 70 FX_BIDICLASS_RLO = 14, // Right-to-Left Override |
71 FX_BIDICLASS_RLE = 15, | 71 FX_BIDICLASS_RLE = 15, // Right-to-Left Embedding |
72 FX_BIDICLASS_LRO = 16, | 72 FX_BIDICLASS_LRO = 16, // Left-to-Right Override |
73 FX_BIDICLASS_LRE = 17, | 73 FX_BIDICLASS_LRE = 17, // Left-to-Right Embedding |
74 FX_BIDICLASS_PDF = 18, | 74 FX_BIDICLASS_PDF = 18, // Pop Directional Format |
75 FX_BIDICLASS_N = FX_BIDICLASS_ON, | 75 FX_BIDICLASS_N = FX_BIDICLASS_ON, |
76 }; | 76 }; |
77 #define FX_CHARTYPEBITS 11 | 77 #define FX_CHARTYPEBITS 11 |
78 #define FX_CHARTYPEBITSMASK (15 << FX_CHARTYPEBITS) | 78 #define FX_CHARTYPEBITSMASK (15 << FX_CHARTYPEBITS) |
79 enum FX_CHARTYPE { | 79 enum FX_CHARTYPE { |
80 FX_CHARTYPE_Unknown = 0, | 80 FX_CHARTYPE_Unknown = 0, |
81 FX_CHARTYPE_Tab = (1 << FX_CHARTYPEBITS), | 81 FX_CHARTYPE_Tab = (1 << FX_CHARTYPEBITS), |
82 FX_CHARTYPE_Space = (2 << FX_CHARTYPEBITS), | 82 FX_CHARTYPE_Space = (2 << FX_CHARTYPEBITS), |
83 FX_CHARTYPE_Control = (3 << FX_CHARTYPEBITS), | 83 FX_CHARTYPE_Control = (3 << FX_CHARTYPEBITS), |
84 FX_CHARTYPE_Combination = (4 << FX_CHARTYPEBITS), | 84 FX_CHARTYPE_Combination = (4 << FX_CHARTYPEBITS), |
85 FX_CHARTYPE_Numeric = (5 << FX_CHARTYPEBITS), | 85 FX_CHARTYPE_Numeric = (5 << FX_CHARTYPEBITS), |
86 FX_CHARTYPE_Normal = (6 << FX_CHARTYPEBITS), | 86 FX_CHARTYPE_Normal = (6 << FX_CHARTYPEBITS), |
87 FX_CHARTYPE_ArabicAlef = (7 << FX_CHARTYPEBITS), | 87 FX_CHARTYPE_ArabicAlef = (7 << FX_CHARTYPEBITS), |
88 FX_CHARTYPE_ArabicSpecial = (8 << FX_CHARTYPEBITS), | 88 FX_CHARTYPE_ArabicSpecial = (8 << FX_CHARTYPEBITS), |
89 FX_CHARTYPE_ArabicDistortion = (9 << FX_CHARTYPEBITS), | 89 FX_CHARTYPE_ArabicDistortion = (9 << FX_CHARTYPEBITS), |
90 FX_CHARTYPE_ArabicNormal = (10 << FX_CHARTYPEBITS), | 90 FX_CHARTYPE_ArabicNormal = (10 << FX_CHARTYPEBITS), |
91 FX_CHARTYPE_ArabicForm = (11 << FX_CHARTYPEBITS), | 91 FX_CHARTYPE_ArabicForm = (11 << FX_CHARTYPEBITS), |
92 FX_CHARTYPE_Arabic = (12 << FX_CHARTYPEBITS), | 92 FX_CHARTYPE_Arabic = (12 << FX_CHARTYPEBITS), |
93 }; | 93 }; |
| 94 |
| 95 extern const FX_DWORD kTextLayout_CodeProperties[]; |
| 96 |
94 FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch); | 97 FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch); |
95 FX_BOOL FX_IsCtrlCode(FX_WCHAR ch); | 98 FX_BOOL FX_IsCtrlCode(FX_WCHAR ch); |
96 FX_BOOL FX_IsRotationCode(FX_WCHAR ch); | 99 FX_BOOL FX_IsRotationCode(FX_WCHAR ch); |
97 FX_BOOL FX_IsCombinationChar(FX_WCHAR wch); | 100 FX_BOOL FX_IsCombinationChar(FX_WCHAR wch); |
98 FX_BOOL FX_IsBidiChar(FX_WCHAR wch); | 101 FX_BOOL FX_IsBidiChar(FX_WCHAR wch); |
99 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical); | 102 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical); |
100 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, | 103 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, |
101 FX_DWORD dwProps, | 104 FX_DWORD dwProps, |
102 FX_BOOL bRTL, | 105 FX_BOOL bRTL, |
103 FX_BOOL bVertical); | 106 FX_BOOL bVertical); |
104 | 107 |
105 #endif // CORE_INCLUDE_FXCRT_FX_UCD_H_ | 108 #endif // CORE_INCLUDE_FXCRT_FX_UCD_H_ |
OLD | NEW |