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 _FX_ARABIC_IMP | 7 #ifndef _FX_ARABIC_IMP |
8 #define _FX_ARABIC_IMP | 8 #define _FX_ARABIC_IMP |
9 typedef struct _FX_ARABICCHARRANGE { | 9 typedef struct _FX_ARABICCHARRANGE { |
10 FX_WCHAR wStart; | 10 FX_WCHAR wStart; |
11 FX_WCHAR wEnd; | 11 FX_WCHAR wEnd; |
12 } FX_ARABICCHARRANGE; | 12 } FX_ARABICCHARRANGE; |
13 class CFX_ArabicChar : public IFX_ArabicChar, public CFX_Object | 13 class CFX_ArabicChar : public IFX_ArabicChar |
14 { | 14 { |
15 public: | 15 public: |
16 virtual void Release() | 16 virtual void Release() |
17 { | 17 { |
18 delete this; | 18 delete this; |
19 } | 19 } |
20 virtual FX_BOOL IsArabicChar(FX_WCHAR wch) const; | 20 virtual FX_BOOL IsArabicChar(FX_WCHAR wch) const; |
21 virtual FX_BOOL IsArabicFormChar(FX_WCHAR wch) const; | 21 virtual FX_BOOL IsArabicFormChar(FX_WCHAR wch) const; |
22 | 22 |
23 virtual FX_WCHAR GetFormChar(FX_WCHAR wch, FX_WCHAR prev = 0, FX_WCHAR ne
xt = 0) const; | 23 virtual FX_WCHAR GetFormChar(FX_WCHAR wch, FX_WCHAR prev = 0, FX_WCHAR ne
xt = 0) const; |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 #define FX_BNALn FX_BIDINEUTRALACTION_Ln | 172 #define FX_BNALn FX_BIDINEUTRALACTION_Ln |
173 #define FX_BNAIn FX_BIDINEUTRALACTION_In | 173 #define FX_BNAIn FX_BIDINEUTRALACTION_In |
174 #define FX_BNALnL FX_BIDINEUTRALACTION_LnL | 174 #define FX_BNALnL FX_BIDINEUTRALACTION_LnL |
175 FX_INT32 FX_BidiGetDeferredNeutrals(FX_INT32 iAction, FX_INT32 iLevel); | 175 FX_INT32 FX_BidiGetDeferredNeutrals(FX_INT32 iAction, FX_INT32 iLevel); |
176 FX_INT32 FX_BidiGetResolvedNeutrals(FX_INT32 iAction); | 176 FX_INT32 FX_BidiGetResolvedNeutrals(FX_INT32 iAction); |
177 void FX_BidiResolveNeutrals(FX_INT32 iBaseLevel, CFX_Int32Array &classes, const
CFX_Int32Array &levels); | 177 void FX_BidiResolveNeutrals(FX_INT32 iBaseLevel, CFX_Int32Array &classes, const
CFX_Int32Array &levels); |
178 void FX_BidiResolveImplicit(const CFX_Int32Array &classes, CFX_Int32Array &level
s); | 178 void FX_BidiResolveImplicit(const CFX_Int32Array &classes, CFX_Int32Array &level
s); |
179 void FX_BidiResolveWhitespace(FX_INT32 iBaseLevel, const CFX_Int32Array &classes
, CFX_Int32Array &levels); | 179 void FX_BidiResolveWhitespace(FX_INT32 iBaseLevel, const CFX_Int32Array &classes
, CFX_Int32Array &levels); |
180 FX_INT32 FX_BidiReorderLevel(FX_INT32 iBaseLevel, CFX_WideString &wsText, const
CFX_Int32Array &levels, FX_INT32 iStart, FX_BOOL bReverse = FALSE); | 180 FX_INT32 FX_BidiReorderLevel(FX_INT32 iBaseLevel, CFX_WideString &wsText, const
CFX_Int32Array &levels, FX_INT32 iStart, FX_BOOL bReverse = FALSE); |
181 void FX_BidiReorder(FX_INT32 iBaseLevel, CFX_WideString &wsText, const CFX_Int32
Array &levels); | 181 void FX_BidiReorder(FX_INT32 iBaseLevel, CFX_WideString &wsText, const CFX_Int32
Array &levels); |
182 class CFX_BidiChar : public IFX_BidiChar, public CFX_Object | 182 class CFX_BidiChar FX_FINAL : public IFX_BidiChar |
183 { | 183 { |
184 public: | 184 public: |
185 CFX_BidiChar(); | 185 CFX_BidiChar(); |
186 virtual void Release() FX_OVERRIDE | 186 virtual void Release() FX_OVERRIDE |
187 { | 187 { |
188 delete this; | 188 delete this; |
189 } | 189 } |
190 virtual void SetPolicy(FX_BOOL bSeparateNeutral = TRUE) FX_OV
ERRIDE | 190 virtual void SetPolicy(FX_BOOL bSeparateNeutral = TRUE) FX_OV
ERRIDE |
191 { | 191 { |
192 m_bSeparateNeutral = bSeparateNeutral; | 192 m_bSeparateNeutral = bSeparateNeutral; |
193 } | 193 } |
194 virtual FX_BOOL AppendChar(FX_WCHAR wch) FX_OVERRIDE; | 194 virtual FX_BOOL AppendChar(FX_WCHAR wch) FX_OVERRIDE; |
195 virtual FX_BOOL EndChar() FX_OVERRIDE; | 195 virtual FX_BOOL EndChar() FX_OVERRIDE; |
196 virtual FX_INT32 GetBidiInfo(FX_INT32 &iStart, FX_INT32 &iCount) FX_OVERR
IDE; | 196 virtual FX_INT32 GetBidiInfo(FX_INT32 &iStart, FX_INT32 &iCount) FX_OVERR
IDE; |
197 virtual void Reset() FX_OVERRIDE; | 197 virtual void Reset() FX_OVERRIDE; |
198 | 198 |
199 private: | 199 private: |
200 ~CFX_BidiChar() { } | 200 ~CFX_BidiChar() { } |
201 FX_BOOL m_bSeparateNeutral; | 201 FX_BOOL m_bSeparateNeutral; |
202 FX_INT32 m_iCurStart; | 202 FX_INT32 m_iCurStart; |
203 FX_INT32 m_iCurCount; | 203 FX_INT32 m_iCurCount; |
204 FX_INT32 m_iCurBidi; | 204 FX_INT32 m_iCurBidi; |
205 FX_INT32 m_iLastBidi; | 205 FX_INT32 m_iLastBidi; |
206 FX_INT32 m_iLastStart; | 206 FX_INT32 m_iLastStart; |
207 FX_INT32 m_iLastCount; | 207 FX_INT32 m_iLastCount; |
208 }; | 208 }; |
209 #endif | 209 #endif |
OLD | NEW |