diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/pdf/pdf-cmap-table.c | 106 |
1 files changed, 43 insertions, 63 deletions
diff --git a/source/pdf/pdf-cmap-table.c b/source/pdf/pdf-cmap-table.c index 65c0eb15..49068d6a 100644 --- a/source/pdf/pdf-cmap-table.c +++ b/source/pdf/pdf-cmap-table.c @@ -20,42 +20,24 @@ #if CJK_CMAPS -#include "gen_cmap_gb.h" -#include "gen_cmap_cns.h" -#include "gen_cmap_japan.h" -#include "gen_cmap_korea.h" +#include "gen_cmap_cjk.h" struct table { const char *name; pdf_cmap *cmap; }; -static const struct table table_unicode[] = +static const struct table table_cjk[] = { + {"83pv-RKSJ-H",&cmap_83pv_RKSJ_H}, + {"90msp-RKSJ-H",&cmap_90msp_RKSJ_H}, + {"90msp-RKSJ-V",&cmap_90msp_RKSJ_V}, + {"90ms-RKSJ-H",&cmap_90ms_RKSJ_H}, + {"90ms-RKSJ-V",&cmap_90ms_RKSJ_V}, + {"90pv-RKSJ-H",&cmap_90pv_RKSJ_H}, + {"Add-RKSJ-H",&cmap_Add_RKSJ_H}, + {"Add-RKSJ-V",&cmap_Add_RKSJ_V}, {"Adobe-CNS1-UCS2",&cmap_Adobe_CNS1_UCS2}, {"Adobe-GB1-UCS2",&cmap_Adobe_GB1_UCS2}, {"Adobe-Japan1-UCS2",&cmap_Adobe_Japan1_UCS2}, {"Adobe-Korea1-UCS2",&cmap_Adobe_Korea1_UCS2}, -}; - -static const struct table table_gb[] = -{ - {"GB-EUC-H",&cmap_GB_EUC_H}, - {"GB-EUC-V",&cmap_GB_EUC_V}, - {"GBK-EUC-H",&cmap_GBK_EUC_H}, - {"GBK-EUC-V",&cmap_GBK_EUC_V}, - {"GBK2K-H",&cmap_GBK2K_H}, - {"GBK2K-V",&cmap_GBK2K_V}, - {"GBKp-EUC-H",&cmap_GBKp_EUC_H}, - {"GBKp-EUC-V",&cmap_GBKp_EUC_V}, - {"GBpc-EUC-H",&cmap_GBpc_EUC_H}, - {"GBpc-EUC-V",&cmap_GBpc_EUC_V}, - {"UniGB-UCS2-H",&cmap_UniGB_UCS2_H}, - {"UniGB-UCS2-V",&cmap_UniGB_UCS2_V}, - {"UniGB-UTF16-H",&cmap_UniGB_UTF16_H}, - {"UniGB-UTF16-V",&cmap_UniGB_UTF16_V}, - {"UniGB-X",&cmap_UniGB_X}, -}; - -static const struct table table_cns[] = -{ {"B5pc-H",&cmap_B5pc_H}, {"B5pc-V",&cmap_B5pc_V}, {"CNS-EUC-H",&cmap_CNS_EUC_H}, @@ -64,58 +46,58 @@ static const struct table table_cns[] = {"ETen-B5-V",&cmap_ETen_B5_V}, {"ETenms-B5-H",&cmap_ETenms_B5_H}, {"ETenms-B5-V",&cmap_ETenms_B5_V}, + {"EUC-H",&cmap_EUC_H}, + {"EUC-V",&cmap_EUC_V}, + {"Ext-RKSJ-H",&cmap_Ext_RKSJ_H}, + {"Ext-RKSJ-V",&cmap_Ext_RKSJ_V}, + {"GB-EUC-H",&cmap_GB_EUC_H}, + {"GB-EUC-V",&cmap_GB_EUC_V}, + {"GBK2K-H",&cmap_GBK2K_H}, + {"GBK2K-V",&cmap_GBK2K_V}, + {"GBK-EUC-H",&cmap_GBK_EUC_H}, + {"GBK-EUC-V",&cmap_GBK_EUC_V}, + {"GBKp-EUC-H",&cmap_GBKp_EUC_H}, + {"GBKp-EUC-V",&cmap_GBKp_EUC_V}, + {"GBpc-EUC-H",&cmap_GBpc_EUC_H}, + {"GBpc-EUC-V",&cmap_GBpc_EUC_V}, + {"H",&cmap_H}, {"HKscs-B5-H",&cmap_HKscs_B5_H}, {"HKscs-B5-V",&cmap_HKscs_B5_V}, + {"KSC-EUC-H",&cmap_KSC_EUC_H}, + {"KSC-EUC-V",&cmap_KSC_EUC_V}, + {"KSCms-UHC-H",&cmap_KSCms_UHC_H}, + {"KSCms-UHC-HW-H",&cmap_KSCms_UHC_HW_H}, + {"KSCms-UHC-HW-V",&cmap_KSCms_UHC_HW_V}, + {"KSCms-UHC-V",&cmap_KSCms_UHC_V}, + {"KSCpc-EUC-H",&cmap_KSCpc_EUC_H}, {"UniCNS-UCS2-H",&cmap_UniCNS_UCS2_H}, {"UniCNS-UCS2-V",&cmap_UniCNS_UCS2_V}, {"UniCNS-UTF16-H",&cmap_UniCNS_UTF16_H}, {"UniCNS-UTF16-V",&cmap_UniCNS_UTF16_V}, {"UniCNS-X",&cmap_UniCNS_X}, -}; - -static const struct table table_japan[] = -{ - {"83pv-RKSJ-H",&cmap_83pv_RKSJ_H}, - {"90ms-RKSJ-H",&cmap_90ms_RKSJ_H}, - {"90ms-RKSJ-V",&cmap_90ms_RKSJ_V}, - {"90msp-RKSJ-H",&cmap_90msp_RKSJ_H}, - {"90msp-RKSJ-V",&cmap_90msp_RKSJ_V}, - {"90pv-RKSJ-H",&cmap_90pv_RKSJ_H}, - {"Add-RKSJ-H",&cmap_Add_RKSJ_H}, - {"Add-RKSJ-V",&cmap_Add_RKSJ_V}, - {"EUC-H",&cmap_EUC_H}, - {"EUC-V",&cmap_EUC_V}, - {"Ext-RKSJ-H",&cmap_Ext_RKSJ_H}, - {"Ext-RKSJ-V",&cmap_Ext_RKSJ_V}, - {"H",&cmap_H}, + {"UniGB-UCS2-H",&cmap_UniGB_UCS2_H}, + {"UniGB-UCS2-V",&cmap_UniGB_UCS2_V}, + {"UniGB-UTF16-H",&cmap_UniGB_UTF16_H}, + {"UniGB-UTF16-V",&cmap_UniGB_UTF16_V}, + {"UniGB-X",&cmap_UniGB_X}, {"UniJIS-UCS2-H",&cmap_UniJIS_UCS2_H}, {"UniJIS-UCS2-HW-H",&cmap_UniJIS_UCS2_HW_H}, {"UniJIS-UCS2-HW-V",&cmap_UniJIS_UCS2_HW_V}, {"UniJIS-UCS2-V",&cmap_UniJIS_UCS2_V}, {"UniJIS-UTF16-H",&cmap_UniJIS_UTF16_H}, {"UniJIS-UTF16-V",&cmap_UniJIS_UTF16_V}, - {"UniJIS-X",&cmap_UniJIS_X}, {"UniJIS-X16",&cmap_UniJIS_X16}, - {"V",&cmap_V}, -}; - -static const struct table table_korea[] = -{ - {"KSC-EUC-H",&cmap_KSC_EUC_H}, - {"KSC-EUC-V",&cmap_KSC_EUC_V}, - {"KSCms-UHC-H",&cmap_KSCms_UHC_H}, - {"KSCms-UHC-HW-H",&cmap_KSCms_UHC_HW_H}, - {"KSCms-UHC-HW-V",&cmap_KSCms_UHC_HW_V}, - {"KSCms-UHC-V",&cmap_KSCms_UHC_V}, - {"KSCpc-EUC-H",&cmap_KSCpc_EUC_H}, + {"UniJIS-X",&cmap_UniJIS_X}, {"UniKS-UCS2-H",&cmap_UniKS_UCS2_H}, {"UniKS-UCS2-V",&cmap_UniKS_UCS2_V}, {"UniKS-UTF16-H",&cmap_UniKS_UTF16_H}, {"UniKS-UTF16-V",&cmap_UniKS_UTF16_V}, {"UniKS-X",&cmap_UniKS_X}, + {"V",&cmap_V}, }; #if EXTRA_CMAPS +#include "gen_cmap_extra.h" static const struct table table_extra[] = { {"78-EUC-H",&cmap_78_EUC_H}, @@ -202,6 +184,7 @@ static const struct table table_extra[] = #endif #if UTF8_CMAPS +#include "gen_cmap_utf8.h" static const struct table table_utf8[] = { {"UniCNS-UTF8-H",&cmap_UniCNS_UTF8_H}, @@ -220,6 +203,7 @@ static const struct table table_utf8[] = #endif #if UTF32_CMAPS +#include "gen_cmap_utf32.h" static const struct table table_utf32[] = { {"UniCNS-UTF32-H",&cmap_UniCNS_UTF32_H}, @@ -262,11 +246,7 @@ pdf_cmap * pdf_load_builtin_cmap(fz_context *ctx, const char *name) { pdf_cmap *cmap = NULL; - if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_unicode, nelem(table_unicode)-1, name); - if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_gb, nelem(table_gb)-1, name); - if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_cns, nelem(table_cns)-1, name); - if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_japan, nelem(table_japan)-1, name); - if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_korea, nelem(table_korea)-1, name); + if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_cjk, nelem(table_cjk)-1, name); #if EXTRA_CMAPS if (!cmap) cmap = pdf_load_builtin_cmap_imp(table_extra, nelem(table_extra)-1, name); #endif |