summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile511
-rw-r--r--Makerules37
-rw-r--r--Makethird212
-rw-r--r--cmaps/cns/Adobe-CNS1-0 (renamed from cmaps/Adobe-CNS1-0)0
-rw-r--r--cmaps/cns/Adobe-CNS1-1 (renamed from cmaps/Adobe-CNS1-1)0
-rw-r--r--cmaps/cns/Adobe-CNS1-2 (renamed from cmaps/Adobe-CNS1-2)0
-rw-r--r--cmaps/cns/Adobe-CNS1-3 (renamed from cmaps/Adobe-CNS1-3)0
-rw-r--r--cmaps/cns/Adobe-CNS1-4 (renamed from cmaps/Adobe-CNS1-4)0
-rw-r--r--cmaps/cns/Adobe-CNS1-5 (renamed from cmaps/Adobe-CNS1-5)0
-rw-r--r--cmaps/cns/Adobe-CNS1-6 (renamed from cmaps/Adobe-CNS1-6)0
-rw-r--r--cmaps/cns/Adobe-CNS1-UCS2 (renamed from cmaps/Adobe-CNS1-UCS2)0
-rw-r--r--cmaps/cns/B5-H (renamed from cmaps/B5-H)0
-rw-r--r--cmaps/cns/B5-V (renamed from cmaps/B5-V)0
-rw-r--r--cmaps/cns/B5pc-H (renamed from cmaps/B5pc-H)0
-rw-r--r--cmaps/cns/B5pc-V (renamed from cmaps/B5pc-V)0
-rw-r--r--cmaps/cns/CNS-EUC-H (renamed from cmaps/CNS-EUC-H)0
-rw-r--r--cmaps/cns/CNS-EUC-V (renamed from cmaps/CNS-EUC-V)0
-rw-r--r--cmaps/cns/CNS1-H (renamed from cmaps/CNS1-H)0
-rw-r--r--cmaps/cns/CNS1-V (renamed from cmaps/CNS1-V)0
-rw-r--r--cmaps/cns/CNS2-H (renamed from cmaps/CNS2-H)0
-rw-r--r--cmaps/cns/CNS2-V (renamed from cmaps/CNS2-V)0
-rw-r--r--cmaps/cns/ETHK-B5-H (renamed from cmaps/ETHK-B5-H)0
-rw-r--r--cmaps/cns/ETHK-B5-V (renamed from cmaps/ETHK-B5-V)0
-rw-r--r--cmaps/cns/ETen-B5-H (renamed from cmaps/ETen-B5-H)0
-rw-r--r--cmaps/cns/ETen-B5-V (renamed from cmaps/ETen-B5-V)0
-rw-r--r--cmaps/cns/ETenms-B5-H (renamed from cmaps/ETenms-B5-H)0
-rw-r--r--cmaps/cns/ETenms-B5-V (renamed from cmaps/ETenms-B5-V)0
-rw-r--r--cmaps/cns/HKdla-B5-H (renamed from cmaps/HKdla-B5-H)0
-rw-r--r--cmaps/cns/HKdla-B5-V (renamed from cmaps/HKdla-B5-V)0
-rw-r--r--cmaps/cns/HKdlb-B5-H (renamed from cmaps/HKdlb-B5-H)0
-rw-r--r--cmaps/cns/HKdlb-B5-V (renamed from cmaps/HKdlb-B5-V)0
-rw-r--r--cmaps/cns/HKgccs-B5-H (renamed from cmaps/HKgccs-B5-H)0
-rw-r--r--cmaps/cns/HKgccs-B5-V (renamed from cmaps/HKgccs-B5-V)0
-rw-r--r--cmaps/cns/HKm314-B5-H (renamed from cmaps/HKm314-B5-H)0
-rw-r--r--cmaps/cns/HKm314-B5-V (renamed from cmaps/HKm314-B5-V)0
-rw-r--r--cmaps/cns/HKm471-B5-H (renamed from cmaps/HKm471-B5-H)0
-rw-r--r--cmaps/cns/HKm471-B5-V (renamed from cmaps/HKm471-B5-V)0
-rw-r--r--cmaps/cns/HKscs-B5-H (renamed from cmaps/HKscs-B5-H)0
-rw-r--r--cmaps/cns/HKscs-B5-V (renamed from cmaps/HKscs-B5-V)0
-rw-r--r--cmaps/cns/UniCNS-UCS2-H (renamed from cmaps/UniCNS-UCS2-H)0
-rw-r--r--cmaps/cns/UniCNS-UCS2-V (renamed from cmaps/UniCNS-UCS2-V)0
-rw-r--r--cmaps/cns/UniCNS-UTF16-H (renamed from cmaps/UniCNS-UTF16-H)0
-rw-r--r--cmaps/cns/UniCNS-UTF16-V (renamed from cmaps/UniCNS-UTF16-V)0
-rw-r--r--cmaps/gb/Adobe-GB1-0 (renamed from cmaps/Adobe-GB1-0)0
-rw-r--r--cmaps/gb/Adobe-GB1-1 (renamed from cmaps/Adobe-GB1-1)0
-rw-r--r--cmaps/gb/Adobe-GB1-2 (renamed from cmaps/Adobe-GB1-2)0
-rw-r--r--cmaps/gb/Adobe-GB1-3 (renamed from cmaps/Adobe-GB1-3)0
-rw-r--r--cmaps/gb/Adobe-GB1-4 (renamed from cmaps/Adobe-GB1-4)0
-rw-r--r--cmaps/gb/Adobe-GB1-5 (renamed from cmaps/Adobe-GB1-5)0
-rw-r--r--cmaps/gb/Adobe-GB1-UCS2 (renamed from cmaps/Adobe-GB1-UCS2)0
-rw-r--r--cmaps/gb/GB-EUC-H (renamed from cmaps/GB-EUC-H)0
-rw-r--r--cmaps/gb/GB-EUC-V (renamed from cmaps/GB-EUC-V)0
-rw-r--r--cmaps/gb/GB-H (renamed from cmaps/GB-H)0
-rw-r--r--cmaps/gb/GB-V (renamed from cmaps/GB-V)0
-rw-r--r--cmaps/gb/GBK-EUC-H (renamed from cmaps/GBK-EUC-H)0
-rw-r--r--cmaps/gb/GBK-EUC-V (renamed from cmaps/GBK-EUC-V)0
-rw-r--r--cmaps/gb/GBK2K-H (renamed from cmaps/GBK2K-H)0
-rw-r--r--cmaps/gb/GBK2K-V (renamed from cmaps/GBK2K-V)0
-rw-r--r--cmaps/gb/GBKp-EUC-H (renamed from cmaps/GBKp-EUC-H)0
-rw-r--r--cmaps/gb/GBKp-EUC-V (renamed from cmaps/GBKp-EUC-V)0
-rw-r--r--cmaps/gb/GBT-EUC-H (renamed from cmaps/GBT-EUC-H)0
-rw-r--r--cmaps/gb/GBT-EUC-V (renamed from cmaps/GBT-EUC-V)0
-rw-r--r--cmaps/gb/GBT-H (renamed from cmaps/GBT-H)0
-rw-r--r--cmaps/gb/GBT-V (renamed from cmaps/GBT-V)0
-rw-r--r--cmaps/gb/GBTpc-EUC-H (renamed from cmaps/GBTpc-EUC-H)0
-rw-r--r--cmaps/gb/GBTpc-EUC-V (renamed from cmaps/GBTpc-EUC-V)0
-rw-r--r--cmaps/gb/GBpc-EUC-H (renamed from cmaps/GBpc-EUC-H)0
-rw-r--r--cmaps/gb/GBpc-EUC-V (renamed from cmaps/GBpc-EUC-V)0
-rw-r--r--cmaps/gb/UniGB-UCS2-H (renamed from cmaps/UniGB-UCS2-H)0
-rw-r--r--cmaps/gb/UniGB-UCS2-V (renamed from cmaps/UniGB-UCS2-V)0
-rw-r--r--cmaps/gb/UniGB-UTF16-H (renamed from cmaps/UniGB-UTF16-H)0
-rw-r--r--cmaps/gb/UniGB-UTF16-V (renamed from cmaps/UniGB-UTF16-V)0
-rw-r--r--cmaps/japan/78-EUC-H (renamed from cmaps/78-EUC-H)0
-rw-r--r--cmaps/japan/78-EUC-V (renamed from cmaps/78-EUC-V)0
-rw-r--r--cmaps/japan/78-H (renamed from cmaps/78-H)0
-rw-r--r--cmaps/japan/78-RKSJ-H (renamed from cmaps/78-RKSJ-H)0
-rw-r--r--cmaps/japan/78-RKSJ-V (renamed from cmaps/78-RKSJ-V)0
-rw-r--r--cmaps/japan/78-V (renamed from cmaps/78-V)0
-rw-r--r--cmaps/japan/78ms-RKSJ-H (renamed from cmaps/78ms-RKSJ-H)0
-rw-r--r--cmaps/japan/78ms-RKSJ-V (renamed from cmaps/78ms-RKSJ-V)0
-rw-r--r--cmaps/japan/83pv-RKSJ-H (renamed from cmaps/83pv-RKSJ-H)0
-rw-r--r--cmaps/japan/90ms-RKSJ-H (renamed from cmaps/90ms-RKSJ-H)0
-rw-r--r--cmaps/japan/90ms-RKSJ-V (renamed from cmaps/90ms-RKSJ-V)0
-rw-r--r--cmaps/japan/90msp-RKSJ-H (renamed from cmaps/90msp-RKSJ-H)0
-rw-r--r--cmaps/japan/90msp-RKSJ-V (renamed from cmaps/90msp-RKSJ-V)0
-rw-r--r--cmaps/japan/90pv-RKSJ-H (renamed from cmaps/90pv-RKSJ-H)0
-rw-r--r--cmaps/japan/90pv-RKSJ-V (renamed from cmaps/90pv-RKSJ-V)0
-rw-r--r--cmaps/japan/Add-H (renamed from cmaps/Add-H)0
-rw-r--r--cmaps/japan/Add-RKSJ-H (renamed from cmaps/Add-RKSJ-H)0
-rw-r--r--cmaps/japan/Add-RKSJ-V (renamed from cmaps/Add-RKSJ-V)0
-rw-r--r--cmaps/japan/Add-V (renamed from cmaps/Add-V)0
-rw-r--r--cmaps/japan/Adobe-Japan1-0 (renamed from cmaps/Adobe-Japan1-0)0
-rw-r--r--cmaps/japan/Adobe-Japan1-1 (renamed from cmaps/Adobe-Japan1-1)0
-rw-r--r--cmaps/japan/Adobe-Japan1-2 (renamed from cmaps/Adobe-Japan1-2)0
-rw-r--r--cmaps/japan/Adobe-Japan1-3 (renamed from cmaps/Adobe-Japan1-3)0
-rw-r--r--cmaps/japan/Adobe-Japan1-4 (renamed from cmaps/Adobe-Japan1-4)0
-rw-r--r--cmaps/japan/Adobe-Japan1-5 (renamed from cmaps/Adobe-Japan1-5)0
-rw-r--r--cmaps/japan/Adobe-Japan1-6 (renamed from cmaps/Adobe-Japan1-6)0
-rw-r--r--cmaps/japan/Adobe-Japan1-UCS2 (renamed from cmaps/Adobe-Japan1-UCS2)0
-rw-r--r--cmaps/japan/Adobe-Japan2-0 (renamed from cmaps/Adobe-Japan2-0)0
-rw-r--r--cmaps/japan/EUC-H (renamed from cmaps/EUC-H)0
-rw-r--r--cmaps/japan/EUC-V (renamed from cmaps/EUC-V)0
-rw-r--r--cmaps/japan/Ext-H (renamed from cmaps/Ext-H)0
-rw-r--r--cmaps/japan/Ext-RKSJ-H (renamed from cmaps/Ext-RKSJ-H)0
-rw-r--r--cmaps/japan/Ext-RKSJ-V (renamed from cmaps/Ext-RKSJ-V)0
-rw-r--r--cmaps/japan/Ext-V (renamed from cmaps/Ext-V)0
-rw-r--r--cmaps/japan/H (renamed from cmaps/H)0
-rw-r--r--cmaps/japan/Hankaku (renamed from cmaps/Hankaku)0
-rw-r--r--cmaps/japan/Hiragana (renamed from cmaps/Hiragana)0
-rw-r--r--cmaps/japan/Hojo-EUC-H (renamed from cmaps/Hojo-EUC-H)0
-rw-r--r--cmaps/japan/Hojo-EUC-V (renamed from cmaps/Hojo-EUC-V)0
-rw-r--r--cmaps/japan/Hojo-H (renamed from cmaps/Hojo-H)0
-rw-r--r--cmaps/japan/Hojo-V (renamed from cmaps/Hojo-V)0
-rw-r--r--cmaps/japan/Katakana (renamed from cmaps/Katakana)0
-rw-r--r--cmaps/japan/NWP-H (renamed from cmaps/NWP-H)0
-rw-r--r--cmaps/japan/NWP-V (renamed from cmaps/NWP-V)0
-rw-r--r--cmaps/japan/RKSJ-H (renamed from cmaps/RKSJ-H)0
-rw-r--r--cmaps/japan/RKSJ-V (renamed from cmaps/RKSJ-V)0
-rw-r--r--cmaps/japan/Roman (renamed from cmaps/Roman)0
-rw-r--r--cmaps/japan/UniHojo-UCS2-H (renamed from cmaps/UniHojo-UCS2-H)0
-rw-r--r--cmaps/japan/UniHojo-UCS2-V (renamed from cmaps/UniHojo-UCS2-V)0
-rw-r--r--cmaps/japan/UniHojo-UTF16-H (renamed from cmaps/UniHojo-UTF16-H)0
-rw-r--r--cmaps/japan/UniHojo-UTF16-V (renamed from cmaps/UniHojo-UTF16-V)0
-rw-r--r--cmaps/japan/UniJIS-UCS2-H (renamed from cmaps/UniJIS-UCS2-H)0
-rw-r--r--cmaps/japan/UniJIS-UCS2-HW-H (renamed from cmaps/UniJIS-UCS2-HW-H)0
-rw-r--r--cmaps/japan/UniJIS-UCS2-HW-V (renamed from cmaps/UniJIS-UCS2-HW-V)0
-rw-r--r--cmaps/japan/UniJIS-UCS2-V (renamed from cmaps/UniJIS-UCS2-V)0
-rw-r--r--cmaps/japan/UniJIS-UTF16-H (renamed from cmaps/UniJIS-UTF16-H)0
-rw-r--r--cmaps/japan/UniJIS-UTF16-V (renamed from cmaps/UniJIS-UTF16-V)0
-rw-r--r--cmaps/japan/UniJISPro-UCS2-HW-V (renamed from cmaps/UniJISPro-UCS2-HW-V)0
-rw-r--r--cmaps/japan/UniJISPro-UCS2-V (renamed from cmaps/UniJISPro-UCS2-V)0
-rw-r--r--cmaps/japan/V (renamed from cmaps/V)0
-rw-r--r--cmaps/japan/WP-Symbol (renamed from cmaps/WP-Symbol)0
-rw-r--r--cmaps/korea/Adobe-Korea1-0 (renamed from cmaps/Adobe-Korea1-0)0
-rw-r--r--cmaps/korea/Adobe-Korea1-1 (renamed from cmaps/Adobe-Korea1-1)0
-rw-r--r--cmaps/korea/Adobe-Korea1-2 (renamed from cmaps/Adobe-Korea1-2)0
-rw-r--r--cmaps/korea/Adobe-Korea1-UCS2 (renamed from cmaps/Adobe-Korea1-UCS2)0
-rw-r--r--cmaps/korea/KSC-EUC-H (renamed from cmaps/KSC-EUC-H)0
-rw-r--r--cmaps/korea/KSC-EUC-V (renamed from cmaps/KSC-EUC-V)0
-rw-r--r--cmaps/korea/KSC-H (renamed from cmaps/KSC-H)0
-rw-r--r--cmaps/korea/KSC-Johab-H (renamed from cmaps/KSC-Johab-H)0
-rw-r--r--cmaps/korea/KSC-Johab-V (renamed from cmaps/KSC-Johab-V)0
-rw-r--r--cmaps/korea/KSC-V (renamed from cmaps/KSC-V)0
-rw-r--r--cmaps/korea/KSCms-UHC-H (renamed from cmaps/KSCms-UHC-H)0
-rw-r--r--cmaps/korea/KSCms-UHC-HW-H (renamed from cmaps/KSCms-UHC-HW-H)0
-rw-r--r--cmaps/korea/KSCms-UHC-HW-V (renamed from cmaps/KSCms-UHC-HW-V)0
-rw-r--r--cmaps/korea/KSCms-UHC-V (renamed from cmaps/KSCms-UHC-V)0
-rw-r--r--cmaps/korea/KSCpc-EUC-H (renamed from cmaps/KSCpc-EUC-H)0
-rw-r--r--cmaps/korea/KSCpc-EUC-V (renamed from cmaps/KSCpc-EUC-V)0
-rw-r--r--cmaps/korea/UniKS-UCS2-H (renamed from cmaps/UniKS-UCS2-H)0
-rw-r--r--cmaps/korea/UniKS-UCS2-V (renamed from cmaps/UniKS-UCS2-V)0
-rw-r--r--cmaps/korea/UniKS-UTF16-H (renamed from cmaps/UniKS-UTF16-H)0
-rw-r--r--cmaps/korea/UniKS-UTF16-V (renamed from cmaps/UniKS-UTF16-V)0
-rw-r--r--pdf/pdf_cmap_table.c1
-rw-r--r--win32/generate.bat10
156 files changed, 236 insertions, 536 deletions
diff --git a/.gitignore b/.gitignore
index 6acef018..9c8c83b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ generated
thirdparty
cscope.*
tags
+TAGS
diff --git a/Makefile b/Makefile
index 6127571f..a58a35e9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,416 +1,149 @@
-# GNU Makefile for MuPDF
-#
-# make build=release prefix=/usr/local verbose=true install
-#
-
-default: all
+# GNU Makefile
build ?= debug
-prefix ?= /usr/local
-OBJDIR := build/$(build)
-GENDIR := generated
+OUT := build/$(build)
+GEN := generated
-$(OBJDIR):
- mkdir -p $@
-$(GENDIR):
- mkdir -p $@
+# --- Variables, Commands, etc... ---
-# Compiler flags and configuration options are kept in Makerules.
-# Thirdparty libs will be built by Makethird if the thirdparty
-# directory exists.
+default: all
-LIBS := -lfreetype -ljbig2dec -lopenjpeg -ljpeg -lz -lm
+CFLAGS += -Ifitz -Ipdf -Ixps -Iscripts
+LIBS += -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm
include Makerules
include Makethird
-CFLAGS += $(THIRD_INCS) $(SYS_FREETYPE_INC)
-
-#
-# Build commands
-#
+THIRD_LIBS := $(FREETYPE_LIB)
+THIRD_LIBS += $(JBIG2DEC_LIB)
+THIRD_LIBS += $(JPEG_LIB)
+THIRD_LIBS += $(OPENJPEG_LIB)
+THIRD_LIBS += $(ZLIB_LIB)
+
+ifeq "$(verbose)" ""
+QUIET_AR = @ echo ' ' ' ' AR $@ ;
+QUIET_CC = @ echo ' ' ' ' CC $@ ;
+QUIET_GEN = @ echo ' ' ' ' GEN $@ ;
+QUIET_LINK = @ echo ' ' ' ' LINK $@ ;
+QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ;
+endif
-ifneq "$(verbose)" ""
+CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $<
+AR_CMD = $(QUIET_AR) $(AR) cru $@ $^
+LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@
-GENFILE_CMD = $(firstword $^) $@ $(wordlist 2, 999, $^)
-CC_CMD = $(CC) -o $@ -c $< $(CFLAGS)
-LD_CMD = $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
-AR_CMD = rm -f $@ && $(AR) cru $@ $^
+# --- Rules ---
-else
+$(OUT) $(GEN) :
+ $(MKDIR_CMD)
-GENFILE_CMD = @ echo " GENFILE" $@ && $(firstword $^) $@ $(wordlist 2, 999, $^)
-CC_CMD = @ echo " CC" $@ && $(CC) -o $@ -c $< $(CFLAGS)
-LD_CMD = @ echo " LD" $@ && $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
-AR_CMD = @ echo " AR" $@ && rm -f $@ && $(AR) cru $@ $^
+$(OUT)/%.a :
+ $(AR_CMD)
-endif
+$(OUT)/% : $(OUT)/%.o
+ $(LINK_CMD)
-#
-# Code generation tools
-#
-
-FONTDUMP_EXE := $(OBJDIR)/fontdump
-$(FONTDUMP_EXE): $(OBJDIR)/fontdump.o
- $(LD_CMD)
-
-CMAPDUMP_EXE := $(OBJDIR)/cmapdump
-$(CMAPDUMP_EXE): $(OBJDIR)/cmapdump.o
- $(LD_CMD)
-
-#
-# Sources
-#
-
-FITZ_HDR := fitz/fitz.h
-FITZ_SRC := \
- fitz/base_error.c \
- fitz/base_geometry.c \
- fitz/base_getopt.c \
- fitz/base_hash.c \
- fitz/base_memory.c \
- fitz/base_string.c \
- fitz/base_time.c \
- fitz/crypt_aes.c \
- fitz/crypt_arc4.c \
- fitz/crypt_md5.c \
- fitz/crypt_sha2.c \
- fitz/dev_bbox.c \
- fitz/dev_list.c \
- fitz/dev_null.c \
- fitz/dev_text.c \
- fitz/dev_trace.c \
- fitz/filt_basic.c \
- fitz/filt_dctd.c \
- fitz/filt_faxd.c \
- fitz/filt_flate.c \
- fitz/filt_jbig2d.c \
- fitz/filt_jpxd.c \
- fitz/filt_lzwd.c \
- fitz/filt_predict.c \
- fitz/obj_array.c \
- fitz/obj_dict.c \
- fitz/obj_print.c \
- fitz/obj_simple.c \
- fitz/res_bitmap.c \
- fitz/res_colorspace.c \
- fitz/res_font.c \
- fitz/res_halftone.c \
- fitz/res_path.c \
- fitz/res_pixmap.c \
- fitz/res_shade.c \
- fitz/res_text.c \
- fitz/stm_buffer.c \
- fitz/stm_open.c \
- fitz/stm_read.c
-FITZ_OBJ := $(FITZ_SRC:fitz/%.c=$(OBJDIR)/%.o)
-$(FITZ_OBJ): $(FITZ_HDR)
-
-DRAW_SRC := $(DRAW_ARCH_SRC) \
- draw/arch_port.c \
- draw/draw_affine.c \
- draw/draw_blend.c \
- draw/draw_device.c \
- draw/draw_edge.c \
- draw/draw_glyph.c \
- draw/draw_mesh.c \
- draw/draw_paint.c \
- draw/draw_path.c \
- draw/draw_scale.c \
- draw/draw_unpack.c
-DRAW_OBJ := $(DRAW_SRC:draw/%.c=$(OBJDIR)/%.o)
-DRAW_OBJ := $(DRAW_OBJ:draw/%.s=$(OBJDIR)/%.o)
-$(DRAW_OBJ): $(FITZ_HDR)
-
-MUPDF_HDR := pdf/mupdf.h
-MUPDF_SRC := \
- pdf/pdf_annot.c \
- pdf/pdf_build.c \
- pdf/pdf_cmap.c \
- pdf/pdf_cmap_load.c \
- pdf/pdf_cmap_parse.c \
- pdf/pdf_cmap_table.c \
- pdf/pdf_colorspace.c \
- pdf/pdf_crypt.c \
- pdf/pdf_debug.c \
- pdf/pdf_encoding.c \
- pdf/pdf_font.c \
- pdf/pdf_fontfile.c \
- pdf/pdf_function.c \
- pdf/pdf_image.c \
- pdf/pdf_interpret.c \
- pdf/pdf_lex.c \
- pdf/pdf_metrics.c \
- pdf/pdf_nametree.c \
- pdf/pdf_outline.c \
- pdf/pdf_page.c \
- pdf/pdf_parse.c \
- pdf/pdf_pattern.c \
- pdf/pdf_repair.c \
- pdf/pdf_shade.c \
- pdf/pdf_store.c \
- pdf/pdf_stream.c \
- pdf/pdf_type3.c \
- pdf/pdf_unicode.c \
- pdf/pdf_xobject.c \
- pdf/pdf_xref.c
-MUPDF_OBJ := $(MUPDF_SRC:pdf/%.c=$(OBJDIR)/%.o)
-$(MUPDF_OBJ): $(MUPDF_HDR)
-
-MUXPS_HDR := xps/muxps.h
-MUXPS_SRC := \
- xps/xps_common.c \
- xps/xps_doc.c \
- xps/xps_glyphs.c \
- xps/xps_gradient.c \
- xps/xps_hash.c \
- xps/xps_image.c \
- xps/xps_jpeg.c \
- xps/xps_path.c \
- xps/xps_png.c \
- xps/xps_resource.c \
- xps/xps_tiff.c \
- xps/xps_tile.c \
- xps/xps_util.c \
- xps/xps_xml.c \
- xps/xps_zip.c
-MUXPS_OBJ := $(MUXPS_SRC:xps/%.c=$(OBJDIR)/%.o)
-$(MUXPS_OBJ): $(MUXPS_HDR) $(FITZ_HDR)
-
-$(OBJDIR)/%.o: fitz/%.c
+$(OUT)/%.o : fitz/%.c fitz/fitz.h | $(OUT)
$(CC_CMD)
-$(OBJDIR)/%.o: draw/%.c
+$(OUT)/%.o : draw/%.c fitz/fitz.h | $(OUT)
$(CC_CMD)
-$(OBJDIR)/%.o: draw/%.s
+$(OUT)/%.o : pdf/%.c fitz/fitz.h pdf/mupdf.h | $(OUT)
$(CC_CMD)
-$(OBJDIR)/%.o: pdf/%.c
+$(OUT)/%.o : xps/%.c fitz/fitz.h xps/muxps.h | $(OUT)
$(CC_CMD)
-$(OBJDIR)/%.o: xps/%.c
+$(OUT)/%.o : apps/%.c fitz/fitz.h pdf/mupdf.h xps/muxps.h | $(OUT)
$(CC_CMD)
-$(OBJDIR)/%.o: scripts/%.c
+$(OUT)/%.o : scripts/%.c | $(OUT)
$(CC_CMD)
-#
-# Generated font file dumps
-#
-
-BASE_FONT_FILES := \
- fonts/Dingbats.cff \
- fonts/NimbusMonL-Bold.cff \
- fonts/NimbusMonL-BoldObli.cff \
- fonts/NimbusMonL-Regu.cff \
- fonts/NimbusMonL-ReguObli.cff \
- fonts/NimbusRomNo9L-Medi.cff \
- fonts/NimbusRomNo9L-MediItal.cff \
- fonts/NimbusRomNo9L-Regu.cff \
- fonts/NimbusRomNo9L-ReguItal.cff \
- fonts/NimbusSanL-Bold.cff \
- fonts/NimbusSanL-BoldItal.cff \
- fonts/NimbusSanL-Regu.cff \
- fonts/NimbusSanL-ReguItal.cff \
- fonts/StandardSymL.cff
-
-CJK_FONT_FILES := \
- fonts/droid/DroidSansFallback.ttf
-
-$(GENDIR)/font_base14.h: $(FONTDUMP_EXE) $(BASE_FONT_FILES)
- $(GENFILE_CMD)
-$(GENDIR)/font_cjk.h: $(FONTDUMP_EXE) $(CJK_FONT_FILES)
- $(GENFILE_CMD)
-
-FONT_HDR := \
- $(GENDIR)/font_base14.h \
- $(GENDIR)/font_cjk.h
-
-$(OBJDIR)/pdf_fontfile.o: $(FONT_HDR)
-
-#
-# Generated CMap file dumps
-#
-
-CMAP_UNICODE_FILES := $(addprefix cmaps/, \
- Adobe-CNS1-UCS2 Adobe-GB1-UCS2 \
- Adobe-Japan1-UCS2 Adobe-Korea1-UCS2 )
-
-CMAP_CNS_FILES := $(addprefix cmaps/, \
- Adobe-CNS1-0 Adobe-CNS1-1 Adobe-CNS1-2 Adobe-CNS1-3 \
- Adobe-CNS1-4 Adobe-CNS1-5 Adobe-CNS1-6 B5-H B5-V B5pc-H B5pc-V \
- CNS-EUC-H CNS-EUC-V CNS1-H CNS1-V CNS2-H CNS2-V ETen-B5-H \
- ETen-B5-V ETenms-B5-H ETenms-B5-V ETHK-B5-H ETHK-B5-V \
- HKdla-B5-H HKdla-B5-V HKdlb-B5-H HKdlb-B5-V HKgccs-B5-H \
- HKgccs-B5-V HKm314-B5-H HKm314-B5-V HKm471-B5-H HKm471-B5-V \
- HKscs-B5-H HKscs-B5-V UniCNS-UCS2-H UniCNS-UCS2-V \
- UniCNS-UTF16-H UniCNS-UTF16-V )
-
-CMAP_GB_FILES := $(addprefix cmaps/, \
- Adobe-GB1-0 Adobe-GB1-1 Adobe-GB1-2 Adobe-GB1-3 Adobe-GB1-4 \
- Adobe-GB1-5 GB-EUC-H GB-EUC-V GB-H GB-V GBK-EUC-H GBK-EUC-V \
- GBK2K-H GBK2K-V GBKp-EUC-H GBKp-EUC-V GBpc-EUC-H GBpc-EUC-V \
- GBT-EUC-H GBT-EUC-V GBT-H GBT-V GBTpc-EUC-H GBTpc-EUC-V \
- UniGB-UCS2-H UniGB-UCS2-V UniGB-UTF16-H UniGB-UTF16-V )
-
-CMAP_JAPAN_FILES := $(addprefix cmaps/, \
- 78-EUC-H 78-EUC-V 78-H 78-RKSJ-H 78-RKSJ-V 78-V 78ms-RKSJ-H \
- 78ms-RKSJ-V 83pv-RKSJ-H 90ms-RKSJ-H 90ms-RKSJ-V 90msp-RKSJ-H \
- 90msp-RKSJ-V 90pv-RKSJ-H 90pv-RKSJ-V Add-H Add-RKSJ-H \
- Add-RKSJ-V Add-V Adobe-Japan1-0 Adobe-Japan1-1 Adobe-Japan1-2 \
- Adobe-Japan1-3 Adobe-Japan1-4 Adobe-Japan1-5 Adobe-Japan1-6 \
- EUC-H EUC-V Ext-H Ext-RKSJ-H Ext-RKSJ-V Ext-V H Hankaku \
- Hiragana Katakana NWP-H NWP-V RKSJ-H RKSJ-V Roman \
- UniJIS-UCS2-H UniJIS-UCS2-HW-H UniJIS-UCS2-HW-V UniJIS-UCS2-V \
- UniJISPro-UCS2-HW-V UniJISPro-UCS2-V V WP-Symbol \
- Adobe-Japan2-0 Hojo-EUC-H Hojo-EUC-V Hojo-H Hojo-V \
- UniHojo-UCS2-H UniHojo-UCS2-V UniHojo-UTF16-H UniHojo-UTF16-V \
- UniJIS-UTF16-H UniJIS-UTF16-V )
-
-CMAP_KOREA_FILES := $(addprefix cmaps/, \
- Adobe-Korea1-0 Adobe-Korea1-1 Adobe-Korea1-2 KSC-EUC-H \
- KSC-EUC-V KSC-H KSC-Johab-H KSC-Johab-V KSC-V KSCms-UHC-H \
- KSCms-UHC-HW-H KSCms-UHC-HW-V KSCms-UHC-V KSCpc-EUC-H \
- KSCpc-EUC-V UniKS-UCS2-H UniKS-UCS2-V UniKS-UTF16-H UniKS-UTF16-V )
-
-$(GENDIR)/cmap_unicode.h: $(CMAPDUMP_EXE) $(CMAP_UNICODE_FILES)
- $(GENFILE_CMD)
-$(GENDIR)/cmap_cns.h: $(CMAPDUMP_EXE) $(CMAP_CNS_FILES)
- $(GENFILE_CMD)
-$(GENDIR)/cmap_gb.h: $(CMAPDUMP_EXE) $(CMAP_GB_FILES)
- $(GENFILE_CMD)
-$(GENDIR)/cmap_japan.h: $(CMAPDUMP_EXE) $(CMAP_JAPAN_FILES)
- $(GENFILE_CMD)
-$(GENDIR)/cmap_korea.h: $(CMAPDUMP_EXE) $(CMAP_KOREA_FILES)
- $(GENFILE_CMD)
-
-CMAP_HDR := \
- $(GENDIR)/cmap_unicode.h \
- $(GENDIR)/cmap_cns.h \
- $(GENDIR)/cmap_gb.h \
- $(GENDIR)/cmap_japan.h \
- $(GENDIR)/cmap_korea.h
-
-$(OBJDIR)/pdf_cmap_table.o: $(CMAP_HDR)
-
-#
-# Library
-#
-
-FITZ_LIB = $(OBJDIR)/libfitz.a
-$(FITZ_LIB): $(FITZ_OBJ) $(DRAW_OBJ)
- $(AR_CMD)
-
-MUPDF_LIB = $(OBJDIR)/libmupdf.a
-$(MUPDF_LIB): $(MUPDF_OBJ)
- $(AR_CMD)
-
-MUXPS_LIB = $(OBJDIR)/libmuxps.a
-$(MUXPS_LIB): $(MUXPS_OBJ)
- $(AR_CMD)
-
-ALL_LIBS = $(MUXPS_LIB) $(MUPDF_LIB) $(FITZ_LIB)
-PDF_LIBS = $(MUPDF_LIB) $(FITZ_LIB)
-XPS_LIBS = $(MUXPS_LIB) $(FITZ_LIB)
-
-#
-# Applications
-#
-
-APPS = $(PDFSHOW_EXE) $(PDFCLEAN_EXE) $(PDFDRAW_EXE) $(PDFEXTRACT_EXE) $(PDFINFO_EXE) $(PDFVIEW_EXE) $(XPSDRAW_EXE)
-
-APPS_MAN = \
- apps/man/mupdf.1 \
- apps/man/pdfclean.1 \
- apps/man/pdfdraw.1 \
- apps/man/pdfshow.1
-
-$(OBJDIR)/%.o: apps/%.c
- $(CC_CMD)
+.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
-PDFSHOW_SRC=apps/pdfshow.c
-PDFSHOW_OBJ=$(PDFSHOW_SRC:apps/%.c=$(OBJDIR)/%.o)
-PDFSHOW_EXE=$(OBJDIR)/pdfshow
-$(PDFSHOW_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFSHOW_EXE): $(PDFSHOW_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-PDFCLEAN_SRC=apps/pdfclean.c
-PDFCLEAN_OBJ=$(PDFCLEAN_SRC:apps/%.c=$(OBJDIR)/%.o)
-PDFCLEAN_EXE=$(OBJDIR)/pdfclean
-$(PDFCLEAN_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFCLEAN_EXE): $(PDFCLEAN_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-PDFDRAW_SRC=apps/pdfdraw.c
-PDFDRAW_OBJ=$(PDFDRAW_SRC:apps/%.c=$(OBJDIR)/%.o)
-PDFDRAW_EXE=$(OBJDIR)/pdfdraw
-$(PDFDRAW_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFDRAW_EXE): $(PDFDRAW_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-PDFEXTRACT_SRC=apps/pdfextract.c
-PDFEXTRACT_OBJ=$(PDFEXTRACT_SRC:apps/%.c=$(OBJDIR)/%.o)
-PDFEXTRACT_EXE=$(OBJDIR)/pdfextract
-$(PDFEXTRACT_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFEXTRACT_EXE): $(PDFEXTRACT_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-PDFINFO_SRC=apps/pdfinfo.c
-PDFINFO_OBJ=$(PDFINFO_SRC:apps/%.c=$(OBJDIR)/%.o)
-PDFINFO_EXE=$(OBJDIR)/pdfinfo
-$(PDFINFO_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFINFO_EXE): $(PDFINFO_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-XPSDRAW_SRC=apps/xpsdraw.c
-XPSDRAW_OBJ=$(XPSDRAW_SRC:apps/%.c=$(OBJDIR)/%.o)
-XPSDRAW_EXE=$(OBJDIR)/xpsdraw
-$(XPSDRAW_OBJ): $(MUXPS_HDR) $(FITZ_HDR)
-$(XPSDRAW_EXE): $(XPSDRAW_OBJ) $(XPS_LIBS) $(THIRD_LIBS)
- $(LD_CMD)
-
-PDFAPP_HDR = apps/pdfapp.h
-
-X11VIEW_SRC=apps/x11_main.c apps/x11_image.c apps/pdfapp.c
-X11VIEW_OBJ=$(X11VIEW_SRC:apps/%.c=$(OBJDIR)/%.o)
-X11VIEW_EXE=$(OBJDIR)/mupdf
-
-$(X11VIEW_OBJ): $(PDFAPP_HDR) $(MUPDF_HDR) $(MUXPS_HDR) $(FITZ_HDR)
-$(X11VIEW_EXE): $(X11VIEW_OBJ) $(ALL_LIBS) $(THIRD_LIBS)
- $(LD_CMD) $(X11LIBS)
-
-WINVIEW_SRC=apps/win_main.c apps/pdfapp.c
-WINVIEW_RES=apps/win_res.rc
-WINVIEW_OBJ=$(WINVIEW_SRC:apps/%.c=$(OBJDIR)/%.o) $(WINVIEW_RES:apps/%.rc=$(OBJDIR)/%.o)
-WINVIEW_EXE=$(OBJDIR)/mupdf.exe
-
-$(OBJDIR)/%.o: apps/%.rc
- $(WINDRES) -i $< -o $@ --include-dir=apps
-
-$(WINVIEW_OBJ): $(PDFAPP_HDR) $(MUPDF_HDR) $(MUXPS_HDR) $(FITZ_HDR)
-$(WINVIEW_EXE): $(WINVIEW_OBJ) $(ALL_LIBS) $(THIRD_LIBS)
- $(LD_CMD) $(W32LIBS)
-
-#
-# Default rules
-#
-
-.PHONY: default all clean nuke install
-
-all: $(OBJDIR) $(THIRD_LIBS) $(FITZ_LIB) $(MUPDF_LIB) $(MUXPS_LIB) $(APPS)
+# --- Fitz, MuPDF and MuXPS libraries ---
-clean:
- rm -rf $(OBJDIR)/*
+FITZ_LIB := $(OUT)/libfitz.a
+MUPDF_LIB := $(OUT)/libmupdf.a
+MUXPS_LIB := $(OUT)/libmuxps.a
+
+FITZ_SRC := $(notdir $(wildcard fitz/*.c draw/*.c))
+MUPDF_SRC := $(notdir $(wildcard pdf/*.c))
+MUXPS_SRC := $(notdir $(wildcard xps/*.c))
+
+$(FITZ_LIB) : $(addprefix $(OUT)/, $(FITZ_SRC:%.c=%.o))
+$(MUPDF_LIB) : $(addprefix $(OUT)/, $(MUPDF_SRC:%.c=%.o))
+$(MUXPS_LIB) : $(addprefix $(OUT)/, $(MUXPS_SRC:%.c=%.o))
+
+# --- Generated CMAP and FONT files ---
+
+CMAPDUMP := $(OUT)/cmapdump
+FONTDUMP := $(OUT)/fontdump
+
+CMAP_CNS_SRC := $(wildcard cmaps/cns/*)
+CMAP_GB_SRC := $(wildcard cmaps/gb/*)
+CMAP_JAPAN_SRC := $(wildcard cmaps/japan/*)
+CMAP_KOREA_SRC := $(wildcard cmaps/korea/*)
+FONT_BASE14_SRC := $(wildcard fonts/*.cff)
+FONT_CJK_SRC := fonts/droid/DroidSansFallback.ttf
+
+$(GEN)/cmap_cns.h : $(CMAP_CNS_SRC)
+ $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_CNS_SRC)
+$(GEN)/cmap_gb.h : $(CMAP_GB_SRC)
+ $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_GB_SRC)
+$(GEN)/cmap_japan.h : $(CMAP_JAPAN_SRC)
+ $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_JAPAN_SRC)
+$(GEN)/cmap_korea.h : $(CMAP_KOREA_SRC)
+ $(QUIET_GEN) ./$(CMAPDUMP) $@ $(CMAP_KOREA_SRC)
+
+$(GEN)/font_base14.h : $(FONT_BASE14_SRC)
+ $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_BASE14_SRC)
+$(GEN)/font_cjk.h : $(FONT_CJK_SRC)
+ $(QUIET_GEN) ./$(FONTDUMP) $@ $(FONT_CJK_SRC)
+CMAP_HDR := $(addprefix $(GEN)/, cmap_cns.h cmap_gb.h cmap_japan.h cmap_korea.h)
+FONT_HDR := $(GEN)/font_base14.h $(GEN)/font_cjk.h
+
+$(CMAP_HDR) : $(CMAPDUMP) | $(GEN)
+$(FONT_HDR) : $(FONTDUMP) | $(GEN)
+
+$(OUT)/pdf_cmap_table.o : $(CMAP_HDR)
+$(OUT)/pdf_fontfile.o : $(FONT_HDR)
+
+# --- Tools and Apps ---
+
+PDF_APPS := $(addprefix $(OUT)/, pdfdraw pdfclean pdfextract pdfinfo pdfshow)
+XPS_APPS := $(addprefix $(OUT)/, xpsdraw)
+
+$(PDF_APPS) : $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS)
+$(XPS_APPS) : $(MUXPS_LIB) $(FITZ_LIB) $(THIRD_LIBS)
+
+MUPDF := $(OUT)/mupdf
+$(MUPDF) : $(MUXPS_LIB) $(MUPDF_LIB) $(FITZ_LIB) $(THIRD_LIBS)
+$(MUPDF) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
+ $(LINK_CMD) $(X11_LIBS)
+
+# --- Install ---
+
+prefix ?= /usr/local
+bindir ?= $(prefix)/bin
+libdir ?= $(prefix)/lib
+incdir ?= $(prefix)/include
+mandir ?= $(prefix)/share/man
+
+install: $(MUXPS_LIB) $(MUPDF_LIB) $(FITZ_LIB) $(APPS)
+ install -d $(bindir) $(libdir) $(incdir) $(mandir)/man1
+ install $(MUXPS_LIB) $(MUPDF_LIB) $(FITZ_LIB) $(libdir)
+ install fitz/fitz.h pdf/mupdf.h xps/muxps.h $(incdir)
+ install $(PDF_APPS) $(XPS_APPS) $(MUPDF) $(bindir)
+ install $(wildcard apps/man/*.1) $(mandir)/man1
+
+# --- Clean and Default ---
+
+all: $(THIRD_LIBS) $(FITZ_LIB) $(PDF_APPS) $(XPS_APPS) $(MUPDF)
+
+clean:
+ rm -rf $(OUT)
nuke:
- rm -rf build
-
-BINDIR ?= $(prefix)/bin
-LIBDIR ?= $(prefix)/lib
-INCDIR ?= $(prefix)/include
-MANDIR ?= $(prefix)/share/man/man1
-
-install: $(OBJDIR) $(MUPDF_LIB) $(APPS)
- install -d $(BINDIR) $(LIBDIR) $(INCDIR) $(MANDIR)
- install $(APPS) $(BINDIR)
- install $(APPS_MAN) $(MANDIR)
- install $(MUPDF_LIB) $(LIBDIR)
- install $(MUPDF_HDR) $(MUXPS_HDR) $(FITZ_HDR) $(INCDIR)
+ rm -rf build/* $(GEN)
+
+.PHONY: all clean nuke install
diff --git a/Makerules b/Makerules
index bcb50be7..486f8adc 100644
--- a/Makerules
+++ b/Makerules
@@ -3,40 +3,30 @@
OS ?= $(shell uname)
OS := $(OS:MINGW%=MINGW)
-CC ?=
-CFLAGS ?=
-LDFLAGS ?=
-
-CFLAGS += -Ifitz -Ipdf -Ixps -Iscripts -Wall
+CFLAGS += -Wall
ifeq "$(build)" "debug"
CFLAGS += -pipe -g
-endif
-
-ifeq "$(build)" "profile"
+else ifeq "$(build)" "profile"
CFLAGS += -pipe -O2 -DNDEBUG -pg
LDFLAGS += -pg
-endif
-
-ifeq "$(build)" "release"
+else ifeq "$(build)" "release"
CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
-endif
-
-ifeq "$(build)" "native"
+else ifeq "$(build)" "native"
CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer -march=native -mfpmath=sse
+else
+$(error unknown build setting: '$(build)')
endif
ifeq "$(OS)" "Linux"
SYS_FREETYPE_INC := `pkg-config --cflags freetype2`
-X11LIBS := -lX11 -lXext
-PDFVIEW_EXE = $(X11VIEW_EXE)
+X11_LIBS := -lX11 -lXext
endif
ifeq "$(OS)" "FreeBSD"
SYS_FREETYPE_INC := `pkg-config --cflags freetype2`
LDFLAGS += -L/usr/local/lib
-X11LIBS := -lX11 -lXext
-PDFVIEW_EXE = $(X11VIEW_EXE)
+X11_LIBS := -lX11 -lXext
endif
# Mac OS X build depends on some thirdparty libs
@@ -44,8 +34,7 @@ ifeq "$(OS)" "Darwin"
SYS_FREETYPE_INC := -I/usr/X11R6/include/freetype2
CFLAGS += -I/usr/X11R6/include
LDFLAGS += -L/usr/X11R6/lib
-X11LIBS := -lX11 -lXext
-PDFVIEW_EXE = $(X11VIEW_EXE)
+X11_LIBS := -lX11 -lXext
ifeq "$(arch)" "amd64"
CFLAGS += -m64
LDFLAGS += -m64
@@ -54,11 +43,3 @@ CFLAGS += -m32
LDFLAGS += -m32
endif
endif
-
-# MinGW build depends on thirdparty libs
-ifeq "$(OS)" "MINGW"
-WINDRES ?= windres
-W32LIBS := -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 -mwindows
-PDFVIEW_EXE = $(WINVIEW_EXE)
-endif
-
diff --git a/Makethird b/Makethird
index e56020c9..64f85ff3 100644
--- a/Makethird
+++ b/Makethird
@@ -1,113 +1,108 @@
# GNU Makefile for third party libraries used by MuPDF
#
# If thirdparty libraries are supplied, they will be built as
-# static libraries. Download and unzip the the mupdf-thirdparty.zip archive
-# in the source directory.
+# static libraries. Download and unzip the the mupdf-thirdparty.zip
+# archive in the source directory.
-freetype_dir := $(wildcard thirdparty/freetype*)
-jbig2dec_dir := $(wildcard thirdparty/jbig2dec*)
-jpeg_dir := $(wildcard thirdparty/jpeg*)
-openjpeg_dir := $(wildcard thirdparty/openjpeg*/libopenjpeg)
-zlib_dir := $(wildcard thirdparty/zlib*)
+FREETYPE_DIR := $(wildcard thirdparty/freetype*)
+JBIG2DEC_DIR := $(wildcard thirdparty/jbig2dec*)
+JPEG_DIR := $(wildcard thirdparty/jpeg*)
+OPENJPEG_DIR := $(wildcard thirdparty/openjpeg*/libopenjpeg)
+ZLIB_DIR := $(wildcard thirdparty/zlib*)
-ifneq "$(freetype_dir)" ""
+# --- FreeType 2 ---
-THIRD_LIBS += $(FREETYPE_LIB)
-THIRD_INCS += -I$(freetype_dir)/include
+ifneq "$(FREETYPE_DIR)" ""
+CFLAGS += -I$(FREETYPE_DIR)/include
LIBS := $(filter-out -lfreetype, $(LIBS))
-
-SYS_FREETYPE_INC :=
-
-FREETYPE_OBJ=$(addprefix $(OBJDIR)/ft_, \
- ftbase.o ftbbox.o ftbitmap.o ftgasp.o ftglyph.o ftinit.o \
- ftstroke.o ftsynth.o ftsystem.o fttype1.o ftxf86.o \
- cff.o type1cid.o psaux.o psnames.o smooth.o sfnt.o truetype.o type1.o )
-FREETYPE_LIB=$(OBJDIR)/libfreetype.a
-$(FREETYPE_LIB): $(FREETYPE_OBJ)
- $(AR_CMD)
-
-FTCC_CMD = $(CC_CMD) -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \
+FREETYPE_LIB := $(OUT)/libfreetype.a
+
+FREETYPE_SRC := \
+ ftbase.c \
+ ftbbox.c \
+ ftbitmap.c \
+ ftgasp.c \
+ ftglyph.c \
+ ftinit.c \
+ ftstroke.c \
+ ftsynth.c \
+ ftsystem.c \
+ fttype1.c \
+ ftxf86.c \
+ cff.c \
+ psaux.c \
+ psnames.c \
+ sfnt.c \
+ smooth.c \
+ truetype.c \
+ type1.c \
+ type1cid.c \
+
+$(FREETYPE_LIB): $(addprefix $(OUT)/ft_, $(FREETYPE_SRC:%.c=%.o))
+
+FT_CFLAGS := -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \
'-DFT_CONFIG_MODULES_H="slimftmodules.h"' \
'-DFT_CONFIG_OPTIONS_H="slimftoptions.h"'
-$(OBJDIR)/ft_ftbase.o: $(freetype_dir)/src/base/ftbase.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftbbox.o: $(freetype_dir)/src/base/ftbbox.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftbitmap.o: $(freetype_dir)/src/base/ftbitmap.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftgasp.o: $(freetype_dir)/src/base/ftgasp.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftglyph.o: $(freetype_dir)/src/base/ftglyph.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftinit.o: $(freetype_dir)/src/base/ftinit.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftstroke.o: $(freetype_dir)/src/base/ftstroke.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftsynth.o: $(freetype_dir)/src/base/ftsynth.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftsystem.o: $(freetype_dir)/src/base/ftsystem.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_fttype1.o: $(freetype_dir)/src/base/fttype1.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_ftxf86.o: $(freetype_dir)/src/base/ftxf86.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_cff.o: $(freetype_dir)/src/cff/cff.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_type1cid.o: $(freetype_dir)/src/cid/type1cid.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_psaux.o: $(freetype_dir)/src/psaux/psaux.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_psnames.o: $(freetype_dir)/src/psnames/psnames.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_smooth.o: $(freetype_dir)/src/smooth/smooth.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_sfnt.o: $(freetype_dir)/src/sfnt/sfnt.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_truetype.o: $(freetype_dir)/src/truetype/truetype.c
- $(FTCC_CMD)
-$(OBJDIR)/ft_type1.o: $(freetype_dir)/src/type1/type1.c
- $(FTCC_CMD)
-
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/base/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/cff/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/cid/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/psaux/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/psnames/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/smooth/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/sfnt/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/truetype/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+$(OUT)/ft_%.o: $(FREETYPE_DIR)/src/type1/%.c | $(OUT)
+ $(CC_CMD) $(FT_CFLAGS)
+
+else
+CFLAGS += $(SYS_FREETYPE_INC)
endif
-ifneq "$(jbig2dec_dir)" ""
+# --- JBIG2DEC ---
-THIRD_LIBS += $(JBIG2DEC_LIB)
-THIRD_INCS += -I$(jbig2dec_dir)
+ifneq "$(JBIG2DEC_DIR)" ""
+CFLAGS += -I$(JBIG2DEC_DIR)
LIBS := $(filter-out -ljbig2dec, $(LIBS))
+JBIG2DEC_LIB := $(OUT)/libjbig2dec.a
-JBIG2DEC_SRC=$(addprefix $(jbig2dec_dir)/, \
+JBIG2DEC_SRC := \
jbig2.c \
jbig2_arith.c \
- jbig2_arith_int.c \
jbig2_arith_iaid.c \
+ jbig2_arith_int.c \
+ jbig2_generic.c \
jbig2_huffman.c \
- jbig2_segment.c \
+ jbig2_image.c \
+ jbig2_metadata.c \
+ jbig2_mmr.c \
jbig2_page.c \
+ jbig2_refinement.c \
+ jbig2_segment.c \
jbig2_symbol_dict.c \
jbig2_text.c \
- jbig2_generic.c \
- jbig2_refinement.c \
- jbig2_mmr.c \
- jbig2_image.c \
- jbig2_metadata.c )
-JBIG2DEC_OBJ=$(JBIG2DEC_SRC:$(jbig2dec_dir)/%.c=$(OBJDIR)/%.o)
-JBIG2DEC_LIB=$(OBJDIR)/libjbig2dec.a
-$(JBIG2DEC_LIB): $(JBIG2DEC_OBJ)
- $(AR_CMD)
-$(OBJDIR)/%.o: $(jbig2dec_dir)/%.c
- $(CC_CMD) -DHAVE_STDINT_H
+$(JBIG2DEC_LIB): $(addprefix $(OUT)/, $(JBIG2DEC_SRC:%.c=%.o))
+$(OUT)/%.o: $(JBIG2DEC_DIR)/%.c | $(OUT)
+ $(CC_CMD) -DHAVE_STDINT_H
endif
-ifneq "$(jpeg_dir)" ""
+# --- JPEG library from IJG ---
-THIRD_LIBS += $(JPEG_LIB)
-THIRD_INCS += -I$(jpeg_dir)
+ifneq "$(JPEG_DIR)" ""
+CFLAGS += -I$(JPEG_DIR)
LIBS := $(filter-out -ljpeg, $(LIBS))
+JPEG_LIB := $(OUT)/libjpeg.a
-JPEG_SRC=$(addprefix $(jpeg_dir)/, \
+JPEG_SRC := \
jaricom.c \
jcomapi.c \
jdapimin.c \
@@ -134,27 +129,25 @@ JPEG_SRC=$(addprefix $(jpeg_dir)/, \
jidctflt.c \
jidctfst.c \
jidctint.c \
+ jmemansi.c \
+ jmemmgr.c \
jquant1.c \
jquant2.c \
jutils.c \
- jmemmgr.c \
- jmemansi.c)
-JPEG_OBJ=$(JPEG_SRC:$(jpeg_dir)/%.c=$(OBJDIR)/jpeg_%.o)
-JPEG_LIB=$(OBJDIR)/libjpeg.a
-$(JPEG_LIB): $(JPEG_OBJ)
- $(AR_CMD)
-$(OBJDIR)/jpeg_%.o: $(jpeg_dir)/%.c
- $(CC_CMD) -Dmain=xxxmain
+$(JPEG_LIB): $(addprefix $(OUT)/jpeg_, $(JPEG_SRC:%.c=%.o))
+$(OUT)/jpeg_%.o: $(JPEG_DIR)/%.c | $(OUT)
+ $(CC_CMD) -Dmain=xxxmain
endif
-ifneq "$(openjpeg_dir)" ""
+# --- OpenJPEG ---
-THIRD_LIBS += $(OPENJPEG_LIB)
-THIRD_INCS += -I$(openjpeg_dir)
+ifneq "$(OPENJPEG_DIR)" ""
+CFLAGS += -I$(OPENJPEG_DIR)
LIBS := $(filter-out -lopenjpeg, $(LIBS))
+OPENJPEG_LIB := $(OUT)/libopenjpeg.a
-OPENJPEG_SRC=$(addprefix $(openjpeg_dir)/, \
+OPENJPEG_SRC := \
bio.c \
cio.c \
dwt.c \
@@ -172,23 +165,21 @@ OPENJPEG_SRC=$(addprefix $(openjpeg_dir)/, \
t1.c \
t2.c \
tcd.c \
- tgt.c )
-OPENJPEG_OBJ=$(OPENJPEG_SRC:$(openjpeg_dir)/%.c=$(OBJDIR)/opj_%.o)
-OPENJPEG_LIB=$(OBJDIR)/libopenjpeg.a
-$(OPENJPEG_LIB): $(OPENJPEG_OBJ)
- $(AR_CMD)
-$(OBJDIR)/opj_%.o: $(openjpeg_dir)/%.c
- $(CC_CMD) -DOPJ_STATIC
+ tgt.c \
+$(OPENJPEG_LIB): $(addprefix $(OUT)/opj_, $(OPENJPEG_SRC:%.c=%.o))
+$(OUT)/opj_%.o: $(OPENJPEG_DIR)/%.c | $(OUT)
+ $(CC_CMD) -DOPJ_STATIC
endif
-ifneq "$(zlib_dir)" ""
+# --- ZLIB ---
-THIRD_LIBS += $(ZLIB_LIB)
-THIRD_INCS += -I$(zlib_dir)
+ifneq "$(ZLIB_DIR)" ""
+CFLAGS += -I$(ZLIB_DIR)
LIBS := $(filter-out -lz, $(LIBS))
+ZLIB_LIB := $(OUT)/libz.a
-ZLIB_SRC=$(addprefix $(zlib_dir)/, \
+ZLIB_SRC := \
adler32.c \
compress.c \
crc32.c \
@@ -198,12 +189,9 @@ ZLIB_SRC=$(addprefix $(zlib_dir)/, \
inftrees.c \
trees.c \
uncompr.c \
- zutil.c )
-ZLIB_OBJ=$(ZLIB_SRC:$(zlib_dir)/%.c=$(OBJDIR)/zlib_%.o)
-ZLIB_LIB=$(OBJDIR)/libz.a
-$(ZLIB_LIB): $(ZLIB_OBJ)
- $(AR_CMD)
-$(OBJDIR)/zlib_%.o: $(zlib_dir)/%.c
- $(CC_CMD)
+ zutil.c \
+$(ZLIB_LIB): $(addprefix $(OUT)/zlib_, $(ZLIB_SRC:%.c=%.o))
+$(OUT)/zlib_%.o: $(ZLIB_DIR)/%.c | $(OUT)
+ $(CC_CMD)
endif
diff --git a/cmaps/Adobe-CNS1-0 b/cmaps/cns/Adobe-CNS1-0
index 45803204..45803204 100644
--- a/cmaps/Adobe-CNS1-0
+++ b/cmaps/cns/Adobe-CNS1-0
diff --git a/cmaps/Adobe-CNS1-1 b/cmaps/cns/Adobe-CNS1-1
index c875cb52..c875cb52 100644
--- a/cmaps/Adobe-CNS1-1
+++ b/cmaps/cns/Adobe-CNS1-1
diff --git a/cmaps/Adobe-CNS1-2 b/cmaps/cns/Adobe-CNS1-2
index 1ecd4f30..1ecd4f30 100644
--- a/cmaps/Adobe-CNS1-2
+++ b/cmaps/cns/Adobe-CNS1-2
diff --git a/cmaps/Adobe-CNS1-3 b/cmaps/cns/Adobe-CNS1-3
index 977b6ec0..977b6ec0 100644
--- a/cmaps/Adobe-CNS1-3
+++ b/cmaps/cns/Adobe-CNS1-3
diff --git a/cmaps/Adobe-CNS1-4 b/cmaps/cns/Adobe-CNS1-4
index b354570f..b354570f 100644
--- a/cmaps/Adobe-CNS1-4
+++ b/cmaps/cns/Adobe-CNS1-4
diff --git a/cmaps/Adobe-CNS1-5 b/cmaps/cns/Adobe-CNS1-5
index c6368378..c6368378 100644
--- a/cmaps/Adobe-CNS1-5
+++ b/cmaps/cns/Adobe-CNS1-5
diff --git a/cmaps/Adobe-CNS1-6 b/cmaps/cns/Adobe-CNS1-6
index 4727c27f..4727c27f 100644
--- a/cmaps/Adobe-CNS1-6
+++ b/cmaps/cns/Adobe-CNS1-6
diff --git a/cmaps/Adobe-CNS1-UCS2 b/cmaps/cns/Adobe-CNS1-UCS2
index c0030c39..c0030c39 100644
--- a/cmaps/Adobe-CNS1-UCS2
+++ b/cmaps/cns/Adobe-CNS1-UCS2
diff --git a/cmaps/B5-H b/cmaps/cns/B5-H
index 1d1d34f3..1d1d34f3 100644
--- a/cmaps/B5-H
+++ b/cmaps/cns/B5-H
diff --git a/cmaps/B5-V b/cmaps/cns/B5-V
index 80d7f785..80d7f785 100644
--- a/cmaps/B5-V
+++ b/cmaps/cns/B5-V
diff --git a/cmaps/B5pc-H b/cmaps/cns/B5pc-H
index 58538feb..58538feb 100644
--- a/cmaps/B5pc-H
+++ b/cmaps/cns/B5pc-H
diff --git a/cmaps/B5pc-V b/cmaps/cns/B5pc-V
index 741d524a..741d524a 100644
--- a/cmaps/B5pc-V
+++ b/cmaps/cns/B5pc-V
diff --git a/cmaps/CNS-EUC-H b/cmaps/cns/CNS-EUC-H
index b60f5eae..b60f5eae 100644
--- a/cmaps/CNS-EUC-H
+++ b/cmaps/cns/CNS-EUC-H
diff --git a/cmaps/CNS-EUC-V b/cmaps/cns/CNS-EUC-V
index 33b77920..33b77920 100644
--- a/cmaps/CNS-EUC-V
+++ b/cmaps/cns/CNS-EUC-V
diff --git a/cmaps/CNS1-H b/cmaps/cns/CNS1-H
index 7decc1e0..7decc1e0 100644
--- a/cmaps/CNS1-H
+++ b/cmaps/cns/CNS1-H
diff --git a/cmaps/CNS1-V b/cmaps/cns/CNS1-V
index dabc2cd7..dabc2cd7 100644
--- a/cmaps/CNS1-V
+++ b/cmaps/cns/CNS1-V
diff --git a/cmaps/CNS2-H b/cmaps/cns/CNS2-H
index 57401577..57401577 100644
--- a/cmaps/CNS2-H
+++ b/cmaps/cns/CNS2-H
diff --git a/cmaps/CNS2-V b/cmaps/cns/CNS2-V
index c1ce5d0e..c1ce5d0e 100644
--- a/cmaps/CNS2-V
+++ b/cmaps/cns/CNS2-V
diff --git a/cmaps/ETHK-B5-H b/cmaps/cns/ETHK-B5-H
index 880b2e33..880b2e33 100644
--- a/cmaps/ETHK-B5-H
+++ b/cmaps/cns/ETHK-B5-H
diff --git a/cmaps/ETHK-B5-V b/cmaps/cns/ETHK-B5-V
index 978d9012..978d9012 100644
--- a/cmaps/ETHK-B5-V
+++ b/cmaps/cns/ETHK-B5-V
diff --git a/cmaps/ETen-B5-H b/cmaps/cns/ETen-B5-H
index fedf9e6e..fedf9e6e 100644
--- a/cmaps/ETen-B5-H
+++ b/cmaps/cns/ETen-B5-H
diff --git a/cmaps/ETen-B5-V b/cmaps/cns/ETen-B5-V
index 569f4460..569f4460 100644
--- a/cmaps/ETen-B5-V
+++ b/cmaps/cns/ETen-B5-V
diff --git a/cmaps/ETenms-B5-H b/cmaps/cns/ETenms-B5-H
index 45b291e9..45b291e9 100644
--- a/cmaps/ETenms-B5-H
+++ b/cmaps/cns/ETenms-B5-H
diff --git a/cmaps/ETenms-B5-V b/cmaps/cns/ETenms-B5-V
index 8e686854..8e686854 100644
--- a/cmaps/ETenms-B5-V
+++ b/cmaps/cns/ETenms-B5-V
diff --git a/cmaps/HKdla-B5-H b/cmaps/cns/HKdla-B5-H
index 0cf09088..0cf09088 100644
--- a/cmaps/HKdla-B5-H
+++ b/cmaps/cns/HKdla-B5-H
diff --git a/cmaps/HKdla-B5-V b/cmaps/cns/HKdla-B5-V
index f5dbb121..f5dbb121 100644
--- a/cmaps/HKdla-B5-V
+++ b/cmaps/cns/HKdla-B5-V
diff --git a/cmaps/HKdlb-B5-H b/cmaps/cns/HKdlb-B5-H
index a8e3e203..a8e3e203 100644
--- a/cmaps/HKdlb-B5-H
+++ b/cmaps/cns/HKdlb-B5-H
diff --git a/cmaps/HKdlb-B5-V b/cmaps/cns/HKdlb-B5-V
index ed2b4a33..ed2b4a33 100644
--- a/cmaps/HKdlb-B5-V
+++ b/cmaps/cns/HKdlb-B5-V
diff --git a/cmaps/HKgccs-B5-H b/cmaps/cns/HKgccs-B5-H
index 23a1ba69..23a1ba69 100644
--- a/cmaps/HKgccs-B5-H
+++ b/cmaps/cns/HKgccs-B5-H
diff --git a/cmaps/HKgccs-B5-V b/cmaps/cns/HKgccs-B5-V
index 2ae07352..2ae07352 100644
--- a/cmaps/HKgccs-B5-V
+++ b/cmaps/cns/HKgccs-B5-V
diff --git a/cmaps/HKm314-B5-H b/cmaps/cns/HKm314-B5-H
index 0eb76372..0eb76372 100644
--- a/cmaps/HKm314-B5-H
+++ b/cmaps/cns/HKm314-B5-H
diff --git a/cmaps/HKm314-B5-V b/cmaps/cns/HKm314-B5-V
index 4397cb06..4397cb06 100644
--- a/cmaps/HKm314-B5-V
+++ b/cmaps/cns/HKm314-B5-V
diff --git a/cmaps/HKm471-B5-H b/cmaps/cns/HKm471-B5-H
index 3a1d8e41..3a1d8e41 100644
--- a/cmaps/HKm471-B5-H
+++ b/cmaps/cns/HKm471-B5-H
diff --git a/cmaps/HKm471-B5-V b/cmaps/cns/HKm471-B5-V
index 947d32fc..947d32fc 100644
--- a/cmaps/HKm471-B5-V
+++ b/cmaps/cns/HKm471-B5-V
diff --git a/cmaps/HKscs-B5-H b/cmaps/cns/HKscs-B5-H
index c85585ed..c85585ed 100644
--- a/cmaps/HKscs-B5-H
+++ b/cmaps/cns/HKscs-B5-H
diff --git a/cmaps/HKscs-B5-V b/cmaps/cns/HKscs-B5-V
index 0025b29f..0025b29f 100644
--- a/cmaps/HKscs-B5-V
+++ b/cmaps/cns/HKscs-B5-V
diff --git a/cmaps/UniCNS-UCS2-H b/cmaps/cns/UniCNS-UCS2-H
index 9a41ee03..9a41ee03 100644
--- a/cmaps/UniCNS-UCS2-H
+++ b/cmaps/cns/UniCNS-UCS2-H
diff --git a/cmaps/UniCNS-UCS2-V b/cmaps/cns/UniCNS-UCS2-V
index 5c08552a..5c08552a 100644
--- a/cmaps/UniCNS-UCS2-V
+++ b/cmaps/cns/UniCNS-UCS2-V
diff --git a/cmaps/UniCNS-UTF16-H b/cmaps/cns/UniCNS-UTF16-H
index 487b06dc..487b06dc 100644
--- a/cmaps/UniCNS-UTF16-H
+++ b/cmaps/cns/UniCNS-UTF16-H
diff --git a/cmaps/UniCNS-UTF16-V b/cmaps/cns/UniCNS-UTF16-V
index 013012e1..013012e1 100644
--- a/cmaps/UniCNS-UTF16-V
+++ b/cmaps/cns/UniCNS-UTF16-V
diff --git a/cmaps/Adobe-GB1-0 b/cmaps/gb/Adobe-GB1-0
index 0887d4d2..0887d4d2 100644
--- a/cmaps/Adobe-GB1-0
+++ b/cmaps/gb/Adobe-GB1-0
diff --git a/cmaps/Adobe-GB1-1 b/cmaps/gb/Adobe-GB1-1
index 4888c5a9..4888c5a9 100644
--- a/cmaps/Adobe-GB1-1
+++ b/cmaps/gb/Adobe-GB1-1
diff --git a/cmaps/Adobe-GB1-2 b/cmaps/gb/Adobe-GB1-2
index 256066bc..256066bc 100644
--- a/cmaps/Adobe-GB1-2
+++ b/cmaps/gb/Adobe-GB1-2
diff --git a/cmaps/Adobe-GB1-3 b/cmaps/gb/Adobe-GB1-3
index 548f7990..548f7990 100644
--- a/cmaps/Adobe-GB1-3
+++ b/cmaps/gb/Adobe-GB1-3
diff --git a/cmaps/Adobe-GB1-4 b/cmaps/gb/Adobe-GB1-4
index 525a71dd..525a71dd 100644
--- a/cmaps/Adobe-GB1-4
+++ b/cmaps/gb/Adobe-GB1-4
diff --git a/cmaps/Adobe-GB1-5 b/cmaps/gb/Adobe-GB1-5
index bfa909d9..bfa909d9 100644
--- a/cmaps/Adobe-GB1-5
+++ b/cmaps/gb/Adobe-GB1-5
diff --git a/cmaps/Adobe-GB1-UCS2 b/cmaps/gb/Adobe-GB1-UCS2
index 23a0f538..23a0f538 100644
--- a/cmaps/Adobe-GB1-UCS2
+++ b/cmaps/gb/Adobe-GB1-UCS2
diff --git a/cmaps/GB-EUC-H b/cmaps/gb/GB-EUC-H
index 1663cd4f..1663cd4f 100644
--- a/cmaps/GB-EUC-H
+++ b/cmaps/gb/GB-EUC-H
diff --git a/cmaps/GB-EUC-V b/cmaps/gb/GB-EUC-V
index 66e67bf6..66e67bf6 100644
--- a/cmaps/GB-EUC-V
+++ b/cmaps/gb/GB-EUC-V
diff --git a/cmaps/GB-H b/cmaps/gb/GB-H
index af9b2efd..af9b2efd 100644
--- a/cmaps/GB-H
+++ b/cmaps/gb/GB-H
diff --git a/cmaps/GB-V b/cmaps/gb/GB-V
index ef7e38ec..ef7e38ec 100644
--- a/cmaps/GB-V
+++ b/cmaps/gb/GB-V
diff --git a/cmaps/GBK-EUC-H b/cmaps/gb/GBK-EUC-H
index 322002ca..322002ca 100644
--- a/cmaps/GBK-EUC-H
+++ b/cmaps/gb/GBK-EUC-H
diff --git a/cmaps/GBK-EUC-V b/cmaps/gb/GBK-EUC-V
index de15bb68..de15bb68 100644
--- a/cmaps/GBK-EUC-V
+++ b/cmaps/gb/GBK-EUC-V
diff --git a/cmaps/GBK2K-H b/cmaps/gb/GBK2K-H
index 62a3b7b3..62a3b7b3 100644
--- a/cmaps/GBK2K-H
+++ b/cmaps/gb/GBK2K-H
diff --git a/cmaps/GBK2K-V b/cmaps/gb/GBK2K-V
index a0f57a9c..a0f57a9c 100644
--- a/cmaps/GBK2K-V
+++ b/cmaps/gb/GBK2K-V
diff --git a/cmaps/GBKp-EUC-H b/cmaps/gb/GBKp-EUC-H
index cc7c4d2b..cc7c4d2b 100644
--- a/cmaps/GBKp-EUC-H
+++ b/cmaps/gb/GBKp-EUC-H
diff --git a/cmaps/GBKp-EUC-V b/cmaps/gb/GBKp-EUC-V
index 3058d722..3058d722 100644
--- a/cmaps/GBKp-EUC-V
+++ b/cmaps/gb/GBKp-EUC-V
diff --git a/cmaps/GBT-EUC-H b/cmaps/gb/GBT-EUC-H
index da1eaeea..da1eaeea 100644
--- a/cmaps/GBT-EUC-H
+++ b/cmaps/gb/GBT-EUC-H
diff --git a/cmaps/GBT-EUC-V b/cmaps/gb/GBT-EUC-V
index ae7a7bbb..ae7a7bbb 100644
--- a/cmaps/GBT-EUC-V
+++ b/cmaps/gb/GBT-EUC-V
diff --git a/cmaps/GBT-H b/cmaps/gb/GBT-H
index ac32c286..ac32c286 100644
--- a/cmaps/GBT-H
+++ b/cmaps/gb/GBT-H
diff --git a/cmaps/GBT-V b/cmaps/gb/GBT-V
index a62f9089..a62f9089 100644
--- a/cmaps/GBT-V
+++ b/cmaps/gb/GBT-V
diff --git a/cmaps/GBTpc-EUC-H b/cmaps/gb/GBTpc-EUC-H
index 9fbb862c..9fbb862c 100644
--- a/cmaps/GBTpc-EUC-H
+++ b/cmaps/gb/GBTpc-EUC-H
diff --git a/cmaps/GBTpc-EUC-V b/cmaps/gb/GBTpc-EUC-V
index 696f7679..696f7679 100644
--- a/cmaps/GBTpc-EUC-V
+++ b/cmaps/gb/GBTpc-EUC-V
diff --git a/cmaps/GBpc-EUC-H b/cmaps/gb/GBpc-EUC-H
index 65e07f78..65e07f78 100644
--- a/cmaps/GBpc-EUC-H
+++ b/cmaps/gb/GBpc-EUC-H
diff --git a/cmaps/GBpc-EUC-V b/cmaps/gb/GBpc-EUC-V
index 1b0ef7c3..1b0ef7c3 100644
--- a/cmaps/GBpc-EUC-V
+++ b/cmaps/gb/GBpc-EUC-V
diff --git a/cmaps/UniGB-UCS2-H b/cmaps/gb/UniGB-UCS2-H
index 2692d0de..2692d0de 100644
--- a/cmaps/UniGB-UCS2-H
+++ b/cmaps/gb/UniGB-UCS2-H
diff --git a/cmaps/UniGB-UCS2-V b/cmaps/gb/UniGB-UCS2-V
index eb60a06f..eb60a06f 100644
--- a/cmaps/UniGB-UCS2-V
+++ b/cmaps/gb/UniGB-UCS2-V
diff --git a/cmaps/UniGB-UTF16-H b/cmaps/gb/UniGB-UTF16-H
index 653068c4..653068c4 100644
--- a/cmaps/UniGB-UTF16-H
+++ b/cmaps/gb/UniGB-UTF16-H
diff --git a/cmaps/UniGB-UTF16-V b/cmaps/gb/UniGB-UTF16-V
index 653b4774..653b4774 100644
--- a/cmaps/UniGB-UTF16-V
+++ b/cmaps/gb/UniGB-UTF16-V
diff --git a/cmaps/78-EUC-H b/cmaps/japan/78-EUC-H
index 74d5eaac..74d5eaac 100644
--- a/cmaps/78-EUC-H
+++ b/cmaps/japan/78-EUC-H
diff --git a/cmaps/78-EUC-V b/cmaps/japan/78-EUC-V
index a01b355e..a01b355e 100644
--- a/cmaps/78-EUC-V
+++ b/cmaps/japan/78-EUC-V
diff --git a/cmaps/78-H b/cmaps/japan/78-H
index 6b238c7e..6b238c7e 100644
--- a/cmaps/78-H
+++ b/cmaps/japan/78-H
diff --git a/cmaps/78-RKSJ-H b/cmaps/japan/78-RKSJ-H
index 5fd83305..5fd83305 100644
--- a/cmaps/78-RKSJ-H
+++ b/cmaps/japan/78-RKSJ-H
diff --git a/cmaps/78-RKSJ-V b/cmaps/japan/78-RKSJ-V
index b63773e7..b63773e7 100644
--- a/cmaps/78-RKSJ-V
+++ b/cmaps/japan/78-RKSJ-V
diff --git a/cmaps/78-V b/cmaps/japan/78-V
index a81b7672..a81b7672 100644
--- a/cmaps/78-V
+++ b/cmaps/japan/78-V
diff --git a/cmaps/78ms-RKSJ-H b/cmaps/japan/78ms-RKSJ-H
index 7c5ed029..7c5ed029 100644
--- a/cmaps/78ms-RKSJ-H
+++ b/cmaps/japan/78ms-RKSJ-H
diff --git a/cmaps/78ms-RKSJ-V b/cmaps/japan/78ms-RKSJ-V
index 2db346e5..2db346e5 100644
--- a/cmaps/78ms-RKSJ-V
+++ b/cmaps/japan/78ms-RKSJ-V
diff --git a/cmaps/83pv-RKSJ-H b/cmaps/japan/83pv-RKSJ-H
index a8db4259..a8db4259 100644
--- a/cmaps/83pv-RKSJ-H
+++ b/cmaps/japan/83pv-RKSJ-H
diff --git a/cmaps/90ms-RKSJ-H b/cmaps/japan/90ms-RKSJ-H
index 06006607..06006607 100644
--- a/cmaps/90ms-RKSJ-H
+++ b/cmaps/japan/90ms-RKSJ-H
diff --git a/cmaps/90ms-RKSJ-V b/cmaps/japan/90ms-RKSJ-V
index 248b2f91..248b2f91 100644
--- a/cmaps/90ms-RKSJ-V
+++ b/cmaps/japan/90ms-RKSJ-V
diff --git a/cmaps/90msp-RKSJ-H b/cmaps/japan/90msp-RKSJ-H
index f94d195f..f94d195f 100644
--- a/cmaps/90msp-RKSJ-H
+++ b/cmaps/japan/90msp-RKSJ-H
diff --git a/cmaps/90msp-RKSJ-V b/cmaps/japan/90msp-RKSJ-V
index fa9de7ea..fa9de7ea 100644
--- a/cmaps/90msp-RKSJ-V
+++ b/cmaps/japan/90msp-RKSJ-V
diff --git a/cmaps/90pv-RKSJ-H b/cmaps/japan/90pv-RKSJ-H
index 7c2aa656..7c2aa656 100644
--- a/cmaps/90pv-RKSJ-H
+++ b/cmaps/japan/90pv-RKSJ-H
diff --git a/cmaps/90pv-RKSJ-V b/cmaps/japan/90pv-RKSJ-V
index 6b6197fe..6b6197fe 100644
--- a/cmaps/90pv-RKSJ-V
+++ b/cmaps/japan/90pv-RKSJ-V
diff --git a/cmaps/Add-H b/cmaps/japan/Add-H
index 5f1586e4..5f1586e4 100644
--- a/cmaps/Add-H
+++ b/cmaps/japan/Add-H
diff --git a/cmaps/Add-RKSJ-H b/cmaps/japan/Add-RKSJ-H
index 548cb729..548cb729 100644
--- a/cmaps/Add-RKSJ-H
+++ b/cmaps/japan/Add-RKSJ-H
diff --git a/cmaps/Add-RKSJ-V b/cmaps/japan/Add-RKSJ-V
index d28dc2dc..d28dc2dc 100644
--- a/cmaps/Add-RKSJ-V
+++ b/cmaps/japan/Add-RKSJ-V
diff --git a/cmaps/Add-V b/cmaps/japan/Add-V
index cea4018e..cea4018e 100644
--- a/cmaps/Add-V
+++ b/cmaps/japan/Add-V
diff --git a/cmaps/Adobe-Japan1-0 b/cmaps/japan/Adobe-Japan1-0
index a7f08bbd..a7f08bbd 100644
--- a/cmaps/Adobe-Japan1-0
+++ b/cmaps/japan/Adobe-Japan1-0
diff --git a/cmaps/Adobe-Japan1-1 b/cmaps/japan/Adobe-Japan1-1
index 1719256c..1719256c 100644
--- a/cmaps/Adobe-Japan1-1
+++ b/cmaps/japan/Adobe-Japan1-1
diff --git a/cmaps/Adobe-Japan1-2 b/cmaps/japan/Adobe-Japan1-2
index f7a14e6c..f7a14e6c 100644
--- a/cmaps/Adobe-Japan1-2
+++ b/cmaps/japan/Adobe-Japan1-2
diff --git a/cmaps/Adobe-Japan1-3 b/cmaps/japan/Adobe-Japan1-3
index d315f7f7..d315f7f7 100644
--- a/cmaps/Adobe-Japan1-3
+++ b/cmaps/japan/Adobe-Japan1-3
diff --git a/cmaps/Adobe-Japan1-4 b/cmaps/japan/Adobe-Japan1-4
index 2bd49735..2bd49735 100644
--- a/cmaps/Adobe-Japan1-4
+++ b/cmaps/japan/Adobe-Japan1-4
diff --git a/cmaps/Adobe-Japan1-5 b/cmaps/japan/Adobe-Japan1-5
index 8197ed12..8197ed12 100644
--- a/cmaps/Adobe-Japan1-5
+++ b/cmaps/japan/Adobe-Japan1-5
diff --git a/cmaps/Adobe-Japan1-6 b/cmaps/japan/Adobe-Japan1-6
index de12bccb..de12bccb 100644
--- a/cmaps/Adobe-Japan1-6
+++ b/cmaps/japan/Adobe-Japan1-6
diff --git a/cmaps/Adobe-Japan1-UCS2 b/cmaps/japan/Adobe-Japan1-UCS2
index 58a0b577..58a0b577 100644
--- a/cmaps/Adobe-Japan1-UCS2
+++ b/cmaps/japan/Adobe-Japan1-UCS2
diff --git a/cmaps/Adobe-Japan2-0 b/cmaps/japan/Adobe-Japan2-0
index d656a2fe..d656a2fe 100644
--- a/cmaps/Adobe-Japan2-0
+++ b/cmaps/japan/Adobe-Japan2-0
diff --git a/cmaps/EUC-H b/cmaps/japan/EUC-H
index 49beb22a..49beb22a 100644
--- a/cmaps/EUC-H
+++ b/cmaps/japan/EUC-H
diff --git a/cmaps/EUC-V b/cmaps/japan/EUC-V
index bc8e3477..bc8e3477 100644
--- a/cmaps/EUC-V
+++ b/cmaps/japan/EUC-V
diff --git a/cmaps/Ext-H b/cmaps/japan/Ext-H
index 4a114345..4a114345 100644
--- a/cmaps/Ext-H
+++ b/cmaps/japan/Ext-H
diff --git a/cmaps/Ext-RKSJ-H b/cmaps/japan/Ext-RKSJ-H
index 6fc949a7..6fc949a7 100644
--- a/cmaps/Ext-RKSJ-H
+++ b/cmaps/japan/Ext-RKSJ-H
diff --git a/cmaps/Ext-RKSJ-V b/cmaps/japan/Ext-RKSJ-V
index 55984d74..55984d74 100644
--- a/cmaps/Ext-RKSJ-V
+++ b/cmaps/japan/Ext-RKSJ-V
diff --git a/cmaps/Ext-V b/cmaps/japan/Ext-V
index c60bc612..c60bc612 100644
--- a/cmaps/Ext-V
+++ b/cmaps/japan/Ext-V
diff --git a/cmaps/H b/cmaps/japan/H
index 87f18c4a..87f18c4a 100644
--- a/cmaps/H
+++ b/cmaps/japan/H
diff --git a/cmaps/Hankaku b/cmaps/japan/Hankaku
index 5bc1564b..5bc1564b 100644
--- a/cmaps/Hankaku
+++ b/cmaps/japan/Hankaku
diff --git a/cmaps/Hiragana b/cmaps/japan/Hiragana
index c5fe3f60..c5fe3f60 100644
--- a/cmaps/Hiragana
+++ b/cmaps/japan/Hiragana
diff --git a/cmaps/Hojo-EUC-H b/cmaps/japan/Hojo-EUC-H
index 2cc25226..2cc25226 100644
--- a/cmaps/Hojo-EUC-H
+++ b/cmaps/japan/Hojo-EUC-H
diff --git a/cmaps/Hojo-EUC-V b/cmaps/japan/Hojo-EUC-V
index fac23f15..fac23f15 100644
--- a/cmaps/Hojo-EUC-V
+++ b/cmaps/japan/Hojo-EUC-V
diff --git a/cmaps/Hojo-H b/cmaps/japan/Hojo-H
index 72ea070f..72ea070f 100644
--- a/cmaps/Hojo-H
+++ b/cmaps/japan/Hojo-H
diff --git a/cmaps/Hojo-V b/cmaps/japan/Hojo-V
index 1409c456..1409c456 100644
--- a/cmaps/Hojo-V
+++ b/cmaps/japan/Hojo-V
diff --git a/cmaps/Katakana b/cmaps/japan/Katakana
index 3d5c14d3..3d5c14d3 100644
--- a/cmaps/Katakana
+++ b/cmaps/japan/Katakana
diff --git a/cmaps/NWP-H b/cmaps/japan/NWP-H
index 69cad3ac..69cad3ac 100644
--- a/cmaps/NWP-H
+++ b/cmaps/japan/NWP-H
diff --git a/cmaps/NWP-V b/cmaps/japan/NWP-V
index d06f47f4..d06f47f4 100644
--- a/cmaps/NWP-V
+++ b/cmaps/japan/NWP-V
diff --git a/cmaps/RKSJ-H b/cmaps/japan/RKSJ-H
index 170b6a38..170b6a38 100644
--- a/cmaps/RKSJ-H
+++ b/cmaps/japan/RKSJ-H
diff --git a/cmaps/RKSJ-V b/cmaps/japan/RKSJ-V
index 15b4af61..15b4af61 100644
--- a/cmaps/RKSJ-V
+++ b/cmaps/japan/RKSJ-V
diff --git a/cmaps/Roman b/cmaps/japan/Roman
index 2c96b72c..2c96b72c 100644
--- a/cmaps/Roman
+++ b/cmaps/japan/Roman
diff --git a/cmaps/UniHojo-UCS2-H b/cmaps/japan/UniHojo-UCS2-H
index 88222734..88222734 100644
--- a/cmaps/UniHojo-UCS2-H
+++ b/cmaps/japan/UniHojo-UCS2-H
diff --git a/cmaps/UniHojo-UCS2-V b/cmaps/japan/UniHojo-UCS2-V
index a7bd394b..a7bd394b 100644
--- a/cmaps/UniHojo-UCS2-V
+++ b/cmaps/japan/UniHojo-UCS2-V
diff --git a/cmaps/UniHojo-UTF16-H b/cmaps/japan/UniHojo-UTF16-H
index dde281e5..dde281e5 100644
--- a/cmaps/UniHojo-UTF16-H
+++ b/cmaps/japan/UniHojo-UTF16-H
diff --git a/cmaps/UniHojo-UTF16-V b/cmaps/japan/UniHojo-UTF16-V
index 9bb14424..9bb14424 100644
--- a/cmaps/UniHojo-UTF16-V
+++ b/cmaps/japan/UniHojo-UTF16-V
diff --git a/cmaps/UniJIS-UCS2-H b/cmaps/japan/UniJIS-UCS2-H
index b71c72cd..b71c72cd 100644
--- a/cmaps/UniJIS-UCS2-H
+++ b/cmaps/japan/UniJIS-UCS2-H
diff --git a/cmaps/UniJIS-UCS2-HW-H b/cmaps/japan/UniJIS-UCS2-HW-H
index 641bcc7b..641bcc7b 100644
--- a/cmaps/UniJIS-UCS2-HW-H
+++ b/cmaps/japan/UniJIS-UCS2-HW-H
diff --git a/cmaps/UniJIS-UCS2-HW-V b/cmaps/japan/UniJIS-UCS2-HW-V
index d3ad59cf..d3ad59cf 100644
--- a/cmaps/UniJIS-UCS2-HW-V
+++ b/cmaps/japan/UniJIS-UCS2-HW-V
diff --git a/cmaps/UniJIS-UCS2-V b/cmaps/japan/UniJIS-UCS2-V
index 4e142612..4e142612 100644
--- a/cmaps/UniJIS-UCS2-V
+++ b/cmaps/japan/UniJIS-UCS2-V
diff --git a/cmaps/UniJIS-UTF16-H b/cmaps/japan/UniJIS-UTF16-H
index f4c26979..f4c26979 100644
--- a/cmaps/UniJIS-UTF16-H
+++ b/cmaps/japan/UniJIS-UTF16-H
diff --git a/cmaps/UniJIS-UTF16-V b/cmaps/japan/UniJIS-UTF16-V
index 089ec8b4..089ec8b4 100644
--- a/cmaps/UniJIS-UTF16-V
+++ b/cmaps/japan/UniJIS-UTF16-V
diff --git a/cmaps/UniJISPro-UCS2-HW-V b/cmaps/japan/UniJISPro-UCS2-HW-V
index c559dea3..c559dea3 100644
--- a/cmaps/UniJISPro-UCS2-HW-V
+++ b/cmaps/japan/UniJISPro-UCS2-HW-V
diff --git a/cmaps/UniJISPro-UCS2-V b/cmaps/japan/UniJISPro-UCS2-V
index aff1daa6..aff1daa6 100644
--- a/cmaps/UniJISPro-UCS2-V
+++ b/cmaps/japan/UniJISPro-UCS2-V
diff --git a/cmaps/V b/cmaps/japan/V
index 73525730..73525730 100644
--- a/cmaps/V
+++ b/cmaps/japan/V
diff --git a/cmaps/WP-Symbol b/cmaps/japan/WP-Symbol
index 741c6db5..741c6db5 100644
--- a/cmaps/WP-Symbol
+++ b/cmaps/japan/WP-Symbol
diff --git a/cmaps/Adobe-Korea1-0 b/cmaps/korea/Adobe-Korea1-0
index ec0ed639..ec0ed639 100644
--- a/cmaps/Adobe-Korea1-0
+++ b/cmaps/korea/Adobe-Korea1-0
diff --git a/cmaps/Adobe-Korea1-1 b/cmaps/korea/Adobe-Korea1-1
index a9571902..a9571902 100644
--- a/cmaps/Adobe-Korea1-1
+++ b/cmaps/korea/Adobe-Korea1-1
diff --git a/cmaps/Adobe-Korea1-2 b/cmaps/korea/Adobe-Korea1-2
index cb212850..cb212850 100644
--- a/cmaps/Adobe-Korea1-2
+++ b/cmaps/korea/Adobe-Korea1-2
diff --git a/cmaps/Adobe-Korea1-UCS2 b/cmaps/korea/Adobe-Korea1-UCS2
index 63c07866..63c07866 100644
--- a/cmaps/Adobe-Korea1-UCS2
+++ b/cmaps/korea/Adobe-Korea1-UCS2
diff --git a/cmaps/KSC-EUC-H b/cmaps/korea/KSC-EUC-H
index 46026468..46026468 100644
--- a/cmaps/KSC-EUC-H
+++ b/cmaps/korea/KSC-EUC-H
diff --git a/cmaps/KSC-EUC-V b/cmaps/korea/KSC-EUC-V
index 327e97c9..327e97c9 100644
--- a/cmaps/KSC-EUC-V
+++ b/cmaps/korea/KSC-EUC-V
diff --git a/cmaps/KSC-H b/cmaps/korea/KSC-H
index 9fcaf453..9fcaf453 100644
--- a/cmaps/KSC-H
+++ b/cmaps/korea/KSC-H
diff --git a/cmaps/KSC-Johab-H b/cmaps/korea/KSC-Johab-H
index 471ae189..471ae189 100644
--- a/cmaps/KSC-Johab-H
+++ b/cmaps/korea/KSC-Johab-H
diff --git a/cmaps/KSC-Johab-V b/cmaps/korea/KSC-Johab-V
index 67686c11..67686c11 100644
--- a/cmaps/KSC-Johab-V
+++ b/cmaps/korea/KSC-Johab-V
diff --git a/cmaps/KSC-V b/cmaps/korea/KSC-V
index a29f3ecb..a29f3ecb 100644
--- a/cmaps/KSC-V
+++ b/cmaps/korea/KSC-V
diff --git a/cmaps/KSCms-UHC-H b/cmaps/korea/KSCms-UHC-H
index 9c4bc9a7..9c4bc9a7 100644
--- a/cmaps/KSCms-UHC-H
+++ b/cmaps/korea/KSCms-UHC-H
diff --git a/cmaps/KSCms-UHC-HW-H b/cmaps/korea/KSCms-UHC-HW-H
index ea06991b..ea06991b 100644
--- a/cmaps/KSCms-UHC-HW-H
+++ b/cmaps/korea/KSCms-UHC-HW-H
diff --git a/cmaps/KSCms-UHC-HW-V b/cmaps/korea/KSCms-UHC-HW-V
index fdec1e41..fdec1e41 100644
--- a/cmaps/KSCms-UHC-HW-V
+++ b/cmaps/korea/KSCms-UHC-HW-V
diff --git a/cmaps/KSCms-UHC-V b/cmaps/korea/KSCms-UHC-V
index eefe9254..eefe9254 100644
--- a/cmaps/KSCms-UHC-V
+++ b/cmaps/korea/KSCms-UHC-V
diff --git a/cmaps/KSCpc-EUC-H b/cmaps/korea/KSCpc-EUC-H
index fc8f2773..fc8f2773 100644
--- a/cmaps/KSCpc-EUC-H
+++ b/cmaps/korea/KSCpc-EUC-H
diff --git a/cmaps/KSCpc-EUC-V b/cmaps/korea/KSCpc-EUC-V
index 88aa0887..88aa0887 100644
--- a/cmaps/KSCpc-EUC-V
+++ b/cmaps/korea/KSCpc-EUC-V
diff --git a/cmaps/UniKS-UCS2-H b/cmaps/korea/UniKS-UCS2-H
index b699bcae..b699bcae 100644
--- a/cmaps/UniKS-UCS2-H
+++ b/cmaps/korea/UniKS-UCS2-H
diff --git a/cmaps/UniKS-UCS2-V b/cmaps/korea/UniKS-UCS2-V
index 73857884..73857884 100644
--- a/cmaps/UniKS-UCS2-V
+++ b/cmaps/korea/UniKS-UCS2-V
diff --git a/cmaps/UniKS-UTF16-H b/cmaps/korea/UniKS-UTF16-H
index 431dede5..431dede5 100644
--- a/cmaps/UniKS-UTF16-H
+++ b/cmaps/korea/UniKS-UTF16-H
diff --git a/cmaps/UniKS-UTF16-V b/cmaps/korea/UniKS-UTF16-V
index ce5190e3..ce5190e3 100644
--- a/cmaps/UniKS-UTF16-V
+++ b/cmaps/korea/UniKS-UTF16-V
diff --git a/pdf/pdf_cmap_table.c b/pdf/pdf_cmap_table.c
index aaa83f4c..789ea682 100644
--- a/pdf/pdf_cmap_table.c
+++ b/pdf/pdf_cmap_table.c
@@ -2,7 +2,6 @@
#include "mupdf.h"
#ifndef NOCJK
-#include "../generated/cmap_unicode.h"
#include "../generated/cmap_cns.h"
#include "../generated/cmap_gb.h"
#include "../generated/cmap_japan.h"
diff --git a/win32/generate.bat b/win32/generate.bat
index 9fed5711..c9db9393 100644
--- a/win32/generate.bat
+++ b/win32/generate.bat
@@ -13,15 +13,13 @@ if not exist generated/font_base14.h fontdump.exe generated/font_base14.h fonts/
if not exist generated/font_cjk.h fontdump.exe generated/font_cjk.h fonts/droid/DroidSansFallback.ttf
-if not exist generated/cmap_unicode.h cmapdump.exe generated/cmap_unicode.h cmaps/Adobe-CNS1-UCS2 cmaps/Adobe-GB1-UCS2 cmaps/Adobe-Japan1-UCS2 cmaps/Adobe-Korea1-UCS2
+if not exist generated/cmap_cns.h cmapdump.exe generated/cmap_cns.h cmaps/cns/Adobe-CNS1-UCS2 cmaps/cns/Adobe-CNS1-0 cmaps/cns/Adobe-CNS1-1 cmaps/cns/Adobe-CNS1-2 cmaps/cns/Adobe-CNS1-3 cmaps/cns/Adobe-CNS1-4 cmaps/cns/Adobe-CNS1-5 cmaps/cns/Adobe-CNS1-6 cmaps/cns/B5-H cmaps/cns/B5-V cmaps/cns/B5pc-H cmaps/cns/B5pc-V cmaps/cns/CNS-EUC-H cmaps/cns/CNS-EUC-V cmaps/cns/CNS1-H cmaps/cns/CNS1-V cmaps/cns/CNS2-H cmaps/cns/CNS2-V cmaps/cns/ETen-B5-H cmaps/cns/ETen-B5-V cmaps/cns/ETenms-B5-H cmaps/cns/ETenms-B5-V cmaps/cns/ETHK-B5-H cmaps/cns/ETHK-B5-V cmaps/cns/HKdla-B5-H cmaps/cns/HKdla-B5-V cmaps/cns/HKdlb-B5-H cmaps/cns/HKdlb-B5-V cmaps/cns/HKgccs-B5-H cmaps/cns/HKgccs-B5-V cmaps/cns/HKm314-B5-H cmaps/cns/HKm314-B5-V cmaps/cns/HKm471-B5-H cmaps/cns/HKm471-B5-V cmaps/cns/HKscs-B5-H cmaps/cns/HKscs-B5-V cmaps/cns/UniCNS-UCS2-H cmaps/cns/UniCNS-UCS2-V cmaps/cns/UniCNS-UTF16-H cmaps/cns/UniCNS-UTF16-V
-if not exist generated/cmap_gb.h cmapdump.exe generated/cmap_gb.h cmaps/Adobe-GB1-0 cmaps/Adobe-GB1-1 cmaps/Adobe-GB1-2 cmaps/Adobe-GB1-3 cmaps/Adobe-GB1-4 cmaps/Adobe-GB1-5 cmaps/GB-EUC-H cmaps/GB-EUC-V cmaps/GB-H cmaps/GB-V cmaps/GBK-EUC-H cmaps/GBK-EUC-V cmaps/GBK2K-H cmaps/GBK2K-V cmaps/GBKp-EUC-H cmaps/GBKp-EUC-V cmaps/GBpc-EUC-H cmaps/GBpc-EUC-V cmaps/GBT-EUC-H cmaps/GBT-EUC-V cmaps/GBT-H cmaps/GBT-V cmaps/GBTpc-EUC-H cmaps/GBTpc-EUC-V cmaps/UniGB-UCS2-H cmaps/UniGB-UCS2-V cmaps/UniGB-UTF16-H cmaps/UniGB-UTF16-V
+if not exist generated/cmap_gb.h cmapdump.exe generated/cmap_gb.h cmaps/gb/Adobe-GB1-UCS2 cmaps/gb/Adobe-GB1-0 cmaps/gb/Adobe-GB1-1 cmaps/gb/Adobe-GB1-2 cmaps/gb/Adobe-GB1-3 cmaps/gb/Adobe-GB1-4 cmaps/gb/Adobe-GB1-5 cmaps/gb/GB-EUC-H cmaps/gb/GB-EUC-V cmaps/gb/GB-H cmaps/gb/GB-V cmaps/gb/GBK-EUC-H cmaps/gb/GBK-EUC-V cmaps/gb/GBK2K-H cmaps/gb/GBK2K-V cmaps/gb/GBKp-EUC-H cmaps/gb/GBKp-EUC-V cmaps/gb/GBpc-EUC-H cmaps/gb/GBpc-EUC-V cmaps/gb/GBT-EUC-H cmaps/gb/GBT-EUC-V cmaps/gb/GBT-H cmaps/gb/GBT-V cmaps/gb/GBTpc-EUC-H cmaps/gb/GBTpc-EUC-V cmaps/gb/UniGB-UCS2-H cmaps/gb/UniGB-UCS2-V cmaps/gb/UniGB-UTF16-H cmaps/gb/UniGB-UTF16-V
-if not exist generated/cmap_cns.h cmapdump.exe generated/cmap_cns.h cmaps/Adobe-CNS1-0 cmaps/Adobe-CNS1-1 cmaps/Adobe-CNS1-2 cmaps/Adobe-CNS1-3 cmaps/Adobe-CNS1-4 cmaps/Adobe-CNS1-5 cmaps/Adobe-CNS1-6 cmaps/B5-H cmaps/B5-V cmaps/B5pc-H cmaps/B5pc-V cmaps/CNS-EUC-H cmaps/CNS-EUC-V cmaps/CNS1-H cmaps/CNS1-V cmaps/CNS2-H cmaps/CNS2-V cmaps/ETen-B5-H cmaps/ETen-B5-V cmaps/ETenms-B5-H cmaps/ETenms-B5-V cmaps/ETHK-B5-H cmaps/ETHK-B5-V cmaps/HKdla-B5-H cmaps/HKdla-B5-V cmaps/HKdlb-B5-H cmaps/HKdlb-B5-V cmaps/HKgccs-B5-H cmaps/HKgccs-B5-V cmaps/HKm314-B5-H cmaps/HKm314-B5-V cmaps/HKm471-B5-H cmaps/HKm471-B5-V cmaps/HKscs-B5-H cmaps/HKscs-B5-V cmaps/UniCNS-UCS2-H cmaps/UniCNS-UCS2-V cmaps/UniCNS-UTF16-H cmaps/UniCNS-UTF16-V
+if not exist generated/cmap_japan.h cmapdump.exe generated/cmap_japan.h cmaps/japan/Adobe-Japan1-UCS2 cmaps/japan/78-EUC-H cmaps/japan/78-EUC-V cmaps/japan/78-H cmaps/japan/78-RKSJ-H cmaps/japan/78-RKSJ-V cmaps/japan/78-V cmaps/japan/78ms-RKSJ-H cmaps/japan/78ms-RKSJ-V cmaps/japan/83pv-RKSJ-H cmaps/japan/90ms-RKSJ-H cmaps/japan/90ms-RKSJ-V cmaps/japan/90msp-RKSJ-H cmaps/japan/90msp-RKSJ-V cmaps/japan/90pv-RKSJ-H cmaps/japan/90pv-RKSJ-V cmaps/japan/Add-H cmaps/japan/Add-RKSJ-H cmaps/japan/Add-RKSJ-V cmaps/japan/Add-V cmaps/japan/Adobe-Japan1-0 cmaps/japan/Adobe-Japan1-1 cmaps/japan/Adobe-Japan1-2 cmaps/japan/Adobe-Japan1-3 cmaps/japan/Adobe-Japan1-4 cmaps/japan/Adobe-Japan1-5 cmaps/japan/Adobe-Japan1-6 cmaps/japan/EUC-H cmaps/japan/EUC-V cmaps/japan/Ext-H cmaps/japan/Ext-RKSJ-H cmaps/japan/Ext-RKSJ-V cmaps/japan/Ext-V cmaps/japan/H cmaps/japan/Hankaku cmaps/japan/Hiragana cmaps/japan/Katakana cmaps/japan/NWP-H cmaps/japan/NWP-V cmaps/japan/RKSJ-H cmaps/japan/RKSJ-V cmaps/japan/Roman cmaps/japan/UniJIS-UCS2-H cmaps/japan/UniJIS-UCS2-HW-H cmaps/japan/UniJIS-UCS2-HW-V cmaps/japan/UniJIS-UCS2-V cmaps/japan/UniJISPro-UCS2-HW-V cmaps/japan/UniJISPro-UCS2-V cmaps/japan/V cmaps/japan/WP-Symbol cmaps/japan/Adobe-Japan2-0 cmaps/japan/Hojo-EUC-H cmaps/japan/Hojo-EUC-V cmaps/japan/Hojo-H cmaps/japan/Hojo-V cmaps/japan/UniHojo-UCS2-H cmaps/japan/UniHojo-UCS2-V cmaps/japan/UniHojo-UTF16-H cmaps/japan/UniHojo-UTF16-V cmaps/japan/UniJIS-UTF16-H cmaps/japan/UniJIS-UTF16-V
-if not exist generated/cmap_japan.h cmapdump.exe generated/cmap_japan.h cmaps/78-EUC-H cmaps/78-EUC-V cmaps/78-H cmaps/78-RKSJ-H cmaps/78-RKSJ-V cmaps/78-V cmaps/78ms-RKSJ-H cmaps/78ms-RKSJ-V cmaps/83pv-RKSJ-H cmaps/90ms-RKSJ-H cmaps/90ms-RKSJ-V cmaps/90msp-RKSJ-H cmaps/90msp-RKSJ-V cmaps/90pv-RKSJ-H cmaps/90pv-RKSJ-V cmaps/Add-H cmaps/Add-RKSJ-H cmaps/Add-RKSJ-V cmaps/Add-V cmaps/Adobe-Japan1-0 cmaps/Adobe-Japan1-1 cmaps/Adobe-Japan1-2 cmaps/Adobe-Japan1-3 cmaps/Adobe-Japan1-4 cmaps/Adobe-Japan1-5 cmaps/Adobe-Japan1-6 cmaps/EUC-H cmaps/EUC-V cmaps/Ext-H cmaps/Ext-RKSJ-H cmaps/Ext-RKSJ-V cmaps/Ext-V cmaps/H cmaps/Hankaku cmaps/Hiragana cmaps/Katakana cmaps/NWP-H cmaps/NWP-V cmaps/RKSJ-H cmaps/RKSJ-V cmaps/Roman cmaps/UniJIS-UCS2-H cmaps/UniJIS-UCS2-HW-H cmaps/UniJIS-UCS2-HW-V cmaps/UniJIS-UCS2-V cmaps/UniJISPro-UCS2-HW-V cmaps/UniJISPro-UCS2-V cmaps/V cmaps/WP-Symbol cmaps/Adobe-Japan2-0 cmaps/Hojo-EUC-H cmaps/Hojo-EUC-V cmaps/Hojo-H cmaps/Hojo-V cmaps/UniHojo-UCS2-H cmaps/UniHojo-UCS2-V cmaps/UniHojo-UTF16-H cmaps/UniHojo-UTF16-V cmaps/UniJIS-UTF16-H cmaps/UniJIS-UTF16-V
-
-if not exist generated/cmap_korea.h cmapdump.exe generated/cmap_korea.h cmaps/Adobe-Korea1-0 cmaps/Adobe-Korea1-1 cmaps/Adobe-Korea1-2 cmaps/KSC-EUC-H cmaps/KSC-EUC-V cmaps/KSC-H cmaps/KSC-Johab-H cmaps/KSC-Johab-V cmaps/KSC-V cmaps/KSCms-UHC-H cmaps/KSCms-UHC-HW-H cmaps/KSCms-UHC-HW-V cmaps/KSCms-UHC-V cmaps/KSCpc-EUC-H cmaps/KSCpc-EUC-V cmaps/UniKS-UCS2-H cmaps/UniKS-UCS2-V cmaps/UniKS-UTF16-H cmaps/UniKS-UTF16-V
+if not exist generated/cmap_korea.h cmapdump.exe generated/cmap_korea.h cmaps/korea/Adobe-Korea1-UCS2 cmaps/korea/Adobe-Korea1-0 cmaps/korea/Adobe-Korea1-1 cmaps/korea/Adobe-Korea1-2 cmaps/korea/KSC-EUC-H cmaps/korea/KSC-EUC-V cmaps/korea/KSC-H cmaps/korea/KSC-Johab-H cmaps/korea/KSC-Johab-V cmaps/korea/KSC-V cmaps/korea/KSCms-UHC-H cmaps/korea/KSCms-UHC-HW-H cmaps/korea/KSCms-UHC-HW-V cmaps/korea/KSCms-UHC-V cmaps/korea/KSCpc-EUC-H cmaps/korea/KSCpc-EUC-V cmaps/korea/UniKS-UCS2-H cmaps/korea/UniKS-UCS2-V cmaps/korea/UniKS-UTF16-H cmaps/korea/UniKS-UTF16-V
del cmapdump.obj fontdump.obj cmapdump.exe fontdump.exe