Move extern cmap declarations from .cpp files into new .h files.
authorTom Sepez <tsepez@chromium.org>
Wed, 15 Jul 2015 00:06:23 +0000 (17:06 -0700)
committerTom Sepez <tsepez@chromium.org>
Wed, 15 Jul 2015 00:06:23 +0000 (17:06 -0700)
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 .

68 files changed:
core/src/fpdfapi/fpdf_cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-H_5.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-V_5.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-H_3.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-V_3.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UTF16-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.h [new file with mode: 0644]
core/src/fpdfapi/fpdf_cmaps/GB1/Adobe-GB1-UCS2_5.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-H_2.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-V_2.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-H_5.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-V_5.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-H_2.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-V_2.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-H_4.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-V_4.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.h [new file with mode: 0644]
core/src/fpdfapi/fpdf_cmaps/Japan1/83pv-RKSJ-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-H_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-V_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-H_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-V_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/90pv-RKSJ-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-H_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-V_2.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-V_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-H_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-V_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-H_5.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-V_5.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.h [new file with mode: 0644]
core/src/fpdfapi/fpdf_cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSC-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSC-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-HW-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-HW-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCpc-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UCS2-H_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UCS2-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UTF16-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.h [new file with mode: 0644]
core/src/fpdfapi/fpdf_cmaps/cmap_int.h

