summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-07-14 17:06:23 -0700
committerTom Sepez <tsepez@chromium.org>2015-07-14 17:06:23 -0700
commit759247991b5f1df71335294e6bfe3e3fe7aec7b4 (patch)
tree3de1b72b34c3eae83f4b9fa58e978a643ff0bf6a /core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
parentdacc22cdfea727a04bce086d9bfec9a4d1a29bd4 (diff)
downloadpdfium-759247991b5f1df71335294e6bfe3e3fe7aec7b4.tar.xz
Move extern cmap declarations from .cpp files into new .h files.
That way, the compiler can check them against the definitions rather than just relying on the linker to line things up. Make the types of the declarations and definitions match exactly, instead of being synonym typedefs of each other. Fix some IWYU and use FX_ArraySize where possible. BUG=https://code.google.com/p/pdfium/issues/detail?id=178 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1221503005 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp20
1 files changed, 5 insertions, 15 deletions
diff --git a/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp b/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
index e4f296135a..26d4cd6358 100644
--- a/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
+++ b/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
@@ -6,22 +6,11 @@
#include "../../../../include/fpdfapi/fpdf_resource.h"
#include "../../../../include/fpdfapi/fpdf_module.h"
+#include "../../../../include/fxcrt/fx_basic.h" // For FX_ArraySize().
#include "../../fpdf_font/font_int.h"
#include "../cmap_int.h"
-extern const FX_WORD g_FXCMAP_GB_EUC_H_0[];
-extern const FX_WORD g_FXCMAP_GB_EUC_V_0[];
-extern const FX_WORD g_FXCMAP_GBpc_EUC_H_0[];
-extern const FX_WORD g_FXCMAP_GBpc_EUC_V_0[];
-extern const FX_WORD g_FXCMAP_GBK_EUC_H_2[];
-extern const FX_WORD g_FXCMAP_GBK_EUC_V_2[];
-extern const FX_WORD g_FXCMAP_GBKp_EUC_H_2[];
-extern const FX_WORD g_FXCMAP_GBKp_EUC_V_2[];
-extern const FX_WORD g_FXCMAP_GBK2K_H_5[];
-extern const FX_WORD g_FXCMAP_GBK2K_H_5_DWord[];
-extern const FX_WORD g_FXCMAP_GBK2K_V_5[];
-extern const FX_WORD g_FXCMAP_UniGB_UCS2_H_4[];
-extern const FX_WORD g_FXCMAP_UniGB_UCS2_V_4[];
-extern const FX_WORD g_FXCMAP_GB1CID2Unicode_5[];
+#include "cmaps_gb1.h"
+
static const FXCMAP_CMap g_FXCMAP_GB1_cmaps[] = {
{ "GB-EUC-H", FXCMAP_CMap::Range, g_FXCMAP_GB_EUC_H_0, 90, FXCMAP_CMap::None, NULL, 0, 0 },
{ "GB-EUC-V", FXCMAP_CMap::Range, g_FXCMAP_GB_EUC_V_0, 20, FXCMAP_CMap::None, NULL, 0, -1 },
@@ -38,11 +27,12 @@ static const FXCMAP_CMap g_FXCMAP_GB1_cmaps[] = {
{ "UniGB-UTF16-H", FXCMAP_CMap::Range, g_FXCMAP_UniGB_UCS2_H_4, 13825, FXCMAP_CMap::None, NULL, 0, 0 },
{ "UniGB-UTF16-V", FXCMAP_CMap::Range, g_FXCMAP_UniGB_UCS2_V_4, 24, FXCMAP_CMap::None, NULL, 0, -1 },
};
+
void CPDF_ModuleMgr::LoadEmbeddedGB1CMaps()
{
CPDF_FontGlobals* pFontGlobals = CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
pFontGlobals->m_EmbeddedCharsets[CIDSET_GB1].m_pMapList = g_FXCMAP_GB1_cmaps;
- pFontGlobals->m_EmbeddedCharsets[CIDSET_GB1].m_Count = sizeof g_FXCMAP_GB1_cmaps / sizeof (FXCMAP_CMap);
+ pFontGlobals->m_EmbeddedCharsets[CIDSET_GB1].m_Count = FX_ArraySize(g_FXCMAP_GB1_cmaps);
pFontGlobals->m_EmbeddedToUnicodes[CIDSET_GB1].m_pMap = g_FXCMAP_GB1CID2Unicode_5;
pFontGlobals->m_EmbeddedToUnicodes[CIDSET_GB1].m_Count = 30284;
}