diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-03-07 09:18:18 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-03-07 14:41:34 +0000 |
commit | fc9b9880c79bd9e7864c009aad48c9b27bb352a0 (patch) | |
tree | 604a3f76f67d4528b7668e0de94509813e01422c /core/fxcrt/fx_arabic.h | |
parent | 1704350a92234b1e38f0a84010ddf9ecdfce48f8 (diff) | |
download | pdfium-fc9b9880c79bd9e7864c009aad48c9b27bb352a0.tar.xz |
Cleanup text code
This Cl removes unused defines and methods. It also merges fx_arb into fx_arabic
as the arb methods are only used in the arabic file and they are always included
together.
Change-Id: I1e6f75d5cb5f5bcc8db3b54cb2a14d284da5b7b1
Reviewed-on: https://pdfium-review.googlesource.com/2899
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'core/fxcrt/fx_arabic.h')
-rw-r--r-- | core/fxcrt/fx_arabic.h | 117 |
1 files changed, 61 insertions, 56 deletions
diff --git a/core/fxcrt/fx_arabic.h b/core/fxcrt/fx_arabic.h index e7ba079f43..9f6ec50ef6 100644 --- a/core/fxcrt/fx_arabic.h +++ b/core/fxcrt/fx_arabic.h @@ -7,7 +7,10 @@ #ifndef CORE_FXCRT_FX_ARABIC_H_ #define CORE_FXCRT_FX_ARABIC_H_ -#include "core/fxcrt/fx_arb.h" +#include <vector> + +#include "core/fxcrt/fx_system.h" +#include "core/fxcrt/fx_ucd.h" #define FX_BIDIMAXLEVEL 61 #define FX_BidiDirection(a) (FX_IsOdd(a) ? FX_BIDICLASS_R : FX_BIDICLASS_L) @@ -17,9 +20,7 @@ namespace pdfium { namespace arabic { -bool IsArabicChar(FX_WCHAR wch); -bool IsArabicFormChar(FX_WCHAR wch); -FX_WCHAR GetFormChar(FX_WCHAR wch, FX_WCHAR prev = 0, FX_WCHAR next = 0); +FX_WCHAR GetFormChar(FX_WCHAR wch, FX_WCHAR prev, FX_WCHAR next); FX_WCHAR GetFormChar(const CFX_Char* cur, const CFX_Char* prev, const CFX_Char* next); @@ -46,47 +47,27 @@ int32_t FX_BidiResolveExplicit(int32_t iBaseLevel, int32_t iNest = 0); enum FX_BIDIWEAKSTATE { - FX_BIDIWEAKSTATE_xa = 0, - FX_BIDIWEAKSTATE_xr, - FX_BIDIWEAKSTATE_xl, - FX_BIDIWEAKSTATE_ao, - FX_BIDIWEAKSTATE_ro, - FX_BIDIWEAKSTATE_lo, - FX_BIDIWEAKSTATE_rt, - FX_BIDIWEAKSTATE_lt, - FX_BIDIWEAKSTATE_cn, - FX_BIDIWEAKSTATE_ra, - FX_BIDIWEAKSTATE_re, - FX_BIDIWEAKSTATE_la, - FX_BIDIWEAKSTATE_le, - FX_BIDIWEAKSTATE_ac, - FX_BIDIWEAKSTATE_rc, - FX_BIDIWEAKSTATE_rs, - FX_BIDIWEAKSTATE_lc, - FX_BIDIWEAKSTATE_ls, - FX_BIDIWEAKSTATE_ret, - FX_BIDIWEAKSTATE_let, + FX_BWSxa = 0, + FX_BWSxr, + FX_BWSxl, + FX_BWSao, + FX_BWSro, + FX_BWSlo, + FX_BWSrt, + FX_BWSlt, + FX_BWScn, + FX_BWSra, + FX_BWSre, + FX_BWSla, + FX_BWSle, + FX_BWSac, + FX_BWSrc, + FX_BWSrs, + FX_BWSlc, + FX_BWSls, + FX_BWSret, + FX_BWSlet }; -#define FX_BWSxa FX_BIDIWEAKSTATE_xa -#define FX_BWSxr FX_BIDIWEAKSTATE_xr -#define FX_BWSxl FX_BIDIWEAKSTATE_xl -#define FX_BWSao FX_BIDIWEAKSTATE_ao -#define FX_BWSro FX_BIDIWEAKSTATE_ro -#define FX_BWSlo FX_BIDIWEAKSTATE_lo -#define FX_BWSrt FX_BIDIWEAKSTATE_rt -#define FX_BWSlt FX_BIDIWEAKSTATE_lt -#define FX_BWScn FX_BIDIWEAKSTATE_cn -#define FX_BWSra FX_BIDIWEAKSTATE_ra -#define FX_BWSre FX_BIDIWEAKSTATE_re -#define FX_BWSla FX_BIDIWEAKSTATE_la -#define FX_BWSle FX_BIDIWEAKSTATE_le -#define FX_BWSac FX_BIDIWEAKSTATE_ac -#define FX_BWSrc FX_BIDIWEAKSTATE_rc -#define FX_BWSrs FX_BIDIWEAKSTATE_rs -#define FX_BWSlc FX_BIDIWEAKSTATE_lc -#define FX_BWSls FX_BIDIWEAKSTATE_ls -#define FX_BWSret FX_BIDIWEAKSTATE_ret -#define FX_BWSlet FX_BIDIWEAKSTATE_let enum FX_BIDIWEAKACTION { FX_BIDIWEAKACTION_IX = 0x100, @@ -139,19 +120,14 @@ void FX_BidiResolveWeak(int32_t iBaseLevel, CFX_ArrayTemplate<int32_t>& classes, CFX_ArrayTemplate<int32_t>& levels); enum FX_BIDINEUTRALSTATE { - FX_BIDINEUTRALSTATE_r = 0, - FX_BIDINEUTRALSTATE_l, - FX_BIDINEUTRALSTATE_rn, - FX_BIDINEUTRALSTATE_ln, - FX_BIDINEUTRALSTATE_a, - FX_BIDINEUTRALSTATE_na, + FX_BNSr = 0, + FX_BNSl, + FX_BNSrn, + FX_BNSln, + FX_BNSa, + FX_BNSna }; -#define FX_BNSr FX_BIDINEUTRALSTATE_r -#define FX_BNSl FX_BIDINEUTRALSTATE_l -#define FX_BNSrn FX_BIDINEUTRALSTATE_rn -#define FX_BNSln FX_BIDINEUTRALSTATE_ln -#define FX_BNSa FX_BIDINEUTRALSTATE_a -#define FX_BNSna FX_BIDINEUTRALSTATE_na + enum FX_BIDINEUTRALACTION { FX_BIDINEUTRALACTION_nL = FX_BIDICLASS_L, FX_BIDINEUTRALACTION_En = (FX_BIDICLASS_AN << 4), @@ -166,6 +142,35 @@ enum FX_BIDINEUTRALACTION { #define FX_BNALn FX_BIDINEUTRALACTION_Ln #define FX_BNAIn FX_BIDINEUTRALACTION_In #define FX_BNALnL FX_BIDINEUTRALACTION_LnL + +struct FX_ARBFORMTABLE { + uint16_t wIsolated; + uint16_t wFinal; + uint16_t wInitial; + uint16_t wMedial; +}; + +struct FX_ARAALEF { + uint16_t wAlef; + uint16_t wIsolated; +}; + +struct FX_ARASHADDA { + uint16_t wShadda; + uint16_t wIsolated; +}; + +const FX_ARBFORMTABLE* FX_GetArabicFormTable(FX_WCHAR unicode); +FX_WCHAR FX_GetArabicFromAlefTable(FX_WCHAR alef); +FX_WCHAR FX_GetArabicFromShaddaTable(FX_WCHAR shadda); + +void FX_BidiLine(std::vector<CFX_TxtChar>& chars, + int32_t iCount, + int32_t iBaseLevel = 0); +void FX_BidiLine(std::vector<CFX_RTFChar>& chars, + int32_t iCount, + int32_t iBaseLevel = 0); + int32_t FX_BidiGetDeferredNeutrals(int32_t iAction, int32_t iLevel); int32_t FX_BidiGetResolvedNeutrals(int32_t iAction); void FX_BidiResolveNeutrals(int32_t iBaseLevel, |