From a82cee93f54f4be8e79d7f2743b30af137b12ca6 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Tue, 6 Jun 2017 23:51:57 -0700 Subject: Add mupdf 1.11 --- pkg/mupdf/.gitignore | 1 + pkg/mupdf/fonts.txt | 119 +++ pkg/mupdf/gen.rc | 56 ++ ...enerated-files-to-be-C-instead-of-headers.patch | 869 +++++++++++++++++++++ ...dump-Support-stripping-prefix-for-symbol-.patch | 106 +++ .../0003-Remove-hb.h-include-from-font.c.patch | 25 + pkg/mupdf/rev | 1 + pkg/mupdf/sources.txt | 175 +++++ pkg/mupdf/src | 1 + 9 files changed, 1353 insertions(+) create mode 100644 pkg/mupdf/.gitignore create mode 100644 pkg/mupdf/fonts.txt create mode 100644 pkg/mupdf/gen.rc create mode 100644 pkg/mupdf/patch/0001-Change-generated-files-to-be-C-instead-of-headers.patch create mode 100644 pkg/mupdf/patch/0002-scripts-hexdump-Support-stripping-prefix-for-symbol-.patch create mode 100644 pkg/mupdf/patch/0003-Remove-hb.h-include-from-font.c.patch create mode 100644 pkg/mupdf/rev create mode 100644 pkg/mupdf/sources.txt create mode 160000 pkg/mupdf/src (limited to 'pkg/mupdf') diff --git a/pkg/mupdf/.gitignore b/pkg/mupdf/.gitignore new file mode 100644 index 00000000..012dc66e --- /dev/null +++ b/pkg/mupdf/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/mupdf/fonts.txt b/pkg/mupdf/fonts.txt new file mode 100644 index 00000000..621059b6 --- /dev/null +++ b/pkg/mupdf/fonts.txt @@ -0,0 +1,119 @@ +# 2,tools.ninja && subninja tools.ninja + +rule namedump '$outdir/namedump $in $out' +outs='$outdir'/^(mupdf/pdf/name-table.h pdf-name-table.h) +build $"outs namedump '$srcdir'/resources/pdf/names.txt '|' '$outdir'/namedump + +rule hexdump '$outdir/hexdump -p $srcdir/ $out.tmp $in && mv $out.tmp $out' +fonts=`{grep -v '^#' fonts.txt} ; checkstatus +for(font in $fonts) + build '$outdir'/$font.c hexdump '$srcdir'/resources/fonts/$font '|' '$outdir'/hexdump + +phony deps\ + pkg/libjpeg-turbo/headers\ + '$builddir'/pkg/^(freetype jbig2dec)^/fetch.stamp\ + '$outdir'/mupdf/pdf/name-table.h + +srcs=`{grep -v -e '^#' -e harfbuzz.c sources.txt} ; checkstatus +lib libmupdf.a -d '$dir'/deps source/$srcs '$outdir'/$fonts.c\ + '$builddir'/pkg/^(\ + freetype/libfreetype.a.d\ + jbig2dec/libjbig2dec.a\ + libjpeg-turbo/libjpeg-turbo.a\ + ) + +exe bin/mutool -d '$dir'/deps source/tools/^(\ + mutool.c muconvert.c mudraw.c murun.c\ + pdfclean.c pdfcreate.c pdfextract.c pdfinfo.c pdfmerge.c pdfpages.c\ + pdfportfolio.c pdfposter.c pdfshow.c\ +) libmupdf.a.d +file bin/mutool '$outdir'/bin/mutool 755 + +man -d docs/man 1 mutool.1 + +fetch git +gen_inputs='$dir'/^(sources.txt fonts.txt) diff --git a/pkg/mupdf/patch/0001-Change-generated-files-to-be-C-instead-of-headers.patch b/pkg/mupdf/patch/0001-Change-generated-files-to-be-C-instead-of-headers.patch new file mode 100644 index 00000000..65ff0c7b --- /dev/null +++ b/pkg/mupdf/patch/0001-Change-generated-files-to-be-C-instead-of-headers.patch @@ -0,0 +1,869 @@ +From ec907b6018760285e89bbdde8bf7a46ca47207a2 Mon Sep 17 00:00:00 2001 +From: Tor Andersson +Date: Wed, 12 Apr 2017 16:24:34 +0200 +Subject: [PATCH] Change generated files to be C instead of headers. + +Remove AdobeCA.p7c from autogenerated files. Just include the +array in the source. + +Simplifies makefile dependencies and makes the sizes of each +bit of data easier to look at. + +It also paves the way for eventually using objcopy to create binary +objects for the fonts instead of needing to use hexdump. +--- + Makefile | 46 ++-- + platform/win32/generate.bat | 11 +- + platform/win32/libmupdf.vcproj | 24 ++ + scripts/cmapdump.c | 5 +- + source/pdf/pdf-cmap-table.c | 535 +++++++++++++++++++++++++++-------------- + source/pdf/pdf-js.c | 2 +- + source/pdf/pdf-pkcs7.c | 65 ++++- + 7 files changed, 469 insertions(+), 219 deletions(-) + +diff --git a/Makefile b/Makefile +index c31317f4..843de2c1 100644 +--- a/Makefile ++++ b/Makefile +@@ -229,21 +229,30 @@ CMAP_EXTRA_SRC := $(wildcard resources/cmaps/extra/*) + CMAP_UTF8_SRC := $(wildcard resources/cmaps/utf8/*) + CMAP_UTF32_SRC := $(wildcard resources/cmaps/utf32/*) + +-generated/gen_cmap_cjk.h : $(CMAP_CJK_SRC) | generated ++CMAP_GEN := \ ++ generated/pdf-cmap-cjk.c \ ++ generated/pdf-cmap-extra.c \ ++ generated/pdf-cmap-utf8.c \ ++ generated/pdf-cmap-utf32.c ++CMAP_OBJ := $(CMAP_GEN:%.c=$(OUT)/%.o) ++ ++generated/pdf-cmap-cjk.c : $(CMAP_CJK_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_CJK_SRC) +-generated/gen_cmap_extra.h : $(CMAP_EXTRA_SRC) | generated ++generated/pdf-cmap-extra.c : $(CMAP_EXTRA_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_EXTRA_SRC) +-generated/gen_cmap_utf8.h : $(CMAP_UTF8_SRC) | generated ++generated/pdf-cmap-utf8.c : $(CMAP_UTF8_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_UTF8_SRC) +-generated/gen_cmap_utf32.h : $(CMAP_UTF32_SRC) | generated ++generated/pdf-cmap-utf32.c : $(CMAP_UTF32_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_UTF32_SRC) + +-CMAP_GEN := $(addprefix generated/, gen_cmap_cjk.h gen_cmap_extra.h gen_cmap_utf8.h gen_cmap_utf32.h) ++$(CMAP_OBJ) : $(CMAP_GEN) + + ifneq "$(CROSSCOMPILE)" "yes" + $(CMAP_GEN) : $(CMAPDUMP_EXE) + endif + ++generate: $(CMAP_GEN) ++ + $(OUT)/scripts/cmapdump.o : \ + $(NAME_GEN) \ + include/mupdf/pdf/cmap.h \ +@@ -264,29 +273,12 @@ $(OUT)/scripts/cmapdump.o : \ + source/pdf/pdf-cmap.c \ + source/pdf/pdf-cmap-parse.c \ + +-$(OUT)/source/pdf/pdf-cmap-table.o : $(CMAP_GEN) +- +-generate: $(CMAP_GEN) +- +-# --- Generated embedded certificate files --- +- +-ADOBECA_SRC := resources/certs/AdobeCA.p7c +-ADOBECA_GEN := generated/gen_adobe_ca.h +-$(ADOBECA_GEN) : $(ADOBECA_SRC) | generated +- $(QUIET_GEN) $(HEXDUMP_EXE) $@ $(ADOBECA_SRC) +- +-ifneq "$(CROSSCOMPILE)" "yes" +-$(ADOBECA_GEN) : $(HEXDUMP_EXE) +-endif +- +-$(OUT)/source/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) +- +-generate: $(ADOBECA_GEN) +- + # --- Generated embedded javascript files --- + + JAVASCRIPT_SRC := source/pdf/pdf-js-util.js +-JAVASCRIPT_GEN := generated/gen_js_util.h ++JAVASCRIPT_GEN := generated/pdf-js-util.c ++JAVASCRIPT_OBJ := $(JAVASCRIPT_GEN:%.c=$(OUT)/%.o) ++ + $(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $(JAVASCRIPT_SRC) + +@@ -294,7 +286,7 @@ ifneq "$(CROSSCOMPILE)" "yes" + $(JAVASCRIPT_GEN) : $(HEXDUMP_EXE) + endif + +-$(OUT)/source/pdf/pdf-js.o : $(JAVASCRIPT_GEN) ++$(JAVASCRIPT_OBJ) : $(JAVASCRIPT_GEN) + + generate: $(JAVASCRIPT_GEN) + +@@ -304,7 +296,7 @@ MUPDF_LIB = $(OUT)/libmupdf.a + THIRD_LIB = $(OUT)/libmupdfthird.a + THREAD_LIB = $(OUT)/libmuthreads.a + +-MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(SVG_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) ++MUPDF_OBJ := $(FITZ_OBJ) $(PDF_OBJ) $(CMAP_OBJ) $(FONT_OBJ) $(JAVASCRIPT_OBJ) $(XPS_OBJ) $(SVG_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) + THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(LIBJPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) + THREAD_OBJ := $(THREAD_OBJ) + +diff --git a/platform/win32/generate.bat b/platform/win32/generate.bat +index 8658906f..22407fc8 100644 +--- a/platform/win32/generate.bat ++++ b/platform/win32/generate.bat +@@ -17,13 +17,12 @@ cl /nologo -Iinclude scripts/cmapdump.c setargv.obj + if not exist hexdump.exe goto usage + if not exist cmapdump.exe goto usage + +-if not exist generated/gen_cmap_cjk.h cmapdump.exe generated/gen_cmap_cjk.h resources\cmaps\cjk\* +-if not exist generated/gen_cmap_extra.h cmapdump.exe generated/gen_cmap_extra.h resources\cmaps\extra\* +-if not exist generated/gen_cmap_utf8.h cmapdump.exe generated/gen_cmap_utf8.h resources\cmaps\utf8\* +-if not exist generated/gen_cmap_utf32.h cmapdump.exe generated/gen_cmap_utf32.h resources\cmaps\utf32\* ++if not exist generated/pdf-cmap-cjk.c cmapdump.exe generated/pdf-cmap-cjk.c resources\cmaps\cjk\* ++if not exist generated/pdf-cmap-extra.c cmapdump.exe generated/pdf-cmap-extra.c resources\cmaps\extra\* ++if not exist generated/pdf-cmap-utf8.c cmapdump.exe generated/pdf-cmap-utf8.c resources\cmaps\utf8\* ++if not exist generated/pdf-cmap-utf32.c cmapdump.exe generated/pdf-cmap-utf32.c resources\cmaps\utf32\* + +-if not exist generated/gen_adobe_ca.h hexdump.exe generated/gen_adobe_ca.h resources/certs/AdobeCA.p7c +-if not exist generated/gen_js_util.h hexdump.exe generated/gen_js_util.h source/pdf/pdf-js-util.js ++if not exist generated/pdf-js-util.c hexdump.exe generated/pdf-js-util.c source/pdf/pdf-js-util.js + + if not exist generated/DroidSansFallback.c hexdump.exe generated/DroidSansFallback.c resources/fonts/droid/DroidSansFallback.ttf + if not exist generated/DroidSansFallbackFull.c hexdump.exe generated/DroidSansFallbackFull.c resources/fonts/droid/DroidSansFallbackFull.ttf +diff --git a/platform/win32/libmupdf.vcproj b/platform/win32/libmupdf.vcproj +index 09899f61..122c561f 100644 +--- a/platform/win32/libmupdf.vcproj ++++ b/platform/win32/libmupdf.vcproj +@@ -2521,6 +2521,30 @@ + > + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +diff --git a/scripts/cmapdump.c b/scripts/cmapdump.c +index 4da2e329..eb84cb4c 100644 +--- a/scripts/cmapdump.c ++++ b/scripts/cmapdump.c +@@ -75,7 +75,8 @@ main(int argc, char **argv) + return 1; + } + +- fprintf(fo, "/* This is an automatically generated file. Do not edit. */\n"); ++ fprintf(fo, "/* This is an automatically generated file. Do not edit. */\n\n"); ++ fprintf(fo, "#include \"mupdf/pdf.h\"\n"); + + for (i = 2; i < argc; i++) + { +@@ -148,7 +149,7 @@ main(int argc, char **argv) + fprintf(fo, "\n};\n\n"); + } + +- fprintf(fo, "static pdf_cmap cmap_%s = {\n", name); ++ fprintf(fo, "pdf_cmap pdf_cmap_%s = {\n", name); + fprintf(fo, "\t{-1, pdf_drop_cmap_imp}, "); + fprintf(fo, "\"%s\", ", cmap->cmap_name); + fprintf(fo, "\"%s\", 0, ", cmap->usecmap_name); +diff --git a/source/pdf/pdf-cmap-table.c b/source/pdf/pdf-cmap-table.c +index eb94ee6e..8b2a62c4 100644 +--- a/source/pdf/pdf-cmap-table.c ++++ b/source/pdf/pdf-cmap-table.c +@@ -20,207 +20,384 @@ + + #if CJK_CMAPS + +-#include "gen_cmap_cjk.h" ++extern pdf_cmap pdf_cmap_83pv_RKSJ_H; ++extern pdf_cmap pdf_cmap_90ms_RKSJ_H; ++extern pdf_cmap pdf_cmap_90ms_RKSJ_V; ++extern pdf_cmap pdf_cmap_90msp_RKSJ_H; ++extern pdf_cmap pdf_cmap_90msp_RKSJ_V; ++extern pdf_cmap pdf_cmap_90pv_RKSJ_H; ++extern pdf_cmap pdf_cmap_Add_RKSJ_H; ++extern pdf_cmap pdf_cmap_Add_RKSJ_V; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_UCS2; ++extern pdf_cmap pdf_cmap_Adobe_GB1_UCS2; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_UCS2; ++extern pdf_cmap pdf_cmap_Adobe_Korea1_UCS2; ++extern pdf_cmap pdf_cmap_B5pc_H; ++extern pdf_cmap pdf_cmap_B5pc_V; ++extern pdf_cmap pdf_cmap_CNS_EUC_H; ++extern pdf_cmap pdf_cmap_CNS_EUC_V; ++extern pdf_cmap pdf_cmap_ETen_B5_H; ++extern pdf_cmap pdf_cmap_ETen_B5_V; ++extern pdf_cmap pdf_cmap_ETenms_B5_H; ++extern pdf_cmap pdf_cmap_ETenms_B5_V; ++extern pdf_cmap pdf_cmap_EUC_H; ++extern pdf_cmap pdf_cmap_EUC_V; ++extern pdf_cmap pdf_cmap_Ext_RKSJ_H; ++extern pdf_cmap pdf_cmap_Ext_RKSJ_V; ++extern pdf_cmap pdf_cmap_GBK2K_H; ++extern pdf_cmap pdf_cmap_GBK2K_V; ++extern pdf_cmap pdf_cmap_GBK_EUC_H; ++extern pdf_cmap pdf_cmap_GBK_EUC_V; ++extern pdf_cmap pdf_cmap_GBKp_EUC_H; ++extern pdf_cmap pdf_cmap_GBKp_EUC_V; ++extern pdf_cmap pdf_cmap_GB_EUC_H; ++extern pdf_cmap pdf_cmap_GB_EUC_V; ++extern pdf_cmap pdf_cmap_GBpc_EUC_H; ++extern pdf_cmap pdf_cmap_GBpc_EUC_V; ++extern pdf_cmap pdf_cmap_H; ++extern pdf_cmap pdf_cmap_HKscs_B5_H; ++extern pdf_cmap pdf_cmap_HKscs_B5_V; ++extern pdf_cmap pdf_cmap_KSC_EUC_H; ++extern pdf_cmap pdf_cmap_KSC_EUC_V; ++extern pdf_cmap pdf_cmap_KSCms_UHC_H; ++extern pdf_cmap pdf_cmap_KSCms_UHC_HW_H; ++extern pdf_cmap pdf_cmap_KSCms_UHC_HW_V; ++extern pdf_cmap pdf_cmap_KSCms_UHC_V; ++extern pdf_cmap pdf_cmap_KSCpc_EUC_H; ++extern pdf_cmap pdf_cmap_UniCNS_UCS2_H; ++extern pdf_cmap pdf_cmap_UniCNS_UCS2_V; ++extern pdf_cmap pdf_cmap_UniCNS_UTF16_H; ++extern pdf_cmap pdf_cmap_UniCNS_UTF16_V; ++extern pdf_cmap pdf_cmap_UniCNS_X; ++extern pdf_cmap pdf_cmap_UniGB_UCS2_H; ++extern pdf_cmap pdf_cmap_UniGB_UCS2_V; ++extern pdf_cmap pdf_cmap_UniGB_UTF16_H; ++extern pdf_cmap pdf_cmap_UniGB_UTF16_V; ++extern pdf_cmap pdf_cmap_UniGB_X; ++extern pdf_cmap pdf_cmap_UniJIS_UCS2_H; ++extern pdf_cmap pdf_cmap_UniJIS_UCS2_HW_H; ++extern pdf_cmap pdf_cmap_UniJIS_UCS2_HW_V; ++extern pdf_cmap pdf_cmap_UniJIS_UCS2_V; ++extern pdf_cmap pdf_cmap_UniJIS_UTF16_H; ++extern pdf_cmap pdf_cmap_UniJIS_UTF16_V; ++extern pdf_cmap pdf_cmap_UniJIS_X16; ++extern pdf_cmap pdf_cmap_UniJIS_X; ++extern pdf_cmap pdf_cmap_UniKS_UCS2_H; ++extern pdf_cmap pdf_cmap_UniKS_UCS2_V; ++extern pdf_cmap pdf_cmap_UniKS_UTF16_H; ++extern pdf_cmap pdf_cmap_UniKS_UTF16_V; ++extern pdf_cmap pdf_cmap_UniKS_X; ++extern pdf_cmap pdf_cmap_V; + + struct table { const char *name; pdf_cmap *cmap; }; + + static const struct table table_cjk[] = + { +- {"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}, +- {"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}, +- {"B5pc-H",&cmap_B5pc_H}, +- {"B5pc-V",&cmap_B5pc_V}, +- {"CNS-EUC-H",&cmap_CNS_EUC_H}, +- {"CNS-EUC-V",&cmap_CNS_EUC_V}, +- {"ETen-B5-H",&cmap_ETen_B5_H}, +- {"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}, +- {"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}, +- {"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}, +- {"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}, +- {"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}, ++ {"83pv-RKSJ-H",&pdf_cmap_83pv_RKSJ_H}, ++ {"90ms-RKSJ-H",&pdf_cmap_90ms_RKSJ_H}, ++ {"90ms-RKSJ-V",&pdf_cmap_90ms_RKSJ_V}, ++ {"90msp-RKSJ-H",&pdf_cmap_90msp_RKSJ_H}, ++ {"90msp-RKSJ-V",&pdf_cmap_90msp_RKSJ_V}, ++ {"90pv-RKSJ-H",&pdf_cmap_90pv_RKSJ_H}, ++ {"Add-RKSJ-H",&pdf_cmap_Add_RKSJ_H}, ++ {"Add-RKSJ-V",&pdf_cmap_Add_RKSJ_V}, ++ {"Adobe-CNS1-UCS2",&pdf_cmap_Adobe_CNS1_UCS2}, ++ {"Adobe-GB1-UCS2",&pdf_cmap_Adobe_GB1_UCS2}, ++ {"Adobe-Japan1-UCS2",&pdf_cmap_Adobe_Japan1_UCS2}, ++ {"Adobe-Korea1-UCS2",&pdf_cmap_Adobe_Korea1_UCS2}, ++ {"B5pc-H",&pdf_cmap_B5pc_H}, ++ {"B5pc-V",&pdf_cmap_B5pc_V}, ++ {"CNS-EUC-H",&pdf_cmap_CNS_EUC_H}, ++ {"CNS-EUC-V",&pdf_cmap_CNS_EUC_V}, ++ {"ETen-B5-H",&pdf_cmap_ETen_B5_H}, ++ {"ETen-B5-V",&pdf_cmap_ETen_B5_V}, ++ {"ETenms-B5-H",&pdf_cmap_ETenms_B5_H}, ++ {"ETenms-B5-V",&pdf_cmap_ETenms_B5_V}, ++ {"EUC-H",&pdf_cmap_EUC_H}, ++ {"EUC-V",&pdf_cmap_EUC_V}, ++ {"Ext-RKSJ-H",&pdf_cmap_Ext_RKSJ_H}, ++ {"Ext-RKSJ-V",&pdf_cmap_Ext_RKSJ_V}, ++ {"GB-EUC-H",&pdf_cmap_GB_EUC_H}, ++ {"GB-EUC-V",&pdf_cmap_GB_EUC_V}, ++ {"GBK-EUC-H",&pdf_cmap_GBK_EUC_H}, ++ {"GBK-EUC-V",&pdf_cmap_GBK_EUC_V}, ++ {"GBK2K-H",&pdf_cmap_GBK2K_H}, ++ {"GBK2K-V",&pdf_cmap_GBK2K_V}, ++ {"GBKp-EUC-H",&pdf_cmap_GBKp_EUC_H}, ++ {"GBKp-EUC-V",&pdf_cmap_GBKp_EUC_V}, ++ {"GBpc-EUC-H",&pdf_cmap_GBpc_EUC_H}, ++ {"GBpc-EUC-V",&pdf_cmap_GBpc_EUC_V}, ++ {"H",&pdf_cmap_H}, ++ {"HKscs-B5-H",&pdf_cmap_HKscs_B5_H}, ++ {"HKscs-B5-V",&pdf_cmap_HKscs_B5_V}, ++ {"KSC-EUC-H",&pdf_cmap_KSC_EUC_H}, ++ {"KSC-EUC-V",&pdf_cmap_KSC_EUC_V}, ++ {"KSCms-UHC-H",&pdf_cmap_KSCms_UHC_H}, ++ {"KSCms-UHC-HW-H",&pdf_cmap_KSCms_UHC_HW_H}, ++ {"KSCms-UHC-HW-V",&pdf_cmap_KSCms_UHC_HW_V}, ++ {"KSCms-UHC-V",&pdf_cmap_KSCms_UHC_V}, ++ {"KSCpc-EUC-H",&pdf_cmap_KSCpc_EUC_H}, ++ {"UniCNS-UCS2-H",&pdf_cmap_UniCNS_UCS2_H}, ++ {"UniCNS-UCS2-V",&pdf_cmap_UniCNS_UCS2_V}, ++ {"UniCNS-UTF16-H",&pdf_cmap_UniCNS_UTF16_H}, ++ {"UniCNS-UTF16-V",&pdf_cmap_UniCNS_UTF16_V}, ++ {"UniCNS-X",&pdf_cmap_UniCNS_X}, ++ {"UniGB-UCS2-H",&pdf_cmap_UniGB_UCS2_H}, ++ {"UniGB-UCS2-V",&pdf_cmap_UniGB_UCS2_V}, ++ {"UniGB-UTF16-H",&pdf_cmap_UniGB_UTF16_H}, ++ {"UniGB-UTF16-V",&pdf_cmap_UniGB_UTF16_V}, ++ {"UniGB-X",&pdf_cmap_UniGB_X}, ++ {"UniJIS-UCS2-H",&pdf_cmap_UniJIS_UCS2_H}, ++ {"UniJIS-UCS2-HW-H",&pdf_cmap_UniJIS_UCS2_HW_H}, ++ {"UniJIS-UCS2-HW-V",&pdf_cmap_UniJIS_UCS2_HW_V}, ++ {"UniJIS-UCS2-V",&pdf_cmap_UniJIS_UCS2_V}, ++ {"UniJIS-UTF16-H",&pdf_cmap_UniJIS_UTF16_H}, ++ {"UniJIS-UTF16-V",&pdf_cmap_UniJIS_UTF16_V}, ++ {"UniJIS-X",&pdf_cmap_UniJIS_X}, ++ {"UniJIS-X16",&pdf_cmap_UniJIS_X16}, ++ {"UniKS-UCS2-H",&pdf_cmap_UniKS_UCS2_H}, ++ {"UniKS-UCS2-V",&pdf_cmap_UniKS_UCS2_V}, ++ {"UniKS-UTF16-H",&pdf_cmap_UniKS_UTF16_H}, ++ {"UniKS-UTF16-V",&pdf_cmap_UniKS_UTF16_V}, ++ {"UniKS-X",&pdf_cmap_UniKS_X}, ++ {"V",&pdf_cmap_V}, + }; + + #if EXTRA_CMAPS +-#include "gen_cmap_extra.h" ++ ++extern pdf_cmap pdf_cmap_78_EUC_H; ++extern pdf_cmap pdf_cmap_78_EUC_V; ++extern pdf_cmap pdf_cmap_78_H; ++extern pdf_cmap pdf_cmap_78_RKSJ_H; ++extern pdf_cmap pdf_cmap_78_RKSJ_V; ++extern pdf_cmap pdf_cmap_78_V; ++extern pdf_cmap pdf_cmap_78ms_RKSJ_H; ++extern pdf_cmap pdf_cmap_78ms_RKSJ_V; ++extern pdf_cmap pdf_cmap_90pv_RKSJ_V; ++extern pdf_cmap pdf_cmap_Add_H; ++extern pdf_cmap pdf_cmap_Add_V; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_0; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_1; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_2; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_3; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_4; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_5; ++extern pdf_cmap pdf_cmap_Adobe_CNS1_6; ++extern pdf_cmap pdf_cmap_Adobe_GB1_0; ++extern pdf_cmap pdf_cmap_Adobe_GB1_1; ++extern pdf_cmap pdf_cmap_Adobe_GB1_2; ++extern pdf_cmap pdf_cmap_Adobe_GB1_3; ++extern pdf_cmap pdf_cmap_Adobe_GB1_4; ++extern pdf_cmap pdf_cmap_Adobe_GB1_5; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_0; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_1; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_2; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_3; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_4; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_5; ++extern pdf_cmap pdf_cmap_Adobe_Japan1_6; ++extern pdf_cmap pdf_cmap_Adobe_Korea1_0; ++extern pdf_cmap pdf_cmap_Adobe_Korea1_1; ++extern pdf_cmap pdf_cmap_Adobe_Korea1_2; ++extern pdf_cmap pdf_cmap_B5_H; ++extern pdf_cmap pdf_cmap_B5_V; ++extern pdf_cmap pdf_cmap_CNS1_H; ++extern pdf_cmap pdf_cmap_CNS1_V; ++extern pdf_cmap pdf_cmap_CNS2_H; ++extern pdf_cmap pdf_cmap_CNS2_V; ++extern pdf_cmap pdf_cmap_ETHK_B5_H; ++extern pdf_cmap pdf_cmap_ETHK_B5_V; ++extern pdf_cmap pdf_cmap_Ext_H; ++extern pdf_cmap pdf_cmap_Ext_V; ++extern pdf_cmap pdf_cmap_GBT_EUC_H; ++extern pdf_cmap pdf_cmap_GBT_EUC_V; ++extern pdf_cmap pdf_cmap_GBT_H; ++extern pdf_cmap pdf_cmap_GBT_V; ++extern pdf_cmap pdf_cmap_GBTpc_EUC_H; ++extern pdf_cmap pdf_cmap_GBTpc_EUC_V; ++extern pdf_cmap pdf_cmap_GB_H; ++extern pdf_cmap pdf_cmap_GB_V; ++extern pdf_cmap pdf_cmap_HKdla_B5_H; ++extern pdf_cmap pdf_cmap_HKdla_B5_V; ++extern pdf_cmap pdf_cmap_HKdlb_B5_H; ++extern pdf_cmap pdf_cmap_HKdlb_B5_V; ++extern pdf_cmap pdf_cmap_HKgccs_B5_H; ++extern pdf_cmap pdf_cmap_HKgccs_B5_V; ++extern pdf_cmap pdf_cmap_HKm314_B5_H; ++extern pdf_cmap pdf_cmap_HKm314_B5_V; ++extern pdf_cmap pdf_cmap_HKm471_B5_H; ++extern pdf_cmap pdf_cmap_HKm471_B5_V; ++extern pdf_cmap pdf_cmap_Hankaku; ++extern pdf_cmap pdf_cmap_Hiragana; ++extern pdf_cmap pdf_cmap_KSC_H; ++extern pdf_cmap pdf_cmap_KSC_Johab_H; ++extern pdf_cmap pdf_cmap_KSC_Johab_V; ++extern pdf_cmap pdf_cmap_KSC_V; ++extern pdf_cmap pdf_cmap_KSCpc_EUC_V; ++extern pdf_cmap pdf_cmap_Katakana; ++extern pdf_cmap pdf_cmap_NWP_H; ++extern pdf_cmap pdf_cmap_NWP_V; ++extern pdf_cmap pdf_cmap_RKSJ_H; ++extern pdf_cmap pdf_cmap_RKSJ_V; ++extern pdf_cmap pdf_cmap_Roman; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF16_H; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF16_V; ++extern pdf_cmap pdf_cmap_UniJISPro_UCS2_HW_V; ++extern pdf_cmap pdf_cmap_UniJISPro_UCS2_V; ++extern pdf_cmap pdf_cmap_WP_Symbol; ++ + static const struct table table_extra[] = + { +- {"78-EUC-H",&cmap_78_EUC_H}, +- {"78-EUC-V",&cmap_78_EUC_V}, +- {"78-H",&cmap_78_H}, +- {"78-RKSJ-H",&cmap_78_RKSJ_H}, +- {"78-RKSJ-V",&cmap_78_RKSJ_V}, +- {"78-V",&cmap_78_V}, +- {"78ms-RKSJ-H",&cmap_78ms_RKSJ_H}, +- {"78ms-RKSJ-V",&cmap_78ms_RKSJ_V}, +- {"90pv-RKSJ-V",&cmap_90pv_RKSJ_V}, +- {"Add-H",&cmap_Add_H}, +- {"Add-V",&cmap_Add_V}, +- {"Adobe-CNS1-0",&cmap_Adobe_CNS1_0}, +- {"Adobe-CNS1-1",&cmap_Adobe_CNS1_1}, +- {"Adobe-CNS1-2",&cmap_Adobe_CNS1_2}, +- {"Adobe-CNS1-3",&cmap_Adobe_CNS1_3}, +- {"Adobe-CNS1-4",&cmap_Adobe_CNS1_4}, +- {"Adobe-CNS1-5",&cmap_Adobe_CNS1_5}, +- {"Adobe-CNS1-6",&cmap_Adobe_CNS1_6}, +- {"Adobe-GB1-0",&cmap_Adobe_GB1_0}, +- {"Adobe-GB1-1",&cmap_Adobe_GB1_1}, +- {"Adobe-GB1-2",&cmap_Adobe_GB1_2}, +- {"Adobe-GB1-3",&cmap_Adobe_GB1_3}, +- {"Adobe-GB1-4",&cmap_Adobe_GB1_4}, +- {"Adobe-GB1-5",&cmap_Adobe_GB1_5}, +- {"Adobe-Japan1-0",&cmap_Adobe_Japan1_0}, +- {"Adobe-Japan1-1",&cmap_Adobe_Japan1_1}, +- {"Adobe-Japan1-2",&cmap_Adobe_Japan1_2}, +- {"Adobe-Japan1-3",&cmap_Adobe_Japan1_3}, +- {"Adobe-Japan1-4",&cmap_Adobe_Japan1_4}, +- {"Adobe-Japan1-5",&cmap_Adobe_Japan1_5}, +- {"Adobe-Japan1-6",&cmap_Adobe_Japan1_6}, +- {"Adobe-Korea1-0",&cmap_Adobe_Korea1_0}, +- {"Adobe-Korea1-1",&cmap_Adobe_Korea1_1}, +- {"Adobe-Korea1-2",&cmap_Adobe_Korea1_2}, +- {"B5-H",&cmap_B5_H}, +- {"B5-V",&cmap_B5_V}, +- {"CNS1-H",&cmap_CNS1_H}, +- {"CNS1-V",&cmap_CNS1_V}, +- {"CNS2-H",&cmap_CNS2_H}, +- {"CNS2-V",&cmap_CNS2_V}, +- {"ETHK-B5-H",&cmap_ETHK_B5_H}, +- {"ETHK-B5-V",&cmap_ETHK_B5_V}, +- {"Ext-H",&cmap_Ext_H}, +- {"Ext-V",&cmap_Ext_V}, +- {"GB-H",&cmap_GB_H}, +- {"GB-V",&cmap_GB_V}, +- {"GBT-EUC-H",&cmap_GBT_EUC_H}, +- {"GBT-EUC-V",&cmap_GBT_EUC_V}, +- {"GBT-H",&cmap_GBT_H}, +- {"GBT-V",&cmap_GBT_V}, +- {"GBTpc-EUC-H",&cmap_GBTpc_EUC_H}, +- {"GBTpc-EUC-V",&cmap_GBTpc_EUC_V}, +- {"HKdla-B5-H",&cmap_HKdla_B5_H}, +- {"HKdla-B5-V",&cmap_HKdla_B5_V}, +- {"HKdlb-B5-H",&cmap_HKdlb_B5_H}, +- {"HKdlb-B5-V",&cmap_HKdlb_B5_V}, +- {"HKgccs-B5-H",&cmap_HKgccs_B5_H}, +- {"HKgccs-B5-V",&cmap_HKgccs_B5_V}, +- {"HKm314-B5-H",&cmap_HKm314_B5_H}, +- {"HKm314-B5-V",&cmap_HKm314_B5_V}, +- {"HKm471-B5-H",&cmap_HKm471_B5_H}, +- {"HKm471-B5-V",&cmap_HKm471_B5_V}, +- {"Hankaku",&cmap_Hankaku}, +- {"Hiragana",&cmap_Hiragana}, +- {"KSC-H",&cmap_KSC_H}, +- {"KSC-Johab-H",&cmap_KSC_Johab_H}, +- {"KSC-Johab-V",&cmap_KSC_Johab_V}, +- {"KSC-V",&cmap_KSC_V}, +- {"KSCpc-EUC-V",&cmap_KSCpc_EUC_V}, +- {"Katakana",&cmap_Katakana}, +- {"NWP-H",&cmap_NWP_H}, +- {"NWP-V",&cmap_NWP_V}, +- {"RKSJ-H",&cmap_RKSJ_H}, +- {"RKSJ-V",&cmap_RKSJ_V}, +- {"Roman",&cmap_Roman}, +- {"UniJIS2004-UTF16-H",&cmap_UniJIS2004_UTF16_H}, +- {"UniJIS2004-UTF16-V",&cmap_UniJIS2004_UTF16_V}, +- {"UniJISPro-UCS2-HW-V",&cmap_UniJISPro_UCS2_HW_V}, +- {"UniJISPro-UCS2-V",&cmap_UniJISPro_UCS2_V}, +- {"WP-Symbol",&cmap_WP_Symbol}, ++ {"78-EUC-H",&pdf_cmap_78_EUC_H}, ++ {"78-EUC-V",&pdf_cmap_78_EUC_V}, ++ {"78-H",&pdf_cmap_78_H}, ++ {"78-RKSJ-H",&pdf_cmap_78_RKSJ_H}, ++ {"78-RKSJ-V",&pdf_cmap_78_RKSJ_V}, ++ {"78-V",&pdf_cmap_78_V}, ++ {"78ms-RKSJ-H",&pdf_cmap_78ms_RKSJ_H}, ++ {"78ms-RKSJ-V",&pdf_cmap_78ms_RKSJ_V}, ++ {"90pv-RKSJ-V",&pdf_cmap_90pv_RKSJ_V}, ++ {"Add-H",&pdf_cmap_Add_H}, ++ {"Add-V",&pdf_cmap_Add_V}, ++ {"Adobe-CNS1-0",&pdf_cmap_Adobe_CNS1_0}, ++ {"Adobe-CNS1-1",&pdf_cmap_Adobe_CNS1_1}, ++ {"Adobe-CNS1-2",&pdf_cmap_Adobe_CNS1_2}, ++ {"Adobe-CNS1-3",&pdf_cmap_Adobe_CNS1_3}, ++ {"Adobe-CNS1-4",&pdf_cmap_Adobe_CNS1_4}, ++ {"Adobe-CNS1-5",&pdf_cmap_Adobe_CNS1_5}, ++ {"Adobe-CNS1-6",&pdf_cmap_Adobe_CNS1_6}, ++ {"Adobe-GB1-0",&pdf_cmap_Adobe_GB1_0}, ++ {"Adobe-GB1-1",&pdf_cmap_Adobe_GB1_1}, ++ {"Adobe-GB1-2",&pdf_cmap_Adobe_GB1_2}, ++ {"Adobe-GB1-3",&pdf_cmap_Adobe_GB1_3}, ++ {"Adobe-GB1-4",&pdf_cmap_Adobe_GB1_4}, ++ {"Adobe-GB1-5",&pdf_cmap_Adobe_GB1_5}, ++ {"Adobe-Japan1-0",&pdf_cmap_Adobe_Japan1_0}, ++ {"Adobe-Japan1-1",&pdf_cmap_Adobe_Japan1_1}, ++ {"Adobe-Japan1-2",&pdf_cmap_Adobe_Japan1_2}, ++ {"Adobe-Japan1-3",&pdf_cmap_Adobe_Japan1_3}, ++ {"Adobe-Japan1-4",&pdf_cmap_Adobe_Japan1_4}, ++ {"Adobe-Japan1-5",&pdf_cmap_Adobe_Japan1_5}, ++ {"Adobe-Japan1-6",&pdf_cmap_Adobe_Japan1_6}, ++ {"Adobe-Korea1-0",&pdf_cmap_Adobe_Korea1_0}, ++ {"Adobe-Korea1-1",&pdf_cmap_Adobe_Korea1_1}, ++ {"Adobe-Korea1-2",&pdf_cmap_Adobe_Korea1_2}, ++ {"B5-H",&pdf_cmap_B5_H}, ++ {"B5-V",&pdf_cmap_B5_V}, ++ {"CNS1-H",&pdf_cmap_CNS1_H}, ++ {"CNS1-V",&pdf_cmap_CNS1_V}, ++ {"CNS2-H",&pdf_cmap_CNS2_H}, ++ {"CNS2-V",&pdf_cmap_CNS2_V}, ++ {"ETHK-B5-H",&pdf_cmap_ETHK_B5_H}, ++ {"ETHK-B5-V",&pdf_cmap_ETHK_B5_V}, ++ {"Ext-H",&pdf_cmap_Ext_H}, ++ {"Ext-V",&pdf_cmap_Ext_V}, ++ {"GB-H",&pdf_cmap_GB_H}, ++ {"GB-V",&pdf_cmap_GB_V}, ++ {"GBT-EUC-H",&pdf_cmap_GBT_EUC_H}, ++ {"GBT-EUC-V",&pdf_cmap_GBT_EUC_V}, ++ {"GBT-H",&pdf_cmap_GBT_H}, ++ {"GBT-V",&pdf_cmap_GBT_V}, ++ {"GBTpc-EUC-H",&pdf_cmap_GBTpc_EUC_H}, ++ {"GBTpc-EUC-V",&pdf_cmap_GBTpc_EUC_V}, ++ {"HKdla-B5-H",&pdf_cmap_HKdla_B5_H}, ++ {"HKdla-B5-V",&pdf_cmap_HKdla_B5_V}, ++ {"HKdlb-B5-H",&pdf_cmap_HKdlb_B5_H}, ++ {"HKdlb-B5-V",&pdf_cmap_HKdlb_B5_V}, ++ {"HKgccs-B5-H",&pdf_cmap_HKgccs_B5_H}, ++ {"HKgccs-B5-V",&pdf_cmap_HKgccs_B5_V}, ++ {"HKm314-B5-H",&pdf_cmap_HKm314_B5_H}, ++ {"HKm314-B5-V",&pdf_cmap_HKm314_B5_V}, ++ {"HKm471-B5-H",&pdf_cmap_HKm471_B5_H}, ++ {"HKm471-B5-V",&pdf_cmap_HKm471_B5_V}, ++ {"Hankaku",&pdf_cmap_Hankaku}, ++ {"Hiragana",&pdf_cmap_Hiragana}, ++ {"KSC-H",&pdf_cmap_KSC_H}, ++ {"KSC-Johab-H",&pdf_cmap_KSC_Johab_H}, ++ {"KSC-Johab-V",&pdf_cmap_KSC_Johab_V}, ++ {"KSC-V",&pdf_cmap_KSC_V}, ++ {"KSCpc-EUC-V",&pdf_cmap_KSCpc_EUC_V}, ++ {"Katakana",&pdf_cmap_Katakana}, ++ {"NWP-H",&pdf_cmap_NWP_H}, ++ {"NWP-V",&pdf_cmap_NWP_V}, ++ {"RKSJ-H",&pdf_cmap_RKSJ_H}, ++ {"RKSJ-V",&pdf_cmap_RKSJ_V}, ++ {"Roman",&pdf_cmap_Roman}, ++ {"UniJIS2004-UTF16-H",&pdf_cmap_UniJIS2004_UTF16_H}, ++ {"UniJIS2004-UTF16-V",&pdf_cmap_UniJIS2004_UTF16_V}, ++ {"UniJISPro-UCS2-HW-V",&pdf_cmap_UniJISPro_UCS2_HW_V}, ++ {"UniJISPro-UCS2-V",&pdf_cmap_UniJISPro_UCS2_V}, ++ {"WP-Symbol",&pdf_cmap_WP_Symbol}, + }; + #endif + + #if UTF8_CMAPS +-#include "gen_cmap_utf8.h" ++ ++extern pdf_cmap pdf_cmap_UniCNS_UTF8_H; ++extern pdf_cmap pdf_cmap_UniCNS_UTF8_V; ++extern pdf_cmap pdf_cmap_UniGB_UTF8_H; ++extern pdf_cmap pdf_cmap_UniGB_UTF8_V; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF8_H; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF8_V; ++extern pdf_cmap pdf_cmap_UniJISPro_UTF8_V; ++extern pdf_cmap pdf_cmap_UniJIS_UTF8_H; ++extern pdf_cmap pdf_cmap_UniJIS_UTF8_V; ++extern pdf_cmap pdf_cmap_UniJIS_X8; ++extern pdf_cmap pdf_cmap_UniKS_UTF8_H; ++extern pdf_cmap pdf_cmap_UniKS_UTF8_V; ++ + static const struct table table_utf8[] = + { +- {"UniCNS-UTF8-H",&cmap_UniCNS_UTF8_H}, +- {"UniCNS-UTF8-V",&cmap_UniCNS_UTF8_V}, +- {"UniGB-UTF8-H",&cmap_UniGB_UTF8_H}, +- {"UniGB-UTF8-V",&cmap_UniGB_UTF8_V}, +- {"UniJIS-UTF8-H",&cmap_UniJIS_UTF8_H}, +- {"UniJIS-UTF8-V",&cmap_UniJIS_UTF8_V}, +- {"UniJIS-X8",&cmap_UniJIS_X8}, +- {"UniJIS2004-UTF8-H",&cmap_UniJIS2004_UTF8_H}, +- {"UniJIS2004-UTF8-V",&cmap_UniJIS2004_UTF8_V}, +- {"UniJISPro-UTF8-V",&cmap_UniJISPro_UTF8_V}, +- {"UniKS-UTF8-H",&cmap_UniKS_UTF8_H}, +- {"UniKS-UTF8-V",&cmap_UniKS_UTF8_V}, ++ {"UniCNS-UTF8-H",&pdf_cmap_UniCNS_UTF8_H}, ++ {"UniCNS-UTF8-V",&pdf_cmap_UniCNS_UTF8_V}, ++ {"UniGB-UTF8-H",&pdf_cmap_UniGB_UTF8_H}, ++ {"UniGB-UTF8-V",&pdf_cmap_UniGB_UTF8_V}, ++ {"UniJIS-UTF8-H",&pdf_cmap_UniJIS_UTF8_H}, ++ {"UniJIS-UTF8-V",&pdf_cmap_UniJIS_UTF8_V}, ++ {"UniJIS-X8",&pdf_cmap_UniJIS_X8}, ++ {"UniJIS2004-UTF8-H",&pdf_cmap_UniJIS2004_UTF8_H}, ++ {"UniJIS2004-UTF8-V",&pdf_cmap_UniJIS2004_UTF8_V}, ++ {"UniJISPro-UTF8-V",&pdf_cmap_UniJISPro_UTF8_V}, ++ {"UniKS-UTF8-H",&pdf_cmap_UniKS_UTF8_H}, ++ {"UniKS-UTF8-V",&pdf_cmap_UniKS_UTF8_V}, + }; + #endif + + #if UTF32_CMAPS +-#include "gen_cmap_utf32.h" ++ ++extern pdf_cmap pdf_cmap_UniCNS_UTF32_H; ++extern pdf_cmap pdf_cmap_UniCNS_UTF32_V; ++extern pdf_cmap pdf_cmap_UniGB_UTF32_H; ++extern pdf_cmap pdf_cmap_UniGB_UTF32_V; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF32_H; ++extern pdf_cmap pdf_cmap_UniJIS2004_UTF32_V; ++extern pdf_cmap pdf_cmap_UniJISX02132004_UTF32_H; ++extern pdf_cmap pdf_cmap_UniJISX02132004_UTF32_V; ++extern pdf_cmap pdf_cmap_UniJISX0213_UTF32_H; ++extern pdf_cmap pdf_cmap_UniJISX0213_UTF32_V; ++extern pdf_cmap pdf_cmap_UniJIS_UTF32_H; ++extern pdf_cmap pdf_cmap_UniJIS_UTF32_V; ++extern pdf_cmap pdf_cmap_UniJIS_X32; ++extern pdf_cmap pdf_cmap_UniKS_UTF32_H; ++extern pdf_cmap pdf_cmap_UniKS_UTF32_V; ++ + static const struct table table_utf32[] = + { +- {"UniCNS-UTF32-H",&cmap_UniCNS_UTF32_H}, +- {"UniCNS-UTF32-V",&cmap_UniCNS_UTF32_V}, +- {"UniGB-UTF32-H",&cmap_UniGB_UTF32_H}, +- {"UniGB-UTF32-V",&cmap_UniGB_UTF32_V}, +- {"UniJIS-UTF32-H",&cmap_UniJIS_UTF32_H}, +- {"UniJIS-UTF32-V",&cmap_UniJIS_UTF32_V}, +- {"UniJIS-X32",&cmap_UniJIS_X32}, +- {"UniJIS2004-UTF32-H",&cmap_UniJIS2004_UTF32_H}, +- {"UniJIS2004-UTF32-V",&cmap_UniJIS2004_UTF32_V}, +- {"UniJISX0213-UTF32-H",&cmap_UniJISX0213_UTF32_H}, +- {"UniJISX0213-UTF32-V",&cmap_UniJISX0213_UTF32_V}, +- {"UniJISX02132004-UTF32-H",&cmap_UniJISX02132004_UTF32_H}, +- {"UniJISX02132004-UTF32-V",&cmap_UniJISX02132004_UTF32_V}, +- {"UniKS-UTF32-H",&cmap_UniKS_UTF32_H}, +- {"UniKS-UTF32-V",&cmap_UniKS_UTF32_V}, ++ {"UniCNS-UTF32-H",&pdf_cmap_UniCNS_UTF32_H}, ++ {"UniCNS-UTF32-V",&pdf_cmap_UniCNS_UTF32_V}, ++ {"UniGB-UTF32-H",&pdf_cmap_UniGB_UTF32_H}, ++ {"UniGB-UTF32-V",&pdf_cmap_UniGB_UTF32_V}, ++ {"UniJIS-UTF32-H",&pdf_cmap_UniJIS_UTF32_H}, ++ {"UniJIS-UTF32-V",&pdf_cmap_UniJIS_UTF32_V}, ++ {"UniJIS-X32",&pdf_cmap_UniJIS_X32}, ++ {"UniJIS2004-UTF32-H",&pdf_cmap_UniJIS2004_UTF32_H}, ++ {"UniJIS2004-UTF32-V",&pdf_cmap_UniJIS2004_UTF32_V}, ++ {"UniJISX0213-UTF32-H",&pdf_cmap_UniJISX0213_UTF32_H}, ++ {"UniJISX0213-UTF32-V",&pdf_cmap_UniJISX0213_UTF32_V}, ++ {"UniJISX02132004-UTF32-H",&pdf_cmap_UniJISX02132004_UTF32_H}, ++ {"UniJISX02132004-UTF32-V",&pdf_cmap_UniJISX02132004_UTF32_V}, ++ {"UniKS-UTF32-H",&pdf_cmap_UniKS_UTF32_H}, ++ {"UniKS-UTF32-V",&pdf_cmap_UniKS_UTF32_V}, + }; + #endif + +diff --git a/source/pdf/pdf-js.c b/source/pdf/pdf-js.c +index bca92780..63892d98 100644 +--- a/source/pdf/pdf-js.c ++++ b/source/pdf/pdf-js.c +@@ -549,7 +549,7 @@ static void declare_dom(pdf_js *js) + js_setglobal(J, "MuPDF_Doc"); /* for pdf-util.js use */ + } + +-#include "gen_js_util.h" ++extern const char fz_source_pdf_pdf_js_util_js[]; + + static void preload_helpers(pdf_js *js) + { +diff --git a/source/pdf/pdf-pkcs7.c b/source/pdf/pdf-pkcs7.c +index dd106034..3fac2c72 100644 +--- a/source/pdf/pdf-pkcs7.c ++++ b/source/pdf/pdf-pkcs7.c +@@ -1,7 +1,66 @@ +-#include "mupdf/pdf.h" // TODO: move this file to pdf module ++#include "mupdf/pdf.h" + + #ifdef HAVE_LIBCRYPTO + ++/* Generated from resources/certs/AdobeCA.p7c */ ++static const char AdobeCA_p7c[] = { ++48,130,4,208,6,9,42,134,72,134,247,13,1,7,2,160,130,4,193,48,130,4,189,2, ++1,1,49,0,48,11,6,9,42,134,72,134,247,13,1,7,1,160,130,4,165,48,130,4,161, ++48,130,3,137,160,3,2,1,2,2,4,62,28,189,40,48,13,6,9,42,134,72,134,247,13, ++1,1,5,5,0,48,105,49,11,48,9,6,3,85,4,6,19,2,85,83,49,35,48,33,6,3,85,4,10, ++19,26,65,100,111,98,101,32,83,121,115,116,101,109,115,32,73,110,99,111,114, ++112,111,114,97,116,101,100,49,29,48,27,6,3,85,4,11,19,20,65,100,111,98,101, ++32,84,114,117,115,116,32,83,101,114,118,105,99,101,115,49,22,48,20,6,3,85, ++4,3,19,13,65,100,111,98,101,32,82,111,111,116,32,67,65,48,30,23,13,48,51, ++48,49,48,56,50,51,51,55,50,51,90,23,13,50,51,48,49,48,57,48,48,48,55,50,51, ++90,48,105,49,11,48,9,6,3,85,4,6,19,2,85,83,49,35,48,33,6,3,85,4,10,19,26, ++65,100,111,98,101,32,83,121,115,116,101,109,115,32,73,110,99,111,114,112, ++111,114,97,116,101,100,49,29,48,27,6,3,85,4,11,19,20,65,100,111,98,101,32, ++84,114,117,115,116,32,83,101,114,118,105,99,101,115,49,22,48,20,6,3,85,4, ++3,19,13,65,100,111,98,101,32,82,111,111,116,32,67,65,48,130,1,34,48,13,6, ++9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,204, ++79,84,132,247,167,162,231,51,83,127,63,156,18,136,107,44,153,71,103,126,15, ++30,185,173,20,136,249,195,16,216,29,240,240,213,159,105,10,47,89,53,176,204, ++108,169,76,156,21,160,159,206,32,191,160,207,84,226,224,32,102,69,63,57,134, ++56,126,156,196,142,7,34,198,36,246,1,18,176,53,223,85,234,105,144,176,219, ++133,55,30,226,78,7,178,66,161,106,19,105,160,102,234,128,145,17,89,42,155, ++8,121,90,32,68,45,201,189,115,56,139,60,47,224,67,27,93,179,11,240,175,53, ++26,41,254,239,166,146,221,129,76,157,61,89,142,173,49,60,64,126,155,145,54, ++6,252,226,92,141,209,141,38,213,92,69,207,175,101,63,177,170,210,98,150,244, ++168,56,234,186,96,66,244,244,28,74,53,21,206,248,78,34,86,15,149,24,197,248, ++150,159,159,251,176,183,120,37,233,128,107,189,214,10,240,198,116,148,157, ++243,15,80,219,154,119,206,75,112,131,35,141,160,202,120,32,68,92,60,84,100, ++241,234,162,48,25,159,234,76,6,77,6,120,75,94,146,223,34,210,201,103,179, ++122,210,1,2,3,1,0,1,163,130,1,79,48,130,1,75,48,17,6,9,96,134,72,1,134,248, ++66,1,1,4,4,3,2,0,7,48,129,142,6,3,85,29,31,4,129,134,48,129,131,48,129,128, ++160,126,160,124,164,122,48,120,49,11,48,9,6,3,85,4,6,19,2,85,83,49,35,48, ++33,6,3,85,4,10,19,26,65,100,111,98,101,32,83,121,115,116,101,109,115,32,73, ++110,99,111,114,112,111,114,97,116,101,100,49,29,48,27,6,3,85,4,11,19,20,65, ++100,111,98,101,32,84,114,117,115,116,32,83,101,114,118,105,99,101,115,49, ++22,48,20,6,3,85,4,3,19,13,65,100,111,98,101,32,82,111,111,116,32,67,65,49, ++13,48,11,6,3,85,4,3,19,4,67,82,76,49,48,43,6,3,85,29,16,4,36,48,34,128,15, ++50,48,48,51,48,49,48,56,50,51,51,55,50,51,90,129,15,50,48,50,51,48,49,48, ++57,48,48,48,55,50,51,90,48,11,6,3,85,29,15,4,4,3,2,1,6,48,31,6,3,85,29,35, ++4,24,48,22,128,20,130,183,56,74,147,170,155,16,239,128,187,217,84,226,241, ++15,251,128,156,222,48,29,6,3,85,29,14,4,22,4,20,130,183,56,74,147,170,155, ++16,239,128,187,217,84,226,241,15,251,128,156,222,48,12,6,3,85,29,19,4,5,48, ++3,1,1,255,48,29,6,9,42,134,72,134,246,125,7,65,0,4,16,48,14,27,8,86,54,46, ++48,58,52,46,48,3,2,4,144,48,13,6,9,42,134,72,134,247,13,1,1,5,5,0,3,130,1, ++1,0,50,218,159,67,117,193,250,111,201,111,219,171,29,54,55,62,188,97,25,54, ++183,2,60,29,35,89,152,108,158,238,77,133,231,84,200,32,31,167,212,187,226, ++191,0,119,125,36,107,112,47,92,193,58,118,73,181,211,224,35,132,42,113,106, ++34,243,193,39,41,152,21,246,53,144,228,4,76,195,141,188,159,97,28,231,253, ++36,140,209,68,67,140,22,186,155,77,165,212,53,47,188,17,206,189,247,81,55, ++141,159,144,228,20,241,24,63,190,233,89,18,53,249,51,146,243,158,224,213, ++107,154,113,155,153,75,200,113,195,225,177,97,9,196,229,250,145,240,66,58, ++55,125,52,249,114,232,205,170,98,28,33,233,213,244,130,16,227,123,5,182,45, ++104,86,11,126,126,146,44,111,77,114,130,12,237,86,116,178,157,185,171,45, ++43,29,16,95,219,39,117,112,143,253,29,215,226,2,160,121,229,28,229,255,175, ++100,64,81,45,158,155,71,219,66,165,124,31,194,166,72,176,215,190,146,105, ++77,164,246,41,87,197,120,17,24,220,135,81,202,19,178,98,157,79,43,50,189, ++49,165,193,250,82,171,5,136,200,49,0 ++}; ++ + #include "openssl/err.h" + #include "openssl/bio.h" + #include "openssl/asn1.h" +@@ -256,8 +315,6 @@ exit: + return res; + } + +-#include "gen_adobe_ca.h" +- + static int verify_sig(char *sig, int sig_len, char *file, int (*byte_range)[2], int byte_range_len, char *ebuf, int ebufsize) + { + PKCS7 *pk7sig = NULL; +@@ -289,7 +346,7 @@ static int verify_sig(char *sig, int sig_len, char *file, int (*byte_range)[2], + BIO_set_segments(bsegs, byte_range, byte_range_len); + + /* Find the certificates in the pk7 file */ +- bcert = BIO_new_mem_buf((void*)fz_resources_certs_AdobeCA_p7c, fz_resources_certs_AdobeCA_p7c_size); ++ bcert = BIO_new_mem_buf((void*)AdobeCA_p7c, sizeof AdobeCA_p7c); + pk7cert = d2i_PKCS7_bio(bcert, NULL); + if (pk7cert == NULL) + goto exit; +-- +2.13.1 + diff --git a/pkg/mupdf/patch/0002-scripts-hexdump-Support-stripping-prefix-for-symbol-.patch b/pkg/mupdf/patch/0002-scripts-hexdump-Support-stripping-prefix-for-symbol-.patch new file mode 100644 index 00000000..858d9c55 --- /dev/null +++ b/pkg/mupdf/patch/0002-scripts-hexdump-Support-stripping-prefix-for-symbol-.patch @@ -0,0 +1,106 @@ +From 77f0dff21086c9df1a70c4c301dfa37dcc2fcfee Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Tue, 6 Jun 2017 23:30:38 -0700 +Subject: [PATCH] scripts/hexdump: Support stripping prefix for symbol name + +This allows us to run hexdump from a different directory, yet still have +the correct symbol names. +--- + scripts/hexdump.c | 39 +++++++++++++++++++++++++++++++-------- + 1 file changed, 31 insertions(+), 8 deletions(-) + +diff --git a/scripts/hexdump.c b/scripts/hexdump.c +index 728afc33..3e0ea49f 100644 +--- a/scripts/hexdump.c ++++ b/scripts/hexdump.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + static int + hexdump(FILE *fo, FILE *fi) +@@ -24,26 +25,43 @@ hexdump(FILE *fo, FILE *fi) + return n; + } + ++static int ++usage(void) ++{ ++ fprintf(stderr, "usage: hexdump [-p prefix] output.c input.dat\n"); ++ exit(1); ++} ++ + int + main(int argc, char **argv) + { + FILE *fo; + FILE *fi; +- char filename[256]; ++ char filenamebuf[256], *filename = filenamebuf; + char *basename; + char *p; +- int i, size; ++ char *prefix = ""; ++ int c, i, size; + + if (argc < 3) ++ usage(); ++ ++ while ((c = getopt(argc, argv, "0p:")) != -1) + { +- fprintf(stderr, "usage: hexdump output.c input.dat\n"); +- return 1; ++ switch (c) ++ { ++ case 'p': ++ prefix = optarg; ++ break; ++ case '?': ++ usage(); ++ } + } + +- fo = fopen(argv[1], "wb"); ++ fo = fopen(argv[optind], "wb"); + if (!fo) + { +- fprintf(stderr, "hexdump: could not open output file '%s'\n", argv[1]); ++ fprintf(stderr, "hexdump: could not open output file '%s'\n", argv[optind]); + return 1; + } + +@@ -55,7 +73,7 @@ main(int argc, char **argv) + fprintf(fo, "#endif\n"); + fprintf(fo, "#endif\n"); + +- for (i = 2; i < argc; i++) ++ for (i = optind + 1; i < argc; i++) + { + fi = fopen(argv[i], "rb"); + if (!fi) +@@ -73,7 +91,7 @@ main(int argc, char **argv) + else + basename = argv[i]; + +- if (strlen(basename) >= sizeof(filename)) ++ if (strlen(basename) >= sizeof(filenamebuf)) + { + fclose(fi); + fclose(fo); +@@ -82,6 +100,11 @@ main(int argc, char **argv) + } + + strcpy(filename, argv[i]); ++ while (*prefix && *prefix == *filename) ++ { ++ ++prefix; ++ ++filename; ++ } + for (p = filename; *p; ++p) + { + if (*p == '/' || *p == '.' || *p == '\\' || *p == '-') +-- +2.13.1 + diff --git a/pkg/mupdf/patch/0003-Remove-hb.h-include-from-font.c.patch b/pkg/mupdf/patch/0003-Remove-hb.h-include-from-font.c.patch new file mode 100644 index 00000000..f5f45094 --- /dev/null +++ b/pkg/mupdf/patch/0003-Remove-hb.h-include-from-font.c.patch @@ -0,0 +1,25 @@ +From beb3fdfeb1556f7a2f4d5a4e59abd5847fead84d Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Tue, 6 Jun 2017 23:32:04 -0700 +Subject: [PATCH] Remove hb.h include from font.c + +--- + source/fitz/font.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/source/fitz/font.c b/source/fitz/font.c +index b9c05b8d..6e83ba18 100644 +--- a/source/fitz/font.c ++++ b/source/fitz/font.c +@@ -3,8 +3,6 @@ + #include "font-imp.h" + + #include +-#include "hb.h" +-#include "hb-ft.h" + + #include FT_FREETYPE_H + #include FT_ADVANCES_H +-- +2.13.1 + diff --git a/pkg/mupdf/rev b/pkg/mupdf/rev new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/pkg/mupdf/rev @@ -0,0 +1 @@ +1 diff --git a/pkg/mupdf/sources.txt b/pkg/mupdf/sources.txt new file mode 100644 index 00000000..55ea4ef6 --- /dev/null +++ b/pkg/mupdf/sources.txt @@ -0,0 +1,175 @@ +# 2,