summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile242
-rw-r--r--platform/win32/generate.bat288
-rw-r--r--scripts/bin2hex.c99
-rw-r--r--scripts/cquote.c134
-rw-r--r--scripts/hexdump.c (renamed from scripts/fontdump.c)37
-rw-r--r--source/fitz/noto.c96
-rw-r--r--source/pdf/pdf-js.c6
-rw-r--r--source/pdf/pdf-pkcs7.c5
8 files changed, 358 insertions, 549 deletions
diff --git a/Makefile b/Makefile
index 787f34d9..c68eddc2 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,21 @@ CFLAGS += $(MUJS_CFLAGS)
CFLAGS += $(OPENJPEG_CFLAGS)
CFLAGS += $(ZLIB_CFLAGS)
+ALL_DIR := $(OUT)/fitz
+ALL_DIR += $(OUT)/pdf
+ALL_DIR += $(OUT)/xps
+ALL_DIR += $(OUT)/svg
+ALL_DIR += $(OUT)/cbz
+ALL_DIR += $(OUT)/html
+ALL_DIR += $(OUT)/gprf
+ALL_DIR += $(OUT)/tools
+ALL_DIR += $(OUT)/helpers
+ALL_DIR += $(OUT)/helpers/mu-threads
+ALL_DIR += $(OUT)/platform/x11
+ALL_DIR += $(OUT)/platform/x11/curl
+ALL_DIR += $(OUT)/platform/gl
+ALL_DIR += $(OUT)/fonts
+
# --- Commands ---
ifneq "$(verbose)" "yes"
@@ -63,22 +78,49 @@ RM_CMD = $(QUIET_RM) rm -f $@
TAGS_CMD = $(QUIET_TAGS) ctags $^
WINDRES_CMD = $(QUIET_WINDRES) $(WINDRES) $< $@
-# --- File lists ---
+# --- Rules ---
-ALL_DIR := $(OUT)/fitz
-ALL_DIR += $(OUT)/pdf
-ALL_DIR += $(OUT)/xps
-ALL_DIR += $(OUT)/svg
-ALL_DIR += $(OUT)/cbz
-ALL_DIR += $(OUT)/html
-ALL_DIR += $(OUT)/gprf
-ALL_DIR += $(OUT)/tools
-ALL_DIR += $(OUT)/helpers
-ALL_DIR += $(OUT)/helpers/mu-threads
-ALL_DIR += $(OUT)/platform/x11
-ALL_DIR += $(OUT)/platform/x11/curl
-ALL_DIR += $(OUT)/platform/gl
-ALL_DIR += $(OUT)/fonts
+$(ALL_DIR) $(OUT) $(GEN) :
+ $(MKDIR_CMD)
+
+$(OUT)/%.a :
+ $(RM_CMD)
+ $(AR_CMD)
+ $(RANLIB_CMD)
+
+$(OUT)/%: $(OUT)/%.o
+ $(LINK_CMD)
+
+$(OUT)/%.o : source/%.c | $(ALL_DIR)
+ $(CC_CMD)
+
+$(OUT)/%.o : source/%.cpp | $(ALL_DIR)
+ $(CXX_CMD)
+
+$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR)
+ $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD
+
+$(OUT)/%.o : scripts/%.c | $(OUT)
+ $(CC_CMD)
+
+$(OUT)/fonts/%.o : $(GEN)/%.c | $(ALL_DIR)
+ $(CC_CMD) -O0
+
+$(OUT)/platform/x11/%.o : platform/x11/%.c | $(ALL_DIR)
+ $(CC_CMD) $(X11_CFLAGS)
+
+$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(OUT)
+ $(WINDRES_CMD)
+
+$(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR)
+ $(CC_CMD) $(X11_CFLAGS) $(CURL_CFLAGS) -DHAVE_CURL
+
+$(OUT)/platform/gl/%.o : platform/gl/%.c | $(ALL_DIR)
+ $(CC_CMD) $(GLFW_CFLAGS)
+
+.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
+
+# --- File lists ---
FITZ_HDR := include/mupdf/fitz.h $(wildcard include/mupdf/fitz/*.h)
PDF_HDR := include/mupdf/pdf.h $(wildcard include/mupdf/pdf/*.h)
@@ -122,6 +164,8 @@ $(THREAD_OBJ) : $(THREAD_HDR)
# --- Generated embedded font files ---
+HEXDUMP := $(OUT)/hexdump
+
FONT_BIN_DROID := $(wildcard resources/fonts/droid/*.ttf)
FONT_BIN_NOTO := $(wildcard resources/fonts/noto/*.ttf)
FONT_BIN_HAN := $(wildcard resources/fonts/han/*.otf)
@@ -138,16 +182,16 @@ FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_HAN) $(FONT_BIN_URW) $
FONT_GEN := $(FONT_GEN_DROID) $(FONT_GEN_NOTO) $(FONT_GEN_HAN) $(FONT_GEN_URW) $(FONT_GEN_SIL)
FONT_OBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .o, $(basename $(FONT_GEN))))
-$(GEN)/%.c : resources/fonts/droid/%.ttf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/noto/%.ttf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/han/%.otf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/urw/%.cff $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/sil/%.cff $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/droid/%.ttf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/noto/%.ttf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/han/%.otf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/urw/%.cff $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/sil/%.cff $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
$(FONT_OBJ) : $(FONT_GEN)
$(FONT_GEN_DROID) : $(FONT_BIN_DROID)
@@ -156,71 +200,45 @@ $(FONT_GEN_HAN) : $(FONT_BIN_HAN)
$(FONT_GEN_URW) : $(FONT_BIN_URW)
$(FONT_GEN_SIL) : $(FONT_BIN_SIL)
-# --- Library ---
-
-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)
-THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ)
-THREAD_OBJ := $(THREAD_OBJ)
-
-$(MUPDF_LIB) : $(MUPDF_OBJ)
-$(THIRD_LIB) : $(THIRD_OBJ)
-$(THREAD_LIB) : $(THREAD_OBJ)
-
-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
-
-# --- Rules ---
-
-$(ALL_DIR) $(OUT) $(GEN) :
- $(MKDIR_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(FONT_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/%.a :
- $(RM_CMD)
- $(AR_CMD)
- $(RANLIB_CMD)
+generate: $(FONT_GEN)
-$(OUT)/%: $(OUT)/%.o
- $(LINK_CMD)
+# --- Generated embedded certificate files ---
-$(OUT)/%.o : source/%.c | $(ALL_DIR)
- $(CC_CMD)
+ADOBECA_SRC := resources/certs/AdobeCA.p7c
+ADOBECA_GEN := $(GEN)/gen_adobe_ca.h
+$(ADOBECA_GEN) : $(ADOBECA_SRC)
+ $(QUIET_GEN) $(HEXDUMP) $@ $(ADOBECA_SRC)
-$(OUT)/%.o : source/%.cpp | $(ALL_DIR)
- $(CXX_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(ADOBECA_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR)
- $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD
+$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN)
-$(OUT)/%.o : scripts/%.c | $(OUT)
- $(CC_CMD)
+generate: $(ADOBECA_GEN)
-$(OUT)/fonts/%.o : $(GEN)/%.c | $(ALL_DIR)
- $(CC_CMD) -O0
+# --- Generated embedded javascript files ---
-$(OUT)/platform/x11/%.o : platform/x11/%.c | $(ALL_DIR)
- $(CC_CMD) $(X11_CFLAGS)
+JAVASCRIPT_SRC := source/pdf/pdf-js-util.js
+JAVASCRIPT_GEN := $(GEN)/gen_js_util.h
+$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC)
+ $(QUIET_GEN) $(HEXDUMP) $@ $(JAVASCRIPT_SRC)
-$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(OUT)
- $(WINDRES_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(JAVASCRIPT_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR)
- $(CC_CMD) $(X11_CFLAGS) $(CURL_CFLAGS) -DHAVE_CURL
+$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN)
-$(OUT)/platform/gl/%.o : platform/gl/%.c | $(ALL_DIR)
- $(CC_CMD) $(GLFW_CFLAGS)
+generate: $(JAVASCRIPT_GEN)
-.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
-
-# --- Generated CMap and JavaScript files ---
+# --- Generated CMap files ---
CMAPDUMP := $(OUT)/cmapdump
-FONTDUMP := $(OUT)/fontdump
-NAMEDUMP := $(OUT)/namedump
-CQUOTE := $(OUT)/cquote
-BIN2HEX := $(OUT)/bin2hex
CMAP_CJK_SRC := $(wildcard resources/cmaps/cjk/*)
CMAP_EXTRA_SRC := $(wildcard resources/cmaps/extra/*)
@@ -238,36 +256,66 @@ $(GEN)/gen_cmap_utf32.h : $(CMAP_UTF32_SRC)
CMAP_GEN := $(addprefix $(GEN)/, gen_cmap_cjk.h gen_cmap_extra.h gen_cmap_utf8.h gen_cmap_utf32.h)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(CMAP_GEN) : $(CMAPDUMP) | $(GEN)
+endif
+
+$(OUT)/cmapdump.o : \
+ include/mupdf/pdf/cmap.h \
+ source/pdf/pdf-name-table.h \
+ source/fitz/context.c \
+ source/fitz/error.c \
+ source/fitz/memory.c \
+ source/fitz/output.c \
+ source/fitz/string.c \
+ source/fitz/buffer.c \
+ source/fitz/stream-open.c \
+ source/fitz/stream-read.c \
+ source/fitz/strtod.c \
+ source/fitz/strtof.c \
+ source/fitz/ftoa.c \
+ source/fitz/printf.c \
+ source/fitz/time.c \
+ source/pdf/pdf-lex.c \
+ source/pdf/pdf-cmap.c \
+ source/pdf/pdf-cmap-parse.c \
+
+$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN)
+
+generate: $(CMAP_GEN)
+
+# --- Generated PDF name tables ---
+
+NAMEDUMP := $(OUT)/namedump
+
include/mupdf/pdf.h : include/mupdf/pdf/name-table.h
NAME_GEN := include/mupdf/pdf/name-table.h source/pdf/pdf-name-table.h
$(NAME_GEN) : resources/pdf/names.txt
$(QUIET_GEN) $(NAMEDUMP) resources/pdf/names.txt $(NAME_GEN)
-JAVASCRIPT_SRC := source/pdf/pdf-js-util.js
-JAVASCRIPT_GEN := $(GEN)/gen_js_util.h
-$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC)
- $(QUIET_GEN) $(CQUOTE) $@ $(JAVASCRIPT_SRC)
-
-ADOBECA_SRC := resources/certs/AdobeCA.p7c
-ADOBECA_GEN := $(GEN)/gen_adobe_ca.h
-$(ADOBECA_GEN) : $(ADOBECA_SRC)
- $(QUIET_GEN) $(BIN2HEX) $@ $(ADOBECA_SRC)
-
ifneq "$(CROSSCOMPILE)" "yes"
-$(CMAP_GEN) : $(CMAPDUMP) | $(GEN)
-$(FONT_GEN) : $(FONTDUMP) | $(GEN)
-$(NAME_GEN) : $(NAMEDUMP) | $(GEN)
-$(JAVASCRIPT_GEN) : $(CQUOTE) | $(GEN)
-$(ADOBECA_GEN) : $(BIN2HEX) | $(GEN)
+$(NAME_GEN) : $(NAMEDUMP)
endif
-generate: $(CMAP_GEN) $(FONT_GEN) $(JAVASCRIPT_GEN) $(ADOBECA_GEN) $(NAME_GEN)
-
-$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN)
-$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN)
-$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN)
$(OUT)/pdf/pdf-object.o : source/pdf/pdf-name-table.h
-$(OUT)/cmapdump.o : include/mupdf/pdf/cmap.h source/fitz/context.c source/fitz/error.c source/fitz/memory.c source/fitz/output.c source/fitz/string.c source/fitz/buffer.c source/fitz/stream-open.c source/fitz/stream-read.c source/fitz/strtod.c source/fitz/strtof.c source/fitz/ftoa.c source/fitz/printf.c source/fitz/time.c source/pdf/pdf-lex.c source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h
+
+generate: $(NAME_GEN)
+
+# --- Library ---
+
+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)
+THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ)
+THREAD_OBJ := $(THREAD_OBJ)
+
+$(MUPDF_LIB) : $(MUPDF_OBJ)
+$(THIRD_LIB) : $(THIRD_OBJ)
+$(THREAD_LIB) : $(THREAD_OBJ)
+
+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
# --- Tools and Apps ---
diff --git a/platform/win32/generate.bat b/platform/win32/generate.bat
index 9e34ee06..8658906f 100644
--- a/platform/win32/generate.bat
+++ b/platform/win32/generate.bat
@@ -1,7 +1,7 @@
@echo off
-if not exist scripts/fontdump.c cd ../..
-if not exist scripts/fontdump.c goto usage
+if not exist scripts/hexdump.c cd ../..
+if not exist scripts/hexdump.c goto usage
if not exist generated mkdir generated
cl /nologo -Iinclude scripts/namedump.c
@@ -11,159 +11,155 @@ if not exist namedump.exe goto usage
if not exist include/mupdf/pdf/name-table.h namedump.exe resources/pdf/names.txt include/mupdf/pdf/name-table.h source/pdf/pdf-name-table.h
if not exist source/pdf/pdf-name-table.h namedump.exe resources/pdf/names.txt include/mupdf/pdf/name-table.h source/pdf/pdf-name-table.h
-cl /nologo -Iinclude scripts/fontdump.c setargv.obj
+cl /nologo -Iinclude scripts/hexdump.c setargv.obj
cl /nologo -Iinclude scripts/cmapdump.c setargv.obj
-cl /nologo -Iinclude scripts/cquote.c setargv.obj
-cl /nologo -Iinclude scripts/bin2hex.c setargv.obj
-if not exist fontdump.exe goto usage
+if not exist hexdump.exe goto usage
if not exist cmapdump.exe goto usage
-if not exist cquote.exe goto usage
-if not exist bin2hex.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/gen_adobe_ca.h bin2hex.exe generated/gen_adobe_ca.h resources/certs/AdobeCA.p7c
-if not exist generated/gen_js_util.h cquote.exe generated/gen_js_util.h source/pdf/pdf-js-util.js
-
-if not exist generated/DroidSansFallback.c fontdump.exe generated/DroidSansFallback.c resources/fonts/droid/DroidSansFallback.ttf
-if not exist generated/DroidSansFallbackFull.c fontdump.exe generated/DroidSansFallbackFull.c resources/fonts/droid/DroidSansFallbackFull.ttf
-
-if not exist generated/Dingbats.c fontdump.exe generated/Dingbats.c resources/fonts/urw/Dingbats.cff
-if not exist generated/NimbusMonoPS-Bold.c fontdump.exe generated/NimbusMonoPS-Bold.c resources/fonts/urw/NimbusMonoPS-Bold.cff
-if not exist generated/NimbusMonoPS-BoldItalic.c fontdump.exe generated/NimbusMonoPS-BoldItalic.c resources/fonts/urw/NimbusMonoPS-BoldItalic.cff
-if not exist generated/NimbusMonoPS-Italic.c fontdump.exe generated/NimbusMonoPS-Italic.c resources/fonts/urw/NimbusMonoPS-Italic.cff
-if not exist generated/NimbusMonoPS-Regular.c fontdump.exe generated/NimbusMonoPS-Regular.c resources/fonts/urw/NimbusMonoPS-Regular.cff
-if not exist generated/NimbusRoman-Bold.c fontdump.exe generated/NimbusRoman-Bold.c resources/fonts/urw/NimbusRoman-Bold.cff
-if not exist generated/NimbusRoman-BoldItalic.c fontdump.exe generated/NimbusRoman-BoldItalic.c resources/fonts/urw/NimbusRoman-BoldItalic.cff
-if not exist generated/NimbusRoman-Regular.c fontdump.exe generated/NimbusRoman-Regular.c resources/fonts/urw/NimbusRoman-Regular.cff
-if not exist generated/NimbusRoman-Italic.c fontdump.exe generated/NimbusRoman-Italic.c resources/fonts/urw/NimbusRoman-Italic.cff
-if not exist generated/NimbusSans-Bold.c fontdump.exe generated/NimbusSans-Bold.c resources/fonts/urw/NimbusSans-Bold.cff
-if not exist generated/NimbusSans-BoldOblique.c fontdump.exe generated/NimbusSans-BoldOblique.c resources/fonts/urw/NimbusSans-BoldOblique.cff
-if not exist generated/NimbusSans-Regular.c fontdump.exe generated/NimbusSans-Regular.c resources/fonts/urw/NimbusSans-Regular.cff
-if not exist generated/NimbusSans-Oblique.c fontdump.exe generated/NimbusSans-Oblique.c resources/fonts/urw/NimbusSans-Oblique.cff
-if not exist generated/StandardSymbolsPS.c fontdump.exe generated/StandardSymbolsPS.c resources/fonts/urw/StandardSymbolsPS.cff
-
-if not exist generated/CharisSIL-R.c fontdump.exe generated/CharisSIL-R.c resources/fonts/sil/CharisSIL-R.cff
-if not exist generated/CharisSIL-I.c fontdump.exe generated/CharisSIL-I.c resources/fonts/sil/CharisSIL-I.cff
-if not exist generated/CharisSIL-B.c fontdump.exe generated/CharisSIL-B.c resources/fonts/sil/CharisSIL-B.cff
-if not exist generated/CharisSIL-BI.c fontdump.exe generated/CharisSIL-BI.c resources/fonts/sil/CharisSIL-BI.cff
-
-if not exist generated/SourceHanSansCN-Regular.c fontdump.exe generated/SourceHanSansCN-Regular.c resources/fonts/han/SourceHanSansCN-Regular.otf
-if not exist generated/SourceHanSansJP-Regular.c fontdump.exe generated/SourceHanSansJP-Regular.c resources/fonts/han/SourceHanSansJP-Regular.otf
-if not exist generated/SourceHanSansKR-Regular.c fontdump.exe generated/SourceHanSansKR-Regular.c resources/fonts/han/SourceHanSansKR-Regular.otf
-if not exist generated/SourceHanSansTW-Regular.c fontdump.exe generated/SourceHanSansTW-Regular.c resources/fonts/han/SourceHanSansTW-Regular.otf
-
-if not exist generated/NotoEmoji-Regular.c fontdump.exe generated/NotoEmoji-Regular.c resources/fonts/noto/NotoEmoji-Regular.ttf
-if not exist generated/NotoKufiArabic-Regular.c fontdump.exe generated/NotoKufiArabic-Regular.c resources/fonts/noto/NotoKufiArabic-Regular.ttf
-if not exist generated/NotoNaskhArabic-Regular.c fontdump.exe generated/NotoNaskhArabic-Regular.c resources/fonts/noto/NotoNaskhArabic-Regular.ttf
-if not exist generated/NotoNastaliqUrdu-Regular.c fontdump.exe generated/NotoNastaliqUrdu-Regular.c resources/fonts/noto/NotoNastaliqUrdu-Regular.ttf
-if not exist generated/NotoSans-Regular.c fontdump.exe generated/NotoSans-Regular.c resources/fonts/noto/NotoSans-Regular.ttf
-if not exist generated/NotoSansArmenian-Regular.c fontdump.exe generated/NotoSansArmenian-Regular.c resources/fonts/noto/NotoSansArmenian-Regular.ttf
-if not exist generated/NotoSansAvestan-Regular.c fontdump.exe generated/NotoSansAvestan-Regular.c resources/fonts/noto/NotoSansAvestan-Regular.ttf
-if not exist generated/NotoSansBalinese-Regular.c fontdump.exe generated/NotoSansBalinese-Regular.c resources/fonts/noto/NotoSansBalinese-Regular.ttf
-if not exist generated/NotoSansBamum-Regular.c fontdump.exe generated/NotoSansBamum-Regular.c resources/fonts/noto/NotoSansBamum-Regular.ttf
-if not exist generated/NotoSansBatak-Regular.c fontdump.exe generated/NotoSansBatak-Regular.c resources/fonts/noto/NotoSansBatak-Regular.ttf
-if not exist generated/NotoSansBengali-Regular.c fontdump.exe generated/NotoSansBengali-Regular.c resources/fonts/noto/NotoSansBengali-Regular.ttf
-if not exist generated/NotoSansBrahmi-Regular.c fontdump.exe generated/NotoSansBrahmi-Regular.c resources/fonts/noto/NotoSansBrahmi-Regular.ttf
-if not exist generated/NotoSansBuginese-Regular.c fontdump.exe generated/NotoSansBuginese-Regular.c resources/fonts/noto/NotoSansBuginese-Regular.ttf
-if not exist generated/NotoSansBuhid-Regular.c fontdump.exe generated/NotoSansBuhid-Regular.c resources/fonts/noto/NotoSansBuhid-Regular.ttf
-if not exist generated/NotoSansCanadianAboriginal-Regular.c fontdump.exe generated/NotoSansCanadianAboriginal-Regular.c resources/fonts/noto/NotoSansCanadianAboriginal-Regular.ttf
-if not exist generated/NotoSansCarian-Regular.c fontdump.exe generated/NotoSansCarian-Regular.c resources/fonts/noto/NotoSansCarian-Regular.ttf
-if not exist generated/NotoSansCham-Regular.c fontdump.exe generated/NotoSansCham-Regular.c resources/fonts/noto/NotoSansCham-Regular.ttf
-if not exist generated/NotoSansCherokee-Regular.c fontdump.exe generated/NotoSansCherokee-Regular.c resources/fonts/noto/NotoSansCherokee-Regular.ttf
-if not exist generated/NotoSansCoptic-Regular.c fontdump.exe generated/NotoSansCoptic-Regular.c resources/fonts/noto/NotoSansCoptic-Regular.ttf
-if not exist generated/NotoSansCuneiform-Regular.c fontdump.exe generated/NotoSansCuneiform-Regular.c resources/fonts/noto/NotoSansCuneiform-Regular.ttf
-if not exist generated/NotoSansCypriot-Regular.c fontdump.exe generated/NotoSansCypriot-Regular.c resources/fonts/noto/NotoSansCypriot-Regular.ttf
-if not exist generated/NotoSansDeseret-Regular.c fontdump.exe generated/NotoSansDeseret-Regular.c resources/fonts/noto/NotoSansDeseret-Regular.ttf
-if not exist generated/NotoSansDevanagari-Regular.c fontdump.exe generated/NotoSansDevanagari-Regular.c resources/fonts/noto/NotoSansDevanagari-Regular.ttf
-if not exist generated/NotoSansEgyptianHieroglyphs-Regular.c fontdump.exe generated/NotoSansEgyptianHieroglyphs-Regular.c resources/fonts/noto/NotoSansEgyptianHieroglyphs-Regular.ttf
-if not exist generated/NotoSansEthiopic-Regular.c fontdump.exe generated/NotoSansEthiopic-Regular.c resources/fonts/noto/NotoSansEthiopic-Regular.ttf
-if not exist generated/NotoSansGeorgian-Regular.c fontdump.exe generated/NotoSansGeorgian-Regular.c resources/fonts/noto/NotoSansGeorgian-Regular.ttf
-if not exist generated/NotoSansGlagolitic-Regular.c fontdump.exe generated/NotoSansGlagolitic-Regular.c resources/fonts/noto/NotoSansGlagolitic-Regular.ttf
-if not exist generated/NotoSansGothic-Regular.c fontdump.exe generated/NotoSansGothic-Regular.c resources/fonts/noto/NotoSansGothic-Regular.ttf
-if not exist generated/NotoSansGujarati-Regular.c fontdump.exe generated/NotoSansGujarati-Regular.c resources/fonts/noto/NotoSansGujarati-Regular.ttf
-if not exist generated/NotoSansGurmukhi-Regular.c fontdump.exe generated/NotoSansGurmukhi-Regular.c resources/fonts/noto/NotoSansGurmukhi-Regular.ttf
-if not exist generated/NotoSansHanunoo-Regular.c fontdump.exe generated/NotoSansHanunoo-Regular.c resources/fonts/noto/NotoSansHanunoo-Regular.ttf
-if not exist generated/NotoSansHebrew-Regular.c fontdump.exe generated/NotoSansHebrew-Regular.c resources/fonts/noto/NotoSansHebrew-Regular.ttf
-if not exist generated/NotoSansImperialAramaic-Regular.c fontdump.exe generated/NotoSansImperialAramaic-Regular.c resources/fonts/noto/NotoSansImperialAramaic-Regular.ttf
-if not exist generated/NotoSansInscriptionalPahlavi-Regular.c fontdump.exe generated/NotoSansInscriptionalPahlavi-Regular.c resources/fonts/noto/NotoSansInscriptionalPahlavi-Regular.ttf
-if not exist generated/NotoSansInscriptionalParthian-Regular.c fontdump.exe generated/NotoSansInscriptionalParthian-Regular.c resources/fonts/noto/NotoSansInscriptionalParthian-Regular.ttf
-if not exist generated/NotoSansJavanese-Regular.c fontdump.exe generated/NotoSansJavanese-Regular.c resources/fonts/noto/NotoSansJavanese-Regular.ttf
-if not exist generated/NotoSansKaithi-Regular.c fontdump.exe generated/NotoSansKaithi-Regular.c resources/fonts/noto/NotoSansKaithi-Regular.ttf
-if not exist generated/NotoSansKannada-Regular.c fontdump.exe generated/NotoSansKannada-Regular.c resources/fonts/noto/NotoSansKannada-Regular.ttf
-if not exist generated/NotoSansKayahLi-Regular.c fontdump.exe generated/NotoSansKayahLi-Regular.c resources/fonts/noto/NotoSansKayahLi-Regular.ttf
-if not exist generated/NotoSansKharoshthi-Regular.c fontdump.exe generated/NotoSansKharoshthi-Regular.c resources/fonts/noto/NotoSansKharoshthi-Regular.ttf
-if not exist generated/NotoSansKhmer-Regular.c fontdump.exe generated/NotoSansKhmer-Regular.c resources/fonts/noto/NotoSansKhmer-Regular.ttf
-if not exist generated/NotoSansLao-Regular.c fontdump.exe generated/NotoSansLao-Regular.c resources/fonts/noto/NotoSansLao-Regular.ttf
-if not exist generated/NotoSansLepcha-Regular.c fontdump.exe generated/NotoSansLepcha-Regular.c resources/fonts/noto/NotoSansLepcha-Regular.ttf
-if not exist generated/NotoSansLimbu-Regular.c fontdump.exe generated/NotoSansLimbu-Regular.c resources/fonts/noto/NotoSansLimbu-Regular.ttf
-if not exist generated/NotoSansLinearB-Regular.c fontdump.exe generated/NotoSansLinearB-Regular.c resources/fonts/noto/NotoSansLinearB-Regular.ttf
-if not exist generated/NotoSansLisu-Regular.c fontdump.exe generated/NotoSansLisu-Regular.c resources/fonts/noto/NotoSansLisu-Regular.ttf
-if not exist generated/NotoSansLycian-Regular.c fontdump.exe generated/NotoSansLycian-Regular.c resources/fonts/noto/NotoSansLycian-Regular.ttf
-if not exist generated/NotoSansLydian-Regular.c fontdump.exe generated/NotoSansLydian-Regular.c resources/fonts/noto/NotoSansLydian-Regular.ttf
-if not exist generated/NotoSansMalayalam-Regular.c fontdump.exe generated/NotoSansMalayalam-Regular.c resources/fonts/noto/NotoSansMalayalam-Regular.ttf
-if not exist generated/NotoSansMandaic-Regular.c fontdump.exe generated/NotoSansMandaic-Regular.c resources/fonts/noto/NotoSansMandaic-Regular.ttf
-if not exist generated/NotoSansMeeteiMayek-Regular.c fontdump.exe generated/NotoSansMeeteiMayek-Regular.c resources/fonts/noto/NotoSansMeeteiMayek-Regular.ttf
-if not exist generated/NotoSansMongolian-Regular.c fontdump.exe generated/NotoSansMongolian-Regular.c resources/fonts/noto/NotoSansMongolian-Regular.ttf
-if not exist generated/NotoSansMyanmar-Regular.c fontdump.exe generated/NotoSansMyanmar-Regular.c resources/fonts/noto/NotoSansMyanmar-Regular.ttf
-if not exist generated/NotoSansNKo-Regular.c fontdump.exe generated/NotoSansNKo-Regular.c resources/fonts/noto/NotoSansNKo-Regular.ttf
-if not exist generated/NotoSansNewTaiLue-Regular.c fontdump.exe generated/NotoSansNewTaiLue-Regular.c resources/fonts/noto/NotoSansNewTaiLue-Regular.ttf
-if not exist generated/NotoSansOgham-Regular.c fontdump.exe generated/NotoSansOgham-Regular.c resources/fonts/noto/NotoSansOgham-Regular.ttf
-if not exist generated/NotoSansOlChiki-Regular.c fontdump.exe generated/NotoSansOlChiki-Regular.c resources/fonts/noto/NotoSansOlChiki-Regular.ttf
-if not exist generated/NotoSansOldItalic-Regular.c fontdump.exe generated/NotoSansOldItalic-Regular.c resources/fonts/noto/NotoSansOldItalic-Regular.ttf
-if not exist generated/NotoSansOldPersian-Regular.c fontdump.exe generated/NotoSansOldPersian-Regular.c resources/fonts/noto/NotoSansOldPersian-Regular.ttf
-if not exist generated/NotoSansOldSouthArabian-Regular.c fontdump.exe generated/NotoSansOldSouthArabian-Regular.c resources/fonts/noto/NotoSansOldSouthArabian-Regular.ttf
-if not exist generated/NotoSansOldTurkic-Regular.c fontdump.exe generated/NotoSansOldTurkic-Regular.c resources/fonts/noto/NotoSansOldTurkic-Regular.ttf
-if not exist generated/NotoSansOriya-Regular.c fontdump.exe generated/NotoSansOriya-Regular.c resources/fonts/noto/NotoSansOriya-Regular.ttf
-if not exist generated/NotoSansOsmanya-Regular.c fontdump.exe generated/NotoSansOsmanya-Regular.c resources/fonts/noto/NotoSansOsmanya-Regular.ttf
-if not exist generated/NotoSansPhagsPa-Regular.c fontdump.exe generated/NotoSansPhagsPa-Regular.c resources/fonts/noto/NotoSansPhagsPa-Regular.ttf
-if not exist generated/NotoSansPhoenician-Regular.c fontdump.exe generated/NotoSansPhoenician-Regular.c resources/fonts/noto/NotoSansPhoenician-Regular.ttf
-if not exist generated/NotoSansRejang-Regular.c fontdump.exe generated/NotoSansRejang-Regular.c resources/fonts/noto/NotoSansRejang-Regular.ttf
-if not exist generated/NotoSansRunic-Regular.c fontdump.exe generated/NotoSansRunic-Regular.c resources/fonts/noto/NotoSansRunic-Regular.ttf
-if not exist generated/NotoSansSamaritan-Regular.c fontdump.exe generated/NotoSansSamaritan-Regular.c resources/fonts/noto/NotoSansSamaritan-Regular.ttf
-if not exist generated/NotoSansSaurashtra-Regular.c fontdump.exe generated/NotoSansSaurashtra-Regular.c resources/fonts/noto/NotoSansSaurashtra-Regular.ttf
-if not exist generated/NotoSansShavian-Regular.c fontdump.exe generated/NotoSansShavian-Regular.c resources/fonts/noto/NotoSansShavian-Regular.ttf
-if not exist generated/NotoSansSinhala-Regular.c fontdump.exe generated/NotoSansSinhala-Regular.c resources/fonts/noto/NotoSansSinhala-Regular.ttf
-if not exist generated/NotoSansSundanese-Regular.c fontdump.exe generated/NotoSansSundanese-Regular.c resources/fonts/noto/NotoSansSundanese-Regular.ttf
-if not exist generated/NotoSansSylotiNagri-Regular.c fontdump.exe generated/NotoSansSylotiNagri-Regular.c resources/fonts/noto/NotoSansSylotiNagri-Regular.ttf
-if not exist generated/NotoSansSymbols-Regular.c fontdump.exe generated/NotoSansSymbols-Regular.c resources/fonts/noto/NotoSansSymbols-Regular.ttf
-if not exist generated/NotoSansSyriacEastern-Regular.c fontdump.exe generated/NotoSansSyriacEastern-Regular.c resources/fonts/noto/NotoSansSyriacEastern-Regular.ttf
-if not exist generated/NotoSansSyriacEstrangela-Regular.c fontdump.exe generated/NotoSansSyriacEstrangela-Regular.c resources/fonts/noto/NotoSansSyriacEstrangela-Regular.ttf
-if not exist generated/NotoSansSyriacWestern-Regular.c fontdump.exe generated/NotoSansSyriacWestern-Regular.c resources/fonts/noto/NotoSansSyriacWestern-Regular.ttf
-if not exist generated/NotoSansTagalog-Regular.c fontdump.exe generated/NotoSansTagalog-Regular.c resources/fonts/noto/NotoSansTagalog-Regular.ttf
-if not exist generated/NotoSansTagbanwa-Regular.c fontdump.exe generated/NotoSansTagbanwa-Regular.c resources/fonts/noto/NotoSansTagbanwa-Regular.ttf
-if not exist generated/NotoSansTaiLe-Regular.c fontdump.exe generated/NotoSansTaiLe-Regular.c resources/fonts/noto/NotoSansTaiLe-Regular.ttf
-if not exist generated/NotoSansTaiTham-Regular.c fontdump.exe generated/NotoSansTaiTham-Regular.c resources/fonts/noto/NotoSansTaiTham-Regular.ttf
-if not exist generated/NotoSansTaiViet-Regular.c fontdump.exe generated/NotoSansTaiViet-Regular.c resources/fonts/noto/NotoSansTaiViet-Regular.ttf
-if not exist generated/NotoSansTamil-Regular.c fontdump.exe generated/NotoSansTamil-Regular.c resources/fonts/noto/NotoSansTamil-Regular.ttf
-if not exist generated/NotoSansTelugu-Regular.c fontdump.exe generated/NotoSansTelugu-Regular.c resources/fonts/noto/NotoSansTelugu-Regular.ttf
-if not exist generated/NotoSansThaana-Regular.c fontdump.exe generated/NotoSansThaana-Regular.c resources/fonts/noto/NotoSansThaana-Regular.ttf
-if not exist generated/NotoSansThai-Regular.c fontdump.exe generated/NotoSansThai-Regular.c resources/fonts/noto/NotoSansThai-Regular.ttf
-if not exist generated/NotoSansTibetan-Regular.c fontdump.exe generated/NotoSansTibetan-Regular.c resources/fonts/noto/NotoSansTibetan-Regular.ttf
-if not exist generated/NotoSansTifinagh-Regular.c fontdump.exe generated/NotoSansTifinagh-Regular.c resources/fonts/noto/NotoSansTifinagh-Regular.ttf
-if not exist generated/NotoSansUgaritic-Regular.c fontdump.exe generated/NotoSansUgaritic-Regular.c resources/fonts/noto/NotoSansUgaritic-Regular.ttf
-if not exist generated/NotoSansVai-Regular.c fontdump.exe generated/NotoSansVai-Regular.c resources/fonts/noto/NotoSansVai-Regular.ttf
-if not exist generated/NotoSansYi-Regular.c fontdump.exe generated/NotoSansYi-Regular.c resources/fonts/noto/NotoSansYi-Regular.ttf
-if not exist generated/NotoSerif-Regular.c fontdump.exe generated/NotoSerif-Regular.c resources/fonts/noto/NotoSerif-Regular.ttf
-if not exist generated/NotoSerifArmenian-Regular.c fontdump.exe generated/NotoSerifArmenian-Regular.c resources/fonts/noto/NotoSerifArmenian-Regular.ttf
-if not exist generated/NotoSerifBengali-Regular.c fontdump.exe generated/NotoSerifBengali-Regular.c resources/fonts/noto/NotoSerifBengali-Regular.ttf
-if not exist generated/NotoSerifDevanagari-Regular.c fontdump.exe generated/NotoSerifDevanagari-Regular.c resources/fonts/noto/NotoSerifDevanagari-Regular.ttf
-if not exist generated/NotoSerifGeorgian-Regular.c fontdump.exe generated/NotoSerifGeorgian-Regular.c resources/fonts/noto/NotoSerifGeorgian-Regular.ttf
-if not exist generated/NotoSerifGujarati-Regular.c fontdump.exe generated/NotoSerifGujarati-Regular.c resources/fonts/noto/NotoSerifGujarati-Regular.ttf
-if not exist generated/NotoSerifKannada-Regular.c fontdump.exe generated/NotoSerifKannada-Regular.c resources/fonts/noto/NotoSerifKannada-Regular.ttf
-if not exist generated/NotoSerifKhmer-Regular.c fontdump.exe generated/NotoSerifKhmer-Regular.c resources/fonts/noto/NotoSerifKhmer-Regular.ttf
-if not exist generated/NotoSerifLao-Regular.c fontdump.exe generated/NotoSerifLao-Regular.c resources/fonts/noto/NotoSerifLao-Regular.ttf
-if not exist generated/NotoSerifMalayalam-Regular.c fontdump.exe generated/NotoSerifMalayalam-Regular.c resources/fonts/noto/NotoSerifMalayalam-Regular.ttf
-if not exist generated/NotoSerifTamil-Regular.c fontdump.exe generated/NotoSerifTamil-Regular.c resources/fonts/noto/NotoSerifTamil-Regular.ttf
-if not exist generated/NotoSerifTelugu-Regular.c fontdump.exe generated/NotoSerifTelugu-Regular.c resources/fonts/noto/NotoSerifTelugu-Regular.ttf
-if not exist generated/NotoSerifThai-Regular.c fontdump.exe generated/NotoSerifThai-Regular.c resources/fonts/noto/NotoSerifThai-Regular.ttf
-
-del namedump.obj cmapdump.obj fontdump.obj cquote.obj bin2hex.obj
-del namedump.exe cmapdump.exe fontdump.exe cquote.exe bin2hex.exe
+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/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
+
+if not exist generated/Dingbats.c hexdump.exe generated/Dingbats.c resources/fonts/urw/Dingbats.cff
+if not exist generated/NimbusMonoPS-Bold.c hexdump.exe generated/NimbusMonoPS-Bold.c resources/fonts/urw/NimbusMonoPS-Bold.cff
+if not exist generated/NimbusMonoPS-BoldItalic.c hexdump.exe generated/NimbusMonoPS-BoldItalic.c resources/fonts/urw/NimbusMonoPS-BoldItalic.cff
+if not exist generated/NimbusMonoPS-Italic.c hexdump.exe generated/NimbusMonoPS-Italic.c resources/fonts/urw/NimbusMonoPS-Italic.cff
+if not exist generated/NimbusMonoPS-Regular.c hexdump.exe generated/NimbusMonoPS-Regular.c resources/fonts/urw/NimbusMonoPS-Regular.cff
+if not exist generated/NimbusRoman-Bold.c hexdump.exe generated/NimbusRoman-Bold.c resources/fonts/urw/NimbusRoman-Bold.cff
+if not exist generated/NimbusRoman-BoldItalic.c hexdump.exe generated/NimbusRoman-BoldItalic.c resources/fonts/urw/NimbusRoman-BoldItalic.cff
+if not exist generated/NimbusRoman-Regular.c hexdump.exe generated/NimbusRoman-Regular.c resources/fonts/urw/NimbusRoman-Regular.cff
+if not exist generated/NimbusRoman-Italic.c hexdump.exe generated/NimbusRoman-Italic.c resources/fonts/urw/NimbusRoman-Italic.cff
+if not exist generated/NimbusSans-Bold.c hexdump.exe generated/NimbusSans-Bold.c resources/fonts/urw/NimbusSans-Bold.cff
+if not exist generated/NimbusSans-BoldOblique.c hexdump.exe generated/NimbusSans-BoldOblique.c resources/fonts/urw/NimbusSans-BoldOblique.cff
+if not exist generated/NimbusSans-Regular.c hexdump.exe generated/NimbusSans-Regular.c resources/fonts/urw/NimbusSans-Regular.cff
+if not exist generated/NimbusSans-Oblique.c hexdump.exe generated/NimbusSans-Oblique.c resources/fonts/urw/NimbusSans-Oblique.cff
+if not exist generated/StandardSymbolsPS.c hexdump.exe generated/StandardSymbolsPS.c resources/fonts/urw/StandardSymbolsPS.cff
+
+if not exist generated/CharisSIL-R.c hexdump.exe generated/CharisSIL-R.c resources/fonts/sil/CharisSIL-R.cff
+if not exist generated/CharisSIL-I.c hexdump.exe generated/CharisSIL-I.c resources/fonts/sil/CharisSIL-I.cff
+if not exist generated/CharisSIL-B.c hexdump.exe generated/CharisSIL-B.c resources/fonts/sil/CharisSIL-B.cff
+if not exist generated/CharisSIL-BI.c hexdump.exe generated/CharisSIL-BI.c resources/fonts/sil/CharisSIL-BI.cff
+
+if not exist generated/SourceHanSansCN-Regular.c hexdump.exe generated/SourceHanSansCN-Regular.c resources/fonts/han/SourceHanSansCN-Regular.otf
+if not exist generated/SourceHanSansJP-Regular.c hexdump.exe generated/SourceHanSansJP-Regular.c resources/fonts/han/SourceHanSansJP-Regular.otf
+if not exist generated/SourceHanSansKR-Regular.c hexdump.exe generated/SourceHanSansKR-Regular.c resources/fonts/han/SourceHanSansKR-Regular.otf
+if not exist generated/SourceHanSansTW-Regular.c hexdump.exe generated/SourceHanSansTW-Regular.c resources/fonts/han/SourceHanSansTW-Regular.otf
+
+if not exist generated/NotoEmoji-Regular.c hexdump.exe generated/NotoEmoji-Regular.c resources/fonts/noto/NotoEmoji-Regular.ttf
+if not exist generated/NotoKufiArabic-Regular.c hexdump.exe generated/NotoKufiArabic-Regular.c resources/fonts/noto/NotoKufiArabic-Regular.ttf
+if not exist generated/NotoNaskhArabic-Regular.c hexdump.exe generated/NotoNaskhArabic-Regular.c resources/fonts/noto/NotoNaskhArabic-Regular.ttf
+if not exist generated/NotoNastaliqUrdu-Regular.c hexdump.exe generated/NotoNastaliqUrdu-Regular.c resources/fonts/noto/NotoNastaliqUrdu-Regular.ttf
+if not exist generated/NotoSans-Regular.c hexdump.exe generated/NotoSans-Regular.c resources/fonts/noto/NotoSans-Regular.ttf
+if not exist generated/NotoSansArmenian-Regular.c hexdump.exe generated/NotoSansArmenian-Regular.c resources/fonts/noto/NotoSansArmenian-Regular.ttf
+if not exist generated/NotoSansAvestan-Regular.c hexdump.exe generated/NotoSansAvestan-Regular.c resources/fonts/noto/NotoSansAvestan-Regular.ttf
+if not exist generated/NotoSansBalinese-Regular.c hexdump.exe generated/NotoSansBalinese-Regular.c resources/fonts/noto/NotoSansBalinese-Regular.ttf
+if not exist generated/NotoSansBamum-Regular.c hexdump.exe generated/NotoSansBamum-Regular.c resources/fonts/noto/NotoSansBamum-Regular.ttf
+if not exist generated/NotoSansBatak-Regular.c hexdump.exe generated/NotoSansBatak-Regular.c resources/fonts/noto/NotoSansBatak-Regular.ttf
+if not exist generated/NotoSansBengali-Regular.c hexdump.exe generated/NotoSansBengali-Regular.c resources/fonts/noto/NotoSansBengali-Regular.ttf
+if not exist generated/NotoSansBrahmi-Regular.c hexdump.exe generated/NotoSansBrahmi-Regular.c resources/fonts/noto/NotoSansBrahmi-Regular.ttf
+if not exist generated/NotoSansBuginese-Regular.c hexdump.exe generated/NotoSansBuginese-Regular.c resources/fonts/noto/NotoSansBuginese-Regular.ttf
+if not exist generated/NotoSansBuhid-Regular.c hexdump.exe generated/NotoSansBuhid-Regular.c resources/fonts/noto/NotoSansBuhid-Regular.ttf
+if not exist generated/NotoSansCanadianAboriginal-Regular.c hexdump.exe generated/NotoSansCanadianAboriginal-Regular.c resources/fonts/noto/NotoSansCanadianAboriginal-Regular.ttf
+if not exist generated/NotoSansCarian-Regular.c hexdump.exe generated/NotoSansCarian-Regular.c resources/fonts/noto/NotoSansCarian-Regular.ttf
+if not exist generated/NotoSansCham-Regular.c hexdump.exe generated/NotoSansCham-Regular.c resources/fonts/noto/NotoSansCham-Regular.ttf
+if not exist generated/NotoSansCherokee-Regular.c hexdump.exe generated/NotoSansCherokee-Regular.c resources/fonts/noto/NotoSansCherokee-Regular.ttf
+if not exist generated/NotoSansCoptic-Regular.c hexdump.exe generated/NotoSansCoptic-Regular.c resources/fonts/noto/NotoSansCoptic-Regular.ttf
+if not exist generated/NotoSansCuneiform-Regular.c hexdump.exe generated/NotoSansCuneiform-Regular.c resources/fonts/noto/NotoSansCuneiform-Regular.ttf
+if not exist generated/NotoSansCypriot-Regular.c hexdump.exe generated/NotoSansCypriot-Regular.c resources/fonts/noto/NotoSansCypriot-Regular.ttf
+if not exist generated/NotoSansDeseret-Regular.c hexdump.exe generated/NotoSansDeseret-Regular.c resources/fonts/noto/NotoSansDeseret-Regular.ttf
+if not exist generated/NotoSansDevanagari-Regular.c hexdump.exe generated/NotoSansDevanagari-Regular.c resources/fonts/noto/NotoSansDevanagari-Regular.ttf
+if not exist generated/NotoSansEgyptianHieroglyphs-Regular.c hexdump.exe generated/NotoSansEgyptianHieroglyphs-Regular.c resources/fonts/noto/NotoSansEgyptianHieroglyphs-Regular.ttf
+if not exist generated/NotoSansEthiopic-Regular.c hexdump.exe generated/NotoSansEthiopic-Regular.c resources/fonts/noto/NotoSansEthiopic-Regular.ttf
+if not exist generated/NotoSansGeorgian-Regular.c hexdump.exe generated/NotoSansGeorgian-Regular.c resources/fonts/noto/NotoSansGeorgian-Regular.ttf
+if not exist generated/NotoSansGlagolitic-Regular.c hexdump.exe generated/NotoSansGlagolitic-Regular.c resources/fonts/noto/NotoSansGlagolitic-Regular.ttf
+if not exist generated/NotoSansGothic-Regular.c hexdump.exe generated/NotoSansGothic-Regular.c resources/fonts/noto/NotoSansGothic-Regular.ttf
+if not exist generated/NotoSansGujarati-Regular.c hexdump.exe generated/NotoSansGujarati-Regular.c resources/fonts/noto/NotoSansGujarati-Regular.ttf
+if not exist generated/NotoSansGurmukhi-Regular.c hexdump.exe generated/NotoSansGurmukhi-Regular.c resources/fonts/noto/NotoSansGurmukhi-Regular.ttf
+if not exist generated/NotoSansHanunoo-Regular.c hexdump.exe generated/NotoSansHanunoo-Regular.c resources/fonts/noto/NotoSansHanunoo-Regular.ttf
+if not exist generated/NotoSansHebrew-Regular.c hexdump.exe generated/NotoSansHebrew-Regular.c resources/fonts/noto/NotoSansHebrew-Regular.ttf
+if not exist generated/NotoSansImperialAramaic-Regular.c hexdump.exe generated/NotoSansImperialAramaic-Regular.c resources/fonts/noto/NotoSansImperialAramaic-Regular.ttf
+if not exist generated/NotoSansInscriptionalPahlavi-Regular.c hexdump.exe generated/NotoSansInscriptionalPahlavi-Regular.c resources/fonts/noto/NotoSansInscriptionalPahlavi-Regular.ttf
+if not exist generated/NotoSansInscriptionalParthian-Regular.c hexdump.exe generated/NotoSansInscriptionalParthian-Regular.c resources/fonts/noto/NotoSansInscriptionalParthian-Regular.ttf
+if not exist generated/NotoSansJavanese-Regular.c hexdump.exe generated/NotoSansJavanese-Regular.c resources/fonts/noto/NotoSansJavanese-Regular.ttf
+if not exist generated/NotoSansKaithi-Regular.c hexdump.exe generated/NotoSansKaithi-Regular.c resources/fonts/noto/NotoSansKaithi-Regular.ttf
+if not exist generated/NotoSansKannada-Regular.c hexdump.exe generated/NotoSansKannada-Regular.c resources/fonts/noto/NotoSansKannada-Regular.ttf
+if not exist generated/NotoSansKayahLi-Regular.c hexdump.exe generated/NotoSansKayahLi-Regular.c resources/fonts/noto/NotoSansKayahLi-Regular.ttf
+if not exist generated/NotoSansKharoshthi-Regular.c hexdump.exe generated/NotoSansKharoshthi-Regular.c resources/fonts/noto/NotoSansKharoshthi-Regular.ttf
+if not exist generated/NotoSansKhmer-Regular.c hexdump.exe generated/NotoSansKhmer-Regular.c resources/fonts/noto/NotoSansKhmer-Regular.ttf
+if not exist generated/NotoSansLao-Regular.c hexdump.exe generated/NotoSansLao-Regular.c resources/fonts/noto/NotoSansLao-Regular.ttf
+if not exist generated/NotoSansLepcha-Regular.c hexdump.exe generated/NotoSansLepcha-Regular.c resources/fonts/noto/NotoSansLepcha-Regular.ttf
+if not exist generated/NotoSansLimbu-Regular.c hexdump.exe generated/NotoSansLimbu-Regular.c resources/fonts/noto/NotoSansLimbu-Regular.ttf
+if not exist generated/NotoSansLinearB-Regular.c hexdump.exe generated/NotoSansLinearB-Regular.c resources/fonts/noto/NotoSansLinearB-Regular.ttf
+if not exist generated/NotoSansLisu-Regular.c hexdump.exe generated/NotoSansLisu-Regular.c resources/fonts/noto/NotoSansLisu-Regular.ttf
+if not exist generated/NotoSansLycian-Regular.c hexdump.exe generated/NotoSansLycian-Regular.c resources/fonts/noto/NotoSansLycian-Regular.ttf
+if not exist generated/NotoSansLydian-Regular.c hexdump.exe generated/NotoSansLydian-Regular.c resources/fonts/noto/NotoSansLydian-Regular.ttf
+if not exist generated/NotoSansMalayalam-Regular.c hexdump.exe generated/NotoSansMalayalam-Regular.c resources/fonts/noto/NotoSansMalayalam-Regular.ttf
+if not exist generated/NotoSansMandaic-Regular.c hexdump.exe generated/NotoSansMandaic-Regular.c resources/fonts/noto/NotoSansMandaic-Regular.ttf
+if not exist generated/NotoSansMeeteiMayek-Regular.c hexdump.exe generated/NotoSansMeeteiMayek-Regular.c resources/fonts/noto/NotoSansMeeteiMayek-Regular.ttf
+if not exist generated/NotoSansMongolian-Regular.c hexdump.exe generated/NotoSansMongolian-Regular.c resources/fonts/noto/NotoSansMongolian-Regular.ttf
+if not exist generated/NotoSansMyanmar-Regular.c hexdump.exe generated/NotoSansMyanmar-Regular.c resources/fonts/noto/NotoSansMyanmar-Regular.ttf
+if not exist generated/NotoSansNKo-Regular.c hexdump.exe generated/NotoSansNKo-Regular.c resources/fonts/noto/NotoSansNKo-Regular.ttf
+if not exist generated/NotoSansNewTaiLue-Regular.c hexdump.exe generated/NotoSansNewTaiLue-Regular.c resources/fonts/noto/NotoSansNewTaiLue-Regular.ttf
+if not exist generated/NotoSansOgham-Regular.c hexdump.exe generated/NotoSansOgham-Regular.c resources/fonts/noto/NotoSansOgham-Regular.ttf
+if not exist generated/NotoSansOlChiki-Regular.c hexdump.exe generated/NotoSansOlChiki-Regular.c resources/fonts/noto/NotoSansOlChiki-Regular.ttf
+if not exist generated/NotoSansOldItalic-Regular.c hexdump.exe generated/NotoSansOldItalic-Regular.c resources/fonts/noto/NotoSansOldItalic-Regular.ttf
+if not exist generated/NotoSansOldPersian-Regular.c hexdump.exe generated/NotoSansOldPersian-Regular.c resources/fonts/noto/NotoSansOldPersian-Regular.ttf
+if not exist generated/NotoSansOldSouthArabian-Regular.c hexdump.exe generated/NotoSansOldSouthArabian-Regular.c resources/fonts/noto/NotoSansOldSouthArabian-Regular.ttf
+if not exist generated/NotoSansOldTurkic-Regular.c hexdump.exe generated/NotoSansOldTurkic-Regular.c resources/fonts/noto/NotoSansOldTurkic-Regular.ttf
+if not exist generated/NotoSansOriya-Regular.c hexdump.exe generated/NotoSansOriya-Regular.c resources/fonts/noto/NotoSansOriya-Regular.ttf
+if not exist generated/NotoSansOsmanya-Regular.c hexdump.exe generated/NotoSansOsmanya-Regular.c resources/fonts/noto/NotoSansOsmanya-Regular.ttf
+if not exist generated/NotoSansPhagsPa-Regular.c hexdump.exe generated/NotoSansPhagsPa-Regular.c resources/fonts/noto/NotoSansPhagsPa-Regular.ttf
+if not exist generated/NotoSansPhoenician-Regular.c hexdump.exe generated/NotoSansPhoenician-Regular.c resources/fonts/noto/NotoSansPhoenician-Regular.ttf
+if not exist generated/NotoSansRejang-Regular.c hexdump.exe generated/NotoSansRejang-Regular.c resources/fonts/noto/NotoSansRejang-Regular.ttf
+if not exist generated/NotoSansRunic-Regular.c hexdump.exe generated/NotoSansRunic-Regular.c resources/fonts/noto/NotoSansRunic-Regular.ttf
+if not exist generated/NotoSansSamaritan-Regular.c hexdump.exe generated/NotoSansSamaritan-Regular.c resources/fonts/noto/NotoSansSamaritan-Regular.ttf
+if not exist generated/NotoSansSaurashtra-Regular.c hexdump.exe generated/NotoSansSaurashtra-Regular.c resources/fonts/noto/NotoSansSaurashtra-Regular.ttf
+if not exist generated/NotoSansShavian-Regular.c hexdump.exe generated/NotoSansShavian-Regular.c resources/fonts/noto/NotoSansShavian-Regular.ttf
+if not exist generated/NotoSansSinhala-Regular.c hexdump.exe generated/NotoSansSinhala-Regular.c resources/fonts/noto/NotoSansSinhala-Regular.ttf
+if not exist generated/NotoSansSundanese-Regular.c hexdump.exe generated/NotoSansSundanese-Regular.c resources/fonts/noto/NotoSansSundanese-Regular.ttf
+if not exist generated/NotoSansSylotiNagri-Regular.c hexdump.exe generated/NotoSansSylotiNagri-Regular.c resources/fonts/noto/NotoSansSylotiNagri-Regular.ttf
+if not exist generated/NotoSansSymbols-Regular.c hexdump.exe generated/NotoSansSymbols-Regular.c resources/fonts/noto/NotoSansSymbols-Regular.ttf
+if not exist generated/NotoSansSyriacEastern-Regular.c hexdump.exe generated/NotoSansSyriacEastern-Regular.c resources/fonts/noto/NotoSansSyriacEastern-Regular.ttf
+if not exist generated/NotoSansSyriacEstrangela-Regular.c hexdump.exe generated/NotoSansSyriacEstrangela-Regular.c resources/fonts/noto/NotoSansSyriacEstrangela-Regular.ttf
+if not exist generated/NotoSansSyriacWestern-Regular.c hexdump.exe generated/NotoSansSyriacWestern-Regular.c resources/fonts/noto/NotoSansSyriacWestern-Regular.ttf
+if not exist generated/NotoSansTagalog-Regular.c hexdump.exe generated/NotoSansTagalog-Regular.c resources/fonts/noto/NotoSansTagalog-Regular.ttf
+if not exist generated/NotoSansTagbanwa-Regular.c hexdump.exe generated/NotoSansTagbanwa-Regular.c resources/fonts/noto/NotoSansTagbanwa-Regular.ttf
+if not exist generated/NotoSansTaiLe-Regular.c hexdump.exe generated/NotoSansTaiLe-Regular.c resources/fonts/noto/NotoSansTaiLe-Regular.ttf
+if not exist generated/NotoSansTaiTham-Regular.c hexdump.exe generated/NotoSansTaiTham-Regular.c resources/fonts/noto/NotoSansTaiTham-Regular.ttf
+if not exist generated/NotoSansTaiViet-Regular.c hexdump.exe generated/NotoSansTaiViet-Regular.c resources/fonts/noto/NotoSansTaiViet-Regular.ttf
+if not exist generated/NotoSansTamil-Regular.c hexdump.exe generated/NotoSansTamil-Regular.c resources/fonts/noto/NotoSansTamil-Regular.ttf
+if not exist generated/NotoSansTelugu-Regular.c hexdump.exe generated/NotoSansTelugu-Regular.c resources/fonts/noto/NotoSansTelugu-Regular.ttf
+if not exist generated/NotoSansThaana-Regular.c hexdump.exe generated/NotoSansThaana-Regular.c resources/fonts/noto/NotoSansThaana-Regular.ttf
+if not exist generated/NotoSansThai-Regular.c hexdump.exe generated/NotoSansThai-Regular.c resources/fonts/noto/NotoSansThai-Regular.ttf
+if not exist generated/NotoSansTibetan-Regular.c hexdump.exe generated/NotoSansTibetan-Regular.c resources/fonts/noto/NotoSansTibetan-Regular.ttf
+if not exist generated/NotoSansTifinagh-Regular.c hexdump.exe generated/NotoSansTifinagh-Regular.c resources/fonts/noto/NotoSansTifinagh-Regular.ttf
+if not exist generated/NotoSansUgaritic-Regular.c hexdump.exe generated/NotoSansUgaritic-Regular.c resources/fonts/noto/NotoSansUgaritic-Regular.ttf
+if not exist generated/NotoSansVai-Regular.c hexdump.exe generated/NotoSansVai-Regular.c resources/fonts/noto/NotoSansVai-Regular.ttf
+if not exist generated/NotoSansYi-Regular.c hexdump.exe generated/NotoSansYi-Regular.c resources/fonts/noto/NotoSansYi-Regular.ttf
+if not exist generated/NotoSerif-Regular.c hexdump.exe generated/NotoSerif-Regular.c resources/fonts/noto/NotoSerif-Regular.ttf
+if not exist generated/NotoSerifArmenian-Regular.c hexdump.exe generated/NotoSerifArmenian-Regular.c resources/fonts/noto/NotoSerifArmenian-Regular.ttf
+if not exist generated/NotoSerifBengali-Regular.c hexdump.exe generated/NotoSerifBengali-Regular.c resources/fonts/noto/NotoSerifBengali-Regular.ttf
+if not exist generated/NotoSerifDevanagari-Regular.c hexdump.exe generated/NotoSerifDevanagari-Regular.c resources/fonts/noto/NotoSerifDevanagari-Regular.ttf
+if not exist generated/NotoSerifGeorgian-Regular.c hexdump.exe generated/NotoSerifGeorgian-Regular.c resources/fonts/noto/NotoSerifGeorgian-Regular.ttf
+if not exist generated/NotoSerifGujarati-Regular.c hexdump.exe generated/NotoSerifGujarati-Regular.c resources/fonts/noto/NotoSerifGujarati-Regular.ttf
+if not exist generated/NotoSerifKannada-Regular.c hexdump.exe generated/NotoSerifKannada-Regular.c resources/fonts/noto/NotoSerifKannada-Regular.ttf
+if not exist generated/NotoSerifKhmer-Regular.c hexdump.exe generated/NotoSerifKhmer-Regular.c resources/fonts/noto/NotoSerifKhmer-Regular.ttf
+if not exist generated/NotoSerifLao-Regular.c hexdump.exe generated/NotoSerifLao-Regular.c resources/fonts/noto/NotoSerifLao-Regular.ttf
+if not exist generated/NotoSerifMalayalam-Regular.c hexdump.exe generated/NotoSerifMalayalam-Regular.c resources/fonts/noto/NotoSerifMalayalam-Regular.ttf
+if not exist generated/NotoSerifTamil-Regular.c hexdump.exe generated/NotoSerifTamil-Regular.c resources/fonts/noto/NotoSerifTamil-Regular.ttf
+if not exist generated/NotoSerifTelugu-Regular.c hexdump.exe generated/NotoSerifTelugu-Regular.c resources/fonts/noto/NotoSerifTelugu-Regular.ttf
+if not exist generated/NotoSerifThai-Regular.c hexdump.exe generated/NotoSerifThai-Regular.c resources/fonts/noto/NotoSerifThai-Regular.ttf
+
+del namedump.obj cmapdump.obj hexdump.obj
+del namedump.exe cmapdump.exe hexdump.exe
goto fin
diff --git a/scripts/bin2hex.c b/scripts/bin2hex.c
deleted file mode 100644
index f7b9d8cf..00000000
--- a/scripts/bin2hex.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* bin2hex.c -- Turn the contents of a file into an array of unsigned chars */
-
-#include <stdio.h>
-#include <string.h>
-
-/* We never want to build memento versions of the cquote util */
-#undef MEMENTO
-
-static void
-clean(char *p)
-{
- while (*p)
- {
- if ((*p == '/') || (*p == '.') || (*p == '\\') || (*p == '-'))
- *p = '_';
- p ++;
- }
-}
-
-int
-main(int argc, char **argv)
-{
- FILE *fi, *fo;
- char name[256];
- char *realname;
- int i, j, c;
-
- if (argc < 3)
- {
- fprintf(stderr, "usage: bin2hex output.h lots of text files\n");
- return 1;
- }
-
- fo = fopen(argv[1], "wb");
- if (!fo)
- {
- fprintf(stderr, "cquote: could not open output file '%s'\n", argv[1]);
- return 1;
- }
-
- fprintf(fo, "/* This is an automatically generated file. Do not edit. */\n");
-
- for (i = 2; i < argc; i++)
- {
- realname = strrchr(argv[i], '/');
- if (!realname)
- realname = strrchr(argv[i], '\\');
- if (realname)
- realname ++;
- else
- realname = argv[i];
-
- if (strlen(realname) > (sizeof name - 1))
- {
- fprintf(stderr, "bin2hex: file name too long\n");
- if (fclose(fo))
- {
- fprintf(stderr, "bin2hex: could not close output file '%s'\n", argv[1]);
- return 1;
- }
- return 1;
- }
-
- strcpy(name, realname);
- clean(name);
-
- fi = fopen(argv[i], "rb");
-
- j = 0;
- while ((c = fgetc(fi)) != EOF)
- {
- if (j != 0)
- {
- fputc(',', fo);
- fputc(j%8 == 0 ? '\n' : ' ', fo);
- }
-
- fprintf(fo, "0x%02x", c);
- j++;
- }
-
- fputc('\n', fo);
-
- if (fclose(fi))
- {
- fprintf(stderr, "bin2hex: could not close input file '%s'\n", argv[i]);
- return 1;
- }
-
- }
-
- if (fclose(fo))
- {
- fprintf(stderr, "bin2hex: could not close output file '%s'\n", argv[1]);
- return 1;
- }
-
- return 0;
-}
diff --git a/scripts/cquote.c b/scripts/cquote.c
deleted file mode 100644
index 4544d2e1..00000000
--- a/scripts/cquote.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* cquote.c -- Turn the contents of a file into a quoted string */
-
-#include <stdio.h>
-#include <string.h>
-
-/* We never want to build memento versions of the cquote util */
-#undef MEMENTO
-
-static void
-clean(char *p)
-{
- while (*p)
- {
- if ((*p == '/') || (*p == '.') || (*p == '\\') || (*p == '-'))
- *p = '_';
- p ++;
- }
-}
-
-int
-main(int argc, char **argv)
-{
- FILE *fi, *fo;
- char name[256];
- char *realname;
- int i, c;
- int bol = 1;
-
- if (argc < 3)
- {
- fprintf(stderr, "usage: cquote output.c lots of text files\n");
- return 1;
- }
-
- fo = fopen(argv[1], "wb");
- if (!fo)
- {
- fprintf(stderr, "cquote: could not open output file '%s'\n", argv[1]);
- return 1;
- }
-
- fprintf(fo, "/* This is an automatically generated file. Do not edit. */\n");
-
- for (i = 2; i < argc; i++)
- {
- realname = strrchr(argv[i], '/');
- if (!realname)
- realname = strrchr(argv[i], '\\');
- if (realname)
- realname ++;
- else
- realname = argv[i];
-
- if (strlen(realname) > (sizeof name - 1))
- {
- fprintf(stderr, "cquote: file name too long\n");
- if (fclose(fo))
- {
- fprintf(stderr, "cquote: could not close output file '%s'\n", argv[1]);
- return 1;
- }
- return 1;
- }
-
- strcpy(name, realname);
- clean(name);
-
- fi = fopen(argv[i], "rb");
-
- fprintf(fo, "\n/* %s */\n\n", name);
-
- c = fgetc(fi);
- while (c != EOF)
- {
- int eol = 0;
-
- if (bol)
- {
- fputc('\"', fo);
- bol = 0;
- }
-
- switch (c)
- {
- case '\"':
- fprintf(fo, "\\\"");
- break;
-
- case '\\':
- fprintf(fo, "\\\\");
- break;
-
- case '\r':
- case '\n':
- eol = 1;
- break;
-
- default:
- fputc(c, fo);
- break;
- }
-
- if (eol)
- {
- fprintf(fo, "\\n\"\n");
- while ((c = fgetc(fi)) == '\r' || c == '\n')
- ;
- bol = 1;
- }
- else
- {
- c = fgetc(fi);
- }
- }
-
- if (!bol)
- fprintf(fo, "\\n\"\n");
-
- if (fclose(fi))
- {
- fprintf(stderr, "cquote: could not close input file '%s'\n", argv[i]);
- return 1;
- }
-
- }
-
- if (fclose(fo))
- {
- fprintf(stderr, "cquote: could not close output file '%s'\n", argv[1]);
- return 1;
- }
-
- return 0;
-}
diff --git a/scripts/fontdump.c b/scripts/hexdump.c
index 4669b6ee..728afc33 100644
--- a/scripts/fontdump.c
+++ b/scripts/hexdump.c
@@ -1,4 +1,4 @@
-/* fontdump.c -- an "xxd -i" workalike for dumping binary fonts as source code */
+/* hexdump.c -- an "xxd -i" workalike for dumping binary files as source code */
#include <stdio.h>
#include <stdlib.h>
@@ -29,21 +29,21 @@ main(int argc, char **argv)
{
FILE *fo;
FILE *fi;
- char fontname[256];
+ char filename[256];
char *basename;
char *p;
int i, size;
if (argc < 3)
{
- fprintf(stderr, "usage: fontdump output.c input.dat\n");
+ fprintf(stderr, "usage: hexdump output.c input.dat\n");
return 1;
}
fo = fopen(argv[1], "wb");
if (!fo)
{
- fprintf(stderr, "fontdump: could not open output file '%s'\n", argv[1]);
+ fprintf(stderr, "hexdump: could not open output file '%s'\n", argv[1]);
return 1;
}
@@ -61,7 +61,7 @@ main(int argc, char **argv)
if (!fi)
{
fclose(fo);
- fprintf(stderr, "fontdump: could not open input file '%s'\n", argv[i]);
+ fprintf(stderr, "hexdump: could not open input file '%s'\n", argv[i]);
return 1;
}
@@ -73,16 +73,16 @@ main(int argc, char **argv)
else
basename = argv[i];
- if (strlen(basename) >= sizeof(fontname))
+ if (strlen(basename) >= sizeof(filename))
{
fclose(fi);
fclose(fo);
- fprintf(stderr, "fontdump: filename '%s' too long\n", basename);
+ fprintf(stderr, "hexdump: filename '%s' too long\n", basename);
return 1;
}
- strcpy(fontname, basename);
- for (p = fontname; *p; ++p)
+ strcpy(filename, argv[i]);
+ for (p = filename; *p; ++p)
{
if (*p == '/' || *p == '.' || *p == '\\' || *p == '-')
*p = '_';
@@ -93,19 +93,20 @@ main(int argc, char **argv)
fseek(fi, 0, SEEK_SET);
fprintf(fo, "\n#ifdef HAVE_INCBIN\n");
- fprintf(fo, "const int fz_font_%s_size = %d;\n", fontname, size);
+ fprintf(fo, "const int fz_%s_size = %d;\n", filename, size);
+ fprintf(fo, "extern const char fz_%s[];\n", filename);
fprintf(fo, "asm(\".section .rodata\");\n");
- fprintf(fo, "asm(\".global fz_font_%s\");\n", fontname);
- fprintf(fo, "asm(\".type fz_font_%s STT_OBJECT\");\n", fontname);
- fprintf(fo, "asm(\".size fz_font_%s, %d\");\n", fontname, size);
+ fprintf(fo, "asm(\".global fz_%s\");\n", filename);
+ fprintf(fo, "asm(\".type fz_%s STT_OBJECT\");\n", filename);
+ fprintf(fo, "asm(\".size fz_%s, %d\");\n", filename, size);
fprintf(fo, "asm(\".balign 64\");\n");
- fprintf(fo, "asm(\"fz_font_%s:\");\n", fontname);
+ fprintf(fo, "asm(\"fz_%s:\");\n", filename);
fprintf(fo, "asm(\".incbin \\\"%s\\\"\");\n", argv[i]);
fprintf(fo, "#else\n");
- fprintf(fo, "const int fz_font_%s_size = %d;\n", fontname, size);
- fprintf(fo, "const char fz_font_%s[] = {\n", fontname);
+ fprintf(fo, "const int fz_%s_size = %d;\n", filename, size);
+ fprintf(fo, "const char fz_%s[] = {\n", filename);
hexdump(fo, fi);
- fprintf(fo, "};\n");
+ fprintf(fo, "0};\n"); /* zero-terminate so we can hexdump text files into C strings */
fprintf(fo, "#endif\n");
fclose(fi);
@@ -113,7 +114,7 @@ main(int argc, char **argv)
if (fclose(fo))
{
- fprintf(stderr, "fontdump: could not close output file '%s'\n", argv[1]);
+ fprintf(stderr, "hexdump: could not close output file '%s'\n", argv[1]);
return 1;
}
diff --git a/source/fitz/noto.c b/source/fitz/noto.c
index abccc6c7..c31db28f 100644
--- a/source/fitz/noto.c
+++ b/source/fitz/noto.c
@@ -47,29 +47,29 @@
#define RETURN(NAME) \
do { \
- extern const int fz_font_ ## NAME ## _size; \
- extern const char fz_font_ ## NAME []; \
- return *size = fz_font_ ## NAME ## _size, fz_font_ ## NAME; \
+ extern const int fz_resources_fonts_ ## NAME ## _size; \
+ extern const char fz_resources_fonts_ ## NAME []; \
+ return *size = fz_resources_fonts_ ## NAME ## _size, fz_resources_fonts_ ## NAME; \
} while (0)
const char *
fz_lookup_base14_font(fz_context *ctx, const char *name, int *size)
{
#ifndef TOFU_BASE14
- if (!strcmp(name, "Courier")) RETURN(NimbusMonoPS_Regular_cff);
- if (!strcmp(name, "Courier-Oblique")) RETURN(NimbusMonoPS_Italic_cff);
- if (!strcmp(name, "Courier-Bold")) RETURN(NimbusMonoPS_Bold_cff);
- if (!strcmp(name, "Courier-BoldOblique")) RETURN(NimbusMonoPS_BoldItalic_cff);
- if (!strcmp(name, "Helvetica")) RETURN(NimbusSans_Regular_cff);
- if (!strcmp(name, "Helvetica-Oblique")) RETURN(NimbusSans_Oblique_cff);
- if (!strcmp(name, "Helvetica-Bold")) RETURN(NimbusSans_Bold_cff);
- if (!strcmp(name, "Helvetica-BoldOblique")) RETURN(NimbusSans_BoldOblique_cff);
- if (!strcmp(name, "Times-Roman")) RETURN(NimbusRoman_Regular_cff);
- if (!strcmp(name, "Times-Italic")) RETURN(NimbusRoman_Italic_cff);
- if (!strcmp(name, "Times-Bold")) RETURN(NimbusRoman_Bold_cff);
- if (!strcmp(name, "Times-BoldItalic")) RETURN(NimbusRoman_BoldItalic_cff);
- if (!strcmp(name, "Symbol")) RETURN(StandardSymbolsPS_cff);
- if (!strcmp(name, "ZapfDingbats")) RETURN(Dingbats_cff);
+ if (!strcmp(name, "Courier")) RETURN(urw_NimbusMonoPS_Regular_cff);
+ if (!strcmp(name, "Courier-Oblique")) RETURN(urw_NimbusMonoPS_Italic_cff);
+ if (!strcmp(name, "Courier-Bold")) RETURN(urw_NimbusMonoPS_Bold_cff);
+ if (!strcmp(name, "Courier-BoldOblique")) RETURN(urw_NimbusMonoPS_BoldItalic_cff);
+ if (!strcmp(name, "Helvetica")) RETURN(urw_NimbusSans_Regular_cff);
+ if (!strcmp(name, "Helvetica-Oblique")) RETURN(urw_NimbusSans_Oblique_cff);
+ if (!strcmp(name, "Helvetica-Bold")) RETURN(urw_NimbusSans_Bold_cff);
+ if (!strcmp(name, "Helvetica-BoldOblique")) RETURN(urw_NimbusSans_BoldOblique_cff);
+ if (!strcmp(name, "Times-Roman")) RETURN(urw_NimbusRoman_Regular_cff);
+ if (!strcmp(name, "Times-Italic")) RETURN(urw_NimbusRoman_Italic_cff);
+ if (!strcmp(name, "Times-Bold")) RETURN(urw_NimbusRoman_Bold_cff);
+ if (!strcmp(name, "Times-BoldItalic")) RETURN(urw_NimbusRoman_BoldItalic_cff);
+ if (!strcmp(name, "Symbol")) RETURN(urw_StandardSymbolsPS_cff);
+ if (!strcmp(name, "ZapfDingbats")) RETURN(urw_Dingbats_cff);
#endif
return *size = 0, NULL;
}
@@ -86,49 +86,49 @@ fz_lookup_builtin_font(fz_context *ctx, const char *name, int is_bold, int is_it
{
#ifndef TOFU_BASE14
if (!strcmp(name, "Courier")) {
- FAMILY(NimbusMonoPS_Regular_cff,
- NimbusMonoPS_Italic_cff,
- NimbusMonoPS_Bold_cff,
- NimbusMonoPS_BoldItalic_cff)
+ FAMILY(urw_NimbusMonoPS_Regular_cff,
+ urw_NimbusMonoPS_Italic_cff,
+ urw_NimbusMonoPS_Bold_cff,
+ urw_NimbusMonoPS_BoldItalic_cff)
}
if (!strcmp(name, "Helvetica") || !strcmp(name, "Arial")) {
- FAMILY(NimbusSans_Regular_cff,
- NimbusSans_Oblique_cff,
- NimbusSans_Bold_cff,
- NimbusSans_BoldOblique_cff)
+ FAMILY(urw_NimbusSans_Regular_cff,
+ urw_NimbusSans_Oblique_cff,
+ urw_NimbusSans_Bold_cff,
+ urw_NimbusSans_BoldOblique_cff)
}
if (!strcmp(name, "Times") || !strcmp(name, "Times Roman") || !strcmp(name, "Times New Roman")) {
- FAMILY(NimbusRoman_Regular_cff,
- NimbusRoman_Italic_cff,
- NimbusRoman_Bold_cff,
- NimbusRoman_BoldItalic_cff)
+ FAMILY(urw_NimbusRoman_Regular_cff,
+ urw_NimbusRoman_Italic_cff,
+ urw_NimbusRoman_Bold_cff,
+ urw_NimbusRoman_BoldItalic_cff)
}
if (!strcmp(name, "Dingbats") || !strcmp(name, "Zapf Dingbats")) {
- RETURN(Dingbats_cff);
+ RETURN(urw_Dingbats_cff);
}
if (!strcmp(name, "Symbol")) {
- RETURN(StandardSymbolsPS_cff);
+ RETURN(urw_StandardSymbolsPS_cff);
}
#endif
#ifndef TOFU_SIL
if (!strcmp(name, "Charis SIL")) {
- FAMILY(CharisSIL_R_cff,
- CharisSIL_I_cff,
- CharisSIL_B_cff,
- CharisSIL_BI_cff)
+ FAMILY(sil_CharisSIL_R_cff,
+ sil_CharisSIL_I_cff,
+ sil_CharisSIL_B_cff,
+ sil_CharisSIL_BI_cff)
}
#endif
#ifndef TOFU_NOTO
if (!strcmp(name, "Noto Serif")) {
- RETURN(NotoSerif_Regular_ttf);
+ RETURN(noto_NotoSerif_Regular_ttf);
}
if (!strcmp(name, "Noto Sans")) {
- RETURN(NotoSans_Regular_ttf);
+ RETURN(noto_NotoSans_Regular_ttf);
}
#endif
#ifndef TOFU_EMOJI
if (!strcmp(name, "Emoji") || !strcmp(name, "Noto Emoji")) {
- RETURN(NotoEmoji_Regular_ttf);
+ RETURN(noto_NotoEmoji_Regular_ttf);
}
#endif
return *size = 0, NULL;
@@ -142,27 +142,27 @@ fz_lookup_cjk_font(fz_context *ctx, int registry, int serif, int wmode, int *siz
#ifndef TOFU_CJK_EXT
#ifndef TOFU_CJK_LANG
switch (registry) {
- case FZ_ADOBE_JAPAN_1: RETURN(SourceHanSansJP_Regular_otf);
- case FZ_ADOBE_KOREA_1: RETURN(SourceHanSansKR_Regular_otf);
+ case FZ_ADOBE_JAPAN_1: RETURN(han_SourceHanSansJP_Regular_otf);
+ case FZ_ADOBE_KOREA_1: RETURN(han_SourceHanSansKR_Regular_otf);
default:
- case FZ_ADOBE_GB_1: RETURN(SourceHanSansCN_Regular_otf);
- case FZ_ADOBE_CNS_1: RETURN(SourceHanSansTW_Regular_otf);
+ case FZ_ADOBE_GB_1: RETURN(han_SourceHanSansCN_Regular_otf);
+ case FZ_ADOBE_CNS_1: RETURN(han_SourceHanSansTW_Regular_otf);
}
#else
- RETURN(DroidSansFallbackFull_ttf);
+ RETURN(droid_DroidSansFallbackFull_ttf);
#endif
#else
- RETURN(DroidSansFallback_ttf);
+ RETURN(droid_DroidSansFallback_ttf);
#endif
#else
return *size = 0, NULL;
#endif
}
-#define Noto(SANS) RETURN(Noto ## SANS ## _Regular_ttf)
+#define Noto(SANS) RETURN(noto_Noto ## SANS ## _Regular_ttf)
#define Noto2(SANS,SERIF) \
- if (serif) { RETURN(Noto ## SERIF ## _Regular_ttf); } else { RETURN(Noto ## SANS ## _Regular_ttf); }
+ if (serif) { RETURN(noto_Noto ## SERIF ## _Regular_ttf); } else { RETURN(noto_Noto ## SANS ## _Regular_ttf); }
const char *
fz_lookup_noto_font(fz_context *ctx, int script, int language, int serif, int *size)
@@ -349,7 +349,7 @@ const char *
fz_lookup_noto_symbol_font(fz_context *ctx, int *size)
{
#ifndef TOFU_SYMBOL
- RETURN(NotoSansSymbols_Regular_ttf);
+ RETURN(noto_NotoSansSymbols_Regular_ttf);
#else
return *size = 0, NULL;
#endif
@@ -359,7 +359,7 @@ const char *
fz_lookup_noto_emoji_font(fz_context *ctx, int *size)
{
#ifndef TOFU_EMOJI
- RETURN(NotoEmoji_Regular_ttf);
+ RETURN(noto_NotoEmoji_Regular_ttf);
#else
return *size = 0, NULL;
#endif
diff --git a/source/pdf/pdf-js.c b/source/pdf/pdf-js.c
index aeba801c..bca92780 100644
--- a/source/pdf/pdf-js.c
+++ b/source/pdf/pdf-js.c
@@ -549,6 +549,8 @@ static void declare_dom(pdf_js *js)
js_setglobal(J, "MuPDF_Doc"); /* for pdf-util.js use */
}
+#include "gen_js_util.h"
+
static void preload_helpers(pdf_js *js)
{
/* When testing on the cluster:
@@ -567,9 +569,7 @@ static void preload_helpers(pdf_js *js)
);
#endif
- js_dostring(js->imp,
-#include "gen_js_util.h"
- );
+ js_dostring(js->imp, fz_source_pdf_pdf_js_util_js);
}
void pdf_drop_js(fz_context *ctx, pdf_js *js)
diff --git a/source/pdf/pdf-pkcs7.c b/source/pdf/pdf-pkcs7.c
index b2139146..ae5b75fa 100644
--- a/source/pdf/pdf-pkcs7.c
+++ b/source/pdf/pdf-pkcs7.c
@@ -256,10 +256,7 @@ exit:
return res;
}
-static unsigned char adobe_ca[] =
-{
#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)
{
@@ -292,7 +289,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(adobe_ca, sizeof(adobe_ca));
+ bcert = BIO_new_mem_buf((void*)fz_resources_certs_AdobeCA_p7c, fz_resources_certs_AdobeCA_p7c_size);
pk7cert = d2i_PKCS7_bio(bcert, NULL);
if (pk7cert == NULL)
goto exit;