summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/fpdfapi/fpdf_font/ttgsubtable.cpp31
-rw-r--r--core/fpdfapi/fpdf_font/ttgsubtable.h8
-rw-r--r--core/fxcrt/fx_arabic.cpp9
-rw-r--r--core/fxcrt/include/fx_arabic.h (renamed from core/fxcrt/fx_arabic.h)62
-rw-r--r--core/fxcrt/include/fx_arb.h17
-rw-r--r--core/fxge/include/fx_font.h9
6 files changed, 27 insertions, 109 deletions
diff --git a/core/fpdfapi/fpdf_font/ttgsubtable.cpp b/core/fpdfapi/fpdf_font/ttgsubtable.cpp
index 321419346d..f6d6400f47 100644
--- a/core/fpdfapi/fpdf_font/ttgsubtable.cpp
+++ b/core/fpdfapi/fpdf_font/ttgsubtable.cpp
@@ -382,34 +382,3 @@ void CFX_CTTGSUBTable::ParseSingleSubstFormat2(FT_Bytes raw,
rec->Substitute[i] = GetUInt16(sp);
}
}
-FX_BOOL CFX_GSUBTable::GetVerticalGlyph(uint32_t glyphnum,
- uint32_t* vglyphnum) {
- return m_GsubImp.GetVerticalGlyph(glyphnum, vglyphnum);
-}
-// static
-IFX_GSUBTable* IFX_GSUBTable::Create(CFX_Font* pFont) {
- if (!pFont) {
- return NULL;
- }
- if (!pFont->GetSubData()) {
- unsigned long length = 0;
- int error = FXFT_Load_Sfnt_Table(
- pFont->GetFace(), FT_MAKE_TAG('G', 'S', 'U', 'B'), 0, NULL, &length);
- if (!error) {
- pFont->SetSubData(FX_Alloc(uint8_t, length));
- }
- if (!pFont->GetSubData()) {
- return NULL;
- }
- }
- int error =
- FXFT_Load_Sfnt_Table(pFont->GetFace(), FT_MAKE_TAG('G', 'S', 'U', 'B'), 0,
- pFont->GetSubData(), NULL);
- if (!error && pFont->GetSubData()) {
- std::unique_ptr<CFX_GSUBTable> pGsubTable(new CFX_GSUBTable);
- if (pGsubTable->m_GsubImp.LoadGSUBTable((FT_Bytes)pFont->GetSubData())) {
- return pGsubTable.release();
- }
- }
- return NULL;
-}
diff --git a/core/fpdfapi/fpdf_font/ttgsubtable.h b/core/fpdfapi/fpdf_font/ttgsubtable.h
index 7a6c66cc2a..0ef2351336 100644
--- a/core/fpdfapi/fpdf_font/ttgsubtable.h
+++ b/core/fpdfapi/fpdf_font/ttgsubtable.h
@@ -25,6 +25,7 @@ class CFX_GlyphMap {
protected:
CFX_BinaryBuf m_Buffer;
};
+
class CFX_CTTGSUBTable {
public:
CFX_CTTGSUBTable(void) : m_bFeautureMapLoad(FALSE), loaded(false) {}
@@ -352,12 +353,5 @@ class CFX_CTTGSUBTable {
struct TFeatureList FeatureList;
struct TLookupList LookupList;
};
-class CFX_GSUBTable final : public IFX_GSUBTable {
- public:
- ~CFX_GSUBTable() override {}
- FX_BOOL GetVerticalGlyph(uint32_t glyphnum, uint32_t* vglyphnum) override;
-
- CFX_CTTGSUBTable m_GsubImp;
-};
#endif // CORE_FPDFAPI_FPDF_FONT_TTGSUBTABLE_H_
diff --git a/core/fxcrt/fx_arabic.cpp b/core/fxcrt/fx_arabic.cpp
index 95fa8f52a0..803683782d 100644
--- a/core/fxcrt/fx_arabic.cpp
+++ b/core/fxcrt/fx_arabic.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/fxcrt/fx_arabic.h"
+#include "core/fxcrt/include/fx_arabic.h"
#include "core/fxcrt/include/fx_ucd.h"
namespace {
@@ -145,9 +145,6 @@ FX_WCHAR FX_GetArabicFromShaddaTable(FX_WCHAR shadda) {
return shadda;
}
-IFX_ArabicChar* IFX_ArabicChar::Create() {
- return new CFX_ArabicChar;
-}
FX_BOOL CFX_ArabicChar::IsArabicChar(FX_WCHAR wch) const {
uint32_t dwRet =
kTextLayoutCodeProperties[(uint16_t)wch] & FX_CHARTYPEBITSMASK;
@@ -438,10 +435,10 @@ const int32_t gc_FX_BidiNeutralStates[][5] = {
};
const int32_t gc_FX_BidiNeutralActions[][5] = {
{FX_BNAIn, 0, 0, 0, 0},
- {FX_BNAIn, 0, 0, 0, FX_BCL},
+ {FX_BNAIn, 0, 0, 0, FX_BIDICLASS_L},
{FX_BNAIn, FX_BNAEn, FX_BNARn, FX_BNARn, FX_BNARn},
{FX_BNAIn, FX_BNALn, FX_BNAEn, FX_BNAEn, FX_BNALnL},
- {FX_BNAIn, 0, 0, 0, FX_BCL},
+ {FX_BNAIn, 0, 0, 0, FX_BIDICLASS_L},
{FX_BNAIn, FX_BNAEn, FX_BNARn, FX_BNARn, FX_BNAEn},
};
int32_t FX_BidiGetDeferredNeutrals(int32_t iAction, int32_t iLevel) {
diff --git a/core/fxcrt/fx_arabic.h b/core/fxcrt/include/fx_arabic.h
index 694bc51020..96fa7954c3 100644
--- a/core/fxcrt/fx_arabic.h
+++ b/core/fxcrt/include/fx_arabic.h
@@ -4,29 +4,36 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_FXCRT_FX_ARABIC_H_
-#define CORE_FXCRT_FX_ARABIC_H_
+#ifndef CORE_FXCRT_INCLUDE_FX_ARABIC_H_
+#define CORE_FXCRT_INCLUDE_FX_ARABIC_H_
#include "core/fxcrt/include/fx_arb.h"
-class CFX_ArabicChar : public IFX_ArabicChar {
+#define FX_BIDIMAXLEVEL 61
+#define FX_BidiDirection(a) (FX_IsOdd(a) ? FX_BIDICLASS_R : FX_BIDICLASS_L)
+#define FX_BidiGetDeferredType(a) (((a) >> 4) & 0x0F)
+#define FX_BidiGetResolvedType(a) ((a)&0x0F)
+
+class CFX_ArabicChar {
public:
- virtual void Release() { delete this; }
- virtual FX_BOOL IsArabicChar(FX_WCHAR wch) const;
- virtual FX_BOOL IsArabicFormChar(FX_WCHAR wch) const;
+ void Release() { delete this; }
+
+ FX_BOOL IsArabicChar(FX_WCHAR wch) const;
+ FX_BOOL IsArabicFormChar(FX_WCHAR wch) const;
- virtual FX_WCHAR GetFormChar(FX_WCHAR wch,
- FX_WCHAR prev = 0,
- FX_WCHAR next = 0) const;
- virtual FX_WCHAR GetFormChar(const CFX_Char* cur,
- const CFX_Char* prev,
- const CFX_Char* next) const;
+ FX_WCHAR GetFormChar(FX_WCHAR wch,
+ FX_WCHAR prev = 0,
+ FX_WCHAR next = 0) const;
+ FX_WCHAR GetFormChar(const CFX_Char* cur,
+ const CFX_Char* prev,
+ const CFX_Char* next) const;
protected:
const FX_ARBFORMTABLE* ParseChar(const CFX_Char* pTC,
FX_WCHAR& wChar,
FX_CHARTYPE& eType) const;
};
+
void FX_BidiReverseString(CFX_WideString& wsText,
int32_t iStart,
int32_t iCount);
@@ -34,32 +41,9 @@ void FX_BidiSetDeferredRun(CFX_Int32Array& values,
int32_t iStart,
int32_t iCount,
int32_t iValue);
-#define FX_BCON FX_BIDICLASS_ON
-#define FX_BCL FX_BIDICLASS_L
-#define FX_BCR FX_BIDICLASS_R
-#define FX_BCAN FX_BIDICLASS_AN
-#define FX_BCEN FX_BIDICLASS_EN
-#define FX_BCAL FX_BIDICLASS_AL
-#define FX_BCNSM FX_BIDICLASS_NSM
-#define FX_BCCS FX_BIDICLASS_CS
-#define FX_BCES FX_BIDICLASS_ES
-#define FX_BCET FX_BIDICLASS_ET
-#define FX_BCBN FX_BIDICLASS_BN
-#define FX_BCS FX_BIDICLASS_S
-#define FX_BCWS FX_BIDICLASS_WS
-#define FX_BCB FX_BIDICLASS_B
-#define FX_BCRLO FX_BIDICLASS_RLO
-#define FX_BCRLE FX_BIDICLASS_RLE
-#define FX_BCLRO FX_BIDICLASS_LRO
-#define FX_BCLRE FX_BIDICLASS_LRE
-#define FX_BCPDF FX_BIDICLASS_PDF
-#define FX_BCN FX_BIDICLASS_N
void FX_BidiClassify(const CFX_WideString& wsText,
CFX_Int32Array& classes,
FX_BOOL bWS = FALSE);
-#define FX_BIDIMAXLEVEL 61
-#define FX_BidiGreaterEven(a) (FX_IsOdd(a) ? ((a) + 1) : ((a) + 2))
-#define FX_BidiGreaterOdd(a) (FX_IsOdd(a) ? ((a) + 2) : ((a) + 1))
int32_t FX_BidiResolveExplicit(int32_t iBaseLevel,
int32_t iDirection,
CFX_Int32Array& classes,
@@ -67,7 +51,7 @@ int32_t FX_BidiResolveExplicit(int32_t iBaseLevel,
int32_t iStart,
int32_t iCount,
int32_t iNest = 0);
-#define FX_BidiDirection(a) (FX_IsOdd(a) ? FX_BIDICLASS_R : FX_BIDICLASS_L)
+
enum FX_BIDIWEAKSTATE {
FX_BIDIWEAKSTATE_xa = 0,
FX_BIDIWEAKSTATE_xr,
@@ -110,6 +94,7 @@ enum FX_BIDIWEAKSTATE {
#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,
FX_BIDIWEAKACTION_XX = 0x0F,
@@ -156,8 +141,7 @@ enum FX_BIDIWEAKACTION {
#define FX_BWAxIL FX_BIDIWEAKACTION_xIL
#define FX_BWAAxR FX_BIDIWEAKACTION_AxR
#define FX_BWALxx FX_BIDIWEAKACTION_Lxx
-#define FX_BidiGetDeferredType(a) (((a) >> 4) & 0x0F)
-#define FX_BidiGetResolvedType(a) ((a)&0x0F)
+
void FX_BidiResolveWeak(int32_t iBaseLevel,
CFX_Int32Array& classes,
CFX_Int32Array& levels);
@@ -208,4 +192,4 @@ void FX_BidiReorder(int32_t iBaseLevel,
CFX_WideString& wsText,
const CFX_Int32Array& levels);
-#endif // CORE_FXCRT_FX_ARABIC_H_
+#endif // CORE_FXCRT_INCLUDE_FX_ARABIC_H_
diff --git a/core/fxcrt/include/fx_arb.h b/core/fxcrt/include/fx_arb.h
index 6a0af83150..6928519a80 100644
--- a/core/fxcrt/include/fx_arb.h
+++ b/core/fxcrt/include/fx_arb.h
@@ -10,8 +10,6 @@
#include "core/fxcrt/include/fx_system.h"
#include "core/fxcrt/include/fx_ucd.h"
-class IFX_ArabicChar;
-
struct FX_ARBFORMTABLE {
uint16_t wIsolated;
uint16_t wFinal;
@@ -40,21 +38,6 @@ enum FX_ARBPOSITION {
FX_ARBPOSITION_Medial,
};
-class IFX_ArabicChar {
- public:
- static IFX_ArabicChar* Create();
- virtual ~IFX_ArabicChar() {}
- virtual void Release() = 0;
- virtual FX_BOOL IsArabicChar(FX_WCHAR wch) const = 0;
- virtual FX_BOOL IsArabicFormChar(FX_WCHAR wch) const = 0;
- virtual FX_WCHAR GetFormChar(FX_WCHAR wch,
- FX_WCHAR prev = 0,
- FX_WCHAR next = 0) const = 0;
- virtual FX_WCHAR GetFormChar(const CFX_Char* cur,
- const CFX_Char* prev,
- const CFX_Char* next) const = 0;
-};
-
void FX_BidiLine(CFX_WideString& wsText, int32_t iBaseLevel = 0);
void FX_BidiLine(CFX_TxtCharArray& chars,
int32_t iCount,
diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h
index 37adc832f4..02ab44d6b8 100644
--- a/core/fxge/include/fx_font.h
+++ b/core/fxge/include/fx_font.h
@@ -532,15 +532,6 @@ FX_RECT FXGE_GetGlyphsBBox(FXTEXT_GLYPHPOS* pGlyphAndPos,
FX_FLOAT retinaScaleX = 1.0f,
FX_FLOAT retinaScaleY = 1.0f);
-class IFX_GSUBTable {
- public:
- static IFX_GSUBTable* Create(CFX_Font* pFont);
- virtual FX_BOOL GetVerticalGlyph(uint32_t glyphnum, uint32_t* vglyphnum) = 0;
-
- protected:
- virtual ~IFX_GSUBTable() {}
-};
-
CFX_ByteString GetNameFromTT(const uint8_t* name_table,
uint32_t name_table_size,
uint32_t name);