summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-11-25 12:15:38 -0800
committerTom Sepez <tsepez@chromium.org>2015-11-25 12:15:38 -0800
commit5c4c193fd4b6dd0657abf5e74125f9887f91d720 (patch)
tree976cfb53dd2580eff58fb02556d1828fff12659d /core
parent8b90ee66872aa883fc46ac2b6e7acad35c7c96c6 (diff)
downloadpdfium-5c4c193fd4b6dd0657abf5e74125f9887f91d720.tar.xz
Inflict PPDF_ENABLE_XFA ifdefs on XFA core/
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1471323004 .
Diffstat (limited to 'core')
-rw-r--r--core/include/fpdfdoc/fpdf_doc.h2
-rw-r--r--core/include/fxcodec/fx_codec.h29
-rw-r--r--core/include/fxcodec/fx_codec_def.h6
-rw-r--r--core/include/fxcrt/fx_basic.h10
-rw-r--r--core/include/fxcrt/fx_ext.h4
-rw-r--r--core/include/fxcrt/fx_stream.h2
-rw-r--r--core/include/fxcrt/fx_ucd.h12
-rw-r--r--core/include/fxge/fx_font.h20
-rw-r--r--core/src/fpdfdoc/doc_form.cpp2
-rw-r--r--core/src/fpdfdoc/doc_formfield.cpp2
-rw-r--r--core/src/fpdftext/fpdf_text_int.cpp69
-rw-r--r--core/src/fpdftext/text_int.h6
-rw-r--r--core/src/fxcodec/codec/codec_int.h8
-rw-r--r--core/src/fxcodec/codec/fx_codec.cpp10
-rw-r--r--core/src/fxcodec/codec/fx_codec_jpeg.cpp8
-rw-r--r--core/src/fxcrt/extension.h2
-rw-r--r--core/src/fxcrt/fx_basic_buffer.cpp2
-rw-r--r--core/src/fxcrt/fx_extension.cpp4
-rw-r--r--core/src/fxcrt/fx_unicode.cpp4
-rw-r--r--core/src/fxge/dib/fx_dib_convert.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge_font.cpp24
-rw-r--r--core/src/fxge/ge/fx_ge_fontmap.cpp6
22 files changed, 233 insertions, 1 deletions
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h
index c270c78bcf..3f05fc9be9 100644
--- a/core/include/fpdfdoc/fpdf_doc.h
+++ b/core/include/fpdfdoc/fpdf_doc.h
@@ -825,12 +825,14 @@ class CPDF_FormField {
FX_BOOL ClearSelectedOptions(FX_BOOL bNotify = FALSE);
+#ifdef PDF_ENABLE_XFA
FX_BOOL ClearOptions(FX_BOOL bNotify = FALSE);
int InsertOption(CFX_WideString csOptLabel,
int index = -1,
FX_BOOL bNotify = FALSE);
+#endif
FX_FLOAT GetFontSize() { return m_FontSize; }
CPDF_Font* GetFont() { return m_pFont; }
diff --git a/core/include/fxcodec/fx_codec.h b/core/include/fxcodec/fx_codec.h
index 54ea64544a..54d185a8ce 100644
--- a/core/include/fxcodec/fx_codec.h
+++ b/core/include/fxcodec/fx_codec.h
@@ -7,29 +7,45 @@
#ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_H_
#define CORE_INCLUDE_FXCODEC_FX_CODEC_H_
+#ifdef PDF_ENABLE_XFA
#include <map>
+#endif
#include <vector>
#include "core/include/fxcrt/fx_basic.h"
#include "fx_codec_def.h"
#include "third_party/base/nonstd_unique_ptr.h"
+#ifdef PDF_ENABLE_XFA
#include "../fxcrt/fx_coordinates.h" // For FX_RECT.
+#endif
class CFX_DIBSource;
class CJPX_Decoder;
class CPDF_PrivateData;
class CPDF_StreamAcc;
+#ifndef PDF_ENABLE_XFA
+class ICodec_ScanlineDecoder;
+#endif
class ICodec_BasicModule;
class ICodec_FaxModule;
+#ifdef PDF_ENABLE_XFA
class ICodec_FlateModule;
class ICodec_IccModule;
class ICodec_Jbig2Encoder;
class ICodec_Jbig2Module;
+#endif
class ICodec_JpegModule;
class ICodec_JpxModule;
+#ifndef PDF_ENABLE_XFA
+class ICodec_Jbig2Module;
+class ICodec_IccModule;
+class ICodec_FlateModule;
+class ICodec_Jbig2Encoder;
+#endif
class ICodec_ScanlineDecoder;
+#ifdef PDF_ENABLE_XFA
class ICodec_BmpModule;
class ICodec_GifModule;
class ICodec_PngModule;
@@ -55,6 +71,7 @@ class CFX_DIBAttribute {
std::map<FX_DWORD, void*> m_Exif;
};
+#endif
class CCodec_ModuleMgr {
public:
CCodec_ModuleMgr();
@@ -67,12 +84,14 @@ class CCodec_ModuleMgr {
ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); }
ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); }
+#ifdef PDF_ENABLE_XFA
ICodec_ProgressiveDecoder* CreateProgressiveDecoder();
ICodec_PngModule* GetPngModule() const { return m_pPngModule.get(); }
ICodec_GifModule* GetGifModule() const { return m_pGifModule.get(); }
ICodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); }
ICodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); }
+#endif
protected:
nonstd::unique_ptr<ICodec_BasicModule> m_pBasicModule;
nonstd::unique_ptr<ICodec_FaxModule> m_pFaxModule;
@@ -81,11 +100,13 @@ class CCodec_ModuleMgr {
nonstd::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module;
nonstd::unique_ptr<ICodec_IccModule> m_pIccModule;
nonstd::unique_ptr<ICodec_FlateModule> m_pFlateModule;
+#ifdef PDF_ENABLE_XFA
nonstd::unique_ptr<ICodec_PngModule> m_pPngModule;
nonstd::unique_ptr<ICodec_GifModule> m_pGifModule;
nonstd::unique_ptr<ICodec_BmpModule> m_pBmpModule;
nonstd::unique_ptr<ICodec_TiffModule> m_pTiffModule;
+#endif
};
class ICodec_BasicModule {
public:
@@ -229,8 +250,12 @@ class ICodec_JpegModule {
virtual int ReadHeader(void* pContext,
int* width,
int* height,
+#ifndef PDF_ENABLE_XFA
+ int* nComps) = 0;
+#else
int* nComps,
CFX_DIBAttribute* pAttribute) = 0;
+#endif
virtual int StartScanline(void* pContext, int down_scale) = 0;
@@ -260,6 +285,7 @@ class ICodec_JpxModule {
virtual void DestroyDecoder(CJPX_Decoder* pDecoder) = 0;
};
+#ifdef PDF_ENABLE_XFA
class ICodec_PngModule {
public:
virtual ~ICodec_PngModule() {}
@@ -387,6 +413,7 @@ class ICodec_TiffModule {
virtual void DestroyDecoder(void* ctx) = 0;
};
+#endif
class ICodec_Jbig2Module {
public:
@@ -408,6 +435,7 @@ class ICodec_Jbig2Module {
IFX_Pause* pPause) = 0;
virtual void DestroyJbig2Context(void* pJbig2Content) = 0;
};
+#ifdef PDF_ENABLE_XFA
class ICodec_ProgressiveDecoder {
public:
virtual ~ICodec_ProgressiveDecoder() {}
@@ -437,6 +465,7 @@ class ICodec_ProgressiveDecoder {
virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL) = 0;
};
+#endif
class ICodec_Jbig2Encoder {
public:
virtual ~ICodec_Jbig2Encoder() {}
diff --git a/core/include/fxcodec/fx_codec_def.h b/core/include/fxcodec/fx_codec_def.h
index 1cb5909658..6dd4d0d309 100644
--- a/core/include/fxcodec/fx_codec_def.h
+++ b/core/include/fxcodec/fx_codec_def.h
@@ -7,6 +7,7 @@
#ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_DEF_H_
#define CORE_INCLUDE_FXCODEC_FX_CODEC_DEF_H_
+#ifdef PDF_ENABLE_XFA
enum FXCODEC_IMAGE_TYPE {
FXCODEC_IMAGE_UNKNOWN = 0,
FXCODEC_IMAGE_BMP,
@@ -16,6 +17,7 @@ enum FXCODEC_IMAGE_TYPE {
FXCODEC_IMAGE_TIF,
FXCODEC_IMAGE_MAX
};
+#endif
enum FXCODEC_STATUS {
FXCODEC_STATUS_ERROR = -1,
FXCODEC_STATUS_FRAME_READY,
@@ -23,7 +25,9 @@ enum FXCODEC_STATUS {
FXCODEC_STATUS_DECODE_READY,
FXCODEC_STATUS_DECODE_TOBECONTINUE,
FXCODEC_STATUS_DECODE_FINISH,
+#ifdef PDF_ENABLE_XFA
FXCODEC_STATUS_ERR_MEMORY,
+#endif
FXCODEC_STATUS_ERR_READ,
FXCODEC_STATUS_ERR_FLUSH,
FXCODEC_STATUS_ERR_FORMAT,
@@ -68,12 +72,14 @@ enum FXCODEC_STATUS {
#define Icc_PARAMTYPE_NONE 0
#define Icc_PARAMTYPE_BUFFER 1
#define Icc_PARAMTYPE_PARAM 2
+#ifdef PDF_ENABLE_XFA
enum FXCODEC_RESUNIT {
FXCODEC_RESUNIT_NONE = 0,
FXCODEC_RESUNIT_INCH,
FXCODEC_RESUNIT_CENTIMETER,
FXCODEC_RESUNIT_METER
};
+#endif
#define EXIFTAG_USHORT_RESUNIT 296
#define EXIFTAG_FLOAT_DPIX 282
#define EXIFTAG_FLOAT_DPIY 283
diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h
index 3a83a3de21..710bbcc3c3 100644
--- a/core/include/fxcrt/fx_basic.h
+++ b/core/include/fxcrt/fx_basic.h
@@ -130,6 +130,7 @@ class CFX_WideTextBuf : public CFX_BinaryBuf {
CFX_WideStringC GetWideString() const;
};
+#ifdef PDF_ENABLE_XFA
class CFX_ArchiveSaver {
public:
CFX_ArchiveSaver() : m_pStream(NULL) {}
@@ -192,6 +193,7 @@ class CFX_ArchiveLoader {
FX_DWORD m_LoadingSize;
};
+#endif
class IFX_BufferArchive {
public:
@@ -436,8 +438,10 @@ typedef CFX_ArrayTemplate<FX_WORD> CFX_WordArray;
typedef CFX_ArrayTemplate<FX_DWORD> CFX_DWordArray;
typedef CFX_ArrayTemplate<void*> CFX_PtrArray;
typedef CFX_ArrayTemplate<FX_FILESIZE> CFX_FileSizeArray;
+#ifdef PDF_ENABLE_XFA
typedef CFX_ArrayTemplate<FX_FLOAT> CFX_FloatArray;
typedef CFX_ArrayTemplate<int32_t> CFX_Int32Array;
+#endif
template <class ObjectClass>
class CFX_ObjectArray : public CFX_BasicArray {
@@ -698,6 +702,7 @@ class CFX_MapPtrToPtr {
CAssoc* GetAssocAt(void* key, FX_DWORD& hash) const;
};
+#ifdef PDF_ENABLE_XFA
template <class KeyType, class ValueType>
class CFX_MapPtrTemplate : public CFX_MapPtrToPtr {
public:
@@ -723,7 +728,9 @@ class CFX_MapPtrTemplate : public CFX_MapPtrToPtr {
FX_BOOL RemoveKey(KeyType key) {
return CFX_MapPtrToPtr::RemoveKey((void*)(uintptr_t)key);
}
+#endif
+#ifdef PDF_ENABLE_XFA
void GetNextAssoc(FX_POSITION& rNextPosition,
KeyType& rKey,
ValueType& rValue) const {
@@ -734,6 +741,7 @@ class CFX_MapPtrTemplate : public CFX_MapPtrToPtr {
rValue = (ValueType)(uintptr_t)pValue;
}
};
+#endif
class CFX_CMapByteStringToPtr {
public:
CFX_CMapByteStringToPtr();
@@ -1187,6 +1195,7 @@ typedef enum {
} FX_ProgressiveStatus;
#define ProgressiveStatus FX_ProgressiveStatus
#define FX_NAMESPACE_DECLARE(namespace, type) namespace ::type
+#ifdef PDF_ENABLE_XFA
class IFX_Unknown {
public:
virtual ~IFX_Unknown() {}
@@ -1194,6 +1203,7 @@ class IFX_Unknown {
virtual FX_DWORD AddRef() = 0;
};
#define FX_IsOdd(a) ((a)&1)
+#endif
class CFX_Vector_3by1 {
public:
diff --git a/core/include/fxcrt/fx_ext.h b/core/include/fxcrt/fx_ext.h
index 8530263a79..908d6c3fe5 100644
--- a/core/include/fxcrt/fx_ext.h
+++ b/core/include/fxcrt/fx_ext.h
@@ -10,7 +10,9 @@
#include <cctype>
#include <cwctype>
+#ifdef PDF_ENABLE_XFA
#include "fx_string.h"
+#endif
#include "fx_system.h"
FX_FLOAT FXSYS_tan(FX_FLOAT a);
@@ -76,6 +78,7 @@ void FX_Random_GenerateMT(FX_DWORD* pBuffer, int32_t iCount);
void FX_Random_GenerateCrypto(FX_DWORD* pBuffer, int32_t iCount);
+#ifdef PDF_ENABLE_XFA
typedef struct FX_GUID {
FX_DWORD data1;
FX_WORD data2;
@@ -90,6 +93,7 @@ void FX_GUID_ToString(FX_LPCGUID pGUID,
CFX_ByteString& bsStr,
FX_BOOL bSeparator = TRUE);
+#endif
template <class baseType>
class CFX_SSortTemplate {
public:
diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h
index 544eacdb5b..300bfb1941 100644
--- a/core/include/fxcrt/fx_stream.h
+++ b/core/include/fxcrt/fx_stream.h
@@ -127,6 +127,7 @@ class IFX_FileStream : public IFX_FileRead, public IFX_FileWrite {
IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, FX_DWORD dwModes);
IFX_FileStream* FX_CreateFileStream(const FX_WCHAR* filename, FX_DWORD dwModes);
+#ifdef PDF_ENABLE_XFA
class IFX_FileAccess {
public:
virtual ~IFX_FileAccess() {}
@@ -137,6 +138,7 @@ class IFX_FileAccess {
};
IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath);
+#endif
class IFX_MemoryStream : public IFX_FileStream {
public:
virtual FX_BOOL IsConsecutive() const = 0;
diff --git a/core/include/fxcrt/fx_ucd.h b/core/include/fxcrt/fx_ucd.h
index d4a43bd096..852a893843 100644
--- a/core/include/fxcrt/fx_ucd.h
+++ b/core/include/fxcrt/fx_ucd.h
@@ -7,8 +7,13 @@
#ifndef CORE_INCLUDE_FXCRT_FX_UCD_H_
#define CORE_INCLUDE_FXCRT_FX_UCD_H_
+#ifndef PDF_ENABLE_XFA
+#include "fx_system.h"
+#else
#include "fx_basic.h"
+#endif
+#ifdef PDF_ENABLE_XFA
enum FX_CHARBREAKPROP {
FX_CBP_OP = 0,
FX_CBP_CL = 1,
@@ -50,6 +55,7 @@ enum FX_CHARBREAKPROP {
FX_CBP_TB = 37,
FX_CBP_NONE = 36,
};
+#endif
#define FX_BIDICLASSBITS 6
#define FX_BIDICLASSBITSMASK (31 << FX_BIDICLASSBITS)
enum FX_BIDICLASS {
@@ -84,6 +90,7 @@ extern const size_t kFXTextLayoutVerticalMirrorSize;
extern const FX_WCHAR kFXTextLayoutBidiMirror[];
extern const size_t kFXTextLayoutBidiMirrorSize;
+#ifdef PDF_ENABLE_XFA
#define FX_CHARTYPEBITS 11
#define FX_CHARTYPEBITSMASK (15 << FX_CHARTYPEBITS)
enum FX_CHARTYPE {
@@ -102,9 +109,13 @@ enum FX_CHARTYPE {
FX_CHARTYPE_Arabic = (12 << FX_CHARTYPEBITS),
};
+#endif
FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch);
+#ifdef PDF_ENABLE_XFA
FX_BOOL FX_IsCtrlCode(FX_WCHAR ch);
+#endif
FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical);
+#ifdef PDF_ENABLE_XFA
FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch,
FX_DWORD dwProps,
FX_BOOL bRTL,
@@ -183,5 +194,6 @@ class CFX_RTFChar : public CFX_Char {
IFX_Unknown* m_pUserData;
};
typedef CFX_ArrayTemplate<CFX_RTFChar> CFX_RTFCharArray;
+#endif
#endif // CORE_INCLUDE_FXCRT_FX_UCD_H_
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index d2b1d5459a..5b31126b3e 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -34,7 +34,9 @@ class IFX_SystemFontInfo;
#define FXFONT_BOLD 0x40000
#define FXFONT_USEEXTERNATTR 0x80000
#define FXFONT_CIDFONT 0x100000
+#ifdef PDF_ENABLE_XFA
#define FXFONT_EXACTMATCH 0x80000000
+#endif
#define FXFONT_ANSI_CHARSET 0
#define FXFONT_DEFAULT_CHARSET 1
#define FXFONT_SYMBOL_CHARSET 2
@@ -69,6 +71,7 @@ class CFX_Font {
int CharsetCP,
FX_BOOL bVertical = FALSE);
FX_BOOL LoadEmbedded(const uint8_t* data, FX_DWORD size);
+#ifdef PDF_ENABLE_XFA
FX_BOOL LoadFile(IFX_FileRead* pFile,
int nFaceIndex = 0,
@@ -76,10 +79,15 @@ class CFX_Font {
FX_BOOL LoadClone(const CFX_Font* pFont);
+#endif
FXFT_Face GetFace() const { return m_Face; }
+#ifndef PDF_ENABLE_XFA
+ const CFX_SubstFont* GetSubstFont() const { return m_pSubstFont; }
+#else
CFX_SubstFont* GetSubstFont() const { return m_pSubstFont; }
void SetFace(FXFT_Face face) { m_Face = face; }
void SetSubstFont(CFX_SubstFont* subst) { m_pSubstFont = subst; }
+#endif
CFX_PathData* LoadGlyphPath(FX_DWORD glyph_index, int dest_width = 0);
int GetGlyphWidth(FX_DWORD glyph_index);
int GetAscent() const;
@@ -125,15 +133,18 @@ class CFX_Font {
FX_BOOL m_bDwLoaded;
FX_BOOL m_bEmbedded;
FX_BOOL m_bVertical;
+#ifdef PDF_ENABLE_XFA
protected:
FX_BOOL m_bLogic;
void* m_pOwnedStream;
+#endif
};
#define ENCODING_INTERNAL 0
#define ENCODING_UNICODE 1
+#ifdef PDF_ENABLE_XFA
#define FXFM_ENC_TAG(a, b, c, d) \
(((FX_DWORD)(a) << 24) | ((FX_DWORD)(b) << 16) | ((FX_DWORD)(c) << 8) | \
(FX_DWORD)(d))
@@ -152,6 +163,7 @@ class CFX_Font {
#define FXFM_ENCODING_OLD_LATIN_2 FXFM_ENC_TAG('l', 'a', 't', '2')
#define FXFM_ENCODING_APPLE_ROMAN FXFM_ENC_TAG('a', 'r', 'm', 'n')
+#endif
class CFX_UnicodeEncoding {
public:
explicit CFX_UnicodeEncoding(CFX_Font* pFont);
@@ -164,6 +176,7 @@ class CFX_UnicodeEncoding {
CFX_Font* m_pFont;
};
+#ifdef PDF_ENABLE_XFA
class CFX_UnicodeEncodingEx : public CFX_UnicodeEncoding {
public:
CFX_UnicodeEncodingEx(CFX_Font* pFont, FX_DWORD EncodingID);
@@ -182,6 +195,7 @@ CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(
CFX_Font* pFont,
FX_DWORD nEncodingID = FXFM_ENCODING_NONE);
+#endif
#define FXFONT_SUBST_MM 0x01
#define FXFONT_SUBST_GLYPHPATH 0x04
#define FXFONT_SUBST_CLEARTYPE 0x08
@@ -307,11 +321,13 @@ class CFX_FontMapper {
int italic_angle,
int CharsetCP,
CFX_SubstFont* pSubstFont);
+#ifdef PDF_ENABLE_XFA
FXFT_Face FindSubstFontByUnicode(FX_DWORD dwUnicode,
FX_DWORD flags,
int weight,
int italic_angle);
FX_BOOL IsBuiltinFace(const FXFT_Face face) const;
+#endif
private:
static const size_t MM_FACE_COUNT = 2;
@@ -348,12 +364,14 @@ class IFX_SystemFontInfo {
int pitch_family,
const FX_CHAR* face,
int& iExact) = 0;
+#ifdef PDF_ENABLE_XFA
virtual void* MapFontByUnicode(FX_DWORD dwUnicode,
int weight,
FX_BOOL bItalic,
int pitch_family) {
return NULL;
}
+#endif
virtual void* GetFont(const FX_CHAR* face) = 0;
virtual FX_DWORD GetFontData(void* hFont,
FX_DWORD table,
@@ -384,10 +402,12 @@ class CFX_FolderFontInfo : public IFX_SystemFontInfo {
int pitch_family,
const FX_CHAR* face,
int& bExact) override;
+#ifdef PDF_ENABLE_XFA
void* MapFontByUnicode(FX_DWORD dwUnicode,
int weight,
FX_BOOL bItalic,
int pitch_family) override;
+#endif
void* GetFont(const FX_CHAR* face) override;
FX_DWORD GetFontData(void* hFont,
FX_DWORD table,
diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp
index 241609efbc..ffd6bf7955 100644
--- a/core/src/fpdfdoc/doc_form.cpp
+++ b/core/src/fpdfdoc/doc_form.cpp
@@ -371,6 +371,7 @@ static FX_BOOL RetrieveSpecificFont(uint8_t charSet,
}
return RetrieveSpecificFont(lf);
}
+#ifdef PDF_ENABLE_XFA
static FX_BOOL RetrieveStockFont(int iFontObject,
uint8_t charSet,
LOGFONTA& lf) {
@@ -385,6 +386,7 @@ static FX_BOOL RetrieveStockFont(int iFontObject,
return FALSE;
}
#endif
+#endif
CPDF_Font* CPDF_InterForm::AddStandardFont(CPDF_Document* pDocument,
CFX_ByteString csFontName) {
diff --git a/core/src/fpdfdoc/doc_formfield.cpp b/core/src/fpdfdoc/doc_formfield.cpp
index a4de7bbee3..6f90d7e396 100644
--- a/core/src/fpdfdoc/doc_formfield.cpp
+++ b/core/src/fpdfdoc/doc_formfield.cpp
@@ -739,6 +739,7 @@ int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue,
}
return -1;
}
+#ifdef PDF_ENABLE_XFA
int CPDF_FormField::InsertOption(CFX_WideString csOptLabel,
int index,
FX_BOOL bNotify) {
@@ -816,6 +817,7 @@ FX_BOOL CPDF_FormField::ClearOptions(FX_BOOL bNotify) {
m_pForm->m_bUpdated = TRUE;
return TRUE;
}
+#endif
FX_BOOL CPDF_FormField::CheckControl(int iControlIndex,
FX_BOOL bChecked,
FX_BOOL bNotify) {
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index 3342f38da9..c69ffc8ee8 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -1525,6 +1525,10 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
int nItems = pTextObj->CountItems();
FX_FLOAT baseSpace = _CalculateBaseSpace(pTextObj, matrix);
+#ifndef PDF_ENABLE_XFA
+ const FX_BOOL bR2L = IsRightToLeft(pTextObj, pFont, nItems);
+ const FX_BOOL bIsBidiAndMirrorInverse =
+#else
FX_BOOL bIsBidiAndMirrosInverse = FALSE;
CFX_BidiChar* BidiChar = new CFX_BidiChar;
int32_t nR2L = 0;
@@ -1566,6 +1570,7 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
bR2L = TRUE;
}
bIsBidiAndMirrosInverse =
+#endif
bR2L && (matrix.a * matrix.d - matrix.b * matrix.c) < 0;
int32_t iBufStartAppend = m_TempTextBuf.GetLength();
int32_t iCharListStartAppend = m_TempCharList.GetSize();
@@ -1724,6 +1729,45 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
}
}
}
+#ifndef PDF_ENABLE_XFA
+ if (bIsBidiAndMirrorInverse) {
+ SwapTempTextBuf(iCharListStartAppend, iBufStartAppend);
+ }
+}
+void CPDF_TextPage::SwapTempTextBuf(int32_t iCharListStartAppend,
+ int32_t iBufStartAppend) {
+ int32_t i, j;
+ i = iCharListStartAppend;
+ j = m_TempCharList.GetSize() - 1;
+ for (; i < j; i++, j--) {
+ std::swap(m_TempCharList[i], m_TempCharList[j]);
+ std::swap(m_TempCharList[i].m_Index, m_TempCharList[j].m_Index);
+ }
+ FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer();
+ i = iBufStartAppend;
+ j = m_TempTextBuf.GetLength() - 1;
+ for (; i < j; i++, j--) {
+ std::swap(pTempBuffer[i], pTempBuffer[j]);
+ }
+}
+FX_BOOL CPDF_TextPage::IsRightToLeft(const CPDF_TextObject* pTextObj,
+ const CPDF_Font* pFont,
+ int nItems) const {
+ nonstd::unique_ptr<CFX_BidiChar> pBidiChar(new CFX_BidiChar);
+ int32_t nR2L = 0;
+ int32_t nL2R = 0;
+ int32_t start = 0, count = 0;
+ CPDF_TextObjectItem item;
+ for (int32_t i = 0; i < nItems; i++) {
+ pTextObj->GetItemInfo(i, &item);
+ if (item.m_CharCode == (FX_DWORD)-1) {
+ continue;
+ }
+ CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode);
+ FX_WCHAR wChar = wstrItem.GetAt(0);
+ if ((wstrItem.IsEmpty() || wChar == 0) && item.m_CharCode) {
+ wChar = (FX_WCHAR)item.m_CharCode;
+#else
if (bIsBidiAndMirrosInverse) {
int32_t i, j;
i = iCharListStartAppend;
@@ -1731,14 +1775,39 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
for (; i < j; i++, j--) {
std::swap(m_TempCharList[i], m_TempCharList[j]);
std::swap(m_TempCharList[i].m_Index, m_TempCharList[j].m_Index);
+#endif
+ }
+#ifndef PDF_ENABLE_XFA
+ if (!wChar) {
+ continue;
+ }
+ if (pBidiChar->AppendChar(wChar)) {
+ CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count);
+ if (ret == CFX_BidiChar::RIGHT) {
+ nR2L++;
+ } else if (ret == CFX_BidiChar::LEFT) {
+ nL2R++;
+ }
}
+ }
+ if (pBidiChar->EndChar()) {
+ CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count);
+ if (ret == CFX_BidiChar::RIGHT) {
+ nR2L++;
+ } else if (ret == CFX_BidiChar::LEFT) {
+ nL2R++;
+#else
FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer();
i = iBufStartAppend;
j = m_TempTextBuf.GetLength() - 1;
for (; i < j; i++, j--) {
std::swap(pTempBuffer[i], pTempBuffer[j]);
+#endif
}
}
+#ifndef PDF_ENABLE_XFA
+ return (nR2L > 0 && nR2L >= nL2R);
+#endif
}
int32_t CPDF_TextPage::GetTextObjectWritingMode(
const CPDF_TextObject* pTextObj) {
diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
index da4bf70ad1..d8e79b9610 100644
--- a/core/src/fpdftext/text_int.h
+++ b/core/src/fpdftext/text_int.h
@@ -125,6 +125,12 @@ class CPDF_TextPage : public IPDF_TextPage {
void AddCharInfoByRLDirection(CFX_WideString& str, int i);
int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj);
int32_t FindTextlineFlowDirection();
+#ifndef PDF_ENABLE_XFA
+ void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend);
+ FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj,
+ const CPDF_Font* pFont,
+ int nItems) const;
+#endif
CPDFText_ParseOptions m_ParseOptions;
CFX_WordArray m_CharIndex;
diff --git a/core/src/fxcodec/codec/codec_int.h b/core/src/fxcodec/codec/codec_int.h
index 3d2acaf8c0..5abe2e4a6a 100644
--- a/core/src/fxcodec/codec/codec_int.h
+++ b/core/src/fxcodec/codec/codec_int.h
@@ -187,15 +187,20 @@ class CCodec_JpegModule : public ICodec_JpegModule {
void Input(void* pContext,
const uint8_t* src_buf,
FX_DWORD src_size) override;
+#ifndef PDF_ENABLE_XFA
+ int ReadHeader(void* pContext, int* width, int* height, int* nComps) override;
+#else
int ReadHeader(void* pContext,
int* width,
int* height,
int* nComps,
CFX_DIBAttribute* pAttribute) override;
+#endif
int StartScanline(void* pContext, int down_scale) override;
FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) override;
FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr) override;
};
+#ifdef PDF_ENABLE_XFA
#define PNG_ERROR_SIZE 256
class CCodec_PngModule : public ICodec_PngModule {
public:
@@ -258,6 +263,7 @@ class CCodec_BmpModule : public ICodec_BmpModule {
protected:
FX_CHAR m_szLastError[256];
};
+#endif
class CCodec_IccModule : public ICodec_IccModule {
public:
~CCodec_IccModule() override;
@@ -336,6 +342,7 @@ class CCodec_JpxModule : public ICodec_JpxModule {
void DestroyDecoder(CJPX_Decoder* pDecoder) override;
};
+#ifdef PDF_ENABLE_XFA
class CCodec_TiffModule : public ICodec_TiffModule {
public:
// ICodec_TiffModule
@@ -355,6 +362,7 @@ class CCodec_TiffModule : public ICodec_TiffModule {
~CCodec_TiffModule() override {}
};
+#endif
class CCodec_Jbig2Context {
public:
CCodec_Jbig2Context();
diff --git a/core/src/fxcodec/codec/fx_codec.cpp b/core/src/fxcodec/codec/fx_codec.cpp
index 1efccf9af5..fb98fee3c5 100644
--- a/core/src/fxcodec/codec/fx_codec.cpp
+++ b/core/src/fxcodec/codec/fx_codec.cpp
@@ -21,11 +21,17 @@ CCodec_ModuleMgr::CCodec_ModuleMgr()
m_pJpxModule(new CCodec_JpxModule),
m_pJbig2Module(new CCodec_Jbig2Module),
m_pIccModule(new CCodec_IccModule),
+#ifndef PDF_ENABLE_XFA
+ m_pFlateModule(new CCodec_FlateModule) {
+}
+#else
m_pFlateModule(new CCodec_FlateModule),
m_pPngModule(new CCodec_PngModule),
m_pGifModule(new CCodec_GifModule),
m_pBmpModule(new CCodec_BmpModule),
- m_pTiffModule(new CCodec_TiffModule) {}
+ m_pTiffModule(new CCodec_TiffModule) {
+}
+#endif
CCodec_ScanlineDecoder::ImageDataCache::ImageDataCache(int width,
int height,
@@ -261,6 +267,7 @@ FX_BOOL CCodec_BasicModule::A85Encode(const uint8_t* src_buf,
FX_DWORD& dest_size) {
return FALSE;
}
+#ifdef PDF_ENABLE_XFA
CFX_DIBAttribute::CFX_DIBAttribute()
: m_nXDPI(-1),
m_nYDPI(-1),
@@ -278,6 +285,7 @@ CFX_DIBAttribute::~CFX_DIBAttribute() {
FX_Free(pair.second);
}
+#endif
class CCodec_RLScanlineDecoder : public CCodec_ScanlineDecoder {
public:
CCodec_RLScanlineDecoder();
diff --git a/core/src/fxcodec/codec/fx_codec_jpeg.cpp b/core/src/fxcodec/codec/fx_codec_jpeg.cpp
index b59deb5a0d..b5eb4b2692 100644
--- a/core/src/fxcodec/codec/fx_codec_jpeg.cpp
+++ b/core/src/fxcodec/codec/fx_codec_jpeg.cpp
@@ -230,6 +230,7 @@ static void _JpegEncode(const CFX_DIBSource* pSource,
FX_Free(line_buf);
dest_size = dest_buf_length - (FX_STRSIZE)dest.free_in_buffer;
}
+#ifdef PDF_ENABLE_XFA
static void _JpegLoadAttribute(struct jpeg_decompress_struct* pInfo,
CFX_DIBAttribute* pAttribute) {
if (pInfo == NULL || pAttribute == NULL) {
@@ -241,6 +242,7 @@ static void _JpegLoadAttribute(struct jpeg_decompress_struct* pInfo,
pAttribute->m_wDPIUnit = pInfo->density_unit;
}
}
+#endif
static FX_BOOL _JpegLoadInfo(const uint8_t* src_buf,
FX_DWORD src_size,
int& width,
@@ -630,8 +632,12 @@ void CCodec_JpegModule::Input(void* pContext,
int CCodec_JpegModule::ReadHeader(void* pContext,
int* width,
int* height,
+#ifndef PDF_ENABLE_XFA
+ int* nComps) {
+#else
int* nComps,
CFX_DIBAttribute* pAttribute) {
+#endif
FXJPEG_Context* p = (FXJPEG_Context*)pContext;
if (setjmp(p->m_JumpMark) == -1) {
return 1;
@@ -646,7 +652,9 @@ int CCodec_JpegModule::ReadHeader(void* pContext,
*width = p->m_Info.image_width;
*height = p->m_Info.image_height;
*nComps = p->m_Info.num_components;
+#ifdef PDF_ENABLE_XFA
_JpegLoadAttribute(&p->m_Info, pAttribute);
+#endif
return 0;
}
int CCodec_JpegModule::StartScanline(void* pContext, int down_scale) {
diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h
index 718c8f0423..42cebdf605 100644
--- a/core/src/fxcrt/extension.h
+++ b/core/src/fxcrt/extension.h
@@ -31,6 +31,7 @@ class IFXCRT_FileAccess {
};
IFXCRT_FileAccess* FXCRT_FileAccess_Create();
+#ifdef PDF_ENABLE_XFA
class CFX_CRTFileAccess : public IFX_FileAccess {
public:
CFX_CRTFileAccess() : m_RefCount(0) {}
@@ -63,6 +64,7 @@ class CFX_CRTFileAccess : public IFX_FileAccess {
FX_DWORD m_RefCount;
};
+#endif
class CFX_CRTFileStream final : public IFX_FileStream {
public:
CFX_CRTFileStream(IFXCRT_FileAccess* pFA) : m_pFile(pFA), m_dwCount(1) {}
diff --git a/core/src/fxcrt/fx_basic_buffer.cpp b/core/src/fxcrt/fx_basic_buffer.cpp
index 1178331283..77af01202b 100644
--- a/core/src/fxcrt/fx_basic_buffer.cpp
+++ b/core/src/fxcrt/fx_basic_buffer.cpp
@@ -207,6 +207,7 @@ CFX_WideStringC CFX_WideTextBuf::GetWideString() const {
return CFX_WideStringC((const FX_WCHAR*)m_pBuffer,
m_DataSize / sizeof(FX_WCHAR));
}
+#ifdef PDF_ENABLE_XFA
CFX_ArchiveSaver& CFX_ArchiveSaver::operator<<(uint8_t i) {
if (m_pStream) {
m_pStream->WriteBlock(&i, 1);
@@ -331,6 +332,7 @@ FX_BOOL CFX_ArchiveLoader::Read(void* pBuf, FX_DWORD dwSize) {
m_LoadingPos += dwSize;
return TRUE;
}
+#endif
void CFX_BitStream::Init(const uint8_t* pData, FX_DWORD dwSize) {
m_pData = pData;
m_BitSize = dwSize * 8;
diff --git a/core/src/fxcrt/fx_extension.cpp b/core/src/fxcrt/fx_extension.cpp
index 3761192a8d..c796a57102 100644
--- a/core/src/fxcrt/fx_extension.cpp
+++ b/core/src/fxcrt/fx_extension.cpp
@@ -14,6 +14,7 @@
#include <ctime>
#endif
+#ifdef PDF_ENABLE_XFA
IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) {
if (wsPath.GetLength() == 0)
return NULL;
@@ -26,6 +27,7 @@ IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) {
pFA->Init(wsPath);
return pFA;
}
+#endif
IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, FX_DWORD dwModes) {
IFXCRT_FileAccess* pFA = FXCRT_FileAccess_Create();
if (!pFA) {
@@ -303,6 +305,7 @@ void FX_Random_GenerateCrypto(FX_DWORD* pBuffer, int32_t iCount) {
FX_Random_GenerateBase(pBuffer, iCount);
#endif
}
+#ifdef PDF_ENABLE_XFA
void FX_GUID_CreateV4(FX_LPGUID pGUID) {
#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN32_MOBILE_ || \
@@ -336,3 +339,4 @@ void FX_GUID_ToString(FX_LPCGUID pGUID,
}
bsStr.ReleaseBuffer(bSeparator ? 36 : 32);
}
+#endif
diff --git a/core/src/fxcrt/fx_unicode.cpp b/core/src/fxcrt/fx_unicode.cpp
index 2e86aec64c..fe97a14f46 100644
--- a/core/src/fxcrt/fx_unicode.cpp
+++ b/core/src/fxcrt/fx_unicode.cpp
@@ -13,11 +13,13 @@ FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch) {
return 0;
}
+#ifdef PDF_ENABLE_XFA
FX_BOOL FX_IsCtrlCode(FX_WCHAR ch) {
FX_DWORD dwRet = (FX_GetUnicodeProperties(ch) & FX_CHARTYPEBITSMASK);
return dwRet == FX_CHARTYPE_Tab || dwRet == FX_CHARTYPE_Control;
}
+#endif
FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) {
FX_DWORD dwProps = FX_GetUnicodeProperties(wch);
FX_DWORD dwTemp = (dwProps & 0xFF800000);
@@ -38,6 +40,7 @@ FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) {
}
return wch;
}
+#ifdef PDF_ENABLE_XFA
FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch,
FX_DWORD dwProps,
@@ -61,3 +64,4 @@ FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch,
}
return wch;
}
+#endif
diff --git a/core/src/fxge/dib/fx_dib_convert.cpp b/core/src/fxge/dib/fx_dib_convert.cpp
index 6a01c1f10d..80483f07d3 100644
--- a/core/src/fxge/dib/fx_dib_convert.cpp
+++ b/core/src/fxge/dib/fx_dib_convert.cpp
@@ -617,10 +617,12 @@ FX_BOOL _ConvertBuffer_Rgb2PltRgb8(uint8_t* dest_buf,
int src_top,
FX_DWORD* dst_plt,
void* pIccTransform) {
+#ifdef PDF_ENABLE_XFA
ICodec_IccModule* pIccModule = NULL;
if (pIccTransform) {
pIccModule = CFX_GEModule::Get()->GetCodecModule()->GetIccModule();
}
+#endif
FX_BOOL ret = _ConvertBuffer_Rgb2PltRgb8_NoTransform(
dest_buf, dest_pitch, width, height, pSrcBitmap, src_left, src_top,
dst_plt);
diff --git a/core/src/fxge/ge/fx_ge_font.cpp b/core/src/fxge/ge/fx_ge_font.cpp
index e02d46ffad..ffd7b77fb4 100644
--- a/core/src/fxge/ge/fx_ge_font.cpp
+++ b/core/src/fxge/ge/fx_ge_font.cpp
@@ -10,12 +10,15 @@
#define EM_ADJUST(em, a) (em == 0 ? (a) : (a)*1000 / em)
+#ifdef PDF_ENABLE_XFA
extern void _FPDFAPI_GetInternalFontData(int id1,
const uint8_t*& data,
FX_DWORD& size);
+#endif
namespace {
+#ifdef PDF_ENABLE_XFA
const FX_DWORD g_EncodingID[] = {
FXFM_ENCODING_MS_SYMBOL,
FXFM_ENCODING_UNICODE,
@@ -39,6 +42,7 @@ CFX_UnicodeEncodingEx* _FXFM_CreateFontEncoding(CFX_Font* pFont,
return new CFX_UnicodeEncodingEx(pFont, nEncodingID);
}
+#endif
FXFT_Face FT_LoadFont(const uint8_t* pData, int size) {
return CFX_GEModule::Get()->GetFontMgr()->GetFixedFace(pData, size, 0);
}
@@ -53,13 +57,16 @@ CFX_Font::CFX_Font() {
m_pFontData = NULL;
m_pFontDataAllocation = NULL;
m_dwSize = 0;
+#ifdef PDF_ENABLE_XFA
m_pOwnedStream = NULL;
+#endif
m_pGsubData = NULL;
m_pPlatformFont = NULL;
m_pPlatformFontCollection = NULL;
m_pDwFont = NULL;
m_hHandle = NULL;
m_bDwLoaded = FALSE;
+#ifdef PDF_ENABLE_XFA
m_bLogic = FALSE;
}
FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) {
@@ -93,23 +100,36 @@ FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) {
m_bDwLoaded = pFont->m_bDwLoaded;
m_pOwnedStream = pFont->m_pOwnedStream;
return TRUE;
+#endif
}
CFX_Font::~CFX_Font() {
delete m_pSubstFont;
m_pSubstFont = NULL;
+#ifndef PDF_ENABLE_XFA
+ FX_Free(m_pFontDataAllocation);
+ m_pFontDataAllocation = NULL;
+#else
if (m_bLogic) {
m_OtfFontData.DetachBuffer();
return;
}
+#endif
if (m_Face) {
+#ifndef PDF_ENABLE_XFA
+ if (FXFT_Get_Face_External_Stream(m_Face)) {
+ FXFT_Clear_Face_External_Stream(m_Face);
+ }
+#endif
if (m_bEmbedded) {
DeleteFace();
} else {
CFX_GEModule::Get()->GetFontMgr()->ReleaseFace(m_Face);
}
}
+#ifdef PDF_ENABLE_XFA
FX_Free(m_pOwnedStream);
m_pOwnedStream = NULL;
+#endif
FX_Free(m_pGsubData);
m_pGsubData = NULL;
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
@@ -144,6 +164,7 @@ void CFX_Font::LoadSubst(const CFX_ByteString& face_name,
m_dwSize = FXFT_Get_Face_Stream_Size(m_Face);
}
}
+#ifdef PDF_ENABLE_XFA
extern "C" {
unsigned long _FTStreamRead(FXFT_Stream stream,
unsigned long offset,
@@ -205,6 +226,7 @@ FX_BOOL CFX_Font::LoadFile(IFX_FileRead* pFile,
FXFT_Set_Pixel_Sizes(m_Face, 0, 64);
return TRUE;
}
+#endif
int CFX_Font::GetGlyphWidth(FX_DWORD glyph_index) {
if (!m_Face) {
@@ -460,6 +482,7 @@ FX_DWORD CFX_UnicodeEncoding::GlyphFromCharCode(FX_DWORD charcode) {
}
return charcode;
}
+#ifdef PDF_ENABLE_XFA
CFX_UnicodeEncodingEx::CFX_UnicodeEncodingEx(CFX_Font* pFont,
FX_DWORD EncodingID)
@@ -532,3 +555,4 @@ CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(CFX_Font* pFont,
}
return NULL;
}
+#endif
diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp
index c41f448e89..6b0d7bf7e8 100644
--- a/core/src/fxge/ge/fx_ge_fontmap.cpp
+++ b/core/src/fxge/ge/fx_ge_fontmap.cpp
@@ -1083,9 +1083,11 @@ FXFT_Face CFX_FontMapper::FindSubstFont(const CFX_ByteString& name,
pSubstFont->m_SubstFlags |= FXFONT_SUBST_EXACT;
}
if (hFont == NULL) {
+#ifdef PDF_ENABLE_XFA
if (flags & FXFONT_EXACTMATCH) {
return NULL;
}
+#endif
if (bCJK) {
if (italic_angle != 0) {
bItalic = TRUE;
@@ -1211,6 +1213,7 @@ FXFT_Face CFX_FontMapper::FindSubstFont(const CFX_ByteString& name,
m_pFontInfo->DeleteFont(hFont);
return face;
}
+#ifdef PDF_ENABLE_XFA
FXFT_Face CFX_FontMapper::FindSubstFontByUnicode(FX_DWORD dwUnicode,
FX_DWORD flags,
int weight,
@@ -1293,6 +1296,7 @@ FX_BOOL CFX_FontMapper::IsBuiltinFace(const FXFT_Face face) const {
}
return FALSE;
}
+#endif
extern "C" {
unsigned long _FTStreamRead(FXFT_Stream stream,
unsigned long offset,
@@ -1514,12 +1518,14 @@ void* CFX_FolderFontInfo::MapFont(int weight,
int& iExact) {
return NULL;
}
+#ifdef PDF_ENABLE_XFA
void* CFX_FolderFontInfo::MapFontByUnicode(FX_DWORD dwUnicode,
int weight,
FX_BOOL bItalic,
int pitch_family) {
return NULL;
}
+#endif
void* CFX_FolderFontInfo::GetFont(const FX_CHAR* face) {
auto it = m_FontList.find(face);
return it != m_FontList.end() ? it->second : nullptr;