index 37308de..11bcc14 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_CNS1CID2Unicode_5[19088] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_CNS1CID2Unicode_5[19088] = {
     0xFFFD, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026,
     0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E,
     0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036,
index 6ab5b8d..8bf8808 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_B5pc_H_0[247 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_B5pc_H_0[247 * 3] = {
     0x0020, 0x007E, 0x0001, 0x0080, 0x0080, 0x003D, 0x00FD, 0x00FF, 0x0060,
     0xA140, 0xA158, 0x0063, 0xA159, 0xA15C, 0x35AF, 0xA15D, 0xA17E, 0x0080,
     0xA1A1, 0xA1F5, 0x00A2, 0xA1F6, 0xA1F6, 0x00F8, 0xA1F7, 0xA1F7, 0x00F7,
index 79df22e..4d68437 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_B5pc_V_0[12 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_B5pc_V_0[12 * 3] = {
     0xA14B, 0xA14B, 0x354E, 0xA15A, 0xA15A, 0x35AF, 0xA15C, 0xA15C, 0x35B1,
     0xA15D, 0xA15E, 0x0082, 0xA161, 0xA162, 0x0086, 0xA165, 0xA166, 0x008A,
     0xA169, 0xA16A, 0x008E, 0xA16D, 0xA16E, 0x0092, 0xA171, 0xA172, 0x0096,
index 28d8980..723095b 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_CNS_EUC_H_0[157 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_CNS_EUC_H_0[157 * 3] = {
     0x0020, 0x007E, 0x3550, 0xA1A1, 0xA1FE, 0x0063, 0xA2A1, 0xA2FE, 0x00C1,
     0xA3A1, 0xA3CE, 0x011F, 0xA4A1, 0xA4FE, 0x014D, 0xA5A1, 0xA5EC, 0x01AB,
     0xA5EE, 0xA5F0, 0x01F7, 0xA6A1, 0xA6BE, 0x01FA, 0xA7A1, 0xA7A1, 0x0253,
@@ -59,7 +61,8 @@ extern const unsigned short g_FXCMAP_CNS_EUC_H_0[157 * 3] = {
     0xFAA1, 0xFAFE, 0x1627, 0xFBA1, 0xFBFE, 0x1685, 0xFCA1, 0xFCFE, 0x16E3,
     0xFDA1, 0xFDCB, 0x1741,
 };
-extern const unsigned short g_FXCMAP_CNS_EUC_H_0_DWord[238 * 4] = {
+
+const FX_WORD g_FXCMAP_CNS_EUC_H_0_DWord[238 * 4] = {
     0x8EA1, 0xA1A1, 0xA1FE, 0x0063, 0x8EA1, 0xA2A1, 0xA2FE, 0x00C1,
     0x8EA1, 0xA3A1, 0xA3CE, 0x011F, 0x8EA1, 0xA4A1, 0xA4FE, 0x014D,
     0x8EA1, 0xA5A1, 0xA5EC, 0x01AB, 0x8EA1, 0xA5EE, 0xA5F0, 0x01F7,
index 5947425..858ed5d 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_CNS_EUC_V_0[180 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_CNS_EUC_V_0[180 * 3] = {
     0x0020, 0x007E, 0x3550, 0xA1A1, 0xA1AB, 0x0063, 0xA1AC, 0xA1AC, 0x354E,
     0xA1AD, 0xA1BA, 0x006F, 0xA1BB, 0xA1BB, 0x007C, 0xA1BC, 0xA1BC, 0x007E,
     0xA1BD, 0xA1BD, 0x007E, 0xA1BE, 0xA1BF, 0x0082, 0xA1C0, 0xA1C1, 0x0082,
@@ -66,7 +68,8 @@ extern const unsigned short g_FXCMAP_CNS_EUC_V_0[180 * 3] = {
     0xF8A1, 0xF8FE, 0x156B, 0xF9A1, 0xF9FE, 0x15C9, 0xFAA1, 0xFAFE, 0x1627,
     0xFBA1, 0xFBFE, 0x1685, 0xFCA1, 0xFCFE, 0x16E3, 0xFDA1, 0xFDCB, 0x1741,
 };
-extern const unsigned short g_FXCMAP_CNS_EUC_V_0_DWord[261 * 4] = {
+
+const FX_WORD g_FXCMAP_CNS_EUC_V_0_DWord[261 * 4] = {
     0x8EA1, 0xA1A1, 0xA1AB, 0x0063, 0x8EA1, 0xA1AC, 0xA1AC, 0x354E,
     0x8EA1, 0xA1AD, 0xA1BA, 0x006F, 0x8EA1, 0xA1BB, 0xA1BB, 0x007C,
     0x8EA1, 0xA1BC, 0xA1BC, 0x007E, 0x8EA1, 0xA1BD, 0xA1BD, 0x007E,
index 899579c..d672120 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_ETen_B5_H_0[254 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_ETen_B5_H_0[254 * 3] = {
     0x0020, 0x007E, 0x3550, 0xA140, 0xA158, 0x0063, 0xA159, 0xA15C, 0x35AF,
     0xA15D, 0xA17E, 0x0080, 0xA1A1, 0xA1F5, 0x00A2, 0xA1F6, 0xA1F6, 0x00F8,
     0xA1F7, 0xA1F7, 0x00F7, 0xA1F8, 0xA1FE, 0x00F9, 0xA240, 0xA27E, 0x0100,
index c04cf89..eb1f19c 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_ETen_B5_V_0[13 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_ETen_B5_V_0[13 * 3] = {
     0xA14B, 0xA14B, 0x354E, 0xA15A, 0xA15A, 0x35AF, 0xA15C, 0xA15C, 0x35B1,
     0xA15D, 0xA15E, 0x0082, 0xA161, 0xA162, 0x0086, 0xA165, 0xA166, 0x008A,
     0xA169, 0xA16A, 0x008E, 0xA16D, 0xA16E, 0x0092, 0xA171, 0xA172, 0x0096,
index 26591ee..4d2c92f 100644 (file)
@@ -4,6 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_ETenms_B5_H_0[1 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_ETenms_B5_H_0[1 * 3] = {
     0x0020, 0x007E, 0x0001,
 };
index 996dbd8..80641e7 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_ETenms_B5_V_0[18 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_ETenms_B5_V_0[18 * 3] = {
     0xA14B, 0xA14B, 0x354E, 0xA14C, 0xA14C, 0x006D, 0xA156, 0xA156, 0x0138,
     0xA158, 0xA158, 0x007A, 0xA15A, 0xA15A, 0x35AF, 0xA15C, 0xA15C, 0x35B1,
     0xA15D, 0xA15E, 0x0082, 0xA161, 0xA162, 0x0086, 0xA165, 0xA166, 0x008A,
index cdd4005..fc13b86 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_HKscs_B5_H_5[1210 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_HKscs_B5_H_5[1210 * 3] = {
     0x0020, 0x007E, 0x0001, 0x8740, 0x8765, 0x4A15, 0x8767, 0x8779, 0x4A3B,
     0x8840, 0x8855, 0x44C9, 0x8856, 0x887E, 0x4961, 0x88A1, 0x88A8, 0x498A,
     0x88A9, 0x88AA, 0x499C, 0x8940, 0x8941, 0x4534, 0x8943, 0x8943, 0x4536,
index e6ab946..c6ffe71 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_HKscs_B5_V_5[13 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_HKscs_B5_V_5[13 * 3] = {
     0xA14B, 0xA14B, 0x354E, 0xA15A, 0xA15A, 0x35AF, 0xA15C, 0xA15C, 0x35B1,
     0xA15D, 0xA15E, 0x0082, 0xA161, 0xA162, 0x0086, 0xA165, 0xA166, 0x008A,
     0xA169, 0xA16A, 0x008E, 0xA16D, 0xA16E, 0x0092, 0xA171, 0xA172, 0x0096,
index 4530665..65537ac 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniCNS_UCS2_H_3[16418 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_UniCNS_UCS2_H_3[16418 * 3] = {
     0x0020, 0x007E, 0x0001, 0x00A2, 0x00A3, 0x0106, 0x00A5, 0x00A5, 0x0104,
     0x00A7, 0x00A7, 0x00B2, 0x00A8, 0x00A8, 0x35B3, 0x00AC, 0x00AC, 0x36E1,
     0x00B0, 0x00B0, 0x0118, 0x00B1, 0x00B1, 0x00D4, 0x00B7, 0x00B7, 0x0073,
index db65b3f..f45d064 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniCNS_UCS2_V_3[13 * 3] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_UniCNS_UCS2_V_3[13 * 3] = {
     0x2013, 0x2013, 0x0078, 0x2014, 0x2014, 0x007A, 0x2025, 0x2025, 0x006D,
     0x3008, 0x3009, 0x0096, 0x300A, 0x300B, 0x0092, 0x300C, 0x300D, 0x009A,
     0x300E, 0x300F, 0x009E, 0x3010, 0x3011, 0x008E, 0x3014, 0x3015, 0x008A,
index bb99320..86ba7dc 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniCNS_UTF16_H_0[14557 * 2] = {
+#include "cmaps_cns1.h"
+
+const FX_WORD g_FXCMAP_UniCNS_UTF16_H_0[14557 * 2] = {
     0x0020, 0x0001, 0x0021, 0x0002, 0x0022, 0x0003, 0x0023, 0x0004,
     0x0024, 0x0005, 0x0025, 0x0006, 0x0026, 0x0007, 0x0027, 0x0008,
     0x0028, 0x0009, 0x0029, 0x000A, 0x002A, 0x000B, 0x002B, 0x000C,
@@ -3646,6 +3648,7 @@ extern const unsigned short g_FXCMAP_UniCNS_UTF16_H_0[14557 * 2] = {
     0xFFE1, 0x0107, 0xFFE2, 0x36E1, 0xFFE3, 0x00C4, 0xFFE4, 0x36E2,
     0xFFE5, 0x0104,
 };
-extern const unsigned short g_FXCMAP_UniCNS_UTF16_H_0_DWord[3 * 3] = {
+
+const FX_WORD g_FXCMAP_UniCNS_UTF16_H_0_DWord[3 * 3] = {
     0xD840, 0xDC8A, 0x36B2, 0xD840, 0xDCCC, 0x36B0, 0xD85D, 0xDE07, 0x36B8,
 };
index f754964..15d3a83 100644 (file)
@@ -6,25 +6,12 @@
 
 #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_B5pc_H_0[];
-extern const FX_WORD g_FXCMAP_B5pc_V_0[];
-extern const FX_WORD g_FXCMAP_HKscs_B5_H_5[];
-extern const FX_WORD g_FXCMAP_HKscs_B5_V_5[];
-extern const FX_WORD g_FXCMAP_ETen_B5_H_0[];
-extern const FX_WORD g_FXCMAP_ETen_B5_V_0[];
-extern const FX_WORD g_FXCMAP_ETenms_B5_H_0[];
-extern const FX_WORD g_FXCMAP_ETenms_B5_V_0[];
-extern const FX_WORD g_FXCMAP_CNS_EUC_H_0[];
-extern const FX_WORD g_FXCMAP_CNS_EUC_H_0_DWord[];
-extern const FX_WORD g_FXCMAP_CNS_EUC_V_0[];
-extern const FX_WORD g_FXCMAP_CNS_EUC_V_0_DWord[];
-extern const FX_WORD g_FXCMAP_UniCNS_UCS2_H_3[];
-extern const FX_WORD g_FXCMAP_UniCNS_UCS2_V_3[];
-extern const FX_WORD g_FXCMAP_UniCNS_UTF16_H_0[];
-extern const FX_WORD g_FXCMAP_CNS1CID2Unicode_5[];
-const FXCMAP_CMap g_FXCMAP_CNS1_cmaps[] = {
+#include "cmaps_cns1.h"
+
+static const FXCMAP_CMap g_FXCMAP_CNS1_cmaps[] = {
     { "B5pc-H", FXCMAP_CMap::Range, g_FXCMAP_B5pc_H_0, 247, FXCMAP_CMap::None, NULL, 0, 0 },
     { "B5pc-V", FXCMAP_CMap::Range, g_FXCMAP_B5pc_V_0, 12, FXCMAP_CMap::None, NULL, 0, -1 },
     { "HKscs-B5-H", FXCMAP_CMap::Range, g_FXCMAP_HKscs_B5_H_5, 1210, FXCMAP_CMap::None, NULL, 0, 0 },
@@ -40,11 +27,12 @@ const FXCMAP_CMap g_FXCMAP_CNS1_cmaps[] = {
     { "UniCNS-UTF16-H", FXCMAP_CMap::Single, g_FXCMAP_UniCNS_UTF16_H_0, 14557, FXCMAP_CMap::None, NULL, 0, 0 },
     { "UniCNS-UTF16-V", FXCMAP_CMap::Range, g_FXCMAP_UniCNS_UCS2_V_3, 13, FXCMAP_CMap::None, NULL, 0, -1 },
 };
+
 void CPDF_ModuleMgr::LoadEmbeddedCNS1CMaps()
 {
     CPDF_FontGlobals* pFontGlobals = CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
     pFontGlobals->m_EmbeddedCharsets[CIDSET_CNS1].m_pMapList = g_FXCMAP_CNS1_cmaps;
-    pFontGlobals->m_EmbeddedCharsets[CIDSET_CNS1].m_Count = sizeof g_FXCMAP_CNS1_cmaps / sizeof (FXCMAP_CMap);
+    pFontGlobals->m_EmbeddedCharsets[CIDSET_CNS1].m_Count = FX_ArraySize(g_FXCMAP_CNS1_cmaps);
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_CNS1].m_pMap = g_FXCMAP_CNS1CID2Unicode_5;
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_CNS1].m_Count = 19088;
 }
diff --git a/core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.h b/core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.h
new file mode 100644 (file)
index 0000000..93cfd2d
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_
+#define CORE_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_
+
+#include "../../../../include/fxcrt/fx_system.h"  // For FX_WORD.
+
+extern const FX_WORD g_FXCMAP_B5pc_H_0[];
+extern const FX_WORD g_FXCMAP_B5pc_V_0[];
+extern const FX_WORD g_FXCMAP_HKscs_B5_H_5[];
+extern const FX_WORD g_FXCMAP_HKscs_B5_V_5[];
+extern const FX_WORD g_FXCMAP_ETen_B5_H_0[];
+extern const FX_WORD g_FXCMAP_ETen_B5_V_0[];
+extern const FX_WORD g_FXCMAP_ETenms_B5_H_0[];
+extern const FX_WORD g_FXCMAP_ETenms_B5_V_0[];
+extern const FX_WORD g_FXCMAP_CNS_EUC_H_0[];
+extern const FX_WORD g_FXCMAP_CNS_EUC_H_0_DWord[];
+extern const FX_WORD g_FXCMAP_CNS_EUC_V_0[];
+extern const FX_WORD g_FXCMAP_CNS_EUC_V_0_DWord[];
+extern const FX_WORD g_FXCMAP_UniCNS_UCS2_H_3[];
+extern const FX_WORD g_FXCMAP_UniCNS_UCS2_V_3[];
+extern const FX_WORD g_FXCMAP_UniCNS_UTF16_H_0[];
+extern const FX_WORD g_FXCMAP_CNS1CID2Unicode_5[];
+
+#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_
index 490806a..92cec8f 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GB1CID2Unicode_5[30284] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GB1CID2Unicode_5[30284] = {
     0xFFFD, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026,
     0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E,
     0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036,
index 3e3c728..8e90611 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GB_EUC_H_0[90 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GB_EUC_H_0[90 * 3] = {
     0x0020, 0x0020, 0x1E24, 0x0021, 0x007E, 0x032E, 0xA1A1, 0xA1FE, 0x0060,
     0xA2B1, 0xA2E2, 0x00BE, 0xA2E5, 0xA2EE, 0x00F0, 0xA2F1, 0xA2FC, 0x00FA,
     0xA3A1, 0xA3FE, 0x0106, 0xA4A1, 0xA4F3, 0x0164, 0xA5A1, 0xA5F6, 0x01B7,
index 316b7f2..d020dc8 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GB_EUC_V_0[20 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GB_EUC_V_0[20 * 3] = {
     0xA1A2, 0xA1A2, 0x023F, 0xA1A3, 0xA1A3, 0x023E, 0xA1AA, 0xA1AA, 0x0256,
     0xA1AB, 0xA1AC, 0x1E18, 0xA1AD, 0xA1AD, 0x0257, 0xA1B2, 0xA1BF, 0x0246,
     0xA1FE, 0xA1FE, 0x1E1A, 0xA3A1, 0xA3A1, 0x0242, 0xA3A8, 0xA3A9, 0x0244,
index 12fb1d7..0e26a8f 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBK_EUC_H_2[4071 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBK_EUC_H_2[4071 * 3] = {
     0x0020, 0x0020, 0x1E24, 0x0021, 0x007E, 0x032E, 0x8140, 0x8178, 0x2758,
     0x8179, 0x8179, 0x2059, 0x817A, 0x817E, 0x2791, 0x8180, 0x8185, 0x2796,
     0x8186, 0x8186, 0x21F1, 0x8187, 0x81EC, 0x279C, 0x81ED, 0x81ED, 0x1FF2,
index 2ab2f68..336ab39 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBK_EUC_V_2[20 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBK_EUC_V_2[20 * 3] = {
     0xA1A2, 0xA1A2, 0x023F, 0xA1A3, 0xA1A3, 0x023E, 0xA1AA, 0xA1AA, 0x0256,
     0xA1AB, 0xA1AC, 0x1E18, 0xA1AD, 0xA1AD, 0x0257, 0xA1B2, 0xA1BF, 0x0246,
     0xA1FE, 0xA1FE, 0x1E1A, 0xA3A1, 0xA3A1, 0x0242, 0xA3A8, 0xA3A9, 0x0244,
index 0e16d54..01555a6 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBK2K_H_5[4071 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBK2K_H_5[4071 * 3] = {
     0x0020, 0x007E, 0x0001, 0x8140, 0x8178, 0x2758, 0x8179, 0x8179, 0x2059,
     0x817A, 0x817E, 0x2791, 0x8180, 0x8185, 0x2796, 0x8186, 0x8186, 0x21F1,
     0x8187, 0x81EC, 0x279C, 0x81ED, 0x81ED, 0x1FF2, 0x81EE, 0x81F5, 0x2802,
@@ -1363,7 +1365,8 @@ extern const unsigned short g_FXCMAP_GBK2K_H_5[4071 * 3] = {
     0xFD9E, 0xFD9E, 0x40D3, 0xFD9F, 0xFD9F, 0x200C, 0xFDA0, 0xFDA0, 0x5083,
     0xFE40, 0xFE40, 0x1259, 0xFE41, 0xFE7E, 0x5610, 0xFE80, 0xFEA0, 0x564E,
 };
-extern const unsigned short g_FXCMAP_GBK2K_H_5_DWord[1017 * 4] = {
+
+const FX_WORD g_FXCMAP_GBK2K_H_5_DWord[1017 * 4] = {
     0x8130, 0x8436, 0x8436, 0x5752, 0x8138, 0xFD38, 0xFD39, 0x579C, 0x8138, 0xFE30, 0xFE39, 0x579E,
     0x8139, 0x8130, 0x8137, 0x57A8, 0x8139, 0x8139, 0x8139, 0x57B0, 0x8139, 0x8230, 0x8239, 0x57B1,
     0x8139, 0x8330, 0x8339, 0x57BB, 0x8139, 0x8430, 0x8439, 0x57C5, 0x8139, 0x8530, 0x8539, 0x57CF,
index 1124bcf..833cf2f 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBK2K_V_5[41 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBK2K_V_5[41 * 3] = {
     0xA1A2, 0xA1A2, 0x023F, 0xA1A3, 0xA1A3, 0x023E, 0xA1AA, 0xA1AA, 0x0256,
     0xA1AB, 0xA1AC, 0x1E18, 0xA1AD, 0xA1AD, 0x0257, 0xA1B2, 0xA1BF, 0x0246,
     0xA1FE, 0xA1FE, 0x1E1A, 0xA3A1, 0xA3A1, 0x0242, 0xA3A8, 0xA3A9, 0x0244,
index 46ea873..b905785 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBKp_EUC_H_2[4070 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBKp_EUC_H_2[4070 * 3] = {
     0x0020, 0x007E, 0x0001, 0x8140, 0x8178, 0x2758, 0x8179, 0x8179, 0x2059,
     0x817A, 0x817E, 0x2791, 0x8180, 0x8185, 0x2796, 0x8186, 0x8186, 0x21F1,
     0x8187, 0x81EC, 0x279C, 0x81ED, 0x81ED, 0x1FF2, 0x81EE, 0x81F5, 0x2802,
index 4564fec..53772dc 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBKp_EUC_V_2[20 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBKp_EUC_V_2[20 * 3] = {
     0xA1A2, 0xA1A2, 0x023F, 0xA1A3, 0xA1A3, 0x023E, 0xA1AA, 0xA1AA, 0x0256,
     0xA1AB, 0xA1AC, 0x1E18, 0xA1AD, 0xA1AD, 0x0257, 0xA1B2, 0xA1BF, 0x0246,
     0xA1FE, 0xA1FE, 0x1E1A, 0xA3A1, 0xA3A1, 0x0242, 0xA3A8, 0xA3A9, 0x0244,
index 58f6d24..2f4f15a 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBpc_EUC_H_0[91 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBpc_EUC_H_0[91 * 3] = {
     0x0020, 0x007E, 0x0001, 0x0080, 0x0080, 0x1E20, 0x00FD, 0x00FF, 0x1E21,
     0xA1A1, 0xA1FE, 0x0060, 0xA2B1, 0xA2E2, 0x00BE, 0xA2E5, 0xA2EE, 0x00F0,
     0xA2F1, 0xA2FC, 0x00FA, 0xA3A1, 0xA3FE, 0x0106, 0xA4A1, 0xA4F3, 0x0164,
index f95ef62..fe44bf2 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_GBpc_EUC_V_0[20 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_GBpc_EUC_V_0[20 * 3] = {
     0xA1A2, 0xA1A2, 0x023F, 0xA1A3, 0xA1A3, 0x023E, 0xA1AA, 0xA1AA, 0x0256,
     0xA1AB, 0xA1AC, 0x1E18, 0xA1AD, 0xA1AD, 0x0257, 0xA1B2, 0xA1BF, 0x0246,
     0xA1FE, 0xA1FE, 0x1E1A, 0xA3A1, 0xA3A1, 0x0242, 0xA3A8, 0xA3A9, 0x0244,
index b216d88..c57e346 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniGB_UCS2_H_4[13825 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_UniGB_UCS2_H_4[13825 * 3] = {
     0x0020, 0x007E, 0x0001, 0x00A4, 0x00A4, 0x00A7, 0x00A5, 0x00A5, 0x5752,
     0x00A7, 0x00A7, 0x00AB, 0x00A8, 0x00A8, 0x0066, 0x00B0, 0x00B0, 0x00A2,
     0x00B1, 0x00B1, 0x007F, 0x00D7, 0x00D7, 0x0080, 0x00E0, 0x00E0, 0x029F,
index 6737a89..80fdc9e 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniGB_UCS2_V_4[24 * 3] = {
+#include "cmaps_gb1.h"
+
+const FX_WORD g_FXCMAP_UniGB_UCS2_V_4[24 * 3] = {
     0x2014, 0x2014, 0x0256, 0x2026, 0x2026, 0x0257, 0x2225, 0x2225, 0x1E1C,
     0x3001, 0x3001, 0x023F, 0x3002, 0x3002, 0x023E, 0x3008, 0x300F, 0x0248,
     0x3010, 0x3011, 0x0252, 0x3013, 0x3013, 0x1E1A, 0x3014, 0x3015, 0x0246,
index e4f2961..26d4cd6 100644 (file)
@@ -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;
 }
diff --git a/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.h b/core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.h
new file mode 100644 (file)
index 0000000..c74ed71
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_GB1_CMAPS_GB1_H_
+#define CORE_SRC_FPDFAPI_FPDF_CMAPS_GB1_CMAPS_GB1_H_
+
+#include "../../../../include/fxcrt/fx_system.h"  // For FX_WORD.
+
+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[];
+
+#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_GB1_CMAPS_GB1_H_
index 813cf78..605eec0 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_83pv_RKSJ_H_1[222 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_83pv_RKSJ_H_1[222 * 3] = {
     0x0020, 0x007E, 0x0001, 0x0080, 0x0080, 0x0061, 0x00A0, 0x00DF, 0x0146,
     0x00FD, 0x00FD, 0x0098, 0x00FE, 0x00FE, 0x00E4, 0x00FF, 0x00FF, 0x007C,
     0x8140, 0x817E, 0x0279, 0x8180, 0x81AC, 0x02B8, 0x81B8, 0x81BF, 0x02E5,
index 8c215f8..22d02b9 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_90ms_RKSJ_H_2[171 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_90ms_RKSJ_H_2[171 * 3] = {
     0x0020, 0x007D, 0x00E7, 0x007E, 0x007E, 0x0277, 0x00A0, 0x00DF, 0x0146,
     0x8140, 0x817E, 0x0279, 0x8180, 0x81AC, 0x02B8, 0x81B8, 0x81BF, 0x02E5,
     0x81C8, 0x81CE, 0x02ED, 0x81DA, 0x81E8, 0x02F4, 0x81F0, 0x81F7, 0x0303,
index d73c6ea..7710edb 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_90ms_RKSJ_V_2[78 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_90ms_RKSJ_V_2[78 * 3] = {
     0x8141, 0x8142, 0x1ECF, 0x8143, 0x8143, 0x204C, 0x8144, 0x8144, 0x2052,
     0x8150, 0x8151, 0x1ED1, 0x815B, 0x815D, 0x1ED3, 0x8160, 0x8164, 0x1ED6,
     0x8169, 0x817A, 0x1EDB, 0x8181, 0x8181, 0x1EED, 0x81A8, 0x81A8, 0x02E3,
index 1272064..2099aef 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_90msp_RKSJ_H_2[170 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_90msp_RKSJ_H_2[170 * 3] = {
     0x0020, 0x007E, 0x0001, 0x00A0, 0x00DF, 0x0146, 0x8140, 0x817E, 0x0279,
     0x8180, 0x81AC, 0x02B8, 0x81B8, 0x81BF, 0x02E5, 0x81C8, 0x81CE, 0x02ED,
     0x81DA, 0x81E8, 0x02F4, 0x81F0, 0x81F7, 0x0303, 0x81FC, 0x81FC, 0x030B,
index 548fc31..fad0e01 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_90msp_RKSJ_V_2[78 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_90msp_RKSJ_V_2[78 * 3] = {
     0x8141, 0x8142, 0x1ECF, 0x8143, 0x8143, 0x204C, 0x8144, 0x8144, 0x2052,
     0x8150, 0x8151, 0x1ED1, 0x815B, 0x815D, 0x1ED3, 0x8160, 0x8164, 0x1ED6,
     0x8169, 0x817A, 0x1EDB, 0x8181, 0x8181, 0x1EED, 0x81A8, 0x81A8, 0x02E3,
index 59cf01c..bd85e58 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_90pv_RKSJ_H_1[263 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_90pv_RKSJ_H_1[263 * 3] = {
     0x0020, 0x007E, 0x0001, 0x0080, 0x0080, 0x0061, 0x00A0, 0x00DF, 0x0146,
     0x00FD, 0x00FD, 0x0098, 0x00FE, 0x00FE, 0x00E4, 0x00FF, 0x00FF, 0x007C,
     0x8140, 0x817E, 0x0279, 0x8180, 0x81AC, 0x02B8, 0x81B8, 0x81BF, 0x02E5,
index 185a367..39d326c 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Add_RKSJ_H_1[635 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_Add_RKSJ_H_1[635 * 3] = {
     0x0020, 0x007E, 0x00E7, 0x00A0, 0x00DF, 0x0146, 0x8140, 0x817E, 0x0279,
     0x8180, 0x81AC, 0x02B8, 0x81B8, 0x81BF, 0x02E5, 0x81C8, 0x81CE, 0x02ED,
     0x81DA, 0x81E8, 0x02F4, 0x81F0, 0x81F7, 0x0303, 0x81FC, 0x81FC, 0x030B,
index 1377f95..ea97f38 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Add_RKSJ_V_1[57 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_Add_RKSJ_V_1[57 * 3] = {
     0x8141, 0x8142, 0x1ECF, 0x8143, 0x8143, 0x204C, 0x8144, 0x8144, 0x2052,
     0x8150, 0x8151, 0x1ED1, 0x815B, 0x815D, 0x1ED3, 0x8160, 0x8164, 0x1ED6,
     0x8165, 0x8165, 0x205A, 0x8166, 0x8166, 0x2053, 0x8167, 0x8167, 0x2058,
index 78212b9..94e2cd2 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Japan1CID2Unicode_4[15444] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_Japan1CID2Unicode_4[15444] = {
     0xFFFD, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026,
     0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E,
     0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036,
index de47bcd..f3b15d3 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_EUC_H_1[120 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_EUC_H_1[120 * 3] = {
     0x0020, 0x007E, 0x00E7, 0x8EA0, 0x8EDF, 0x0146, 0xA1A1, 0xA1FE, 0x0279,
     0xA2A1, 0xA2AE, 0x02D7, 0xA2BA, 0xA2C1, 0x02E5, 0xA2CA, 0xA2D0, 0x02ED,
     0xA2DC, 0xA2EA, 0x02F4, 0xA2F2, 0xA2F9, 0x0303, 0xA2FE, 0xA2FE, 0x030B,
index 9ff4036..d4004cd 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_EUC_V_1[27 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_EUC_V_1[27 * 3] = {
     0xA1A2, 0xA1A3, 0x1ECF, 0xA1B1, 0xA1B2, 0x1ED1, 0xA1BC, 0xA1BE, 0x1ED3,
     0xA1C1, 0xA1C5, 0x1ED6, 0xA1CA, 0xA1DB, 0x1EDB, 0xA1E1, 0xA1E1, 0x1EED,
     0xA4A1, 0xA4A1, 0x1EEE, 0xA4A3, 0xA4A3, 0x1EEF, 0xA4A5, 0xA4A5, 0x1EF0,
index 803787c..8506253 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Ext_RKSJ_H_2[665 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_Ext_RKSJ_H_2[665 * 3] = {
     0x0020, 0x007E, 0x00E7, 0x00A0, 0x00DF, 0x0146, 0x8140, 0x817E, 0x0279,
     0x8180, 0x8188, 0x02B8, 0x8189, 0x8189, 0x1D36, 0x818A, 0x81AC, 0x02C2,
     0x824F, 0x8258, 0x030C, 0x8260, 0x8279, 0x0316, 0x8281, 0x829A, 0x0330,
index fe41cf5..7de6f01 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Ext_RKSJ_V_2[39 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_Ext_RKSJ_V_2[39 * 3] = {
     0x8141, 0x8142, 0x1ECF, 0x8143, 0x8143, 0x204C, 0x8144, 0x8144, 0x2052,
     0x814A, 0x814A, 0x2050, 0x814B, 0x814B, 0x204F, 0x815B, 0x815D, 0x1ED3,
     0x8160, 0x8164, 0x1ED6, 0x8165, 0x8165, 0x2059, 0x8166, 0x8166, 0x2054,
index cd672ee..ed6cb81 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_H_1[118 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_H_1[118 * 3] = {
     0x2121, 0x217E, 0x0279, 0x2221, 0x222E, 0x02D7, 0x223A, 0x2241, 0x02E5,
     0x224A, 0x2250, 0x02ED, 0x225C, 0x226A, 0x02F4, 0x2272, 0x2279, 0x0303,
     0x227E, 0x227E, 0x030B, 0x2330, 0x2339, 0x030C, 0x2341, 0x235A, 0x0316,
index b9d6a45..b8f842d 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UCS2_HW_H_4[4 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_H_4[4 * 3] = {
     0x0020, 0x005B, 0x00E7, 0x005C, 0x005C, 0x220F, 0x005D, 0x007E, 0x0124,
     0x00A5, 0x00A5, 0x0123,
 };
index dadb4a8..997ce05 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UCS2_HW_V_4[199 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_V_4[199 * 3] = {
     0x0020, 0x005B, 0x00E7, 0x005C, 0x005C, 0x220F, 0x005D, 0x007E, 0x0124,
     0x00A5, 0x00A5, 0x0123, 0x00B0, 0x00B0, 0x204D, 0x2010, 0x2010, 0x1ED5,
     0x2015, 0x2015, 0x1ED4, 0x2016, 0x2016, 0x1ED7, 0x2018, 0x2019, 0x2059,
index 74dd4af..4d57ecb 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UCS2_H_4[9772 * 2] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UCS2_H_4[9772 * 2] = {
     0x0020, 0x0001, 0x0021, 0x0002, 0x0022, 0x0003, 0x0023, 0x0004,
     0x0024, 0x0005, 0x0025, 0x0006, 0x0026, 0x0007, 0x0027, 0x0008,
     0x0028, 0x0009, 0x0029, 0x000A, 0x002A, 0x000B, 0x002B, 0x000C,
index 7097dc2..492d2bc 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UCS2_V_4[251 * 2] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UCS2_V_4[251 * 2] = {
     0x00B0, 0x204D, 0x2010, 0x1ED5, 0x2015, 0x1ED4, 0x2016, 0x1ED7,
     0x2018, 0x2059, 0x2019, 0x205A, 0x201C, 0x2057, 0x201D, 0x2058,
     0x2025, 0x1EDA, 0x2026, 0x1ED9, 0x2032, 0x2051, 0x2033, 0x205B,
index 67044b7..33842e3 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UTF16_H_5[13241 * 2] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UTF16_H_5[13241 * 2] = {
     0x0020, 0x0001, 0x0021, 0x0002, 0x0022, 0x0003, 0x0023, 0x0004,
     0x0024, 0x0005, 0x0025, 0x0006, 0x0026, 0x0007, 0x0027, 0x0008,
     0x0028, 0x0009, 0x0029, 0x000A, 0x002A, 0x000B, 0x002B, 0x000C,
@@ -3317,7 +3319,8 @@ extern const unsigned short g_FXCMAP_UniJIS_UTF16_H_5[13241 * 2] = {
     0xFFE2, 0x02EF, 0xFFE3, 0x0289, 0xFFE4, 0x1F45, 0xFFE5, 0x02C7,
     0xFFE8, 0x0143,
 };
-extern const unsigned short g_FXCMAP_UniJIS_UTF16_H_5_DWord[384 * 3] = {
+
+const FX_WORD g_FXCMAP_UniJIS_UTF16_H_5_DWord[384 * 3] = {
     0xD840, 0xDC0B, 0x360F, 0xD840, 0xDC89, 0x4351, 0xD840, 0xDC8A, 0x371C,
     0xD840, 0xDCA2, 0x4358, 0xD840, 0xDCA4, 0x435B, 0xD840, 0xDCB0, 0x3781,
     0xD840, 0xDCF5, 0x4E59, 0xD840, 0xDD58, 0x4E6B, 0xD840, 0xDDA2, 0x3621,
index 54bc72a..9cd9ce1 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniJIS_UTF16_V_5[289 * 2] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_UniJIS_UTF16_V_5[289 * 2] = {
     0x00B0, 0x204D, 0x2010, 0x1ED5, 0x2015, 0x1ED4, 0x2016, 0x1ED7,
     0x2025, 0x1EDA, 0x2026, 0x1ED9, 0x2032, 0x2051, 0x2033, 0x205B,
     0x2190, 0x02E2, 0x2191, 0x02E0, 0x2192, 0x02E3, 0x2193, 0x02E1,
index 4aeae41..0bee140 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_V_1[27 * 3] = {
+#include "cmaps_japan1.h"
+
+const FX_WORD g_FXCMAP_V_1[27 * 3] = {
     0x2122, 0x2123, 0x1ECF, 0x2131, 0x2132, 0x1ED1, 0x213C, 0x213E, 0x1ED3,
     0x2141, 0x2145, 0x1ED6, 0x214A, 0x215B, 0x1EDB, 0x2161, 0x2161, 0x1EED,
     0x2421, 0x2421, 0x1EEE, 0x2423, 0x2423, 0x1EEF, 0x2425, 0x2425, 0x1EF0,
index 4402de7..e5002d6 100644 (file)
@@ -6,30 +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_83pv_RKSJ_H_1[];
-extern const FX_WORD g_FXCMAP_90ms_RKSJ_H_2[];
-extern const FX_WORD g_FXCMAP_90ms_RKSJ_V_2[];
-extern const FX_WORD g_FXCMAP_90msp_RKSJ_H_2[];
-extern const FX_WORD g_FXCMAP_90msp_RKSJ_V_2[];
-extern const FX_WORD g_FXCMAP_90pv_RKSJ_H_1[];
-extern const FX_WORD g_FXCMAP_Add_RKSJ_H_1[];
-extern const FX_WORD g_FXCMAP_Add_RKSJ_V_1[];
-extern const FX_WORD g_FXCMAP_EUC_H_1[];
-extern const FX_WORD g_FXCMAP_EUC_V_1[];
-extern const FX_WORD g_FXCMAP_Ext_RKSJ_H_2[];
-extern const FX_WORD g_FXCMAP_Ext_RKSJ_V_2[];
-extern const FX_WORD g_FXCMAP_H_1[];
-extern const FX_WORD g_FXCMAP_V_1[];
-extern const FX_WORD g_FXCMAP_UniJIS_UCS2_H_4[];
-extern const FX_WORD g_FXCMAP_UniJIS_UCS2_V_4[];
-extern const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_H_4[];
-extern const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_V_4[];
-extern const FX_WORD g_FXCMAP_UniJIS_UTF16_H_0[];
-extern const FX_WORD g_FXCMAP_UniJIS_UTF16_H_0_DWord[];
-extern const FX_WORD g_FXCMAP_UniJIS_UTF16_V_0[];
-extern const FX_WORD g_FXCMAP_Japan1CID2Unicode_4[];
+#include "cmaps_japan1.h"
+
 static const FXCMAP_CMap g_FXCMAP_Japan1_cmaps[] = {
     { "83pv-RKSJ-H", FXCMAP_CMap::Range, g_FXCMAP_83pv_RKSJ_H_1, 222, FXCMAP_CMap::None, NULL, 0, 0 },
     { "90ms-RKSJ-H", FXCMAP_CMap::Range, g_FXCMAP_90ms_RKSJ_H_2, 171, FXCMAP_CMap::None, NULL, 0, 0 },
@@ -52,11 +33,12 @@ static const FXCMAP_CMap g_FXCMAP_Japan1_cmaps[] = {
     { "UniJIS-UTF16-H", FXCMAP_CMap::Single, g_FXCMAP_UniJIS_UCS2_H_4, 9772, FXCMAP_CMap::None, NULL, 0, 0 },
     { "UniJIS-UTF16-V", FXCMAP_CMap::Single, g_FXCMAP_UniJIS_UCS2_V_4, 251, FXCMAP_CMap::None, NULL, 0, -1 },
 };
+
 void CPDF_ModuleMgr::LoadEmbeddedJapan1CMaps()
 {
     CPDF_FontGlobals* pFontGlobals = CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
     pFontGlobals->m_EmbeddedCharsets[CIDSET_JAPAN1].m_pMapList = g_FXCMAP_Japan1_cmaps;
-    pFontGlobals->m_EmbeddedCharsets[CIDSET_JAPAN1].m_Count = sizeof g_FXCMAP_Japan1_cmaps / sizeof (FXCMAP_CMap);
+    pFontGlobals->m_EmbeddedCharsets[CIDSET_JAPAN1].m_Count = FX_ArraySize(g_FXCMAP_Japan1_cmaps);
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_JAPAN1].m_pMap = g_FXCMAP_Japan1CID2Unicode_4;
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_JAPAN1].m_Count = 15444;
 }
diff --git a/core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.h b/core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.h
new file mode 100644 (file)
index 0000000..f45f104
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_JAPAN1_CMAPS_JAPAN1_H_
+#define CORE_SRC_FPDFAPI_FPDF_CMAPS_JAPAN1_CMAPS_JAPAN1_H_
+
+#include "../../../../include/fxcrt/fx_system.h"  // For FX_WORD.
+
+extern const FX_WORD g_FXCMAP_83pv_RKSJ_H_1[];
+extern const FX_WORD g_FXCMAP_90ms_RKSJ_H_2[];
+extern const FX_WORD g_FXCMAP_90ms_RKSJ_V_2[];
+extern const FX_WORD g_FXCMAP_90msp_RKSJ_H_2[];
+extern const FX_WORD g_FXCMAP_90msp_RKSJ_V_2[];
+extern const FX_WORD g_FXCMAP_90pv_RKSJ_H_1[];
+extern const FX_WORD g_FXCMAP_Add_RKSJ_H_1[];
+extern const FX_WORD g_FXCMAP_Add_RKSJ_V_1[];
+extern const FX_WORD g_FXCMAP_EUC_H_1[];
+extern const FX_WORD g_FXCMAP_EUC_V_1[];
+extern const FX_WORD g_FXCMAP_Ext_RKSJ_H_2[];
+extern const FX_WORD g_FXCMAP_Ext_RKSJ_V_2[];
+extern const FX_WORD g_FXCMAP_H_1[];
+extern const FX_WORD g_FXCMAP_V_1[];
+extern const FX_WORD g_FXCMAP_UniJIS_UCS2_H_4[];
+extern const FX_WORD g_FXCMAP_UniJIS_UCS2_V_4[];
+extern const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_H_4[];
+extern const FX_WORD g_FXCMAP_UniJIS_UCS2_HW_V_4[];
+extern const FX_WORD g_FXCMAP_UniJIS_UTF16_H_0[];
+extern const FX_WORD g_FXCMAP_UniJIS_UTF16_H_0_DWord[];
+extern const FX_WORD g_FXCMAP_UniJIS_UTF16_V_0[];
+extern const FX_WORD g_FXCMAP_Japan1CID2Unicode_4[];
+
+#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_JAPAN1_CMAPS_JAPAN1_H_
index ee621a1..ec44422 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_Korea1CID2Unicode_2[18352] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_Korea1CID2Unicode_2[18352] = {
     0xFFFD, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026,
     0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E,
     0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036,
index 3e537cc..0e8f005 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSC_EUC_H_0[467 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSC_EUC_H_0[467 * 3] = {
     0x0020, 0x007E, 0x1F9E, 0xA1A1, 0xA1FE, 0x0065, 0xA2A1, 0xA2E5, 0x00C3,
     0xA3A1, 0xA3FE, 0x0108, 0xA4A1, 0xA4D3, 0x0166, 0xA4D5, 0xA4FE, 0x0199,
     0xA5A1, 0xA5AA, 0x01C3, 0xA5B0, 0xA5B9, 0x01CD, 0xA5C1, 0xA5D8, 0x01D7,
index f655576..138add0 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSC_EUC_V_0[16 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSC_EUC_V_0[16 * 3] = {
     0xA1A2, 0xA1A3, 0x1F78, 0xA1A5, 0xA1A5, 0x1F7A, 0xA1A6, 0xA1A6, 0x2080,
     0xA1A9, 0xA1AB, 0x1F7B, 0xA1AD, 0xA1AD, 0x1F7E, 0xA1B2, 0xA1BD, 0x1F7F,
     0xA1EB, 0xA1EB, 0x1F8B, 0xA3A1, 0xA3A1, 0x1F8C, 0xA3A8, 0xA3A9, 0x1F8D,
index 4c6164b..dd40dae 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSCms_UHC_HW_H_1[675 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSCms_UHC_HW_H_1[675 * 3] = {
     0x0020, 0x007E, 0x1F9E, 0x8141, 0x815A, 0x2475, 0x8161, 0x817A, 0x248F,
     0x8181, 0x81FE, 0x24A9, 0x8241, 0x825A, 0x2527, 0x8261, 0x827A, 0x2541,
     0x8281, 0x82FE, 0x255B, 0x8341, 0x835A, 0x25D9, 0x8361, 0x837A, 0x25F3,
index 2af526c..9df6894 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSCms_UHC_HW_V_1[16 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSCms_UHC_HW_V_1[16 * 3] = {
     0xA1A2, 0xA1A3, 0x1F78, 0xA1A5, 0xA1A5, 0x1F7A, 0xA1A6, 0xA1A6, 0x2080,
     0xA1A9, 0xA1AB, 0x1F7B, 0xA1AD, 0xA1AD, 0x1F7E, 0xA1B2, 0xA1BD, 0x1F7F,
     0xA1EB, 0xA1EB, 0x1F8B, 0xA3A1, 0xA3A1, 0x1F8C, 0xA3A8, 0xA3A9, 0x1F8D,
index 9a343d0..69db811 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSCms_UHC_H_1[675 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSCms_UHC_H_1[675 * 3] = {
     0x0020, 0x007E, 0x0001, 0x8141, 0x815A, 0x2475, 0x8161, 0x817A, 0x248F,
     0x8181, 0x81FE, 0x24A9, 0x8241, 0x825A, 0x2527, 0x8261, 0x827A, 0x2541,
     0x8281, 0x82FE, 0x255B, 0x8341, 0x835A, 0x25D9, 0x8361, 0x837A, 0x25F3,
index b245f42..b3baf29 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSCms_UHC_V_1[16 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSCms_UHC_V_1[16 * 3] = {
     0xA1A2, 0xA1A3, 0x1F78, 0xA1A5, 0xA1A5, 0x1F7A, 0xA1A6, 0xA1A6, 0x2080,
     0xA1A9, 0xA1AB, 0x1F7B, 0xA1AD, 0xA1AD, 0x1F7E, 0xA1B2, 0xA1BD, 0x1F7F,
     0xA1EB, 0xA1EB, 0x1F8B, 0xA3A1, 0xA3A1, 0x1F8C, 0xA3A8, 0xA3A9, 0x1F8D,
index 7280a1a..170fa55 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_KSCpc_EUC_H_0[509 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_KSCpc_EUC_H_0[509 * 3] = {
     0x0020, 0x007E, 0x0001, 0x0081, 0x0083, 0x0060, 0x00FE, 0x00FF, 0x0063,
     0xA141, 0xA17D, 0x1FFF, 0xA181, 0xA19A, 0x203C, 0xA19C, 0xA1A0, 0x2056,
     0xA1A1, 0xA1A1, 0x0065, 0xA1A2, 0xA1A3, 0x205B, 0xA1A4, 0xA1FE, 0x0068,
index f6b1e29..1f74eff 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniKS_UCS2_H_1[8394 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_UniKS_UCS2_H_1[8394 * 3] = {
     0x0020, 0x007E, 0x0001, 0x00A1, 0x00A1, 0x00D0, 0x00A4, 0x00A4, 0x00D6,
     0x00A7, 0x00A7, 0x009B, 0x00A8, 0x00A8, 0x006B, 0x00AA, 0x00AA, 0x029C,
     0x00AB, 0x00AB, 0x00B0, 0x00B0, 0x00B0, 0x008A, 0x00B1, 0x00B1, 0x0082,
index af1973f..5ca7018 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniKS_UCS2_V_1[18 * 3] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_UniKS_UCS2_V_1[18 * 3] = {
     0x2013, 0x2014, 0x1F7B, 0x2016, 0x2016, 0x1F7D, 0x2025, 0x2025, 0x1F7A,
     0x3001, 0x3002, 0x1F78, 0x3008, 0x3011, 0x1F81, 0x3013, 0x3013, 0x1F8B,
     0x3014, 0x3015, 0x1F7F, 0xFF01, 0xFF01, 0x1F8C, 0xFF08, 0xFF09, 0x1F8D,
index d7c35f4..dc3bec8 100644 (file)
@@ -4,7 +4,9 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-extern const unsigned short g_FXCMAP_UniKS_UTF16_H_0[158 * 2] = {
+#include "cmaps_korea1.h"
+
+const FX_WORD g_FXCMAP_UniKS_UTF16_H_0[158 * 2] = {
     0x00A9, 0x0062, 0x2010, 0x0061, 0x20A9, 0x0060, 0x2F00, 0x193C,
     0x2F04, 0x18EC, 0x2F06, 0x190D, 0x2F08, 0x192B, 0x2F0A, 0x194D,
     0x2F0B, 0x1D4B, 0x2F11, 0x10AE, 0x2F12, 0x116A, 0x2F14, 0x143F,
index 748535b..6e67bfb 100644 (file)
@@ -6,20 +6,12 @@
 
 #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_KSC_EUC_H_0[];
-extern const FX_WORD g_FXCMAP_KSC_EUC_V_0[];
-extern const FX_WORD g_FXCMAP_KSCms_UHC_H_1[];
-extern const FX_WORD g_FXCMAP_KSCms_UHC_V_1[];
-extern const FX_WORD g_FXCMAP_KSCms_UHC_HW_H_1[];
-extern const FX_WORD g_FXCMAP_KSCms_UHC_HW_V_1[];
-extern const FX_WORD g_FXCMAP_KSCpc_EUC_H_0[];
-extern const FX_WORD g_FXCMAP_UniKS_UCS2_H_1[];
-extern const FX_WORD g_FXCMAP_UniKS_UCS2_V_1[];
-extern const FX_WORD g_FXCMAP_UniKS_UTF16_H_0[];
-extern const FX_WORD g_FXCMAP_Korea1CID2Unicode_2[];
-const FXCMAP_CMap g_FXCMAP_Korea1_cmaps[] = {
+#include "cmaps_korea1.h"
+
+static const FXCMAP_CMap g_FXCMAP_Korea1_cmaps[] = {
     { "KSC-EUC-H", FXCMAP_CMap::Range, g_FXCMAP_KSC_EUC_H_0, 467, FXCMAP_CMap::None, NULL, 0, 0 },
     { "KSC-EUC-V", FXCMAP_CMap::Range, g_FXCMAP_KSC_EUC_V_0, 16, FXCMAP_CMap::None, NULL, 0, -1 },
     { "KSCms-UHC-H", FXCMAP_CMap::Range, g_FXCMAP_KSCms_UHC_H_1, 675, FXCMAP_CMap::None, NULL, 0, -2 },
@@ -32,11 +24,12 @@ const FXCMAP_CMap g_FXCMAP_Korea1_cmaps[] = {
     { "UniKS-UTF16-H", FXCMAP_CMap::Single, g_FXCMAP_UniKS_UTF16_H_0, 158, FXCMAP_CMap::None, NULL, 0, -2 },
     { "UniKS-UTF16-V", FXCMAP_CMap::Range, g_FXCMAP_UniKS_UCS2_V_1, 18, FXCMAP_CMap::None, NULL, 0, -1 },
 };
+
 void CPDF_ModuleMgr::LoadEmbeddedKorea1CMaps()
 {
     CPDF_FontGlobals* pFontGlobals = CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
     pFontGlobals->m_EmbeddedCharsets[CIDSET_KOREA1].m_pMapList = g_FXCMAP_Korea1_cmaps;
-    pFontGlobals->m_EmbeddedCharsets[CIDSET_KOREA1].m_Count = sizeof g_FXCMAP_Korea1_cmaps / sizeof (FXCMAP_CMap);
+    pFontGlobals->m_EmbeddedCharsets[CIDSET_KOREA1].m_Count = FX_ArraySize(g_FXCMAP_Korea1_cmaps);
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_KOREA1].m_pMap = g_FXCMAP_Korea1CID2Unicode_2;
     pFontGlobals->m_EmbeddedToUnicodes[CIDSET_KOREA1].m_Count = 18352;
 }
diff --git a/core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.h b/core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.h
new file mode 100644 (file)
index 0000000..853e695
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2015 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_KOREA1_CMAPS_KOREA1_H_
+#define CORE_SRC_FPDFAPI_FPDF_CMAPS_KOREA1_CMAPS_KOREA1_H_
+
+#include "../../../../include/fxcrt/fx_system.h"  // For FX_WORD.
+
+extern const FX_WORD g_FXCMAP_KSC_EUC_H_0[];
+extern const FX_WORD g_FXCMAP_KSC_EUC_V_0[];
+extern const FX_WORD g_FXCMAP_KSCms_UHC_H_1[];
+extern const FX_WORD g_FXCMAP_KSCms_UHC_V_1[];
+extern const FX_WORD g_FXCMAP_KSCms_UHC_HW_H_1[];
+extern const FX_WORD g_FXCMAP_KSCms_UHC_HW_V_1[];
+extern const FX_WORD g_FXCMAP_KSCpc_EUC_H_0[];
+extern const FX_WORD g_FXCMAP_UniKS_UCS2_H_1[];
+extern const FX_WORD g_FXCMAP_UniKS_UCS2_V_1[];
+extern const FX_WORD g_FXCMAP_UniKS_UTF16_H_0[];
+extern const FX_WORD g_FXCMAP_Korea1CID2Unicode_2[];
+
+#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_KOREA1_CMAPS_KOREA1_H_
index 68856b2..98b64ed 100644 (file)
@@ -7,8 +7,11 @@
 #ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
 #define CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
 
+#include "../../../include/fxcrt/fx_system.h"  // For FX_WORD.
+
 struct FXCMAP_CMap {
-    typedef enum { None, Single, Range, Reverse } MapType;
+    enum MapType { None, Single, Range, Reverse };
+
     const char*                m_Name;
     MapType                    m_WordMapType;
     const FX_WORD*     m_pWordMap;