From 136f54b7dc95964f3db31da84ba3f1961967babe Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 19 May 2009 00:42:35 +0000 Subject: update to http://project.ktug.or.kr/dvipdfmx/snapshot/latest/dvipdfmx-20090506.tar.gz git-svn-id: svn://tug.org/texlive/trunk@13221 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfmx/ChangeLog | 156 +- Build/source/texk/dvipdfmx/Makefile.in | 204 +- Build/source/texk/dvipdfmx/aclocal.m4 | 319 +- Build/source/texk/dvipdfmx/configure | 465 +- Build/source/texk/dvipdfmx/configure.ac | 2 +- Build/source/texk/dvipdfmx/data/EUC-UCS2 | 6800 ++++++++++++++++++++++++++ Build/source/texk/dvipdfmx/data/Makefile.am | 4 + Build/source/texk/dvipdfmx/data/Makefile.in | 194 +- Build/source/texk/dvipdfmx/data/dvipdfmx.cfg | 51 +- Build/source/texk/dvipdfmx/src/Makefile.in | 132 +- Build/source/texk/dvipdfmx/src/cff.c | 3 +- Build/source/texk/dvipdfmx/src/cid.c | 20 +- Build/source/texk/dvipdfmx/src/cmap_read.c | 4 +- Build/source/texk/dvipdfmx/src/dpxfile.c | 13 +- Build/source/texk/dvipdfmx/src/dpxfile.h | 6 +- Build/source/texk/dvipdfmx/src/dpxutil.c | 10 +- Build/source/texk/dvipdfmx/src/dpxutil.h | 3 +- Build/source/texk/dvipdfmx/src/dvi.c | 7 +- Build/source/texk/dvipdfmx/src/dvipdfmx.c | 50 +- Build/source/texk/dvipdfmx/src/epdf.c | 27 +- Build/source/texk/dvipdfmx/src/epdf.h | 5 +- Build/source/texk/dvipdfmx/src/jpegimage.c | 68 +- Build/source/texk/dvipdfmx/src/jpegimage.h | 4 +- Build/source/texk/dvipdfmx/src/mem.c | 3 +- Build/source/texk/dvipdfmx/src/pdfdev.c | 30 +- Build/source/texk/dvipdfmx/src/pdfdoc.c | 227 +- Build/source/texk/dvipdfmx/src/pdfdoc.h | 11 +- Build/source/texk/dvipdfmx/src/pdfdraw.c | 47 +- Build/source/texk/dvipdfmx/src/pdfencoding.c | 3 +- Build/source/texk/dvipdfmx/src/pdfencrypt.c | 13 +- Build/source/texk/dvipdfmx/src/pdflimits.h | 11 +- Build/source/texk/dvipdfmx/src/pdfnames.c | 172 +- Build/source/texk/dvipdfmx/src/pdfnames.h | 4 +- Build/source/texk/dvipdfmx/src/pdfobj.c | 160 +- Build/source/texk/dvipdfmx/src/pdfobj.h | 13 +- Build/source/texk/dvipdfmx/src/pdfparse.c | 84 +- Build/source/texk/dvipdfmx/src/pdfximage.c | 23 +- Build/source/texk/dvipdfmx/src/pdfximage.h | 3 +- Build/source/texk/dvipdfmx/src/pngimage.c | 50 +- Build/source/texk/dvipdfmx/src/pngimage.h | 4 +- Build/source/texk/dvipdfmx/src/spc_color.c | 8 +- Build/source/texk/dvipdfmx/src/spc_html.c | 14 +- Build/source/texk/dvipdfmx/src/spc_pdfm.c | 32 +- Build/source/texk/dvipdfmx/src/spc_tpic.c | 4 +- Build/source/texk/dvipdfmx/src/spc_util.c | 50 +- Build/source/texk/dvipdfmx/src/spc_util.h | 5 +- Build/source/texk/dvipdfmx/src/specials.c | 25 +- Build/source/texk/dvipdfmx/src/t1_load.c | 33 +- Build/source/texk/dvipdfmx/src/tt_table.c | 8 +- Build/source/texk/dvipdfmx/src/xbb.c | 301 +- 50 files changed, 8608 insertions(+), 1277 deletions(-) create mode 100644 Build/source/texk/dvipdfmx/data/EUC-UCS2 diff --git a/Build/source/texk/dvipdfmx/ChangeLog b/Build/source/texk/dvipdfmx/ChangeLog index 7726d83e96a..76cc7803ad9 100644 --- a/Build/source/texk/dvipdfmx/ChangeLog +++ b/Build/source/texk/dvipdfmx/ChangeLog @@ -1,8 +1,162 @@ -$Header: /home/cvsroot/dvipdfmx/ChangeLog,v 1.234 2009/01/15 21:09:29 chofchof Exp $ +$Header: /home/cvsroot/dvipdfmx/ChangeLog,v 1.256 2009/05/06 06:09:05 chofchof Exp $ ChangeLog: Changes for DVIPDFMx =============================== +2009-05-06 Jin-Hwan Cho + + * dvipdfmx.c, pdflimits.h, pdfobj.c: + Improved PDF version handling. + + * cmap_read.c: + Fixed a silly bug; reported by Fumihito YOSHIDA. + +2009-05-06 Matthias Franz + + * cid.c, dvipdfmx.c, pdflimits.h, pdfobj.c: + Fixed minor issues with PDF version handling, following + a question by Akira Kakuto. The minimal and maximal + PDF versions allowed are now defined in pdflimits.h. + +2009-05-03 Matthias Franz + + * dvipdfmx.c, epdf.c, epdf.h, pdfdoc.c, pdfdoc.h, pdfobj.c, pdfobj.h, pdfximage.c, pdfximage.h, xbb.c: + Improved PDF version handling. A "Version" entry in the + document catalog is now honored. Moreover, dvipdfmx accepts + to write PDF 1.7, and extractbb doesn't complain about PDF + versions any more. Encryption keys too long for PDF 1.3 now + lead to an error instead of a silent change of PDF version. + +2009-05-02 Jin-Hwan Cho + + * tt_table.c: + Fixed a bug of reading numOfExSideBearings; reported by + Tomas Janousek. + +2009-04-30 Matthias Franz + + * dvipdfmx.cfg: + Use ps2pdf for PS-to-PDF conversion on all platforms. + +2009-04-29 Jin-Hwan Cho + + * spc_color.c, spc_pdfm.c, spc_util.c, spc_util.h: + Allow changing strokecolor or fillcolor only; for example, + "pdf:scolor Red []" changes fillcolor only and + "pdf:scolor [] Red" changes strokecolor only, but + "pdf:scolor Red" changes both fillcolor and strokecolor. + + * pdfparse.c: + Parse stream objects in a strict way as DVIPDFM because + DVIPDFMx already has another specials for stream objects. + +2009-04-26 Matthias Franz + + * pdfobj.c: + Don't print unnecessary newlines in PDF dictionaries. + + * pdfobj.c, pdfobj.h, xbb.c: + Added "%%HiResBoundingBox" and "%%PDFVersion" lines to + extractbb output. + + * dpxutil.c, dpxutil.h, dvipdfmx.c, pdfdoc.c,pdfdoc.h, pdfnames.c, pdfnames.h, pdfobj.c, pdfobj.h, spc_pdfm.c, specials.c, dvipdfmx.cfg: + Rename PDF destinations to shorter names (in order to save + space). Together with the removal of unused PDF destinations + implemented previously, this is more or less equivalent to + Heiko Oberdiek's LaTeX package "hypdestopt". + +2009-04-20 Jin-Hwan Cho + + * pdfdoc.c: + Bug fix: \special{pdf:bann} ... \special{pdf:eann} (e.g., \hyperlink) + cause a problem when it was surrounded by the pair + \special{pdf:bcontent} ... \special{\special{pdf:econtent}. + +2009-04-19 Jin-Hwan Cho + + * generic/pgf-doc-diff.texlive2008, generic/pgf-generic-diff.texlive2008: + Patches and a new dvipdfmx driver for PGF, Version 2.00 + included in texlive 2008. + + * generic/pgfsys-dvipdfmx.def.version2, generic/pgfsys-dvipdfmx-patch.tex.version2: + Removed contributed files because of new patch files + pgf-doc-diff.texlive2008 and pgf-generic-diff.texlive2008. + +2009-04-18 Jin-Hwan Cho + + * generic/pgf-doc-diff.version2cvs, generic/pgf-generic-diff.version2cvs: + Patches and a new dvipdfmx driver for PGF, Version 2.00-cvs 20090418. + + * contrib/context/spec-dpx.tex, contrib/latex/animate.sty.sample, color.sty.sample, dvipdfmx.def.sample, graphics.sty.sample, movie15.sty.sample, sample-imagemask.tex: + Removed contributed files already applied to texlive 2008. + +2009-04-08 Jin-Hwan Cho + + * t1_load.c: + Ignores the second /Subrs dicts and /CharStrings not followed + by dict; Adobe's OPO_____.PFB and OPBO____.PFB had those problems. + +2009-04-07 Matthias Franz + + * xbb.c: + Removed binary mode option "-b". In ebb, just ignore it. + +2009-03-30 Jin-Hwan Cho + + * pdfdoc.c: + Fixed the bug: bbox->llx is not extracted for PDF images. + +2009-03-29 Matthias Franz + + * xbb.c: + Changed output-to-stdout option to "-O". + +2009-03-24 Jin-Hwan Cho + + * cff.c, dpxutil.c, pdfencoding.c, pdfencrypt.c, mem.c: + Revive system.h to work with TeXLive. + +2009-03-23 Matthias Franz + + * dvipdfmx.c, jpegimage.c, jpegimage.h, pngimage.c, pngimage.h, xbb.c: + Several changes related to xbb/extractbb: + Combined code with jpegimage.c and pngimage.c, added number + of pages to xbb output for PDF files, introduced quiet mode + (option "-q") and output to stdout (option "-s"), improved test + of filename check in dvipdfmx.c (now uses >libgen.h>), new + version numbering for xbb (same as dvipdfmx version) + +2009-03-15 Jin-Hwan Cho + + * data/Makefile.am, data/Makefile.in, data/EUC-UCS2: + Revive the cmap EUC-UCS2; suggested by Nobuyuki Tsuchimura. + +2009-03-16 Matthias Franz + + * pdfdev.c, pdfdraw.c, spc_html.c, spc_pdfm.c, spc_tpic.c: + Added comments to show the PDF operators inserted by each + call of pdf_doc_add_page_content. This makes it easier to + find out which part of the source is responsible for a PDF + operator in the output. Example: + + pdf_doc_add_page_content(work_buffer, len); /* op: q cm * + +2009-03-12 Matthias Franz + + * dvipdfmx.c: + Don't print messages in quiet mode. + + * dpxfile.c, dpxfile.h, pdfximage.c, data/dvipdfmx.cfg: + Added conversion specifier "%v" (PDF version) to PS-to-PDF + conversion template. Also changed default template for + GhostScript to use the script ps2pdf instead of calling gs + directly. (This works for all platforms.) + + * pdfobj.c: + Fixed a bug concerning empty PDF strings: Empty PDF strings + were reduced to NULL, which could lead to errors when calling + string functions. + 2009-01-15 Jin-Hwan Cho * specials.c: diff --git a/Build/source/texk/dvipdfmx/Makefile.in b/Build/source/texk/dvipdfmx/Makefile.in index 97f37995235..ad98a955948 100644 --- a/Build/source/texk/dvipdfmx/Makefile.in +++ b/Build/source/texk/dvipdfmx/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. +# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,8 +16,9 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -37,14 +39,15 @@ DIST_COMMON = README $(am__configure_deps) \ $(srcdir)/../../build-aux/config.sub \ $(srcdir)/../../build-aux/install-sh \ $(srcdir)/../../build-aux/ltmain.sh \ - $(srcdir)/../../build-aux/missing $(srcdir)/Makefile.am \ + $(srcdir)/../../build-aux/missing \ + $(srcdir)/../../build-aux/mkinstalldirs $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure ../../build-aux/config.guess \ ../../build-aux/config.sub ../../build-aux/depcomp \ ../../build-aux/install-sh ../../build-aux/ltmain.sh \ - ../../build-aux/missing ../../build-aux/texinfo.tex \ - ../../build-aux/ylwrap AUTHORS COPYING ChangeLog INSTALL NEWS \ - TODO + ../../build-aux/missing ../../build-aux/mkinstalldirs \ + ../../build-aux/texinfo.tex ../../build-aux/ylwrap AUTHORS \ + COPYING ChangeLog INSTALL NEWS TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \ $(top_srcdir)/../../m4/cho-libs.m4 \ @@ -62,9 +65,10 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d +mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -76,6 +80,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -83,9 +90,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print @@ -223,15 +255,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ - cd $(srcdir) && $(AUTOMAKE) --foreign \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -247,9 +279,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) + $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ @@ -261,7 +294,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -301,7 +334,7 @@ $(RECURSIVE_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -335,16 +368,16 @@ $(RECURSIVE_CLEAN_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -359,7 +392,7 @@ tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -371,7 +404,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ @@ -380,36 +413,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) + test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -425,38 +463,54 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) + || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) @@ -468,6 +522,10 @@ dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + $(am__remove_distdir) + dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) @@ -497,6 +555,8 @@ distcheck: dist bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ @@ -508,9 +568,11 @@ distcheck: dist mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ @@ -532,13 +594,15 @@ distcheck: dist && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @cd $(distuninstallcheck_dir) \ + @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ @@ -580,6 +644,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -600,6 +665,8 @@ dvi-am: html: html-recursive +html-am: + info: info-recursive info-am: @@ -608,18 +675,28 @@ install-data-am: install-dvi: install-dvi-recursive +install-dvi-am: + install-exec-am: install-html: install-html-recursive +install-html-am: + install-info: install-info-recursive +install-info-am: + install-man: install-pdf: install-pdf-recursive +install-pdf-am: + install-ps: install-ps-recursive +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -642,24 +719,25 @@ ps-am: uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ - distclean distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am + dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ + distcheck distclean distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-recursive uninstall uninstall-am + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/Build/source/texk/dvipdfmx/aclocal.m4 b/Build/source/texk/dvipdfmx/aclocal.m4 index e7df4725fd5..e5b40dc5feb 100644 --- a/Build/source/texk/dvipdfmx/aclocal.m4 +++ b/Build/source/texk/dvipdfmx/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.10.2 -*- Autoconf -*- +# generated automatically by aclocal 1.11 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -31,10 +31,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.10' +[am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.10.2], [], +m4_if([$1], [1.11], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10.2])dnl +[AM_AUTOMAKE_VERSION([1.11])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -110,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 8 +# serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -130,6 +130,7 @@ AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' @@ -143,14 +144,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 +# serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -207,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc], if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and @@ -224,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc], done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested @@ -234,19 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc], break fi ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; none) break ;; esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message @@ -310,59 +335,61 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 4 +#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[# Autoconf 2.62 quotes --file arguments for eval, but not when files -# are listed without --file. Let's play safe and only enable the eval -# if we detect the quoting. -case $CONFIG_FILES in -*\'*) eval set x "$CONFIG_FILES" ;; -*) set x $CONFIG_FILES ;; -esac -shift -for mf -do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" +[{ + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done done -done +} ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -382,13 +409,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008 Free Software Foundation, Inc. +# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 13 +# serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. @@ -405,7 +432,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.60])dnl +[AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -456,8 +483,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. @@ -465,24 +492,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) +dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header @@ -505,7 +545,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -516,7 +556,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. @@ -543,27 +590,38 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless `enable' is passed literally. +# For symmetry, `disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], +[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl + AC_SUBST([MAINT])dnl ] ) @@ -571,13 +629,13 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 +# serial 4 # AM_MAKE_INCLUDE() # ----------------- @@ -586,7 +644,7 @@ AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -596,24 +654,24 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) @@ -623,14 +681,14 @@ rm -f confinc confmf # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 +# serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -647,7 +705,14 @@ AC_SUBST($1)]) AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " @@ -718,14 +783,14 @@ AC_DEFUN([_AM_IF_OPTION], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 # AM_SANITY_CHECK # --------------- @@ -734,16 +799,29 @@ AC_DEFUN([AM_SANITY_CHECK], # Just in case sleep 1 echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; +esac + # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ @@ -796,18 +874,25 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 2 + # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) +# AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. diff --git a/Build/source/texk/dvipdfmx/configure b/Build/source/texk/dvipdfmx/configure index 5c26f7c6f0a..561e5f1cfd2 100755 --- a/Build/source/texk/dvipdfmx/configure +++ b/Build/source/texk/dvipdfmx/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for dvipdfmx 20090115. +# Generated by GNU Autoconf 2.63 for dvipdfmx 20090506. # # Report bugs to . # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='dvipdfmx' PACKAGE_TARNAME='dvipdfmx' -PACKAGE_VERSION='20090115' -PACKAGE_STRING='dvipdfmx 20090115' +PACKAGE_VERSION='20090506' +PACKAGE_STRING='dvipdfmx 20090506' PACKAGE_BUGREPORT='dvipdfmx@project.ktug.or.kr' ac_unique_file="src/dvipdfmx.c" @@ -786,7 +786,9 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='LTLIBOBJS +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS TDS_VERSION_11_FALSE TDS_VERSION_11_TRUE LIBPNG_RULE @@ -1493,7 +1495,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dvipdfmx 20090115 to adapt to many kinds of systems. +\`configure' configures dvipdfmx 20090506 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1563,7 +1565,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvipdfmx 20090115:";; + short | recursive ) echo "Configuration of dvipdfmx 20090506:";; esac cat <<\_ACEOF @@ -1680,7 +1682,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvipdfmx configure 20090115 +dvipdfmx configure 20090506 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1694,7 +1696,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dvipdfmx $as_me 20090115, which was +It was created by dvipdfmx $as_me 20090506, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2097,7 +2099,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -am__api_version='1.10' +am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2197,16 +2199,33 @@ $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 +$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} + { (exit 1); exit 1; }; };; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 +$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} + { (exit 1); exit 1; }; };; +esac + # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ @@ -2250,7 +2269,14 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " @@ -2260,6 +2286,115 @@ else $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then @@ -2506,7 +2641,7 @@ ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -2517,24 +2652,24 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac fi @@ -3523,6 +3658,11 @@ else if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and @@ -3540,7 +3680,17 @@ else done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested @@ -3550,19 +3700,23 @@ else break fi ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; none) break ;; esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message @@ -4195,13 +4349,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4198: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4352: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4201: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4355: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4204: output\"" >&5) + (eval echo "\"\$as_me:4358: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -5407,7 +5561,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5410 "configure"' > conftest.$ac_ext + echo '#line 5564 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6787,7 +6941,7 @@ fi # Define the identity of the package. PACKAGE='dvipdfmx' - VERSION='20090115' + VERSION='20090506' cat >>confdefs.h <<_ACEOF @@ -6815,108 +6969,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. @@ -6929,6 +6981,7 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + { $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. @@ -7454,11 +7507,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7457: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7510: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7461: \$? = $ac_status" >&5 + echo "$as_me:7514: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7793,11 +7846,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7796: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7849: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7800: \$? = $ac_status" >&5 + echo "$as_me:7853: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7898,11 +7951,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7901: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7954: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7905: \$? = $ac_status" >&5 + echo "$as_me:7958: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -7953,11 +8006,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7956: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8009: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7960: \$? = $ac_status" >&5 + echo "$as_me:8013: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10753,7 +10806,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10756 "configure" +#line 10809 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10849,7 +10902,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10852 "configure" +#line 10905 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16255,7 +16308,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -dvipdfmx config.lt 20090115 +dvipdfmx config.lt 20090506 configured by $0, generated by GNU Autoconf 2.63. Copyright (C) 2008 Free Software Foundation, Inc. @@ -18301,6 +18354,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -18652,7 +18713,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dvipdfmx $as_me 20090115, which was +This file was extended by dvipdfmx $as_me 20090506, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18715,7 +18776,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -dvipdfmx config.status 20090115 +dvipdfmx config.status 20090506 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -19754,27 +19815,28 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files -# are listed without --file. Let's play safe and only enable the eval -# if we detect the quoting. -case $CONFIG_FILES in -*\'*) eval set x "$CONFIG_FILES" ;; -*) set x $CONFIG_FILES ;; -esac -shift -for mf -do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ @@ -19797,28 +19859,28 @@ $as_echo X"$mf" | q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ @@ -19841,7 +19903,7 @@ $as_echo X"$file" | q } s/.*/./; q'` - { as_dir=$dirpart/$fdir + { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac @@ -19882,10 +19944,11 @@ $as_echo X"$as_dir" | } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done done -done +} ;; "libtool":C) diff --git a/Build/source/texk/dvipdfmx/configure.ac b/Build/source/texk/dvipdfmx/configure.ac index dbe7f5f91f2..b8809ae3df5 100644 --- a/Build/source/texk/dvipdfmx/configure.ac +++ b/Build/source/texk/dvipdfmx/configure.ac @@ -6,7 +6,7 @@ dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -AC_INIT([dvipdfmx], [20090115], [dvipdfmx@project.ktug.or.kr]) +AC_INIT([dvipdfmx], [20090506], [dvipdfmx@project.ktug.or.kr]) AC_PREREQ([2.63]) AC_CONFIG_SRCDIR([src/dvipdfmx.c]) AC_CONFIG_AUX_DIR([../../build-aux]) diff --git a/Build/source/texk/dvipdfmx/data/EUC-UCS2 b/Build/source/texk/dvipdfmx/data/EUC-UCS2 new file mode 100644 index 00000000000..d7a91685ad5 --- /dev/null +++ b/Build/source/texk/dvipdfmx/data/EUC-UCS2 @@ -0,0 +1,6800 @@ +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (EUC-UCS2) +%%Title: (EUC-UCS2) +%%Version: 1.0 +%%Copyright: +%% Copyright (C) 2002 by Jin-Hwan Cho +%% +%% This program is free software; you can redistribute it and/or modify +%% it under the terms of the GNU General Public License as published by +%% the Free Software Foundation; either version 2 of the License, or +%% (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +%%EndComments + +/CIDInit /ProcSet findresource begin + +12 dict begin + +begincmap + +/CIDSystemInfo 3 dict dup begin + /Registry (Adobe) def + /Ordering (EUC_UCS2) def + /Supplement 1 def +end def + +/CMapName /EUC-UCS2 def +/CMapVersion 1.0 def +/CMapType 1 def +/WMode 0 def + +3 begincodespacerange +<00> <7E> +<8EA0> <8EDF> + +endcodespacerange + +17 beginbfrange +<00> <5B> <0000> +<5D> <7D> <005D> +<8EA0> <8EDF> + <3008> + + + + <3041> + <30A1> + <0391> + <03A3> + <03B1> + <03C3> + <0410> + <0416> + <0430> + <0436> +endbfrange + +99 beginbfchar +<5C> <00A5> +<7E> <203E> + <3000> + <3001> + <3002> + + + <30FB> + + + + + <309B> + <309C> + <00B4> + + <00A8> + + <203E> + + <30FD> + <30FE> + <309D> + <309E> + <3003> + <4EDD> + <3005> + <3006> + <3007> + <30FC> + <2015> + <2010> + + + + <2016> + + <2026> + <2025> + <2018> + <2019> + <201C> + <201D> + + + <3014> + <3015> + + + + + + + <00B1> + <00D7> + <00F7> + + <2260> + + + <2266> + <2267> + <221E> + <2234> + <2642> + <2640> + <00B0> + <2032> + <2033> + <2103> + + + <00A2> + <00A3> + + + + + + <00A7> + <2606> + <2605> + <25CB> + <25CF> + <25CE> + <25C7> + <25C6> + <25A1> + <25A0> + <25B3> + <25B2> + <25BD> + <25BC> + <203B> + <3012> + <2192> + <2190> + <2191> + <2193> +endbfchar + +100 beginbfchar + <3013> + <2208> + <220B> + <2286> + <2287> + <2282> + <2283> + <222A> + <2229> + <2227> + <2228> + <00AC> + <21D2> + <21D4> + <2200> + <2203> + <2220> + <22A5> + <2312> + <2202> + <2207> + <2261> + <2252> + <226A> + <226B> + <221A> + <223D> + <221D> + <2235> + <222B> + <222C> + <212B> + <2030> + <266F> + <266D> + <266A> + <2020> + <2021> + <00B6> + <25EF> + <0401> + <0451> + <2500> + <2502> + <250C> + <2510> + <2518> + <2514> + <251C> + <252C> + <2524> + <2534> + <253C> + <2501> + <2503> + <250F> + <2513> + <251B> + <2517> + <2523> + <2533> + <252B> + <253B> + <254B> + <2520> + <252F> + <2528> + <2537> + <253F> + <251D> + <2530> + <2525> + <2538> + <2542> + <4E9C> + <5516> + <5A03> + <963F> + <54C0> + <611B> + <6328> + <59F6> + <9022> + <8475> + <831C> + <7A50> + <60AA> + <63E1> + <6E25> + <65ED> + <8466> + <82A6> + <9BF5> + <6893> + <5727> + <65A1> + <6271> + <5B9B> + <59D0> + <867B> +endbfchar + +100 beginbfchar + <98F4> + <7D62> + <7DBE> + <9B8E> + <6216> + <7C9F> + <88B7> + <5B89> + <5EB5> + <6309> + <6697> + <6848> + <95C7> + <978D> + <674F> + <4EE5> + <4F0A> + <4F4D> + <4F9D> + <5049> + <56F2> + <5937> + <59D4> + <5A01> + <5C09> + <60DF> + <610F> + <6170> + <6613> + <6905> + <70BA> + <754F> + <7570> + <79FB> + <7DAD> + <7DEF> + <80C3> + <840E> + <8863> + <8B02> + <9055> + <907A> + <533B> + <4E95> + <4EA5> + <57DF> + <80B2> + <90C1> + <78EF> + <4E00> + <58F1> + <6EA2> + <9038> + <7A32> + <8328> + <828B> + <9C2F> + <5141> + <5370> + <54BD> + <54E1> + <56E0> + <59FB> + <5F15> + <98F2> + <6DEB> + <80E4> + <852D> + <9662> + <9670> + <96A0> + <97FB> + <540B> + <53F3> + <5B87> + <70CF> + <7FBD> + <8FC2> + <96E8> + <536F> + <9D5C> + <7ABA> + <4E11> + <7893> + <81FC> + <6E26> + <5618> + <5504> + <6B1D> + <851A> + <9C3B> + <59E5> + <53A9> + <6D66> + <74DC> + <958F> + <5642> + <4E91> + <904B> + <96F2> +endbfchar + +100 beginbfchar + <834F> + <990C> + <53E1> + <55B6> + <5B30> + <5F71> + <6620> + <66F3> + <6804> + <6C38> + <6CF3> + <6D29> + <745B> + <76C8> + <7A4E> + <9834> + <82F1> + <885B> + <8A60> + <92ED> + <6DB2> + <75AB> + <76CA> + <99C5> + <60A6> + <8B01> + <8D8A> + <95B2> + <698E> + <53AD> + <5186> + <5712> + <5830> + <5944> + <5BB4> + <5EF6> + <6028> + <63A9> + <63F4> + <6CBF> + <6F14> + <708E> + <7114> + <7159> + <71D5> + <733F> + <7E01> + <8276> + <82D1> + <8597> + <9060> + <925B> + <9D1B> + <5869> + <65BC> + <6C5A> + <7525> + <51F9> + <592E> + <5965> + <5F80> + <5FDC> + <62BC> + <65FA> + <6A2A> + <6B27> + <6BB4> + <738B> + <7FC1> + <8956> + <9D2C> + <9D0E> + <9EC4> + <5CA1> + <6C96> + <837B> + <5104> + <5C4B> + <61B6> + <81C6> + <6876> + <7261> + <4E59> + <4FFA> + <5378> + <6069> + <6E29> + <7A4F> + <97F3> + <4E0B> + <5316> + <4EEE> + <4F55> + <4F3D> + <4FA1> + <4F73> + <52A0> + <53EF> + <5609> + <590F> +endbfchar + +100 beginbfchar + <5AC1> + <5BB6> + <5BE1> + <79D1> + <6687> + <679C> + <67B6> + <6B4C> + <6CB3> + <706B> + <73C2> + <798D> + <79BE> + <7A3C> + <7B87> + <82B1> + <82DB> + <8304> + <8377> + <83EF> + <83D3> + <8766> + <8AB2> + <5629> + <8CA8> + <8FE6> + <904E> + <971E> + <868A> + <4FC4> + <5CE8> + <6211> + <7259> + <753B> + <81E5> + <82BD> + <86FE> + <8CC0> + <96C5> + <9913> + <99D5> + <4ECB> + <4F1A> + <89E3> + <56DE> + <584A> + <58CA> + <5EFB> + <5FEB> + <602A> + <6094> + <6062> + <61D0> + <6212> + <62D0> + <6539> + <9B41> + <6666> + <68B0> + <6D77> + <7070> + <754C> + <7686> + <7D75> + <82A5> + <87F9> + <958B> + <968E> + <8C9D> + <51F1> + <52BE> + <5916> + <54B3> + <5BB3> + <5D16> + <6168> + <6982> + <6DAF> + <788D> + <84CB> + <8857> + <8A72> + <93A7> + <9AB8> + <6D6C> + <99A8> + <86D9> + <57A3> + <67FF> + <86CE> + <920E> + <5283> + <5687> + <5404> + <5ED3> + <62E1> + <64B9> + <683C> + <6838> + <6BBB> +endbfchar + +100 beginbfchar + <7372> + <78BA> + <7A6B> + <899A> + <89D2> + <8D6B> + <8F03> + <90ED> + <95A3> + <9694> + <9769> + <5B66> + <5CB3> + <697D> + <984D> + <984E> + <639B> + <7B20> + <6A2B> + <6A7F> + <68B6> + <9C0D> + <6F5F> + <5272> + <559D> + <6070> + <62EC> + <6D3B> + <6E07> + <6ED1> + <845B> + <8910> + <8F44> + <4E14> + <9C39> + <53F6> + <691B> + <6A3A> + <9784> + <682A> + <515C> + <7AC3> + <84B2> + <91DC> + <938C> + <565B> + <9D28> + <6822> + <8305> + <8431> + <7CA5> + <5208> + <82C5> + <74E6> + <4E7E> + <4F83> + <51A0> + <5BD2> + <520A> + <52D8> + <52E7> + <5DFB> + <559A> + <582A> + <59E6> + <5B8C> + <5B98> + <5BDB> + <5E72> + <5E79> + <60A3> + <611F> + <6163> + <61BE> + <63DB> + <6562> + <67D1> + <6853> + <68FA> + <6B3E> + <6B53> + <6C57> + <6F22> + <6F97> + <6F45> + <74B0> + <7518> + <76E3> + <770B> + <7AFF> + <7BA1> + <7C21> + <7DE9> + <7F36> + <7FF0> + <809D> + <8266> + <839E> + <89B3> + <8ACC> +endbfchar + +100 beginbfchar + <8CAB> + <9084> + <9451> + <9593> + <9591> + <95A2> + <9665> + <97D3> + <9928> + <8218> + <4E38> + <542B> + <5CB8> + <5DCC> + <73A9> + <764C> + <773C> + <5CA9> + <7FEB> + <8D0B> + <96C1> + <9811> + <9854> + <9858> + <4F01> + <4F0E> + <5371> + <559C> + <5668> + <57FA> + <5947> + <5B09> + <5BC4> + <5C90> + <5E0C> + <5E7E> + <5FCC> + <63EE> + <673A> + <65D7> + <65E2> + <671F> + <68CB> + <68C4> + <6A5F> + <5E30> + <6BC5> + <6C17> + <6C7D> + <757F> + <7948> + <5B63> + <7A00> + <7D00> + <5FBD> + <898F> + <8A18> + <8CB4> + <8D77> + <8ECC> + <8F1D> + <98E2> + <9A0E> + <9B3C> + <4E80> + <507D> + <5100> + <5993> + <5B9C> + <622F> + <6280> + <64EC> + <6B3A> + <72A0> + <7591> + <7947> + <7FA9> + <87FB> + <8ABC> + <8B70> + <63AC> + <83CA> + <97A0> + <5409> + <5403> + <55AB> + <6854> + <6A58> + <8A70> + <7827> + <6775> + <9ECD> + <5374> + <5BA2> + <811A> + <8650> + <9006> + <4E18> + <4E45> + <4EC7> +endbfchar + +100 beginbfchar + <4F11> + <53CA> + <5438> + <5BAE> + <5F13> + <6025> + <6551> + <673D> + <6C42> + <6C72> + <6CE3> + <7078> + <7403> + <7A76> + <7AAE> + <7B08> + <7D1A> + <7CFE> + <7D66> + <65E7> + <725B> + <53BB> + <5C45> + <5DE8> + <62D2> + <62E0> + <6319> + <6E20> + <865A> + <8A31> + <8DDD> + <92F8> + <6F01> + <79A6> + <9B5A> + <4EA8> + <4EAB> + <4EAC> + <4F9B> + <4FA0> + <50D1> + <5147> + <7AF6> + <5171> + <51F6> + <5354> + <5321> + <537F> + <53EB> + <55AC> + <5883> + <5CE1> + <5F37> + <5F4A> + <602F> + <6050> + <606D> + <631F> + <6559> + <6A4B> + <6CC1> + <72C2> + <72ED> + <77EF> + <80F8> + <8105> + <8208> + <854E> + <90F7> + <93E1> + <97FF> + <9957> + <9A5A> + <4EF0> + <51DD> + <5C2D> + <6681> + <696D> + <5C40> + <66F2> + <6975> + <7389> + <6850> + <7C81> + <50C5> + <52E4> + <5747> + <5DFE> + <9326> + <65A4> + <6B23> + <6B3D> + <7434> + <7981> + <79BD> + <7B4B> + <7DCA> + <82B9> + <83CC> + <887F> +endbfchar + +100 beginbfchar + <895F> + <8B39> + <8FD1> + <91D1> + <541F> + <9280> + <4E5D> + <5036> + <53E5> + <533A> + <72D7> + <7396> + <77E9> + <82E6> + <8EAF> + <99C6> + <99C8> + <99D2> + <5177> + <611A> + <865E> + <55B0> + <7A7A> + <5076> + <5BD3> + <9047> + <9685> + <4E32> + <6ADB> + <91E7> + <5C51> + <5C48> + <6398> + <7A9F> + <6C93> + <9774> + <8F61> + <7AAA> + <718A> + <9688> + <7C82> + <6817> + <7E70> + <6851> + <936C> + <52F2> + <541B> + <85AB> + <8A13> + <7FA4> + <8ECD> + <90E1> + <5366> + <8888> + <7941> + <4FC2> + <50BE> + <5211> + <5144> + <5553> + <572D> + <73EA> + <578B> + <5951> + <5F62> + <5F84> + <6075> + <6176> + <6167> + <61A9> + <63B2> + <643A> + <656C> + <666F> + <6842> + <6E13> + <7566> + <7A3D> + <7CFB> + <7D4C> + <7D99> + <7E4B> + <7F6B> + <830E> + <834A> + <86CD> + <8A08> + <8A63> + <8B66> + <8EFD> + <981A> + <9D8F> + <82B8> + <8FCE> + <9BE8> + <5287> + <621F> + <6483> + <6FC0> + <9699> +endbfchar + +100 beginbfchar + <6841> + <5091> + <6B20> + <6C7A> + <6F54> + <7A74> + <7D50> + <8840> + <8A23> + <6708> + <4EF6> + <5039> + <5026> + <5065> + <517C> + <5238> + <5263> + <55A7> + <570F> + <5805> + <5ACC> + <5EFA> + <61B2> + <61F8> + <62F3> + <6372> + <691C> + <6A29> + <727D> + <72AC> + <732E> + <7814> + <786F> + <7D79> + <770C> + <80A9> + <898B> + <8B19> + <8CE2> + <8ED2> + <9063> + <9375> + <967A> + <9855> + <9A13> + <9E78> + <5143> + <539F> + <53B3> + <5E7B> + <5F26> + <6E1B> + <6E90> + <7384> + <73FE> + <7D43> + <8237> + <8A00> + <8AFA> + <9650> + <4E4E> + <500B> + <53E4> + <547C> + <56FA> + <59D1> + <5B64> + <5DF1> + <5EAB> + <5F27> + <6238> + <6545> + <67AF> + <6E56> + <72D0> + <7CCA> + <88B4> + <80A1> + <80E1> + <83F0> + <864E> + <8A87> + <8DE8> + <9237> + <96C7> + <9867> + <9F13> + <4E94> + <4E92> + <4F0D> + <5348> + <5449> + <543E> + <5A2F> + <5F8C> + <5FA1> + <609F> + <68A7> + <6A8E> + <745A> +endbfchar + +100 beginbfchar + <7881> + <8A9E> + <8AA4> + <8B77> + <9190> + <4E5E> + <9BC9> + <4EA4> + <4F7C> + <4FAF> + <5019> + <5016> + <5149> + <516C> + <529F> + <52B9> + <52FE> + <539A> + <53E3> + <5411> + <540E> + <5589> + <5751> + <57A2> + <597D> + <5B54> + <5B5D> + <5B8F> + <5DE5> + <5DE7> + <5DF7> + <5E78> + <5E83> + <5E9A> + <5EB7> + <5F18> + <6052> + <614C> + <6297> + <62D8> + <63A7> + <653B> + <6602> + <6643> + <66F4> + <676D> + <6821> + <6897> + <69CB> + <6C5F> + <6D2A> + <6D69> + <6E2F> + <6E9D> + <7532> + <7687> + <786C> + <7A3F> + <7CE0> + <7D05> + <7D18> + <7D5E> + <7DB1> + <8015> + <8003> + <80AF> + <80B1> + <8154> + <818F> + <822A> + <8352> + <884C> + <8861> + <8B1B> + <8CA2> + <8CFC> + <90CA> + <9175> + <9271> + <783F> + <92FC> + <95A4> + <964D> + <9805> + <9999> + <9AD8> + <9D3B> + <525B> + <52AB> + <53F7> + <5408> + <58D5> + <62F7> + <6FE0> + <8C6A> + <8F5F> + <9EB9> + <514B> + <523B> + <544A> +endbfchar + +100 beginbfchar + <56FD> + <7A40> + <9177> + <9D60> + <9ED2> + <7344> + <6F09> + <8170> + <7511> + <5FFD> + <60DA> + <9AA8> + <72DB> + <8FBC> + <6B64> + <9803> + <4ECA> + <56F0> + <5764> + <58BE> + <5A5A> + <6068> + <61C7> + <660F> + <6606> + <6839> + <68B1> + <6DF7> + <75D5> + <7D3A> + <826E> + <9B42> + <4E9B> + <4F50> + <53C9> + <5506> + <5D6F> + <5DE6> + <5DEE> + <67FB> + <6C99> + <7473> + <7802> + <8A50> + <9396> + <88DF> + <5750> + <5EA7> + <632B> + <50B5> + <50AC> + <518D> + <6700> + <54C9> + <585E> + <59BB> + <5BB0> + <5F69> + <624D> + <63A1> + <683D> + <6B73> + <6E08> + <707D> + <91C7> + <7280> + <7815> + <7826> + <796D> + <658E> + <7D30> + <83DC> + <88C1> + <8F09> + <969B> + <5264> + <5728> + <6750> + <7F6A> + <8CA1> + <51B4> + <5742> + <962A> + <583A> + <698A> + <80B4> + <54B2> + <5D0E> + <57FC> + <7895> + <9DFA> + <4F5C> + <524A> + <548B> + <643E> + <6628> + <6714> + <67F5> + <7A84> + <7B56> +endbfchar + +100 beginbfchar + <7D22> + <932F> + <685C> + <9BAD> + <7B39> + <5319> + <518A> + <5237> + <5BDF> + <62F6> + <64AE> + <64E6> + <672D> + <6BBA> + <85A9> + <96D1> + <7690> + <9BD6> + <634C> + <9306> + <9BAB> + <76BF> + <6652> + <4E09> + <5098> + <53C2> + <5C71> + <60E8> + <6492> + <6563> + <685F> + <71E6> + <73CA> + <7523> + <7B97> + <7E82> + <8695> + <8B83> + <8CDB> + <9178> + <9910> + <65AC> + <66AB> + <6B8B> + <4ED5> + <4ED4> + <4F3A> + <4F7F> + <523A> + <53F8> + <53F2> + <55E3> + <56DB> + <58EB> + <59CB> + <59C9> + <59FF> + <5B50> + <5C4D> + <5E02> + <5E2B> + <5FD7> + <601D> + <6307> + <652F> + <5B5C> + <65AF> + <65BD> + <65E8> + <679D> + <6B62> + <6B7B> + <6C0F> + <7345> + <7949> + <79C1> + <7CF8> + <7D19> + <7D2B> + <80A2> + <8102> + <81F3> + <8996> + <8A5E> + <8A69> + <8A66> + <8A8C> + <8AEE> + <8CC7> + <8CDC> + <96CC> + <98FC> + <6B6F> + <4E8B> + <4F3C> + <4F8D> + <5150> + <5B57> + <5BFA> + <6148> +endbfchar + +100 beginbfchar + <6301> + <6642> + <6B21> + <6ECB> + <6CBB> + <723E> + <74BD> + <75D4> + <78C1> + <793A> + <800C> + <8033> + <81EA> + <8494> + <8F9E> + <6C50> + <9E7F> + <5F0F> + <8B58> + <9D2B> + <7AFA> + <8EF8> + <5B8D> + <96EB> + <4E03> + <53F1> + <57F7> + <5931> + <5AC9> + <5BA4> + <6089> + <6E7F> + <6F06> + <75BE> + <8CEA> + <5B9F> + <8500> + <7BE0> + <5072> + <67F4> + <829D> + <5C61> + <854A> + <7E1E> + <820E> + <5199> + <5C04> + <6368> + <8D66> + <659C> + <716E> + <793E> + <7D17> + <8005> + <8B1D> + <8ECA> + <906E> + <86C7> + <90AA> + <501F> + <52FA> + <5C3A> + <6753> + <707C> + <7235> + <914C> + <91C8> + <932B> + <82E5> + <5BC2> + <5F31> + <60F9> + <4E3B> + <53D6> + <5B88> + <624B> + <6731> + <6B8A> + <72E9> + <73E0> + <7A2E> + <816B> + <8DA3> + <9152> + <9996> + <5112> + <53D7> + <546A> + <5BFF> + <6388> + <6A39> + <7DAC> + <9700> + <56DA> + <53CE> + <5468> + <5B97> + <5C31> + <5DDE> + <4FEE> +endbfchar + +100 beginbfchar + <6101> + <62FE> + <6D32> + <79C0> + <79CB> + <7D42> + <7E4D> + <7FD2> + <81ED> + <821F> + <8490> + <8846> + <8972> + <8B90> + <8E74> + <8F2F> + <9031> + <914B> + <916C> + <96C6> + <919C> + <4EC0> + <4F4F> + <5145> + <5341> + <5F93> + <620E> + <67D4> + <6C41> + <6E0B> + <7363> + <7E26> + <91CD> + <9283> + <53D4> + <5919> + <5BBF> + <6DD1> + <795D> + <7E2E> + <7C9B> + <587E> + <719F> + <51FA> + <8853> + <8FF0> + <4FCA> + <5CFB> + <6625> + <77AC> + <7AE3> + <821C> + <99FF> + <51C6> + <5FAA> + <65EC> + <696F> + <6B89> + <6DF3> + <6E96> + <6F64> + <76FE> + <7D14> + <5DE1> + <9075> + <9187> + <9806> + <51E6> + <521D> + <6240> + <6691> + <66D9> + <6E1A> + <5EB6> + <7DD2> + <7F72> + <66F8> + <85AF> + <85F7> + <8AF8> + <52A9> + <53D9> + <5973> + <5E8F> + <5F90> + <6055> + <92E4> + <9664> + <50B7> + <511F> + <52DD> + <5320> + <5347> + <53EC> + <54E8> + <5546> + <5531> + <5617> + <5968> + <59BE> +endbfchar + +100 beginbfchar + <5A3C> + <5BB5> + <5C06> + <5C0F> + <5C11> + <5C1A> + <5E84> + <5E8A> + <5EE0> + <5F70> + <627F> + <6284> + <62DB> + <638C> + <6377> + <6607> + <660C> + <662D> + <6676> + <677E> + <68A2> + <6A1F> + <6A35> + <6CBC> + <6D88> + <6E09> + <6E58> + <713C> + <7126> + <7167> + <75C7> + <7701> + <785D> + <7901> + <7965> + <79F0> + <7AE0> + <7B11> + <7CA7> + <7D39> + <8096> + <83D6> + <848B> + <8549> + <885D> + <88F3> + <8A1F> + <8A3C> + <8A54> + <8A73> + <8C61> + <8CDE> + <91A4> + <9266> + <937E> + <9418> + <969C> + <9798> + <4E0A> + <4E08> + <4E1E> + <4E57> + <5197> + <5270> + <57CE> + <5834> + <58CC> + <5B22> + <5E38> + <60C5> + <64FE> + <6761> + <6756> + <6D44> + <72B6> + <7573> + <7A63> + <84B8> + <8B72> + <91B8> + <9320> + <5631> + <57F4> + <98FE> + <62ED> + <690D> + <6B96> + <71ED> + <7E54> + <8077> + <8272> + <89E6> + <98DF> + <8755> + <8FB1> + <5C3B> + <4F38> + <4FE1> + <4FB5> + <5507> +endbfchar + +100 beginbfchar + <5A20> + <5BDD> + <5BE9> + <5FC3> + <614E> + <632F> + <65B0> + <664B> + <68EE> + <699B> + <6D78> + <6DF1> + <7533> + <75B9> + <771F> + <795E> + <79E6> + <7D33> + <81E3> + <82AF> + <85AA> + <89AA> + <8A3A> + <8EAB> + <8F9B> + <9032> + <91DD> + <9707> + <4EBA> + <4EC1> + <5203> + <5875> + <58EC> + <5C0B> + <751A> + <5C3D> + <814E> + <8A0A> + <8FC5> + <9663> + <976D> + <7B25> + <8ACF> + <9808> + <9162> + <56F3> + <53A8> + <9017> + <5439> + <5782> + <5E25> + <63A8> + <6C34> + <708A> + <7761> + <7C8B> + <7FE0> + <8870> + <9042> + <9154> + <9310> + <9318> + <968F> + <745E> + <9AC4> + <5D07> + <5D69> + <6570> + <67A2> + <8DA8> + <96DB> + <636E> + <6749> + <6919> + <83C5> + <9817> + <96C0> + <88FE> + <6F84> + <647A> + <5BF8> + <4E16> + <702C> + <755D> + <662F> + <51C4> + <5236> + <52E2> + <59D3> + <5F81> + <6027> + <6210> + <653F> + <6574> + <661F> + <6674> + <68F2> + <6816> + <6B63> + <6E05> +endbfchar + +100 beginbfchar + <7272> + <751F> + <76DB> + <7CBE> + <8056> + <58F0> + <88FD> + <897F> + <8AA0> + <8A93> + <8ACB> + <901D> + <9192> + <9752> + <9759> + <6589> + <7A0E> + <8106> + <96BB> + <5E2D> + <60DC> + <621A> + <65A5> + <6614> + <6790> + <77F3> + <7A4D> + <7C4D> + <7E3E> + <810A> + <8CAC> + <8D64> + <8DE1> + <8E5F> + <78A9> + <5207> + <62D9> + <63A5> + <6442> + <6298> + <8A2D> + <7A83> + <7BC0> + <8AAC> + <96EA> + <7D76> + <820C> + <8749> + <4ED9> + <5148> + <5343> + <5360> + <5BA3> + <5C02> + <5C16> + <5DDD> + <6226> + <6247> + <64B0> + <6813> + <6834> + <6CC9> + <6D45> + <6D17> + <67D3> + <6F5C> + <714E> + <717D> + <65CB> + <7A7F> + <7BAD> + <7DDA> + <7E4A> + <7FA8> + <817A> + <821B> + <8239> + <85A6> + <8A6E> + <8CCE> + <8DF5> + <9078> + <9077> + <92AD> + <9291> + <9583> + <9BAE> + <524D> + <5584> + <6F38> + <7136> + <5168> + <7985> + <7E55> + <81B3> + <7CCE> + <564C> + <5851> + <5CA8> + <63AA> +endbfchar + +100 beginbfchar + <66FE> + <66FD> + <695A> + <72D9> + <758F> + <758E> + <790E> + <7956> + <79DF> + <7C97> + <7D20> + <7D44> + <8607> + <8A34> + <963B> + <9061> + <9F20> + <50E7> + <5275> + <53CC> + <53E2> + <5009> + <55AA> + <58EE> + <594F> + <723D> + <5B8B> + <5C64> + <531D> + <60E3> + <60F3> + <635C> + <6383> + <633F> + <63BB> + <64CD> + <65E9> + <66F9> + <5DE3> + <69CD> + <69FD> + <6F15> + <71E5> + <4E89> + <75E9> + <76F8> + <7A93> + <7CDF> + <7DCF> + <7D9C> + <8061> + <8349> + <8358> + <846C> + <84BC> + <85FB> + <88C5> + <8D70> + <9001> + <906D> + <9397> + <971C> + <9A12> + <50CF> + <5897> + <618E> + <81D3> + <8535> + <8D08> + <9020> + <4FC3> + <5074> + <5247> + <5373> + <606F> + <6349> + <675F> + <6E2C> + <8DB3> + <901F> + <4FD7> + <5C5E> + <8CCA> + <65CF> + <7D9A> + <5352> + <8896> + <5176> + <63C3> + <5B58> + <5B6B> + <5C0A> + <640D> + <6751> + <905C> + <4ED6> + <591A> + <592A> + <6C70> + <8A51> +endbfchar + +100 beginbfchar + <553E> + <5815> + <59A5> + <60F0> + <6253> + <67C1> + <8235> + <6955> + <9640> + <99C4> + <9A28> + <4F53> + <5806> + <5BFE> + <8010> + <5CB1> + <5E2F> + <5F85> + <6020> + <614B> + <6234> + <66FF> + <6CF0> + <6EDE> + <80CE> + <817F> + <82D4> + <888B> + <8CB8> + <9000> + <902E> + <968A> + <9EDB> + <9BDB> + <4EE3> + <53F0> + <5927> + <7B2C> + <918D> + <984C> + <9DF9> + <6EDD> + <7027> + <5353> + <5544> + <5B85> + <6258> + <629E> + <62D3> + <6CA2> + <6FEF> + <7422> + <8A17> + <9438> + <6FC1> + <8AFE> + <8338> + <51E7> + <86F8> + <53EA> + <53E9> + <4F46> + <9054> + <8FB0> + <596A> + <8131> + <5DFD> + <7AEA> + <8FBF> + <68DA> + <8C37> + <72F8> + <9C48> + <6A3D> + <8AB0> + <4E39> + <5358> + <5606> + <5766> + <62C5> + <63A2> + <65E6> + <6B4E> + <6DE1> + <6E5B> + <70AD> + <77ED> + <7AEF> + <7BAA> + <7DBB> + <803D> + <80C6> + <86CB> + <8A95> + <935B> + <56E3> + <58C7> + <5F3E> + <65AD> + <6696> +endbfchar + +100 beginbfchar + <6A80> + <6BB5> + <7537> + <8AC7> + <5024> + <77E5> + <5730> + <5F1B> + <6065> + <667A> + <6C60> + <75F4> + <7A1A> + <7F6E> + <81F4> + <8718> + <9045> + <99B3> + <7BC9> + <755C> + <7AF9> + <7B51> + <84C4> + <9010> + <79E9> + <7A92> + <8336> + <5AE1> + <7740> + <4E2D> + <4EF2> + <5B99> + <5FE0> + <62BD> + <663C> + <67F1> + <6CE8> + <866B> + <8877> + <8A3B> + <914E> + <92F3> + <99D0> + <6A17> + <7026> + <732A> + <82E7> + <8457> + <8CAF> + <4E01> + <5146> + <51CB> + <558B> + <5BF5> + <5E16> + <5E33> + <5E81> + <5F14> + <5F35> + <5F6B> + <5FB4> + <61F2> + <6311> + <66A2> + <671D> + <6F6E> + <7252> + <753A> + <773A> + <8074> + <8139> + <8178> + <8776> + <8ABF> + <8ADC> + <8D85> + <8DF3> + <929A> + <9577> + <9802> + <9CE5> + <52C5> + <6357> + <76F4> + <6715> + <6C88> + <73CD> + <8CC3> + <93AE> + <9673> + <6D25> + <589C> + <690E> + <69CC> + <8FFD> + <939A> + <75DB> + <901A> + <585A> + <6802> +endbfchar + +100 beginbfchar + <63B4> + <69FB> + <4F43> + <6F2C> + <67D8> + <8FBB> + <8526> + <7DB4> + <9354> + <693F> + <6F70> + <576A> + <58F7> + <5B2C> + <7D2C> + <722A> + <540A> + <91E3> + <9DB4> + <4EAD> + <4F4E> + <505C> + <5075> + <5243> + <8C9E> + <5448> + <5824> + <5B9A> + <5E1D> + <5E95> + <5EAD> + <5EF7> + <5F1F> + <608C> + <62B5> + <633A> + <63D0> + <68AF> + <6C40> + <7887> + <798E> + <7A0B> + <7DE0> + <8247> + <8A02> + <8AE6> + <8E44> + <9013> + <90B8> + <912D> + <91D8> + <9F0E> + <6CE5> + <6458> + <64E2> + <6575> + <6EF4> + <7684> + <7B1B> + <9069> + <93D1> + <6EBA> + <54F2> + <5FB9> + <64A4> + <8F4D> + <8FED> + <9244> + <5178> + <586B> + <5929> + <5C55> + <5E97> + <6DFB> + <7E8F> + <751C> + <8CBC> + <8EE2> + <985B> + <70B9> + <4F1D> + <6BBF> + <6FB1> + <7530> + <96FB> + <514E> + <5410> + <5835> + <5857> + <59AC> + <5C60> + <5F92> + <6597> + <675C> + <6E21> + <767B> + <83DF> + <8CED> + <9014> + <90FD> +endbfchar + +100 beginbfchar + <934D> + <7825> + <783A> + <52AA> + <5EA6> + <571F> + <5974> + <6012> + <5012> + <515A> + <51AC> + <51CD> + <5200> + <5510> + <5854> + <5858> + <5957> + <5B95> + <5CF6> + <5D8B> + <60BC> + <6295> + <642D> + <6771> + <6843> + <68BC> + <68DF> + <76D7> + <6DD8> + <6E6F> + <6D9B> + <706F> + <71C8> + <5F53> + <75D8> + <7977> + <7B49> + <7B54> + <7B52> + <7CD6> + <7D71> + <5230> + <8463> + <8569> + <85E4> + <8A0E> + <8B04> + <8C46> + <8E0F> + <9003> + <900F> + <9419> + <9676> + <982D> + <9A30> + <95D8> + <50CD> + <52D5> + <540C> + <5802> + <5C0E> + <61A7> + <649E> + <6D1E> + <77B3> + <7AE5> + <80F4> + <8404> + <9053> + <9285> + <5CE0> + <9D07> + <533F> + <5F97> + <5FB3> + <6D9C> + <7279> + <7763> + <79BF> + <7BE4> + <6BD2> + <72EC> + <8AAD> + <6803> + <6A61> + <51F8> + <7A81> + <6934> + <5C4A> + <9CF6> + <82EB> + <5BC5> + <9149> + <701E> + <5678> + <5C6F> + <60C7> + <6566> + <6C8C> + <8C5A> +endbfchar + +100 beginbfchar + <9041> + <9813> + <5451> + <66C7> + <920D> + <5948> + <90A3> + <5185> + <4E4D> + <51EA> + <8599> + <8B0E> + <7058> + <637A> + <934B> + <6962> + <99B4> + <7E04> + <7577> + <5357> + <6960> + <8EDF> + <96E3> + <6C5D> + <4E8C> + <5C3C> + <5F10> + <8FE9> + <5302> + <8CD1> + <8089> + <8679> + <5EFF> + <65E5> + <4E73> + <5165> + <5982> + <5C3F> + <97EE> + <4EFB> + <598A> + <5FCD> + <8A8D> + <6FE1> + <79B0> + <7962> + <5BE7> + <8471> + <732B> + <71B1> + <5E74> + <5FF5> + <637B> + <649A> + <71C3> + <7C98> + <4E43> + <5EFC> + <4E4B> + <57DC> + <56A2> + <60A9> + <6FC3> + <7D0D> + <80FD> + <8133> + <81BF> + <8FB2> + <8997> + <86A4> + <5DF4> + <628A> + <64AD> + <8987> + <6777> + <6CE2> + <6D3E> + <7436> + <7834> + <5A46> + <7F75> + <82AD> + <99AC> + <4FF3> + <5EC3> + <62DD> + <6392> + <6557> + <676F> + <76C3> + <724C> + <80CC> + <80BA> + <8F29> + <914D> + <500D> + <57F9> + <5A92> + <6885> + <6973> +endbfchar + +100 beginbfchar + <7164> + <72FD> + <8CB7> + <58F2> + <8CE0> + <966A> + <9019> + <877F> + <79E4> + <77E7> + <8429> + <4F2F> + <5265> + <535A> + <62CD> + <67CF> + <6CCA> + <767D> + <7B94> + <7C95> + <8236> + <8584> + <8FEB> + <66DD> + <6F20> + <7206> + <7E1B> + <83AB> + <99C1> + <9EA6> + <51FD> + <7BB1> + <7872> + <7BB8> + <8087> + <7B48> + <6AE8> + <5E61> + <808C> + <7551> + <7560> + <516B> + <9262> + <6E8C> + <767A> + <9197> + <9AEA> + <4F10> + <7F70> + <629C> + <7B4F> + <95A5> + <9CE9> + <567A> + <5859> + <86E4> + <96BC> + <4F34> + <5224> + <534A> + <53CD> + <53DB> + <5E06> + <642C> + <6591> + <677F> + <6C3E> + <6C4E> + <7248> + <72AF> + <73ED> + <7554> + <7E41> + <822C> + <85E9> + <8CA9> + <7BC4> + <91C6> + <7169> + <9812> + <98EF> + <633D> + <6669> + <756A> + <76E4> + <78D0> + <8543> + <86EE> + <532A> + <5351> + <5426> + <5983> + <5E87> + <5F7C> + <60B2> + <6249> + <6279> + <62AB> + <6590> + <6BD4> +endbfchar + +100 beginbfchar + <6CCC> + <75B2> + <76AE> + <7891> + <79D8> + <7DCB> + <7F77> + <80A5> + <88AB> + <8AB9> + <8CBB> + <907F> + <975E> + <98DB> + <6A0B> + <7C38> + <5099> + <5C3E> + <5FAE> + <6787> + <6BD8> + <7435> + <7709> + <7F8E> + <9F3B> + <67CA> + <7A17> + <5339> + <758B> + <9AED> + <5F66> + <819D> + <83F1> + <8098> + <5F3C> + <5FC5> + <7562> + <7B46> + <903C> + <6867> + <59EB> + <5A9B> + <7D10> + <767E> + <8B2C> + <4FF5> + <5F6A> + <6A19> + <6C37> + <6F02> + <74E2> + <7968> + <8868> + <8A55> + <8C79> + <5EDF> + <63CF> + <75C5> + <79D2> + <82D7> + <9328> + <92F2> + <849C> + <86ED> + <9C2D> + <54C1> + <5F6C> + <658C> + <6D5C> + <7015> + <8CA7> + <8CD3> + <983B> + <654F> + <74F6> + <4E0D> + <4ED8> + <57E0> + <592B> + <5A66> + <5BCC> + <51A8> + <5E03> + <5E9C> + <6016> + <6276> + <6577> + <65A7> + <666E> + <6D6E> + <7236> + <7B26> + <8150> + <819A> + <8299> + <8B5C> + <8CA0> + <8CE6> + <8D74> + <961C> +endbfchar + +100 beginbfchar + <9644> + <4FAE> + <64AB> + <6B66> + <821E> + <8461> + <856A> + <90E8> + <5C01> + <6953> + <98A8> + <847A> + <8557> + <4F0F> + <526F> + <5FA9> + <5E45> + <670D> + <798F> + <8179> + <8907> + <8986> + <6DF5> + <5F17> + <6255> + <6CB8> + <4ECF> + <7269> + <9B92> + <5206> + <543B> + <5674> + <58B3> + <61A4> + <626E> + <711A> + <596E> + <7C89> + <7CDE> + <7D1B> + <96F0> + <6587> + <805E> + <4E19> + <4F75> + <5175> + <5840> + <5E63> + <5E73> + <5F0A> + <67C4> + <4E26> + <853D> + <9589> + <965B> + <7C73> + <9801> + <50FB> + <58C1> + <7656> + <78A7> + <5225> + <77A5> + <8511> + <7B86> + <504F> + <5909> + <7247> + <7BC7> + <7DE8> + <8FBA> + <8FD4> + <904D> + <4FBF> + <52C9> + <5A29> + <5F01> + <97AD> + <4FDD> + <8217> + <92EA> + <5703> + <6355> + <6B69> + <752B> + <88DC> + <8F14> + <7A42> + <52DF> + <5893> + <6155> + <620A> + <66AE> + <6BCD> + <7C3F> + <83E9> + <5023> + <4FF8> + <5305> + <5446> +endbfchar + +100 beginbfchar + <5831> + <5949> + <5B9D> + <5CF0> + <5CEF> + <5D29> + <5E96> + <62B1> + <6367> + <653E> + <65B9> + <670B> + <6CD5> + <6CE1> + <70F9> + <7832> + <7E2B> + <80DE> + <82B3> + <840C> + <84EC> + <8702> + <8912> + <8A2A> + <8C4A> + <90A6> + <92D2> + <98FD> + <9CF3> + <9D6C> + <4E4F> + <4EA1> + <508D> + <5256> + <574A> + <59A8> + <5E3D> + <5FD8> + <5FD9> + <623F> + <66B4> + <671B> + <67D0> + <68D2> + <5192> + <7D21> + <80AA> + <81A8> + <8B00> + <8C8C> + <8CBF> + <927E> + <9632> + <5420> + <982C> + <5317> + <50D5> + <535C> + <58A8> + <64B2> + <6734> + <7267> + <7766> + <7A46> + <91E6> + <52C3> + <6CA1> + <6B86> + <5800> + <5E4C> + <5954> + <672C> + <7FFB> + <51E1> + <76C6> + <6469> + <78E8> + <9B54> + <9EBB> + <57CB> + <59B9> + <6627> + <679A> + <6BCE> + <54E9> + <69D9> + <5E55> + <819C> + <6795> + <9BAA> + <67FE> + <9C52> + <685D> + <4EA6> + <4FE3> + <53C8> + <62B9> + <672B> + <6CAB> + <8FC4> +endbfchar + +100 beginbfchar + <4FAD> + <7E6D> + <9EBF> + <4E07> + <6162> + <6E80> + <6F2B> + <8513> + <5473> + <672A> + <9B45> + <5DF3> + <7B95> + <5CAC> + <5BC6> + <871C> + <6E4A> + <84D1> + <7A14> + <8108> + <5999> + <7C8D> + <6C11> + <7720> + <52D9> + <5922> + <7121> + <725F> + <77DB> + <9727> + <9D61> + <690B> + <5A7F> + <5A18> + <51A5> + <540D> + <547D> + <660E> + <76DF> + <8FF7> + <9298> + <9CF4> + <59EA> + <725D> + <6EC5> + <514D> + <68C9> + <7DBF> + <7DEC> + <9762> + <9EBA> + <6478> + <6A21> + <8302> + <5984> + <5B5F> + <6BDB> + <731B> + <76F2> + <7DB2> + <8017> + <8499> + <5132> + <6728> + <9ED9> + <76EE> + <6762> + <52FF> + <9905> + <5C24> + <623B> + <7C7E> + <8CB0> + <554F> + <60B6> + <7D0B> + <9580> + <5301> + <4E5F> + <51B6> + <591C> + <723A> + <8036> + <91CE> + <5F25> + <77E2> + <5384> + <5F79> + <7D04> + <85AC> + <8A33> + <8E8D> + <9756> + <67F3> + <85AE> + <9453> + <6109> + <6108> + <6CB9> + <7652> +endbfchar + +100 beginbfchar + <8AED> + <8F38> + <552F> + <4F51> + <512A> + <52C7> + <53CB> + <5BA5> + <5E7D> + <60A0> + <6182> + <63D6> + <6709> + <67DA> + <6E67> + <6D8C> + <7336> + <7337> + <7531> + <7950> + <88D5> + <8A98> + <904A> + <9091> + <90F5> + <96C4> + <878D> + <5915> + <4E88> + <4F59> + <4E0E> + <8A89> + <8F3F> + <9810> + <50AD> + <5E7C> + <5996> + <5BB9> + <5EB8> + <63DA> + <63FA> + <64C1> + <66DC> + <694A> + <69D8> + <6D0B> + <6EB6> + <7194> + <7528> + <7AAF> + <7F8A> + <8000> + <8449> + <84C9> + <8981> + <8B21> + <8E0A> + <9065> + <967D> + <990A> + <617E> + <6291> + <6B32> + <6C83> + <6D74> + <7FCC> + <7FFC> + <6DC0> + <7F85> + <87BA> + <88F8> + <6765> + <83B1> + <983C> + <96F7> + <6D1B> + <7D61> + <843D> + <916A> + <4E71> + <5375> + <5D50> + <6B04> + <6FEB> + <85CD> + <862D> + <89A7> + <5229> + <540F> + <5C65> + <674E> + <68A8> + <7406> + <7483> + <75E2> + <88CF> + <88E1> + <91CC> + <96E2> + <9678> +endbfchar + +100 beginbfchar + <5F8B> + <7387> + <7ACB> + <844E> + <63A0> + <7565> + <5289> + <6D41> + <6E9C> + <7409> + <7559> + <786B> + <7C92> + <9686> + <7ADC> + <9F8D> + <4FB6> + <616E> + <65C5> + <865C> + <4E86> + <4EAE> + <50DA> + <4E21> + <51CC> + <5BEE> + <6599> + <6881> + <6DBC> + <731F> + <7642> + <77AD> + <7A1C> + <7CE7> + <826F> + <8AD2> + <907C> + <91CF> + <9675> + <9818> + <529B> + <7DD1> + <502B> + <5398> + <6797> + <6DCB> + <71D0> + <7433> + <81E8> + <8F2A> + <96A3> + <9C57> + <9E9F> + <7460> + <5841> + <6D99> + <7D2F> + <985E> + <4EE4> + <4F36> + <4F8B> + <51B7> + <52B1> + <5DBA> + <601C> + <73B2> + <793C> + <82D3> + <9234> + <96B7> + <96F6> + <970A> + <9E97> + <9F62> + <66A6> + <6B74> + <5217> + <52A3> + <70C8> + <88C2> + <5EC9> + <604B> + <6190> + <6F23> + <7149> + <7C3E> + <7DF4> + <806F> + <84EE> + <9023> + <932C> + <5442> + <9B6F> + <6AD3> + <7089> + <8CC2> + <8DEF> + <9732> + <52B4> + <5A41> +endbfchar + +100 beginbfchar + <5ECA> + <5F04> + <6717> + <697C> + <6994> + <6D6A> + <6F0F> + <7262> + <72FC> + <7BED> + <8001> + <807E> + <874B> + <90CE> + <516D> + <9E93> + <7984> + <808B> + <9332> + <8AD6> + <502D> + <548C> + <8A71> + <6B6A> + <8CC4> + <8107> + <60D1> + <67A0> + <9DF2> + <4E99> + <4E98> + <9C10> + <8A6B> + <85C1> + <8568> + <6900> + <6E7E> + <7897> + <8155> + <5F0C> + <4E10> + <4E15> + <4E2A> + <4E31> + <4E36> + <4E3C> + <4E3F> + <4E42> + <4E56> + <4E58> + <4E82> + <4E85> + <8C6B> + <4E8A> + <8212> + <5F0D> + <4E8E> + <4E9E> + <4E9F> + <4EA0> + <4EA2> + <4EB0> + <4EB3> + <4EB6> + <4ECE> + <4ECD> + <4EC4> + <4EC6> + <4EC2> + <4ED7> + <4EDE> + <4EED> + <4EDF> + <4EF7> + <4F09> + <4F5A> + <4F30> + <4F5B> + <4F5D> + <4F57> + <4F47> + <4F76> + <4F88> + <4F8F> + <4F98> + <4F7B> + <4F69> + <4F70> + <4F91> + <4F6F> + <4F86> + <4F96> + <5118> + <4FD4> + <4FDF> + <4FCE> + <4FD8> + <4FDB> + <4FD1> + <4FDA> +endbfchar + +100 beginbfchar + <4FD0> + <4FE4> + <4FE5> + <501A> + <5028> + <5014> + <502A> + <5025> + <5005> + <4F1C> + <4FF6> + <5021> + <5029> + <502C> + <4FFE> + <4FEF> + <5011> + <5006> + <5043> + <5047> + <6703> + <5055> + <5050> + <5048> + <505A> + <5056> + <506C> + <5078> + <5080> + <509A> + <5085> + <50B4> + <50B2> + <50C9> + <50CA> + <50B3> + <50C2> + <50D6> + <50DE> + <50E5> + <50ED> + <50E3> + <50EE> + <50F9> + <50F5> + <5109> + <5101> + <5102> + <5116> + <5115> + <5114> + <511A> + <5121> + <513A> + <5137> + <513C> + <513B> + <513F> + <5140> + <5152> + <514C> + <5154> + <5162> + <7AF8> + <5169> + <516A> + <516E> + <5180> + <5182> + <56D8> + <518C> + <5189> + <518F> + <5191> + <5193> + <5195> + <5196> + <51A4> + <51A6> + <51A2> + <51A9> + <51AA> + <51AB> + <51B3> + <51B1> + <51B2> + <51B0> + <51B5> + <51BD> + <51C5> + <51C9> + <51DB> + <51E0> + <8655> + <51E9> + <51ED> + <51F0> + <51F5> + <51FE> + <5204> +endbfchar + +100 beginbfchar + <520B> + <5214> + <520E> + <5227> + <522A> + <522E> + <5233> + <5239> + <524F> + <5244> + <524B> + <524C> + <525E> + <5254> + <526A> + <5274> + <5269> + <5273> + <527F> + <527D> + <528D> + <5294> + <5292> + <5271> + <5288> + <5291> + <8FA8> + <8FA7> + <52AC> + <52AD> + <52BC> + <52B5> + <52C1> + <52CD> + <52D7> + <52DE> + <52E3> + <52E6> + <98ED> + <52E0> + <52F3> + <52F5> + <52F8> + <52F9> + <5306> + <5308> + <7538> + <530D> + <5310> + <530F> + <5315> + <531A> + <5323> + <532F> + <5331> + <5333> + <5338> + <5340> + <5346> + <5345> + <4E17> + <5349> + <534D> + <51D6> + <535E> + <5369> + <536E> + <5918> + <537B> + <5377> + <5382> + <5396> + <53A0> + <53A6> + <53A5> + <53AE> + <53B0> + <53B6> + <53C3> + <7C12> + <96D9> + <53DF> + <66FC> + <71EE> + <53EE> + <53E8> + <53ED> + <53FA> + <5401> + <543D> + <5440> + <542C> + <542D> + <543C> + <542E> + <5436> + <5429> + <541D> + <544E> + <548F> +endbfchar + +100 beginbfchar + <5475> + <548E> + <545F> + <5471> + <5477> + <5470> + <5492> + <547B> + <5480> + <5476> + <5484> + <5490> + <5486> + <54C7> + <54A2> + <54B8> + <54A5> + <54AC> + <54C4> + <54C8> + <54A8> + <54AB> + <54C2> + <54A4> + <54BE> + <54BC> + <54D8> + <54E5> + <54E6> + <550F> + <5514> + <54FD> + <54EE> + <54ED> + <54FA> + <54E2> + <5539> + <5540> + <5563> + <554C> + <552E> + <555C> + <5545> + <5556> + <5557> + <5538> + <5533> + <555D> + <5599> + <5580> + <54AF> + <558A> + <559F> + <557B> + <557E> + <5598> + <559E> + <55AE> + <557C> + <5583> + <55A9> + <5587> + <55A8> + <55DA> + <55C5> + <55DF> + <55C4> + <55DC> + <55E4> + <55D4> + <5614> + <55F7> + <5616> + <55FE> + <55FD> + <561B> + <55F9> + <564E> + <5650> + <71DF> + <5634> + <5636> + <5632> + <5638> + <566B> + <5664> + <562F> + <566C> + <566A> + <5686> + <5680> + <568A> + <56A0> + <5694> + <568F> + <56A5> + <56AE> + <56B6> + <56B4> + <56C2> +endbfchar + +100 beginbfchar + <56BC> + <56C1> + <56C3> + <56C0> + <56C8> + <56CE> + <56D1> + <56D3> + <56D7> + <56EE> + <56F9> + <5700> + <56FF> + <5704> + <5709> + <5708> + <570B> + <570D> + <5713> + <5718> + <5716> + <55C7> + <571C> + <5726> + <5737> + <5738> + <574E> + <573B> + <5740> + <574F> + <5769> + <57C0> + <5788> + <5761> + <577F> + <5789> + <5793> + <57A0> + <57B3> + <57A4> + <57AA> + <57B0> + <57C3> + <57C6> + <57D4> + <57D2> + <57D3> + <580A> + <57D6> + <57E3> + <580B> + <5819> + <581D> + <5872> + <5821> + <5862> + <584B> + <5870> + <6BC0> + <5852> + <583D> + <5879> + <5885> + <58B9> + <589F> + <58AB> + <58BA> + <58DE> + <58BB> + <58B8> + <58AE> + <58C5> + <58D3> + <58D1> + <58D7> + <58D9> + <58D8> + <58E5> + <58DC> + <58E4> + <58DF> + <58EF> + <58FA> + <58F9> + <58FB> + <58FC> + <58FD> + <5902> + <590A> + <5910> + <591B> + <68A6> + <5925> + <592C> + <592D> + <5932> + <5938> + <593E> + <7AD2> + <5955> +endbfchar + +100 beginbfchar + <5950> + <594E> + <595A> + <5958> + <5962> + <5960> + <5967> + <596C> + <5969> + <5978> + <5981> + <599D> + <4F5E> + <4FAB> + <59A3> + <59B2> + <59C6> + <59E8> + <59DC> + <598D> + <59D9> + <59DA> + <5A25> + <5A1F> + <5A11> + <5A1C> + <5A09> + <5A1A> + <5A40> + <5A6C> + <5A49> + <5A35> + <5A36> + <5A62> + <5A6A> + <5A9A> + <5ABC> + <5ABE> + <5ACB> + <5AC2> + <5ABD> + <5AE3> + <5AD7> + <5AE6> + <5AE9> + <5AD6> + <5AFA> + <5AFB> + <5B0C> + <5B0B> + <5B16> + <5B32> + <5AD0> + <5B2A> + <5B36> + <5B3E> + <5B43> + <5B45> + <5B40> + <5B51> + <5B55> + <5B5A> + <5B5B> + <5B65> + <5B69> + <5B70> + <5B73> + <5B75> + <5B78> + <6588> + <5B7A> + <5B80> + <5B83> + <5BA6> + <5BB8> + <5BC3> + <5BC7> + <5BC9> + <5BD4> + <5BD0> + <5BE4> + <5BE6> + <5BE2> + <5BDE> + <5BE5> + <5BEB> + <5BF0> + <5BF6> + <5BF3> + <5C05> + <5C07> + <5C08> + <5C0D> + <5C13> + <5C20> + <5C22> + <5C28> + <5C38> + <5C39> + <5C41> +endbfchar + +100 beginbfchar + <5C46> + <5C4E> + <5C53> + <5C50> + <5C4F> + <5B71> + <5C6C> + <5C6E> + <4E62> + <5C76> + <5C79> + <5C8C> + <5C91> + <5C94> + <599B> + <5CAB> + <5CBB> + <5CB6> + <5CBC> + <5CB7> + <5CC5> + <5CBE> + <5CC7> + <5CD9> + <5CE9> + <5CFD> + <5CFA> + <5CED> + <5D8C> + <5CEA> + <5D0B> + <5D15> + <5D17> + <5D5C> + <5D1F> + <5D1B> + <5D11> + <5D14> + <5D22> + <5D1A> + <5D19> + <5D18> + <5D4C> + <5D52> + <5D4E> + <5D4B> + <5D6C> + <5D73> + <5D76> + <5D87> + <5D84> + <5D82> + <5DA2> + <5D9D> + <5DAC> + <5DAE> + <5DBD> + <5D90> + <5DB7> + <5DBC> + <5DC9> + <5DCD> + <5DD3> + <5DD2> + <5DD6> + <5DDB> + <5DEB> + <5DF2> + <5DF5> + <5E0B> + <5E1A> + <5E19> + <5E11> + <5E1B> + <5E36> + <5E37> + <5E44> + <5E43> + <5E40> + <5E4E> + <5E57> + <5E54> + <5E5F> + <5E62> + <5E64> + <5E47> + <5E75> + <5E76> + <5E7A> + <9EBC> + <5E7F> + <5EA0> + <5EC1> + <5EC2> + <5EC8> + <5ED0> + <5ECF> + <5ED6> + <5EE3> + <5EDD> +endbfchar + +100 beginbfchar + <5EDA> + <5EDB> + <5EE2> + <5EE1> + <5EE8> + <5EE9> + <5EEC> + <5EF1> + <5EF3> + <5EF0> + <5EF4> + <5EF8> + <5EFE> + <5F03> + <5F09> + <5F5D> + <5F5C> + <5F0B> + <5F11> + <5F16> + <5F29> + <5F2D> + <5F38> + <5F41> + <5F48> + <5F4C> + <5F4E> + <5F2F> + <5F51> + <5F56> + <5F57> + <5F59> + <5F61> + <5F6D> + <5F73> + <5F77> + <5F83> + <5F82> + <5F7F> + <5F8A> + <5F88> + <5F91> + <5F87> + <5F9E> + <5F99> + <5F98> + <5FA0> + <5FA8> + <5FAD> + <5FBC> + <5FD6> + <5FFB> + <5FE4> + <5FF8> + <5FF1> + <5FDD> + <60B3> + <5FFF> + <6021> + <6060> + <6019> + <6010> + <6029> + <600E> + <6031> + <601B> + <6015> + <602B> + <6026> + <600F> + <603A> + <605A> + <6041> + <606A> + <6077> + <605F> + <604A> + <6046> + <604D> + <6063> + <6043> + <6064> + <6042> + <606C> + <606B> + <6059> + <6081> + <608D> + <60E7> + <6083> + <609A> + <6084> + <609B> + <6096> + <6097> + <6092> + <60A7> + <608B> + <60E1> + <60B8> +endbfchar + +100 beginbfchar + <60E0> + <60D3> + <60B4> + <5FF0> + <60BD> + <60C6> + <60B5> + <60D8> + <614D> + <6115> + <6106> + <60F6> + <60F7> + <6100> + <60F4> + <60FA> + <6103> + <6121> + <60FB> + <60F1> + <610D> + <610E> + <6147> + <613E> + <6128> + <6127> + <614A> + <613F> + <613C> + <612C> + <6134> + <613D> + <6142> + <6144> + <6173> + <6177> + <6158> + <6159> + <615A> + <616B> + <6174> + <616F> + <6165> + <6171> + <615F> + <615D> + <6153> + <6175> + <6199> + <6196> + <6187> + <61AC> + <6194> + <619A> + <618A> + <6191> + <61AB> + <61AE> + <61CC> + <61CA> + <61C9> + <61F7> + <61C8> + <61C3> + <61C6> + <61BA> + <61CB> + <7F79> + <61CD> + <61E6> + <61E3> + <61F6> + <61FA> + <61F4> + <61FF> + <61FD> + <61FC> + <61FE> + <6200> + <6208> + <6209> + <620D> + <620C> + <6214> + <621B> + <621E> + <6221> + <622A> + <622E> + <6230> + <6232> + <6233> + <6241> + <624E> + <625E> + <6263> + <625B> + <6260> + <6268> + <627C> +endbfchar + +100 beginbfchar + <6282> + <6289> + <627E> + <6292> + <6293> + <6296> + <62D4> + <6283> + <6294> + <62D7> + <62D1> + <62BB> + <62CF> + <62FF> + <62C6> + <64D4> + <62C8> + <62DC> + <62CC> + <62CA> + <62C2> + <62C7> + <629B> + <62C9> + <630C> + <62EE> + <62F1> + <6327> + <6302> + <6308> + <62EF> + <62F5> + <6350> + <633E> + <634D> + <641C> + <634F> + <6396> + <638E> + <6380> + <63AB> + <6376> + <63A3> + <638F> + <6389> + <639F> + <63B5> + <636B> + <6369> + <63BE> + <63E9> + <63C0> + <63C6> + <63E3> + <63C9> + <63D2> + <63F6> + <63C4> + <6416> + <6434> + <6406> + <6413> + <6426> + <6436> + <651D> + <6417> + <6428> + <640F> + <6467> + <646F> + <6476> + <644E> + <652A> + <6495> + <6493> + <64A5> + <64A9> + <6488> + <64BC> + <64DA> + <64D2> + <64C5> + <64C7> + <64BB> + <64D8> + <64C2> + <64F1> + <64E7> + <8209> + <64E0> + <64E1> + <62AC> + <64E3> + <64EF> + <652C> + <64F6> + <64F4> + <64F2> + <64FA> + <6500> +endbfchar + +100 beginbfchar + <64FD> + <6518> + <651C> + <6505> + <6524> + <6523> + <652B> + <6534> + <6535> + <6537> + <6536> + <6538> + <754B> + <6548> + <6556> + <6555> + <654D> + <6558> + <655E> + <655D> + <6572> + <6578> + <6582> + <6583> + <8B8A> + <659B> + <659F> + <65AB> + <65B7> + <65C3> + <65C6> + <65C1> + <65C4> + <65CC> + <65D2> + <65DB> + <65D9> + <65E0> + <65E1> + <65F1> + <6772> + <660A> + <6603> + <65FB> + <6773> + <6635> + <6636> + <6634> + <661C> + <664F> + <6644> + <6649> + <6641> + <665E> + <665D> + <6664> + <6667> + <6668> + <665F> + <6662> + <6670> + <6683> + <6688> + <668E> + <6689> + <6684> + <6698> + <669D> + <66C1> + <66B9> + <66C9> + <66BE> + <66BC> + <66C4> + <66B8> + <66D6> + <66DA> + <66E0> + <663F> + <66E6> + <66E9> + <66F0> + <66F5> + <66F7> + <670F> + <6716> + <671E> + <6726> + <6727> + <9738> + <672E> + <673F> + <6736> + <6741> + <6738> + <6737> + <6746> + <675E> + <6760> + <6759> +endbfchar + +100 beginbfchar + <6763> + <6764> + <6789> + <6770> + <67A9> + <677C> + <676A> + <678C> + <678B> + <67A6> + <67A1> + <6785> + <67B7> + <67EF> + <67B4> + <67EC> + <67B3> + <67E9> + <67B8> + <67E4> + <67DE> + <67DD> + <67E2> + <67EE> + <67B9> + <67CE> + <67C6> + <67E7> + <6A9C> + <681E> + <6846> + <6829> + <6840> + <684D> + <6832> + <684E> + <68B3> + <682B> + <6859> + <6863> + <6877> + <687F> + <689F> + <688F> + <68AD> + <6894> + <689D> + <689B> + <6883> + <6AAE> + <68B9> + <6874> + <68B5> + <68A0> + <68BA> + <690F> + <688D> + <687E> + <6901> + <68CA> + <6908> + <68D8> + <6922> + <6926> + <68E1> + <690C> + <68CD> + <68D4> + <68E7> + <68D5> + <6936> + <6912> + <6904> + <68D7> + <68E3> + <6925> + <68F9> + <68E0> + <68EF> + <6928> + <692A> + <691A> + <6923> + <6921> + <68C6> + <6979> + <6977> + <695C> + <6978> + <696B> + <6954> + <697E> + <696E> + <6939> + <6974> + <693D> + <6959> + <6930> + <6961> + <695E> +endbfchar + +100 beginbfchar + <695D> + <6981> + <696A> + <69B2> + <69AE> + <69D0> + <69BF> + <69C1> + <69D3> + <69BE> + <69CE> + <5BE8> + <69CA> + <69DD> + <69BB> + <69C3> + <69A7> + <6A2E> + <6991> + <69A0> + <699C> + <6995> + <69B4> + <69DE> + <69E8> + <6A02> + <6A1B> + <69FF> + <6B0A> + <69F9> + <69F2> + <69E7> + <6A05> + <69B1> + <6A1E> + <69ED> + <6A14> + <69EB> + <6A0A> + <6A12> + <6AC1> + <6A23> + <6A13> + <6A44> + <6A0C> + <6A72> + <6A36> + <6A78> + <6A47> + <6A62> + <6A59> + <6A66> + <6A48> + <6A38> + <6A22> + <6A90> + <6A8D> + <6AA0> + <6A84> + <6AA2> + <6AA3> + <6A97> + <8617> + <6ABB> + <6AC3> + <6AC2> + <6AB8> + <6AB3> + <6AAC> + <6ADE> + <6AD1> + <6ADF> + <6AAA> + <6ADA> + <6AEA> + <6AFB> + <6B05> + <8616> + <6AFA> + <6B12> + <6B16> + <9B31> + <6B1F> + <6B38> + <6B37> + <76DC> + <6B39> + <98EE> + <6B47> + <6B43> + <6B49> + <6B50> + <6B59> + <6B54> + <6B5B> + <6B5F> + <6B61> + <6B78> + <6B79> + <6B7F> +endbfchar + +100 beginbfchar + <6B80> + <6B84> + <6B83> + <6B8D> + <6B98> + <6B95> + <6B9E> + <6BA4> + <6BAA> + <6BAB> + <6BAF> + <6BB2> + <6BB1> + <6BB3> + <6BB7> + <6BBC> + <6BC6> + <6BCB> + <6BD3> + <6BDF> + <6BEC> + <6BEB> + <6BF3> + <6BEF> + <9EBE> + <6C08> + <6C13> + <6C14> + <6C1B> + <6C24> + <6C23> + <6C5E> + <6C55> + <6C62> + <6C6A> + <6C82> + <6C8D> + <6C9A> + <6C81> + <6C9B> + <6C7E> + <6C68> + <6C73> + <6C92> + <6C90> + <6CC4> + <6CF1> + <6CD3> + <6CBD> + <6CD7> + <6CC5> + <6CDD> + <6CAE> + <6CB1> + <6CBE> + <6CBA> + <6CDB> + <6CEF> + <6CD9> + <6CEA> + <6D1F> + <884D> + <6D36> + <6D2B> + <6D3D> + <6D38> + <6D19> + <6D35> + <6D33> + <6D12> + <6D0C> + <6D63> + <6D93> + <6D64> + <6D5A> + <6D79> + <6D59> + <6D8E> + <6D95> + <6FE4> + <6D85> + <6DF9> + <6E15> + <6E0A> + <6DB5> + <6DC7> + <6DE6> + <6DB8> + <6DC6> + <6DEC> + <6DDE> + <6DCC> + <6DE8> + <6DD2> + <6DC5> + <6DFA> + <6DD9> + <6DE4> + <6DD5> + <6DEA> +endbfchar + +100 beginbfchar + <6DEE> + <6E2D> + <6E6E> + <6E2E> + <6E19> + <6E72> + <6E5F> + <6E3E> + <6E23> + <6E6B> + <6E2B> + <6E76> + <6E4D> + <6E1F> + <6E43> + <6E3A> + <6E4E> + <6E24> + <6EFF> + <6E1D> + <6E38> + <6E82> + <6EAA> + <6E98> + <6EC9> + <6EB7> + <6ED3> + <6EBD> + <6EAF> + <6EC4> + <6EB2> + <6ED4> + <6ED5> + <6E8F> + <6EA5> + <6EC2> + <6E9F> + <6F41> + <6F11> + <704C> + <6EEC> + <6EF8> + <6EFE> + <6F3F> + <6EF2> + <6F31> + <6EEF> + <6F32> + <6ECC> + <6F3E> + <6F13> + <6EF7> + <6F86> + <6F7A> + <6F78> + <6F81> + <6F80> + <6F6F> + <6F5B> + <6FF3> + <6F6D> + <6F82> + <6F7C> + <6F58> + <6F8E> + <6F91> + <6FC2> + <6F66> + <6FB3> + <6FA3> + <6FA1> + <6FA4> + <6FB9> + <6FC6> + <6FAA> + <6FDF> + <6FD5> + <6FEC> + <6FD4> + <6FD8> + <6FF1> + <6FEE> + <6FDB> + <7009> + <700B> + <6FFA> + <7011> + <7001> + <700F> + <6FFE> + <701B> + <701A> + <6F74> + <701D> + <7018> + <701F> + <7030> + <703E> + <7032> + <7051> +endbfchar + +100 beginbfchar + <7063> + <7099> + <7092> + <70AF> + <70F1> + <70AC> + <70B8> + <70B3> + <70AE> + <70DF> + <70CB> + <70DD> + <70D9> + <7109> + <70FD> + <711C> + <7119> + <7165> + <7155> + <7188> + <7166> + <7162> + <714C> + <7156> + <716C> + <718F> + <71FB> + <7184> + <7195> + <71A8> + <71AC> + <71D7> + <71B9> + <71BE> + <71D2> + <71C9> + <71D4> + <71CE> + <71E0> + <71EC> + <71E7> + <71F5> + <71FC> + <71F9> + <71FF> + <720D> + <7210> + <721B> + <7228> + <722D> + <722C> + <7230> + <7232> + <723B> + <723C> + <723F> + <7240> + <7246> + <724B> + <7258> + <7274> + <727E> + <7282> + <7281> + <7287> + <7292> + <7296> + <72A2> + <72A7> + <72B9> + <72B2> + <72C3> + <72C6> + <72C4> + <72CE> + <72D2> + <72E2> + <72E0> + <72E1> + <72F9> + <72F7> + <500F> + <7317> + <730A> + <731C> + <7316> + <731D> + <7334> + <732F> + <7329> + <7325> + <733E> + <734E> + <734F> + <9ED8> + <7357> + <736A> + <7368> + <7370> + <7378> +endbfchar + +100 beginbfchar + <7375> + <737B> + <737A> + <73C8> + <73B3> + <73CE> + <73BB> + <73C0> + <73E5> + <73EE> + <73DE> + <74A2> + <7405> + <746F> + <7425> + <73F8> + <7432> + <743A> + <7455> + <743F> + <745F> + <7459> + <7441> + <745C> + <7469> + <7470> + <7463> + <746A> + <7476> + <747E> + <748B> + <749E> + <74A7> + <74CA> + <74CF> + <74D4> + <73F1> + <74E0> + <74E3> + <74E7> + <74E9> + <74EE> + <74F2> + <74F0> + <74F1> + <74F8> + <74F7> + <7504> + <7503> + <7505> + <750C> + <750E> + <750D> + <7515> + <7513> + <751E> + <7526> + <752C> + <753C> + <7544> + <754D> + <754A> + <7549> + <755B> + <7546> + <755A> + <7569> + <7564> + <7567> + <756B> + <756D> + <7578> + <7576> + <7586> + <7587> + <7574> + <758A> + <7589> + <7582> + <7594> + <759A> + <759D> + <75A5> + <75A3> + <75C2> + <75B3> + <75C3> + <75B5> + <75BD> + <75B8> + <75BC> + <75B1> + <75CD> + <75CA> + <75D2> + <75D9> + <75E3> + <75DE> + <75FE> + <75FF> +endbfchar + +100 beginbfchar + <75FC> + <7601> + <75F0> + <75FA> + <75F2> + <75F3> + <760B> + <760D> + <7609> + <761F> + <7627> + <7620> + <7621> + <7622> + <7624> + <7634> + <7630> + <763B> + <7647> + <7648> + <7646> + <765C> + <7658> + <7661> + <7662> + <7668> + <7669> + <766A> + <7667> + <766C> + <7670> + <7672> + <7676> + <7678> + <767C> + <7680> + <7683> + <7688> + <768B> + <768E> + <7696> + <7693> + <7699> + <769A> + <76B0> + <76B4> + <76B8> + <76B9> + <76BA> + <76C2> + <76CD> + <76D6> + <76D2> + <76DE> + <76E1> + <76E5> + <76E7> + <76EA> + <862F> + <76FB> + <7708> + <7707> + <7704> + <7729> + <7724> + <771E> + <7725> + <7726> + <771B> + <7737> + <7738> + <7747> + <775A> + <7768> + <776B> + <775B> + <7765> + <777F> + <777E> + <7779> + <778E> + <778B> + <7791> + <77A0> + <779E> + <77B0> + <77B6> + <77B9> + <77BF> + <77BC> + <77BD> + <77BB> + <77C7> + <77CD> + <77D7> + <77DA> + <77DC> + <77E3> + <77EE> + <77FC> +endbfchar + +100 beginbfchar + <780C> + <7812> + <7926> + <7820> + <792A> + <7845> + <788E> + <7874> + <7886> + <787C> + <789A> + <788C> + <78A3> + <78B5> + <78AA> + <78AF> + <78D1> + <78C6> + <78CB> + <78D4> + <78BE> + <78BC> + <78C5> + <78CA> + <78EC> + <78E7> + <78DA> + <78FD> + <78F4> + <7907> + <7912> + <7911> + <7919> + <792C> + <792B> + <7940> + <7960> + <7957> + <795F> + <795A> + <7955> + <7953> + <797A> + <797F> + <798A> + <799D> + <79A7> + <9F4B> + <79AA> + <79AE> + <79B3> + <79B9> + <79BA> + <79C9> + <79D5> + <79E7> + <79EC> + <79E1> + <79E3> + <7A08> + <7A0D> + <7A18> + <7A19> + <7A20> + <7A1F> + <7980> + <7A31> + <7A3B> + <7A3E> + <7A37> + <7A43> + <7A57> + <7A49> + <7A61> + <7A62> + <7A69> + <9F9D> + <7A70> + <7A79> + <7A7D> + <7A88> + <7A97> + <7A95> + <7A98> + <7A96> + <7AA9> + <7AC8> + <7AB0> + <7AB6> + <7AC5> + <7AC4> + <7ABF> + <9083> + <7AC7> + <7ACA> + <7ACD> + <7ACF> + <7AD5> + <7AD3> + <7AD9> +endbfchar + +100 beginbfchar + <7ADA> + <7ADD> + <7AE1> + <7AE2> + <7AE6> + <7AED> + <7AF0> + <7B02> + <7B0F> + <7B0A> + <7B06> + <7B33> + <7B18> + <7B19> + <7B1E> + <7B35> + <7B28> + <7B36> + <7B50> + <7B7A> + <7B04> + <7B4D> + <7B0B> + <7B4C> + <7B45> + <7B75> + <7B65> + <7B74> + <7B67> + <7B70> + <7B71> + <7B6C> + <7B6E> + <7B9D> + <7B98> + <7B9F> + <7B8D> + <7B9C> + <7B9A> + <7B8B> + <7B92> + <7B8F> + <7B5D> + <7B99> + <7BCB> + <7BC1> + <7BCC> + <7BCF> + <7BB4> + <7BC6> + <7BDD> + <7BE9> + <7C11> + <7C14> + <7BE6> + <7BE5> + <7C60> + <7C00> + <7C07> + <7C13> + <7BF3> + <7BF7> + <7C17> + <7C0D> + <7BF6> + <7C23> + <7C27> + <7C2A> + <7C1F> + <7C37> + <7C2B> + <7C3D> + <7C4C> + <7C43> + <7C54> + <7C4F> + <7C40> + <7C50> + <7C58> + <7C5F> + <7C64> + <7C56> + <7C65> + <7C6C> + <7C75> + <7C83> + <7C90> + <7CA4> + <7CAD> + <7CA2> + <7CAB> + <7CA1> + <7CA8> + <7CB3> + <7CB2> + <7CB1> + <7CAE> + <7CB9> + <7CBD> + <7CC0> +endbfchar + +100 beginbfchar + <7CC5> + <7CC2> + <7CD8> + <7CD2> + <7CDC> + <7CE2> + <9B3B> + <7CEF> + <7CF2> + <7CF4> + <7CF6> + <7CFA> + <7D06> + <7D02> + <7D1C> + <7D15> + <7D0A> + <7D45> + <7D4B> + <7D2E> + <7D32> + <7D3F> + <7D35> + <7D46> + <7D73> + <7D56> + <7D4E> + <7D72> + <7D68> + <7D6E> + <7D4F> + <7D63> + <7D93> + <7D89> + <7D5B> + <7D8F> + <7D7D> + <7D9B> + <7DBA> + <7DAE> + <7DA3> + <7DB5> + <7DC7> + <7DBD> + <7DAB> + <7E3D> + <7DA2> + <7DAF> + <7DDC> + <7DB8> + <7D9F> + <7DB0> + <7DD8> + <7DDD> + <7DE4> + <7DDE> + <7DFB> + <7DF2> + <7DE1> + <7E05> + <7E0A> + <7E23> + <7E21> + <7E12> + <7E31> + <7E1F> + <7E09> + <7E0B> + <7E22> + <7E46> + <7E66> + <7E3B> + <7E35> + <7E39> + <7E43> + <7E37> + <7E32> + <7E3A> + <7E67> + <7E5D> + <7E56> + <7E5E> + <7E59> + <7E5A> + <7E79> + <7E6A> + <7E69> + <7E7C> + <7E7B> + <7E83> + <7DD5> + <7E7D> + <8FAE> + <7E7F> + <7E88> + <7E89> + <7E8C> + <7E92> + <7E90> + <7E93> +endbfchar + +100 beginbfchar + <7E94> + <7E96> + <7E8E> + <7E9B> + <7E9C> + <7F38> + <7F3A> + <7F45> + <7F4C> + <7F4D> + <7F4E> + <7F50> + <7F51> + <7F55> + <7F54> + <7F58> + <7F5F> + <7F60> + <7F68> + <7F69> + <7F67> + <7F78> + <7F82> + <7F86> + <7F83> + <7F88> + <7F87> + <7F8C> + <7F94> + <7F9E> + <7F9D> + <7F9A> + <7FA3> + <7FAF> + <7FB2> + <7FB9> + <7FAE> + <7FB6> + <7FB8> + <8B71> + <7FC5> + <7FC6> + <7FCA> + <7FD5> + <7FD4> + <7FE1> + <7FE6> + <7FE9> + <7FF3> + <7FF9> + <98DC> + <8006> + <8004> + <800B> + <8012> + <8018> + <8019> + <801C> + <8021> + <8028> + <803F> + <803B> + <804A> + <8046> + <8052> + <8058> + <805A> + <805F> + <8062> + <8068> + <8073> + <8072> + <8070> + <8076> + <8079> + <807D> + <807F> + <8084> + <8086> + <8085> + <809B> + <8093> + <809A> + <80AD> + <5190> + <80AC> + <80DB> + <80E5> + <80D9> + <80DD> + <80C4> + <80DA> + <80D6> + <8109> + <80EF> + <80F1> + <811B> + <8129> + <8123> + <812F> +endbfchar + +100 beginbfchar + <814B> + <968B> + <8146> + <813E> + <8153> + <8151> + <80FC> + <8171> + <816E> + <8165> + <8166> + <8174> + <8183> + <8188> + <818A> + <8180> + <8182> + <81A0> + <8195> + <81A4> + <81A3> + <815F> + <8193> + <81A9> + <81B0> + <81B5> + <81BE> + <81B8> + <81BD> + <81C0> + <81C2> + <81BA> + <81C9> + <81CD> + <81D1> + <81D9> + <81D8> + <81C8> + <81DA> + <81DF> + <81E0> + <81E7> + <81FA> + <81FB> + <81FE> + <8201> + <8202> + <8205> + <8207> + <820A> + <820D> + <8210> + <8216> + <8229> + <822B> + <8238> + <8233> + <8240> + <8259> + <8258> + <825D> + <825A> + <825F> + <8264> + <8262> + <8268> + <826A> + <826B> + <822E> + <8271> + <8277> + <8278> + <827E> + <828D> + <8292> + <82AB> + <829F> + <82BB> + <82AC> + <82E1> + <82E3> + <82DF> + <82D2> + <82F4> + <82F3> + <82FA> + <8393> + <8303> + <82FB> + <82F9> + <82DE> + <8306> + <82DC> + <8309> + <82D9> + <8335> + <8334> + <8316> + <8332> + <8331> +endbfchar + +100 beginbfchar + <8340> + <8339> + <8350> + <8345> + <832F> + <832B> + <8317> + <8318> + <8385> + <839A> + <83AA> + <839F> + <83A2> + <8396> + <8323> + <838E> + <8387> + <838A> + <837C> + <83B5> + <8373> + <8375> + <83A0> + <8389> + <83A8> + <83F4> + <8413> + <83EB> + <83CE> + <83FD> + <8403> + <83D8> + <840B> + <83C1> + <83F7> + <8407> + <83E0> + <83F2> + <840D> + <8422> + <8420> + <83BD> + <8438> + <8506> + <83FB> + <846D> + <842A> + <843C> + <855A> + <8484> + <8477> + <846B> + <84AD> + <846E> + <8482> + <8469> + <8446> + <842C> + <846F> + <8479> + <8435> + <84CA> + <8462> + <84B9> + <84BF> + <849F> + <84D9> + <84CD> + <84BB> + <84DA> + <84D0> + <84C1> + <84C6> + <84D6> + <84A1> + <8521> + <84FF> + <84F4> + <8517> + <8518> + <852C> + <851F> + <8515> + <8514> + <84FC> + <8540> + <8563> + <8558> + <8548> + <8541> + <8602> + <854B> + <8555> + <8580> + <85A4> + <8588> + <8591> + <858A> + <85A8> + <856D> +endbfchar + +100 beginbfchar + <8594> + <859B> + <85EA> + <8587> + <859C> + <8577> + <857E> + <8590> + <85C9> + <85BA> + <85CF> + <85B9> + <85D0> + <85D5> + <85DD> + <85E5> + <85DC> + <85F9> + <860A> + <8613> + <860B> + <85FE> + <85FA> + <8606> + <8622> + <861A> + <8630> + <863F> + <864D> + <4E55> + <8654> + <865F> + <8667> + <8671> + <8693> + <86A3> + <86A9> + <86AA> + <868B> + <868C> + <86B6> + <86AF> + <86C4> + <86C6> + <86B0> + <86C9> + <8823> + <86AB> + <86D4> + <86DE> + <86E9> + <86EC> + <86DF> + <86DB> + <86EF> + <8712> + <8706> + <8708> + <8700> + <8703> + <86FB> + <8711> + <8709> + <870D> + <86F9> + <870A> + <8734> + <873F> + <8737> + <873B> + <8725> + <8729> + <871A> + <8760> + <875F> + <8778> + <874C> + <874E> + <8774> + <8757> + <8768> + <876E> + <8759> + <8753> + <8763> + <876A> + <8805> + <87A2> + <879F> + <8782> + <87AF> + <87CB> + <87BD> + <87C0> + <87D0> + <96D6> + <87AB> + <87C4> + <87B3> + <87C7> +endbfchar + +100 beginbfchar + <87C6> + <87BB> + <87EF> + <87F2> + <87E0> + <880F> + <880D> + <87FE> + <87F6> + <87F7> + <880E> + <87D2> + <8811> + <8816> + <8815> + <8822> + <8821> + <8831> + <8836> + <8839> + <8827> + <883B> + <8844> + <8842> + <8852> + <8859> + <885E> + <8862> + <886B> + <8881> + <887E> + <889E> + <8875> + <887D> + <88B5> + <8872> + <8882> + <8897> + <8892> + <88AE> + <8899> + <88A2> + <888D> + <88A4> + <88B0> + <88BF> + <88B1> + <88C3> + <88C4> + <88D4> + <88D8> + <88D9> + <88DD> + <88F9> + <8902> + <88FC> + <88F4> + <88E8> + <88F2> + <8904> + <890C> + <890A> + <8913> + <8943> + <891E> + <8925> + <892A> + <892B> + <8941> + <8944> + <893B> + <8936> + <8938> + <894C> + <891D> + <8960> + <895E> + <8966> + <8964> + <896D> + <896A> + <896F> + <8974> + <8977> + <897E> + <8983> + <8988> + <898A> + <8993> + <8998> + <89A1> + <89A9> + <89A6> + <89AC> + <89AF> + <89B2> + <89BA> + <89BD> + <89BF> + <89C0> +endbfchar + +100 beginbfchar + <89DA> + <89DC> + <89DD> + <89E7> + <89F4> + <89F8> + <8A03> + <8A16> + <8A10> + <8A0C> + <8A1B> + <8A1D> + <8A25> + <8A36> + <8A41> + <8A5B> + <8A52> + <8A46> + <8A48> + <8A7C> + <8A6D> + <8A6C> + <8A62> + <8A85> + <8A82> + <8A84> + <8AA8> + <8AA1> + <8A91> + <8AA5> + <8AA6> + <8A9A> + <8AA3> + <8AC4> + <8ACD> + <8AC2> + <8ADA> + <8AEB> + <8AF3> + <8AE7> + <8AE4> + <8AF1> + <8B14> + <8AE0> + <8AE2> + <8AF7> + <8ADE> + <8ADB> + <8B0C> + <8B07> + <8B1A> + <8AE1> + <8B16> + <8B10> + <8B17> + <8B20> + <8B33> + <97AB> + <8B26> + <8B2B> + <8B3E> + <8B28> + <8B41> + <8B4C> + <8B4F> + <8B4E> + <8B49> + <8B56> + <8B5B> + <8B5A> + <8B6B> + <8B5F> + <8B6C> + <8B6F> + <8B74> + <8B7D> + <8B80> + <8B8C> + <8B8E> + <8B92> + <8B93> + <8B96> + <8B99> + <8B9A> + <8C3A> + <8C41> + <8C3F> + <8C48> + <8C4C> + <8C4E> + <8C50> + <8C55> + <8C62> + <8C6C> + <8C78> + <8C7A> + <8C82> + <8C89> + <8C85> + <8C8A> +endbfchar + +100 beginbfchar + <8C8D> + <8C8E> + <8C94> + <8C7C> + <8C98> + <621D> + <8CAD> + <8CAA> + <8CBD> + <8CB2> + <8CB3> + <8CAE> + <8CB6> + <8CC8> + <8CC1> + <8CE4> + <8CE3> + <8CDA> + <8CFD> + <8CFA> + <8CFB> + <8D04> + <8D05> + <8D0A> + <8D07> + <8D0F> + <8D0D> + <8D10> + <9F4E> + <8D13> + <8CCD> + <8D14> + <8D16> + <8D67> + <8D6D> + <8D71> + <8D73> + <8D81> + <8D99> + <8DC2> + <8DBE> + <8DBA> + <8DCF> + <8DDA> + <8DD6> + <8DCC> + <8DDB> + <8DCB> + <8DEA> + <8DEB> + <8DDF> + <8DE3> + <8DFC> + <8E08> + <8E09> + <8DFF> + <8E1D> + <8E1E> + <8E10> + <8E1F> + <8E42> + <8E35> + <8E30> + <8E34> + <8E4A> + <8E47> + <8E49> + <8E4C> + <8E50> + <8E48> + <8E59> + <8E64> + <8E60> + <8E2A> + <8E63> + <8E55> + <8E76> + <8E72> + <8E7C> + <8E81> + <8E87> + <8E85> + <8E84> + <8E8B> + <8E8A> + <8E93> + <8E91> + <8E94> + <8E99> + <8EAA> + <8EA1> + <8EAC> + <8EB0> + <8EC6> + <8EB1> + <8EBE> + <8EC5> + <8EC8> + <8ECB> + <8EDB> +endbfchar + +100 beginbfchar + <8EE3> + <8EFC> + <8EFB> + <8EEB> + <8EFE> + <8F0A> + <8F05> + <8F15> + <8F12> + <8F19> + <8F13> + <8F1C> + <8F1F> + <8F1B> + <8F0C> + <8F26> + <8F33> + <8F3B> + <8F39> + <8F45> + <8F42> + <8F3E> + <8F4C> + <8F49> + <8F46> + <8F4E> + <8F57> + <8F5C> + <8F62> + <8F63> + <8F64> + <8F9C> + <8F9F> + <8FA3> + <8FAD> + <8FAF> + <8FB7> + <8FDA> + <8FE5> + <8FE2> + <8FEA> + <8FEF> + <9087> + <8FF4> + <9005> + <8FF9> + <8FFA> + <9011> + <9015> + <9021> + <900D> + <901E> + <9016> + <900B> + <9027> + <9036> + <9035> + <9039> + <8FF8> + <904F> + <9050> + <9051> + <9052> + <900E> + <9049> + <903E> + <9056> + <9058> + <905E> + <9068> + <906F> + <9076> + <96A8> + <9072> + <9082> + <907D> + <9081> + <9080> + <908A> + <9089> + <908F> + <90A8> + <90AF> + <90B1> + <90B5> + <90E2> + <90E4> + <6248> + <90DB> + <9102> + <9112> + <9119> + <9132> + <9130> + <914A> + <9156> + <9158> + <9163> + <9165> + <9169> +endbfchar + +100 beginbfchar + <9173> + <9172> + <918B> + <9189> + <9182> + <91A2> + <91AB> + <91AF> + <91AA> + <91B5> + <91B4> + <91BA> + <91C0> + <91C1> + <91C9> + <91CB> + <91D0> + <91D6> + <91DF> + <91E1> + <91DB> + <91FC> + <91F5> + <91F6> + <921E> + <91FF> + <9214> + <922C> + <9215> + <9211> + <925E> + <9257> + <9245> + <9249> + <9264> + <9248> + <9295> + <923F> + <924B> + <9250> + <929C> + <9296> + <9293> + <929B> + <925A> + <92CF> + <92B9> + <92B7> + <92E9> + <930F> + <92FA> + <9344> + <932E> + <9319> + <9322> + <931A> + <9323> + <933A> + <9335> + <933B> + <935C> + <9360> + <937C> + <936E> + <9356> + <93B0> + <93AC> + <93AD> + <9394> + <93B9> + <93D6> + <93D7> + <93E8> + <93E5> + <93D8> + <93C3> + <93DD> + <93D0> + <93C8> + <93E4> + <941A> + <9414> + <9413> + <9403> + <9407> + <9410> + <9436> + <942B> + <9435> + <9421> + <943A> + <9441> + <9452> + <9444> + <945B> + <9460> + <9462> + <945E> + <946A> + <9229> +endbfchar + +100 beginbfchar + <9470> + <9475> + <9477> + <947D> + <945A> + <947C> + <947E> + <9481> + <947F> + <9582> + <9587> + <958A> + <9594> + <9596> + <9598> + <9599> + <95A0> + <95A8> + <95A7> + <95AD> + <95BC> + <95BB> + <95B9> + <95BE> + <95CA> + <6FF6> + <95C3> + <95CD> + <95CC> + <95D5> + <95D4> + <95D6> + <95DC> + <95E1> + <95E5> + <95E2> + <9621> + <9628> + <962E> + <962F> + <9642> + <964C> + <964F> + <964B> + <9677> + <965C> + <965E> + <965D> + <965F> + <9666> + <9672> + <966C> + <968D> + <9698> + <9695> + <9697> + <96AA> + <96A7> + <96B1> + <96B2> + <96B0> + <96B4> + <96B6> + <96B8> + <96B9> + <96CE> + <96CB> + <96C9> + <96CD> + <894D> + <96DC> + <970D> + <96D5> + <96F9> + <9704> + <9706> + <9708> + <9713> + <970E> + <9711> + <970F> + <9716> + <9719> + <9724> + <972A> + <9730> + <9739> + <973D> + <973E> + <9744> + <9746> + <9748> + <9742> + <9749> + <975C> + <9760> + <9764> + <9766> + <9768> + <52D2> +endbfchar + +100 beginbfchar + <976B> + <9771> + <9779> + <9785> + <977C> + <9781> + <977A> + <9786> + <978B> + <978F> + <9790> + <979C> + <97A8> + <97A6> + <97A3> + <97B3> + <97B4> + <97C3> + <97C6> + <97C8> + <97CB> + <97DC> + <97ED> + <9F4F> + <97F2> + <7ADF> + <97F6> + <97F5> + <980F> + <980C> + <9838> + <9824> + <9821> + <9837> + <983D> + <9846> + <984F> + <984B> + <986B> + <986F> + <9870> + <9871> + <9874> + <9873> + <98AA> + <98AF> + <98B1> + <98B6> + <98C4> + <98C3> + <98C6> + <98E9> + <98EB> + <9903> + <9909> + <9912> + <9914> + <9918> + <9921> + <991D> + <991E> + <9924> + <9920> + <992C> + <992E> + <993D> + <993E> + <9942> + <9949> + <9945> + <9950> + <994B> + <9951> + <9952> + <994C> + <9955> + <9997> + <9998> + <99A5> + <99AD> + <99AE> + <99BC> + <99DF> + <99DB> + <99DD> + <99D8> + <99D1> + <99ED> + <99EE> + <99F1> + <99F2> + <99FB> + <99F8> + <9A01> + <9A0F> + <9A05> + <99E2> + <9A19> + <9A2B> + <9A37> +endbfchar + +100 beginbfchar + <9A45> + <9A42> + <9A40> + <9A43> + <9A3E> + <9A55> + <9A4D> + <9A5B> + <9A57> + <9A5F> + <9A62> + <9A65> + <9A64> + <9A69> + <9A6B> + <9A6A> + <9AAD> + <9AB0> + <9ABC> + <9AC0> + <9ACF> + <9AD1> + <9AD3> + <9AD4> + <9ADE> + <9ADF> + <9AE2> + <9AE3> + <9AE6> + <9AEF> + <9AEB> + <9AEE> + <9AF4> + <9AF1> + <9AF7> + <9AFB> + <9B06> + <9B18> + <9B1A> + <9B1F> + <9B22> + <9B23> + <9B25> + <9B27> + <9B28> + <9B29> + <9B2A> + <9B2E> + <9B2F> + <9B32> + <9B44> + <9B43> + <9B4F> + <9B4D> + <9B4E> + <9B51> + <9B58> + <9B74> + <9B93> + <9B83> + <9B91> + <9B96> + <9B97> + <9B9F> + <9BA0> + <9BA8> + <9BB4> + <9BC0> + <9BCA> + <9BB9> + <9BC6> + <9BCF> + <9BD1> + <9BD2> + <9BE3> + <9BE2> + <9BE4> + <9BD4> + <9BE1> + <9C3A> + <9BF2> + <9BF1> + <9BF0> + <9C15> + <9C14> + <9C09> + <9C13> + <9C0C> + <9C06> + <9C08> + <9C12> + <9C0A> + <9C04> + <9C2E> + <9C1B> + <9C25> + <9C24> + <9C21> + <9C30> + <9C47> +endbfchar + +100 beginbfchar + <9C32> + <9C46> + <9C3E> + <9C5A> + <9C60> + <9C67> + <9C76> + <9C78> + <9CE7> + <9CEC> + <9CF0> + <9D09> + <9D08> + <9CEB> + <9D03> + <9D06> + <9D2A> + <9D26> + <9DAF> + <9D23> + <9D1F> + <9D44> + <9D15> + <9D12> + <9D41> + <9D3F> + <9D3E> + <9D46> + <9D48> + <9D5D> + <9D5E> + <9D64> + <9D51> + <9D50> + <9D59> + <9D72> + <9D89> + <9D87> + <9DAB> + <9D6F> + <9D7A> + <9D9A> + <9DA4> + <9DA9> + <9DB2> + <9DC4> + <9DC1> + <9DBB> + <9DB8> + <9DBA> + <9DC6> + <9DCF> + <9DC2> + <9DD9> + <9DD3> + <9DF8> + <9DE6> + <9DED> + <9DEF> + <9DFD> + <9E1A> + <9E1B> + <9E1E> + <9E75> + <9E79> + <9E7D> + <9E81> + <9E88> + <9E8B> + <9E8C> + <9E92> + <9E95> + <9E91> + <9E9D> + <9EA5> + <9EA9> + <9EB8> + <9EAA> + <9EAD> + <9761> + <9ECC> + <9ECE> + <9ECF> + <9ED0> + <9ED4> + <9EDC> + <9EDE> + <9EDD> + <9EE0> + <9EE5> + <9EE8> + <9EEF> + <9EF4> + <9EF6> + <9EF7> + <9EF9> + <9EFB> + <9EFC> + <9EFD> + <9F07> +endbfchar + +29 beginbfchar + <9F08> + <76B7> + <9F15> + <9F21> + <9F2C> + <9F3E> + <9F4A> + <9F52> + <9F54> + <9F63> + <9F5F> + <9F60> + <9F61> + <9F66> + <9F67> + <9F6C> + <9F6A> + <9F77> + <9F72> + <9F76> + <9F95> + <9F9C> + <9FA0> + <582F> + <69C7> + <9059> + <7464> + <51DC> + <7199> +endbfchar + +endcmap +CMapName currentdict /CMap defineresource pop +end +end + +%%EndResource +%%EOF diff --git a/Build/source/texk/dvipdfmx/data/Makefile.am b/Build/source/texk/dvipdfmx/data/Makefile.am index 45183b7f382..4699b0fc553 100644 --- a/Build/source/texk/dvipdfmx/data/Makefile.am +++ b/Build/source/texk/dvipdfmx/data/Makefile.am @@ -10,3 +10,7 @@ dist_glyphlistdata_DATA = \ mapdatadir = ${prefix}/texmf/fonts/map/dvipdfm/dvipdfmx dist_mapdata_DATA = \ $(srcdir)/cid-x.map + +cmapdatadir = $(datadir)/texmf/fonts/cmap/dvipdfmx +dist_cmapdata_DATA = \ + $(srcdir)/EUC-UCS2 diff --git a/Build/source/texk/dvipdfmx/data/Makefile.in b/Build/source/texk/dvipdfmx/data/Makefile.in index c6c67f00519..15719e2d11c 100644 --- a/Build/source/texk/dvipdfmx/data/Makefile.in +++ b/Build/source/texk/dvipdfmx/data/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. +# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,8 +17,9 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -33,9 +35,9 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data -DIST_COMMON = $(dist_configdata_DATA) $(dist_glyphlistdata_DATA) \ - $(dist_mapdata_DATA) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in +DIST_COMMON = $(dist_cmapdata_DATA) $(dist_configdata_DATA) \ + $(dist_glyphlistdata_DATA) $(dist_mapdata_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \ $(top_srcdir)/../../m4/cho-libs.m4 \ @@ -51,9 +53,10 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \ $(top_srcdir)/../../m4/maw-time.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d +mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -61,14 +64,27 @@ am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(configdatadir)" \ - "$(DESTDIR)$(glyphlistdatadir)" "$(DESTDIR)$(mapdatadir)" -dist_configdataDATA_INSTALL = $(INSTALL_DATA) -dist_glyphlistdataDATA_INSTALL = $(INSTALL_DATA) -dist_mapdataDATA_INSTALL = $(INSTALL_DATA) -DATA = $(dist_configdata_DATA) $(dist_glyphlistdata_DATA) \ - $(dist_mapdata_DATA) +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__installdirs = "$(DESTDIR)$(cmapdatadir)" \ + "$(DESTDIR)$(configdatadir)" "$(DESTDIR)$(glyphlistdatadir)" \ + "$(DESTDIR)$(mapdatadir)" +DATA = $(dist_cmapdata_DATA) $(dist_configdata_DATA) \ + $(dist_glyphlistdata_DATA) $(dist_mapdata_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -203,6 +219,10 @@ mapdatadir = ${prefix}/texmf/fonts/map/dvipdfm/dvipdfmx dist_mapdata_DATA = \ $(srcdir)/cid-x.map +cmapdatadir = $(datadir)/texmf/fonts/cmap/dvipdfmx +dist_cmapdata_DATA = \ + $(srcdir)/EUC-UCS2 + all: all-am .SUFFIXES: @@ -215,9 +235,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign data/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -235,63 +255,93 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs +install-dist_cmapdataDATA: $(dist_cmapdata_DATA) + @$(NORMAL_INSTALL) + test -z "$(cmapdatadir)" || $(MKDIR_P) "$(DESTDIR)$(cmapdatadir)" + @list='$(dist_cmapdata_DATA)'; test -n "$(cmapdatadir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cmapdatadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(cmapdatadir)" || exit $$?; \ + done + +uninstall-dist_cmapdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_cmapdata_DATA)'; test -n "$(cmapdatadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(cmapdatadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(cmapdatadir)" && rm -f $$files install-dist_configdataDATA: $(dist_configdata_DATA) @$(NORMAL_INSTALL) test -z "$(configdatadir)" || $(MKDIR_P) "$(DESTDIR)$(configdatadir)" - @list='$(dist_configdata_DATA)'; for p in $$list; do \ + @list='$(dist_configdata_DATA)'; test -n "$(configdatadir)" || list=; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_configdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(configdatadir)/$$f'"; \ - $(dist_configdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(configdatadir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configdatadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(configdatadir)" || exit $$?; \ done uninstall-dist_configdataDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_configdata_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(configdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(configdatadir)/$$f"; \ - done + @list='$(dist_configdata_DATA)'; test -n "$(configdatadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(configdatadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(configdatadir)" && rm -f $$files install-dist_glyphlistdataDATA: $(dist_glyphlistdata_DATA) @$(NORMAL_INSTALL) test -z "$(glyphlistdatadir)" || $(MKDIR_P) "$(DESTDIR)$(glyphlistdatadir)" - @list='$(dist_glyphlistdata_DATA)'; for p in $$list; do \ + @list='$(dist_glyphlistdata_DATA)'; test -n "$(glyphlistdatadir)" || list=; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_glyphlistdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(glyphlistdatadir)/$$f'"; \ - $(dist_glyphlistdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(glyphlistdatadir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(glyphlistdatadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(glyphlistdatadir)" || exit $$?; \ done uninstall-dist_glyphlistdataDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_glyphlistdata_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(glyphlistdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(glyphlistdatadir)/$$f"; \ - done + @list='$(dist_glyphlistdata_DATA)'; test -n "$(glyphlistdatadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(glyphlistdatadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(glyphlistdatadir)" && rm -f $$files install-dist_mapdataDATA: $(dist_mapdata_DATA) @$(NORMAL_INSTALL) test -z "$(mapdatadir)" || $(MKDIR_P) "$(DESTDIR)$(mapdatadir)" - @list='$(dist_mapdata_DATA)'; for p in $$list; do \ + @list='$(dist_mapdata_DATA)'; test -n "$(mapdatadir)" || list=; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_mapdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(mapdatadir)/$$f'"; \ - $(dist_mapdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(mapdatadir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mapdatadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(mapdatadir)" || exit $$?; \ done uninstall-dist_mapdataDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_mapdata_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(mapdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(mapdatadir)/$$f"; \ - done + @list='$(dist_mapdata_DATA)'; test -n "$(mapdatadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(mapdatadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(mapdatadir)" && rm -f $$files tags: TAGS TAGS: @@ -315,13 +365,17 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -329,7 +383,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: - for dir in "$(DESTDIR)$(configdatadir)" "$(DESTDIR)$(glyphlistdatadir)" "$(DESTDIR)$(mapdatadir)"; do \ + for dir in "$(DESTDIR)$(cmapdatadir)" "$(DESTDIR)$(configdatadir)" "$(DESTDIR)$(glyphlistdatadir)" "$(DESTDIR)$(mapdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -352,6 +406,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,27 +425,39 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: -install-data-am: install-dist_configdataDATA \ +install-data-am: install-dist_cmapdataDATA install-dist_configdataDATA \ install-dist_glyphlistdataDATA install-dist_mapdataDATA install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-html: install-html-am +install-html-am: + install-info: install-info-am +install-info-am: + install-man: install-pdf: install-pdf-am +install-pdf-am: + install-ps: install-ps-am +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-am @@ -409,25 +476,28 @@ ps: ps-am ps-am: -uninstall-am: uninstall-dist_configdataDATA \ - uninstall-dist_glyphlistdataDATA uninstall-dist_mapdataDATA +uninstall-am: uninstall-dist_cmapdataDATA \ + uninstall-dist_configdataDATA uninstall-dist_glyphlistdataDATA \ + uninstall-dist_mapdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dist_configdataDATA \ - install-dist_glyphlistdataDATA install-dist_mapdataDATA \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-dist_configdataDATA \ + install-data install-data-am install-dist_cmapdataDATA \ + install-dist_configdataDATA install-dist_glyphlistdataDATA \ + install-dist_mapdataDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_cmapdataDATA uninstall-dist_configdataDATA \ uninstall-dist_glyphlistdataDATA uninstall-dist_mapdataDATA + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/Build/source/texk/dvipdfmx/data/dvipdfmx.cfg b/Build/source/texk/dvipdfmx/data/dvipdfmx.cfg index f9537aaca8a..8b7c9d74c53 100644 --- a/Build/source/texk/dvipdfmx/data/dvipdfmx.cfg +++ b/Build/source/texk/dvipdfmx/data/dvipdfmx.cfg @@ -1,10 +1,3 @@ -%% -%% ** PLEASE CHECK FILE ACCESS PERMISSION OF THIS FILE ** -%% -%% With 'D' option dvipdfmx may invoke shell command via system() -%% function call. -%% -%% %% PDF Version Setting %% %% PDF (minor) version stamp to use in output file. @@ -16,7 +9,6 @@ % V 4 -%% %% Dvipdfmx Compatibility Flags %% %% 0x0002 Use semi-transparent filling for tpic shading command, @@ -25,11 +17,11 @@ %% This is only for backward compatibility. Don't use that. %% 0x0008 Do not replace duplicate fontmap entries. %% Dvipdfm's (not 'x') behaviour. -%% 0x0010 Do not remove unused PDF destinations (experimental). +%% 0x0010 Do not optimize PDF destinations. +%% (Optimization is still experimental.) C 0x0010 -%% %% PDF Document Settings %% %% Papersize Option: @@ -50,7 +42,7 @@ p a4 %% that encloses the material. That's not always what you want. %% Annotations created by pdf:bannot/pdf:eannot is also affected. -%g 1 +%g 0 %% Bookmark Open Level: %% @@ -103,6 +95,9 @@ P 0x003C %% Image Handler %% +%% With 'D' option dvipdfmx may invoke shell command via system() +%% function call. +%% %% Command-line template for a-to-b conversion: %% %% Supported target format ('b') is currently PDF. @@ -114,30 +109,32 @@ P 0x003C %% success or failure) %% %b The "base" name of the input file, e.g., "foo" instead of %% "foo.eps". +%% %v The PDF version to be converted to, e.g. "1.4" for PDF 1.4. %% %% Replaced with single '%'. + +%% GhostScript (PS-to-PDF and PDF-to-PDF): %% -%% *Examples* for GhostScript (PS-to-PDF) +%% ps2pdf is a front-end to gs. For a complete list of options, see +%% http://pages.cs.wisc.edu/~ghost/doc/cvs/Ps2pdf.htm#Options %% -%% The following example decode all DCT (i.e., JPEG) encoded images -%% and then recompress images with Flate (zlib, same as PNG) encode -%% filter. If you are using recent version of gs, then please remove -%% -dAutoFilterXXXImages and -dXXXImageFilter. -%% /FlateEncode is introduced to avoid quality loss of "EPS JPEG" -%% images. +%% By default, gs encodes all images contained in a PS file using +%% the lossy DCT (i.e., JPEG) filter. This often leads to inferior +%% result (see the discussion at http://electron.mit.edu/~gsteele/pdf/). +%% The "-dAutoFilterXXXImages" and "-dXXXImageFilter" options used +%% below force all images to be encoded with the lossless Flate (zlib, +%% same as PNG) filter. Note that if the PS file already contains DCT +%% encoded images (which is possible in PS level 2), then these images +%% will also be re-encoded using Flate. To turn the conversion off, +%% simply remove the options mentioned above. %% %% Also note that PAPERSIZE=a0 is specified below. This convert PS %% files (including EPS) to A0 papersize PDF. This is necessary to %% prevent gs from clipping PS figure at some papersize. (A0 above -%% simply means large size paper) -%% -%% If you have figures even larger than A0, and their llx=lly=0, you can -%% use -dEPSCrop instead of -sPAPERSIZE=a0 +%% simply means large size paper.) If you have figures even larger +%% than A0, and their llx=lly=0, you can use "-dEPSCrop" instead of +%% "-sPAPERSIZE=a0" %% -%% GhostScript (Unix/Linux): -D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit" - -%% GhostScript (Win32): -%D "gswin32c -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit" +D "ps2pdf -dCompatibilityLevel=%v -sPAPERSIZE=a0 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode %i %o" %% Frank Siegert's PStill: %D "/usr/local/bin/pstill -c -o %o %i" diff --git a/Build/source/texk/dvipdfmx/src/Makefile.in b/Build/source/texk/dvipdfmx/src/Makefile.in index dded26e67c5..b49126ddb0b 100644 --- a/Build/source/texk/dvipdfmx/src/Makefile.in +++ b/Build/source/texk/dvipdfmx/src/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. +# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,8 +17,9 @@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -50,11 +52,11 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-kpse.m4 \ $(top_srcdir)/../../m4/maw-time.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d +mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_dvipdfmx_OBJECTS = agl.$(OBJEXT) bmpimage.$(OBJEXT) cff.$(OBJEXT) \ cff_dict.$(OBJEXT) cid.$(OBJEXT) cidtype0.$(OBJEXT) \ @@ -85,6 +87,7 @@ am__DEPENDENCIES_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -262,9 +265,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -282,34 +285,50 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list dvipdfmx$(EXEEXT): $(dvipdfmx_OBJECTS) $(dvipdfmx_DEPENDENCIES) @rm -f dvipdfmx$(EXEEXT) $(LINK) $(dvipdfmx_OBJECTS) $(dvipdfmx_LDADD) $(LIBS) @@ -392,21 +411,21 @@ distclean-compile: .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< @@ -429,7 +448,7 @@ tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -437,29 +456,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -480,13 +504,17 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -517,6 +545,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -537,6 +566,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -545,20 +576,29 @@ install-data-am: install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook - install-html: install-html-am +install-html-am: + install-info: install-info-am +install-info-am: + install-man: install-pdf: install-pdf-am +install-pdf-am: + install-ps: install-ps-am +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-am @@ -582,7 +622,6 @@ ps-am: uninstall-am: uninstall-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook - .MAKE: install-am install-exec-am install-strip uninstall-am .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ @@ -613,6 +652,7 @@ install-exec-hook: uninstall-hook: rm -f $(DESTDIR)$(bindir)/ebb$(EXEEXT) rm -f $(DESTDIR)$(bindir)/extractbb$(EXEEXT) + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/Build/source/texk/dvipdfmx/src/cff.c b/Build/source/texk/dvipdfmx/src/cff.c index 6dbcaf6094f..000334b64e4 100644 --- a/Build/source/texk/dvipdfmx/src/cff.c +++ b/Build/source/texk/dvipdfmx/src/cff.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/cff.c,v 1.16 2008/10/13 19:42:48 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/cff.c,v 1.17 2009/03/24 07:55:52 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -23,6 +23,7 @@ #include #include +#include "system.h" #include "system.h" #include "mem.h" #include "error.h" diff --git a/Build/source/texk/dvipdfmx/src/cid.c b/Build/source/texk/dvipdfmx/src/cid.c index b7a56494b75..3213e3aa102 100644 --- a/Build/source/texk/dvipdfmx/src/cid.c +++ b/Build/source/texk/dvipdfmx/src/cid.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/cid.c,v 1.32 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/cid.c,v 1.33 2009/05/06 01:50:55 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -59,16 +59,18 @@ static struct { const char *registry; const char *ordering; - /* Heighest Supplement values supported by PDF-1.0, 1.1, ... */ + /* Heighest Supplement values supported by PDF-1.0, 1.1, ...; see + * also http://partners.adobe.com/public/developer/font/index.html#ckf + */ int supplement[16]; } CIDFont_stdcc_def[] = { - {"Adobe", "UCS", {-1, -1, 0, 0, 0, 0, 0}}, - {"Adobe", "GB1", {-1, -1, 0, 2, 4, 4, 4}}, - {"Adobe", "CNS1", {-1, -1, 0, 0, 3, 4, 4}}, - {"Adobe", "Japan1", {-1, -1, 2, 2, 4, 5, 6}}, - {"Adobe", "Korea1", {-1, -1, 1, 1, 2, 2, 2}}, - {"Adobe", "Identity", {-1, -1, 0, 0, 0, 0, 0}}, - {NULL, NULL, {0,0,0,0,0,0,0}} + {"Adobe", "UCS", {-1, -1, 0, 0, 0, 0, 0, 0}}, + {"Adobe", "GB1", {-1, -1, 0, 2, 4, 4, 4, 4}}, + {"Adobe", "CNS1", {-1, -1, 0, 0, 3, 4, 4, 4}}, + {"Adobe", "Japan1", {-1, -1, 2, 2, 4, 5, 6, 6}}, + {"Adobe", "Korea1", {-1, -1, 1, 1, 2, 2, 2, 2}}, + {"Adobe", "Identity", {-1, -1, 0, 0, 0, 0, 0, 0}}, + {NULL, NULL, {0,0,0,0,0,0,0,0}} }; #define UCS_CC 0 #define ACC_START 1 diff --git a/Build/source/texk/dvipdfmx/src/cmap_read.c b/Build/source/texk/dvipdfmx/src/cmap_read.c index f927b40de77..7830350d926 100644 --- a/Build/source/texk/dvipdfmx/src/cmap_read.c +++ b/Build/source/texk/dvipdfmx/src/cmap_read.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/cmap_read.c,v 1.3 2008/01/11 18:04:15 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/cmap_read.c,v 1.4 2009/05/06 01:51:01 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -510,7 +510,7 @@ CMap_parse_check_sig (FILE *fp) if (fread(sig, sizeof(char), CMAP_SIG_MAX, fp) != CMAP_SIG_MAX) result = -1; else { - sig[CMAP_SIG_MAX+1] = 0; + sig[CMAP_SIG_MAX] = 0; if (strncmp(sig, "%!PS", 4)) result = -1; else if (strstr(sig+4, "Resource-CMap")) diff --git a/Build/source/texk/dvipdfmx/src/dpxfile.c b/Build/source/texk/dvipdfmx/src/dpxfile.c index 1107e73a943..e95cf9bfb8a 100644 --- a/Build/source/texk/dvipdfmx/src/dpxfile.c +++ b/Build/source/texk/dvipdfmx/src/dpxfile.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dpxfile.c,v 1.24 2008/05/22 10:08:02 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dpxfile.c,v 1.25 2009/03/12 19:29:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -705,7 +705,9 @@ dpx_delete_temp_file (char *tmp) * Please modify as appropriate (see also pdfximage.c and dvipdfmx.c). */ int -dpx_file_apply_filter (const char *cmdtmpl, const char *input, const char *output) +dpx_file_apply_filter (const char *cmdtmpl, + const char *input, const char *output, + unsigned char version) { char *cmd = NULL; char *p, *q; @@ -746,6 +748,13 @@ if ((l) + (n) >= (m)) { \ } else { strcpy(cmd + n, input); n += strlen(input); } + case 'v': /* Version number, e.g. 1.4 */ { + char buf[6]; + sprintf(buf, "1.%hhu", version); + need(cmd, n, size, strlen(buf)); + strcpy(cmd + n, buf); n += strlen(buf); + break; + } case 0: break; case '%': diff --git a/Build/source/texk/dvipdfmx/src/dpxfile.h b/Build/source/texk/dvipdfmx/src/dpxfile.h index fd6d8e17a2d..5e61e59cc36 100644 --- a/Build/source/texk/dvipdfmx/src/dpxfile.h +++ b/Build/source/texk/dvipdfmx/src/dpxfile.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dpxfile.h,v 1.8 2008/05/18 12:05:22 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dpxfile.h,v 1.9 2009/03/12 19:29:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -53,7 +53,9 @@ extern FILE *dpx_open_file (const char *filename, int type); extern void dpx_file_set_verbose (void); -extern int dpx_file_apply_filter (const char *cmdtmpl, const char *input, const char *output); +extern int dpx_file_apply_filter (const char *cmdtmpl, + const char *input, const char *output, + unsigned char version); extern char *dpx_create_temp_file (void); extern void dpx_delete_temp_file (char *tmp); /* tmp freed here */ diff --git a/Build/source/texk/dvipdfmx/src/dpxutil.c b/Build/source/texk/dvipdfmx/src/dpxutil.c index e153d050476..0de3631f73f 100644 --- a/Build/source/texk/dvipdfmx/src/dpxutil.c +++ b/Build/source/texk/dvipdfmx/src/dpxutil.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.c,v 1.9 2008/11/03 22:49:29 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.c,v 1.11 2009/04/26 21:23:29 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -28,6 +28,7 @@ #include #include +#include "system.h" #include "system.h" #include "mem.h" #include "error.h" @@ -202,6 +203,13 @@ ht_clear_table (struct ht_table *ht, void (*hval_free_fn) (void *)) ht->count = 0; } +long ht_table_size (struct ht_table *ht) +{ + ASSERT(ht); + + return ht->count; +} + static unsigned int get_hash (const void *key, int keylen) { diff --git a/Build/source/texk/dvipdfmx/src/dpxutil.h b/Build/source/texk/dvipdfmx/src/dpxutil.h index 09a755c22b8..5d230c655af 100644 --- a/Build/source/texk/dvipdfmx/src/dpxutil.h +++ b/Build/source/texk/dvipdfmx/src/dpxutil.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.h,v 1.8 2007/11/14 03:36:01 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dpxutil.h,v 1.9 2009/04/26 21:23:29 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -73,6 +73,7 @@ struct ht_table { extern void ht_init_table (struct ht_table *ht); extern void ht_clear_table (struct ht_table *ht, void (*hval_free_fn) (void *)); +extern long ht_table_size (struct ht_table *ht); extern void *ht_lookup_table (struct ht_table *ht, const void *key, int keylen); extern void ht_append_table (struct ht_table *ht, const void *key, int keylen, void *value) ; diff --git a/Build/source/texk/dvipdfmx/src/dvi.c b/Build/source/texk/dvipdfmx/src/dvi.c index 571489c15e5..2c98895796b 100644 --- a/Build/source/texk/dvipdfmx/src/dvi.c +++ b/Build/source/texk/dvipdfmx/src/dvi.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dvi.c,v 1.39 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dvi.c,v 1.40 2009/04/04 02:10:44 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -1660,6 +1660,7 @@ read_length (double *vp, double mag, char **pp, char *endptr) q = parse_c_ident(&p, endptr); if (q) { + char *qq = q; if (strlen(q) > strlen("true") && !memcmp(q, "true", strlen("true"))) { u /= mag != 0.0 ? mag : 1.0; /* inverse magnify */ @@ -1673,11 +1674,11 @@ read_length (double *vp, double mag, char **pp, char *endptr) case K_UNIT__MM: u *= 72.0 / 25.4 ; break; case K_UNIT__BP: u *= 1.0 ; break; default: - WARN("Unknown unit of measure: %s", q); + WARN("Unknown unit of measure: %s", qq); error = -1; break; } - RELEASE(q); + RELEASE(qq); } *vp = v * u; *pp = p; diff --git a/Build/source/texk/dvipdfmx/src/dvipdfmx.c b/Build/source/texk/dvipdfmx/src/dvipdfmx.c index 27b0792afa2..1e71b205b66 100644 --- a/Build/source/texk/dvipdfmx/src/dvipdfmx.c +++ b/Build/source/texk/dvipdfmx/src/dvipdfmx.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.68 2009/01/15 21:46:08 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/dvipdfmx.c,v 1.74 2009/05/06 06:07:09 chofchof Exp $ This is DVIPDFMx, an eXtended version of DVIPDFM by Mark A. Wicks. @@ -30,6 +30,7 @@ #include #include #include +#include #include "system.h" #include "mem.h" @@ -40,6 +41,7 @@ #include "dvi.h" +#include "pdflimits.h" #include "pdfdoc.h" #include "pdfdev.h" #include "pdfparse.h" @@ -125,6 +127,9 @@ set_default_pdf_filename(void) static void usage (void) { + if (really_quiet) + return; + fprintf (stdout, "\nThis is %s-%s by the DVIPDFMx project team,\n", PACKAGE, VERSION); fprintf (stdout, "an extended version of dvipdfm-0.13.2c developed by Mark A. Wicks.\n"); fprintf (stdout, "\nCopyright (C) 2002-2009 by the DVIPDFMx project team\n"); @@ -157,7 +162,7 @@ usage (void) fprintf (stdout, "\t\t\t instead of opaque gray color. (requires PDF 1.4)\n"); fprintf (stdout, "\t\t 0x0004 Treat all CIDFont as fixed-pitch font.\n"); fprintf (stdout, "\t\t 0x0008 Do not replace duplicate fontmap entries.\n"); - fprintf (stdout, "\t\t 0x0010 Do not remove unused PDF destinations.\n"); + fprintf (stdout, "\t\t 0x0010 Do not optimize PDF destinations.\n"); fprintf (stdout, "\t\tPositive values are always ORed with previously given flags.\n"); fprintf (stdout, "\t\tAnd negative values replace old values.\n"); fprintf (stdout, "-D template\tPS->PDF conversion command line template [none]\n"); @@ -311,7 +316,8 @@ select_pages (const char *pagespec) #define POP_ARG() {argv += 1; argc -= 1;} /* It doesn't work as expected (due to dvi filename). */ #define CHECK_ARG(n,m) if (argc < (n) + 1) {\ - fprintf (stderr, "\nMissing %s after \"-%c\".\n", (m), *flag);\ + if (!really_quiet)\ + fprintf (stderr, "\nMissing %s after \"-%c\".\n", (m), *flag);\ usage();\ } @@ -443,11 +449,11 @@ do_args (int argc, char *argv[]) ver_minor = atoi(argv[1]); POP_ARG(); } - if (ver_minor < 3 || ver_minor > 6) { - WARN("PDF version 1.%d not supported. (1.4 used instead)", ver_minor); - ver_minor = 4; - } - pdf_set_version((unsigned) ver_minor); + if (ver_minor < PDF_VERSION_MIN || ver_minor > PDF_VERSION_MAX) { + WARN("PDF version 1.%d not supported. Using PDF 1.%d instead.", + ver_minor, pdf_get_version()); + } else + pdf_set_version((unsigned) ver_minor); } break; case 'z': @@ -517,7 +523,8 @@ do_args (int argc, char *argv[]) POP_ARG(); break; default: - fprintf (stderr, "Unknown option in \"%s\"", flag); + if (!really_quiet) + fprintf (stderr, "Unknown option in \"%s\"", flag); usage(); break; } @@ -526,7 +533,8 @@ do_args (int argc, char *argv[]) } if (argc > 1) { - fprintf(stderr, "Multiple dvi filenames?"); + if (!really_quiet) + fprintf(stderr, "Multiple dvi filenames?"); usage(); } else if (argc > 0) { /* @@ -619,7 +627,8 @@ error_cleanup (void) pdf_error_cleanup(); if (pdf_filename) { remove(pdf_filename); - fprintf(stderr, "\nOutput file removed.\n"); + if (!really_quiet) + fprintf(stderr, "\nOutput file removed.\n"); } } @@ -778,15 +787,19 @@ main (int argc, char *argv[]) { double dvi2pts; - if (strcmp(argv[0], "ebb") == 0) - return extractbb(argc, argv, EBB_OUTPUT); - else if (strcmp(argv[0], "xbb") == 0 || strcmp(argv[0], "extractbb") == 0) - return extractbb(argc, argv, XBB_OUTPUT); + { + char *base = basename(argv[0]); + if (strcmp(base, "ebb") == 0) + return extractbb(argc, argv, EBB_OUTPUT); + else if (strcmp(base, "xbb") == 0 || strcmp(base, "extractbb") == 0) + return extractbb(argc, argv, XBB_OUTPUT); + } mem_debug_init(); if (argc < 2) { - fprintf(stderr, "No dvi filename specified."); + if (!really_quiet) + fprintf(stderr, "No dvi filename specified."); usage(); return 1; } @@ -833,9 +846,10 @@ main (int argc, char *argv[]) MESG("%s -> %s\n", dvi_filename, pdf_filename); if (do_encryption) { + if (key_bits > 40 && pdf_get_version() <= PDF_VERSION_MIN) + ERROR("Chosen key length requires at least PDF 1.4. " + "Use \"-V 4\" to change."); pdf_enc_set_passwd(key_bits, permission, dvi_filename, pdf_filename); - if (key_bits > 40 && pdf_get_version() < 4) - pdf_set_version(4); } if (mp_mode) { diff --git a/Build/source/texk/dvipdfmx/src/epdf.c b/Build/source/texk/dvipdfmx/src/epdf.c index 0da13e58a7b..78e269e04c3 100644 --- a/Build/source/texk/dvipdfmx/src/epdf.c +++ b/Build/source/texk/dvipdfmx/src/epdf.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/epdf.c,v 1.25 2008/10/01 00:48:46 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/epdf.c,v 1.27 2009/05/04 00:41:42 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -49,31 +49,32 @@ #include "epdf.h" int -pdf_include_page (pdf_ximage *ximage, FILE *image_file) +pdf_include_page (pdf_ximage *ximage, FILE *image_file, const char *filename) { - char *ident = pdf_ximage_get_ident(ximage); pdf_file *pf; xform_info info; - pdf_obj *trailer, *contents = NULL; + pdf_obj *contents = NULL, *catalog; pdf_obj *page = NULL, *resources = NULL, *markinfo = NULL; long page_no, count; - pdf_ximage_init_form_info(&info); - - pf = pdf_open(ident, image_file); + pf = pdf_open(filename, image_file); if (!pf) return -1; - trailer = pdf_file_get_trailer(pf); + if (pdf_file_get_version(pf) > pdf_get_version()) + goto too_recent; + + pdf_ximage_init_form_info(&info); page_no = pdf_ximage_get_page(ximage); - page = pdf_doc_get_page(trailer, &page_no, &count, - &info.bbox, &resources, &markinfo); + page = pdf_doc_get_page(pf, &page_no, &count, &info.bbox, &resources); if(!page) goto error_silent; + catalog = pdf_file_get_catalog(pf); + markinfo = pdf_deref_obj(pdf_lookup_dict(catalog, "MarkInfo")); if (markinfo) { pdf_obj *tmp = pdf_deref_obj(pdf_lookup_dict(markinfo, "Marked")); pdf_release_obj(markinfo); @@ -199,4 +200,10 @@ pdf_include_page (pdf_ximage *ximage, FILE *image_file) pdf_close(pf); return -1; + + too_recent: + WARN("PDF version of input file more recent than in output file."); + WARN("Converting. Use \"-V\" switch to change output PDF version."); + pdf_close(pf); + return 1; } diff --git a/Build/source/texk/dvipdfmx/src/epdf.h b/Build/source/texk/dvipdfmx/src/epdf.h index 21703a8c96c..849589f3ebe 100644 --- a/Build/source/texk/dvipdfmx/src/epdf.h +++ b/Build/source/texk/dvipdfmx/src/epdf.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/epdf.h,v 1.8 2004/09/11 14:50:28 hirata Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/epdf.h,v 1.9 2009/05/03 00:13:04 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -28,6 +28,7 @@ #include "mfileio.h" #include "pdfximage.h" -extern int pdf_include_page (pdf_ximage *ximage, FILE *file); +extern int pdf_include_page (pdf_ximage *ximage, FILE *file, + const char *filename); #endif /* _EPDF_H_ */ diff --git a/Build/source/texk/dvipdfmx/src/jpegimage.c b/Build/source/texk/dvipdfmx/src/jpegimage.c index c605394311e..ed8d69165a2 100644 --- a/Build/source/texk/dvipdfmx/src/jpegimage.c +++ b/Build/source/texk/dvipdfmx/src/jpegimage.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.c,v 1.9 2007/05/18 05:19:01 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.c,v 1.10 2009/03/24 02:07:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -194,6 +194,8 @@ static int JPEG_copy_stream (struct JPEG_info *j_info, static void JPEG_info_init (struct JPEG_info *j_info); static void JPEG_info_clear (struct JPEG_info *j_info); static pdf_obj *JPEG_get_iccp (struct JPEG_info *j_info); +static void jpeg_get_density (struct JPEG_info *j_info, + double *xdensity, double *ydensity); int check_for_jpeg (FILE *fp) @@ -331,36 +333,44 @@ jpeg_include_image (pdf_ximage *ximage, FILE *fp) info.bits_per_component = j_info.bits_per_component; info.num_components = j_info.num_components; -#define IS_JFIF(j) ((j).flags & HAVE_APPn_JFIF) + jpeg_get_density(&j_info, &info.xdensity, &info.ydensity); + + pdf_ximage_set_image(ximage, &info, stream); + JPEG_info_clear(&j_info); + + return 0; +} + +#define IS_JFIF(j) ((j)->flags & HAVE_APPn_JFIF) + +static void +jpeg_get_density (struct JPEG_info *j_info, + double *xdensity, double *ydensity) +{ if (IS_JFIF(j_info)) { struct JPEG_APPn_JFIF *app_data; int i; - for (i = 0; i < j_info.num_appn; i++) { - if (j_info.appn[i].marker != JM_APP0 || - j_info.appn[i].app_sig != JS_APPn_JFIF) - continue; + for (i = 0; i < j_info->num_appn; i++) { + if (j_info->appn[i].marker == JM_APP0 || + j_info->appn[i].app_sig == JS_APPn_JFIF) + break; } - if (i < j_info.num_appn) { - app_data = (struct JPEG_APPn_JFIF *)j_info.appn[i].app_data; + if (i < j_info->num_appn) { + app_data = (struct JPEG_APPn_JFIF *)j_info->appn[i].app_data; switch (app_data->units) { case 1: /* pixels per inch */ - info.xdensity = 72.0 / app_data->Xdensity; - info.ydensity = 72.0 / app_data->Ydensity; + *xdensity = 72.0 / app_data->Xdensity; + *ydensity = 72.0 / app_data->Ydensity; break; case 2: /* pixels per centimeter */ - info.xdensity = 72.0 / 2.54 / app_data->Xdensity; - info.ydensity = 72.0 / 2.54 / app_data->Ydensity; + *xdensity = 72.0 / 2.54 / app_data->Xdensity; + *ydensity = 72.0 / 2.54 / app_data->Ydensity; break; default: break; } } } - - pdf_ximage_set_image(ximage, &info, stream); - JPEG_info_clear(&j_info); - - return 0; } static void @@ -749,3 +759,27 @@ JPEG_scan_file (struct JPEG_info *j_info, FILE *fp) return (found_SOFn ? 0 : -1); } + +int +jpeg_get_bbox (FILE *fp, long *width, long *height, + double *xdensity, double *ydensity) +{ + struct JPEG_info j_info; + + JPEG_info_init(&j_info); + + if (JPEG_scan_file(&j_info, fp) < 0) { + WARN("%s: Not a JPEG file?", JPEG_DEBUG_STR); + JPEG_info_clear(&j_info); + return -1; + } + + *width = j_info.width; + *height = j_info.height; + + jpeg_get_density(&j_info, xdensity, ydensity); + + JPEG_info_clear(&j_info); + + return 0; +} diff --git a/Build/source/texk/dvipdfmx/src/jpegimage.h b/Build/source/texk/dvipdfmx/src/jpegimage.h index a47da0c0434..4b1e57c1e2c 100644 --- a/Build/source/texk/dvipdfmx/src/jpegimage.h +++ b/Build/source/texk/dvipdfmx/src/jpegimage.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.h,v 1.2 2004/03/11 11:50:21 hirata Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/jpegimage.h,v 1.3 2009/03/24 02:07:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -30,6 +30,8 @@ extern int check_for_jpeg (FILE *fp); extern int jpeg_include_image (pdf_ximage *ximage, FILE *fp); +extern int jpeg_get_bbox (FILE *fp, long *width, long *height, + double *xdensity, double *ydensity); #endif /* _JPEGIMAGE_H_ */ diff --git a/Build/source/texk/dvipdfmx/src/mem.c b/Build/source/texk/dvipdfmx/src/mem.c index a5435cee40d..7e50f9f3c74 100644 --- a/Build/source/texk/dvipdfmx/src/mem.c +++ b/Build/source/texk/dvipdfmx/src/mem.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/mem.c,v 1.6 2008/11/03 22:49:29 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/mem.c,v 1.7 2009/03/24 07:55:52 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -25,6 +25,7 @@ #include #include +#include "system.h" #include "system.h" #include "mem.h" #include "error.h" diff --git a/Build/source/texk/dvipdfmx/src/pdfdev.c b/Build/source/texk/dvipdfmx/src/pdfdev.c index 21ea4e781a7..c539add58f7 100644 --- a/Build/source/texk/dvipdfmx/src/pdfdev.c +++ b/Build/source/texk/dvipdfmx/src/pdfdev.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfdev.c,v 1.70 2008/12/11 16:03:04 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfdev.c,v 1.71 2009/03/16 22:26:40 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -536,7 +536,7 @@ dev_set_text_matrix (spt_t xpos, spt_t ypos, double slant, double extend, int ro format_buffer[len++] = 'T'; format_buffer[len++] = 'm'; - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: Tm */ text_state.ref_x = xpos; text_state.ref_y = ypos; @@ -556,7 +556,7 @@ reset_text_state (void) /* * We need to reset the line matrix to handle slanted fonts. */ - pdf_doc_add_page_content(" BT", 3); + pdf_doc_add_page_content(" BT", 3); /* op: BT */ /* * text_state.matrix is identity at top of page. * This sometimes write unnecessary "Tm"s when transition from @@ -584,7 +584,7 @@ text_mode (void) case TEXT_MODE: break; case STRING_MODE: - pdf_doc_add_page_content(text_state.is_mb ? ">]TJ" : ")]TJ", 4); + pdf_doc_add_page_content(text_state.is_mb ? ">]TJ" : ")]TJ", 4); /* op: TJ */ break; case GRAPHICS_MODE: reset_text_state(); @@ -601,10 +601,10 @@ graphics_mode (void) case GRAPHICS_MODE: break; case STRING_MODE: - pdf_doc_add_page_content(text_state.is_mb ? ">]TJ" : ")]TJ", 4); + pdf_doc_add_page_content(text_state.is_mb ? ">]TJ" : ")]TJ", 4); /* op: TJ */ /* continue */ case TEXT_MODE: - pdf_doc_add_page_content(" ET", 3); + pdf_doc_add_page_content(" ET", 3); /* op: ET */ text_state.force_reset = 0; text_state.font_id = -1; break; @@ -731,12 +731,12 @@ start_string (spt_t xpos, spt_t ypos, double slant, double extend, int rotate) len += dev_sprint_bp(format_buffer+len, desired_dely, &error_dely); break; } - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: */ /* * dvipdfm wrongly using "TD" in place of "Td". * The TD operator set leading, but we are not using T* etc. */ - pdf_doc_add_page_content(text_state.is_mb ? " Td[<" : " Td[(", 5); + pdf_doc_add_page_content(text_state.is_mb ? " Td[<" : " Td[(", 5); /* op: Td */ /* Error correction */ text_state.ref_x = xpos - error_delx; @@ -757,7 +757,7 @@ string_mode (spt_t xpos, spt_t ypos, double slant, double extend, int rotate) case TEXT_MODE: if (text_state.force_reset) { dev_set_text_matrix(xpos, ypos, slant, extend, rotate); - pdf_doc_add_page_content(text_state.is_mb ? "[<" : "[(", 2); + pdf_doc_add_page_content(text_state.is_mb ? "[<" : "[(", 2); /* op: */ text_state.force_reset = 0; } else { start_string(xpos, ypos, slant, extend, rotate); @@ -832,14 +832,14 @@ dev_set_font (int font_id) format_buffer[len++] = ' '; format_buffer[len++] = 'T'; format_buffer[len++] = 'f'; - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: Tf */ if (font->bold > 0.0 || font->bold != text_state.bold_param) { if (font->bold <= 0.0) len = sprintf(format_buffer, " 0 Tr"); else len = sprintf(format_buffer, " 2 Tr %.2f w", font->bold); /* _FIXME_ */ - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: Tr w */ } text_state.bold_param = font->bold; @@ -1134,7 +1134,7 @@ pdf_dev_set_string (spt_t xpos, spt_t ypos, len += p_itoa( kern, format_buffer + len); } format_buffer[len++] = text_state.is_mb ? '<' : '('; - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: */ len = 0; } @@ -1154,7 +1154,7 @@ pdf_dev_set_string (spt_t xpos, spt_t ypos, FORMAT_BUF_SIZE - len, str_ptr, length); } /* I think if you really care about speed, you should avoid memcopy here. */ - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: */ text_state.offset += width; } @@ -1533,7 +1533,7 @@ pdf_dev_set_rule (spt_t xpos, spt_t ypos, spt_t width, spt_t height) } format_buffer[len++] = ' '; format_buffer[len++] = 'Q'; - pdf_doc_add_page_content(format_buffer, len); + pdf_doc_add_page_content(format_buffer, len); /* op: q re f Q */ } /* Rectangle in device space coordinate. */ @@ -1740,7 +1740,7 @@ pdf_dev_put_image (int id, res_name = pdf_ximage_get_resname(id); len = sprintf(work_buffer, " /%s Do", res_name); - pdf_doc_add_page_content(work_buffer, len); + pdf_doc_add_page_content(work_buffer, len); /* op: Do */ pdf_dev_grestore(); diff --git a/Build/source/texk/dvipdfmx/src/pdfdoc.c b/Build/source/texk/dvipdfmx/src/pdfdoc.c index 6b226ed08d6..087ca41e1ee 100644 --- a/Build/source/texk/dvipdfmx/src/pdfdoc.c +++ b/Build/source/texk/dvipdfmx/src/pdfdoc.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.c,v 1.65 2008/12/11 16:03:05 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.c,v 1.70 2009/05/04 00:41:42 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -373,7 +373,7 @@ static void pdf_doc_close_page_tree (pdf_doc *p); static void pdf_doc_init_names (pdf_doc *p, int check_gotos); static void pdf_doc_close_names (pdf_doc *p); -static void pdf_doc_add_gotos (pdf_obj *annot_dict); +static void pdf_doc_add_goto (pdf_obj *annot_dict); static void pdf_doc_init_docinfo (pdf_doc *p); static void pdf_doc_close_docinfo (pdf_doc *p); @@ -929,33 +929,16 @@ pdf_doc_close_page_tree (pdf_doc *p) */ pdf_obj * -pdf_doc_get_page (pdf_obj *trailer, long *page_p, long *count_p, - pdf_rect *bbox, pdf_obj **resources_p, - pdf_obj **markinfo_p) { +pdf_doc_get_page (pdf_file *pf, long *page_p, long *count_p, + pdf_rect *bbox, pdf_obj **resources_p) { pdf_obj *page_tree = NULL; pdf_obj *resources = NULL, *box = NULL, *rotate = NULL; pdf_obj *catalog; long page_no = *page_p, page_idx; - if (pdf_lookup_dict(trailer, "Encrypt")) { - WARN("This PDF document is encrypted."); - pdf_release_obj(trailer); - goto error_silent; - } - - catalog = pdf_deref_obj(pdf_lookup_dict(trailer, "Root")); - pdf_release_obj(trailer); - if (!PDF_OBJ_DICTTYPE(catalog)) { - if (catalog) - pdf_release_obj(catalog); - goto error; - } - - if (markinfo_p) - *markinfo_p = pdf_deref_obj(pdf_lookup_dict(catalog, "MarkInfo")); + catalog = pdf_file_get_catalog(pf); page_tree = pdf_deref_obj(pdf_lookup_dict(catalog, "Pages")); - pdf_release_obj(catalog); if (!PDF_OBJ_DICTTYPE(page_tree)) goto error; @@ -1094,7 +1077,7 @@ pdf_doc_get_page (pdf_obj *trailer, long *page_p, long *count_p, { int i; - for (i = 4; --i; ) { + for (i = 4; i--; ) { double x; pdf_obj *tmp = pdf_deref_obj(pdf_get_array(box, i)); if (!PDF_OBJ_NUMBERTYPE(tmp)) { @@ -1382,7 +1365,7 @@ pdf_doc_bookmarks_add (pdf_obj *dict, int is_open) p->outlines.current = item; - pdf_doc_add_gotos(dict); + pdf_doc_add_goto(dict); return; } @@ -1475,63 +1458,54 @@ pdf_doc_add_names (const char *category, } static void -pdf_doc_add_gotos (pdf_obj *annot_dict) +pdf_doc_add_goto (pdf_obj *annot_dict) { - pdf_obj *subtype, *A, *S, *D = NULL, *tmp; - char *dest; + pdf_obj *subtype = NULL, *A = NULL, *S = NULL, *D = NULL, *D_new, *dict; + char *dest, *key; if (!pdoc.check_gotos) return; - /* - * We cannot use pdf_deref_obj because if it return NULL - * we don't know whether a dictionary does not exist - * or has been declared as @foo and not yet defined. (As - * long as @foo is undefined, it is stored as "null" object.) - */ - /* * An annotation dictionary coming from an annotation special * must have a "Subtype". An annotation dictionary coming from * an outline special has none. */ - subtype = pdf_lookup_dict(annot_dict, "Subtype"); - if (PDF_OBJ_INDIRECTTYPE(subtype)) - goto indirect; - else if (subtype && !PDF_OBJ_NULLTYPE(subtype)) { - if (!PDF_OBJ_NAMETYPE(subtype)) + subtype = pdf_deref_obj(pdf_lookup_dict(annot_dict, "Subtype")); + if (subtype) { + if (PDF_OBJ_UNDEFINED(subtype)) + goto undefined; + else if (!PDF_OBJ_NAMETYPE(subtype)) goto error; else if (strcmp(pdf_name_value(subtype), "Link")) - return; + goto cleanup; } - A = pdf_lookup_dict(annot_dict, "A"); - if (PDF_OBJ_DICTTYPE(A)) { - S = pdf_lookup_dict(A, "S"); - if (PDF_OBJ_INDIRECTTYPE(S)) - goto indirect; - else if (!PDF_OBJ_NAMETYPE(S)) - goto error; - else if (strcmp(pdf_name_value(S), "GoTo")) - return; - - D = pdf_lookup_dict(A, "D"); - if (PDF_OBJ_NULLTYPE(D)) - D = NULL; - } else if (PDF_OBJ_INDIRECTTYPE(A)) - goto indirect; - else if (A && !PDF_OBJ_NULLTYPE(A)) - goto error; - - tmp = pdf_lookup_dict(annot_dict, "Dest"); - if (PDF_OBJ_NULLTYPE(tmp)) - tmp = NULL; + dict = annot_dict; + key = "Dest"; + D = pdf_deref_obj(pdf_lookup_dict(annot_dict, key)); + if (PDF_OBJ_UNDEFINED(D)) + goto undefined; - if (tmp) { - if (D) + A = pdf_deref_obj(pdf_lookup_dict(annot_dict, "A")); + if (A) { + if (PDF_OBJ_UNDEFINED(A)) + goto undefined; + else if (D || !PDF_OBJ_DICTTYPE(A)) goto error; - else - D = tmp; + else { + S = pdf_deref_obj(pdf_lookup_dict(A, "S")); + if (PDF_OBJ_UNDEFINED(S)) + goto undefined; + else if (!PDF_OBJ_NAMETYPE(S)) + goto error; + else if (strcmp(pdf_name_value(S), "GoTo")) + goto cleanup; + + dict = A; + key = "D"; + D = pdf_deref_obj(pdf_lookup_dict(A, key)); + } } if (PDF_OBJ_STRINGTYPE(D)) @@ -1542,26 +1516,51 @@ pdf_doc_add_gotos (pdf_obj *annot_dict) dest = pdf_name_value(D); #endif else if (PDF_OBJ_ARRAYTYPE(D)) - return; - else if (PDF_OBJ_INDIRECTTYPE(D)) - goto indirect; + goto cleanup; + else if (PDF_OBJ_UNDEFINED(D)) + goto undefined; else goto error; - ht_insert_table(&pdoc.gotos, dest, strlen(dest), NULL+1, NULL); - /* NULL+1 is just some non-null pointer */ - return; + D_new = ht_lookup_table(&pdoc.gotos, dest, strlen(dest)); + if (!D_new) { + char buf[10]; + + /* We use hexadecimal notation for our numeric destinations. + * Other bases (e.g., 10+26 or 10+2*26) would be more efficient. + */ + sprintf(buf, "%lx", ht_table_size(&pdoc.gotos)); + D_new = pdf_new_string(buf, strlen(buf)); + ht_insert_table(&pdoc.gotos, dest, strlen(dest), + D_new, (void (*) (void *)) pdf_release_obj); + } + + { + pdf_obj *key_obj = pdf_new_name(key); + if (!pdf_add_dict(dict, key_obj, pdf_link_obj(D_new))) + pdf_release_obj(key_obj); + } + + cleanup: + if (subtype) + pdf_release_obj(subtype); + if (A) + pdf_release_obj(A); + if (S) + pdf_release_obj(S); + if (D) + pdf_release_obj(D); - indirect: - pdoc.check_gotos = 0; - if (verbose) - MESG("\nFound unexpected annotation format." - " Will not remove PDF destinations\n"); return; error: - WARN("Unknown PDF annotation format."); - return; + WARN("Unknown PDF annotation format. Output file may be broken."); + goto cleanup; + + undefined: + WARN("Cannot optimize PDF annotations. Output file may be broken." + " Please restart with option \"-C 0x10\"\n"); + goto cleanup; } static void @@ -1645,57 +1644,57 @@ pdf_doc_close_names (pdf_doc *p) RELEASE(p->names); p->names = NULL; - ht_clear_table(&p->gotos, NULL); + ht_clear_table(&p->gotos, (void (*) (void *)) pdf_release_obj); return; } void -pdf_doc_add_annot (unsigned page_no, const pdf_rect *rect, pdf_obj *annot_dict) +pdf_doc_add_annot (unsigned page_no, const pdf_rect *rect, + pdf_obj *annot_dict, int new_annot) { pdf_doc *p = &pdoc; pdf_page *page; pdf_obj *rect_array; double annot_grow = p->opt.annot_grow; + double xpos, ypos; + pdf_rect mediabox, annbox; page = doc_get_page_entry(p, page_no); if (!page->annots) page->annots = pdf_new_array(); -#if 1 - { - pdf_rect mediabox; - - pdf_doc_get_mediabox(page_no, &mediabox); - if (rect->llx < mediabox.llx || - rect->urx > mediabox.urx || - rect->lly < mediabox.lly || - rect->ury > mediabox.ury) { - WARN("Annotation out of page boundary."); - WARN("Current page's MediaBox: [%g %g %g %g]", - mediabox.llx, mediabox.lly, mediabox.urx, mediabox.ury); - WARN("Annotation: [%g %g %g %g]", - rect->llx, rect->lly, rect->urx, rect->ury); - WARN("Maybe incorrect paper size specified."); - } - if (rect->llx > rect->urx || rect->lly > rect->ury) { - WARN("Rectangle with negative width/height: [%g %g %g %g]", - rect->llx, rect->lly, rect->urx, rect->ury); - } + pdf_doc_get_mediabox(page_no, &mediabox); + pdf_dev_get_coord(&xpos, &ypos); + annbox.llx = rect->llx - xpos; annbox.lly = rect->lly - ypos; + annbox.urx = rect->urx - xpos; annbox.ury = rect->ury - ypos; + + if (annbox.llx < mediabox.llx || annbox.urx > mediabox.urx || + annbox.lly < mediabox.lly || annbox.ury > mediabox.ury) { + WARN("Annotation out of page boundary."); + WARN("Current page's MediaBox: [%g %g %g %g]", + mediabox.llx, mediabox.lly, mediabox.urx, mediabox.ury); + WARN("Annotation: [%g %g %g %g]", + annbox.llx, annbox.lly, annbox.urx, annbox.ury); + WARN("Maybe incorrect paper size specified."); + } + if (annbox.llx > annbox.urx || annbox.lly > annbox.ury) { + WARN("Rectangle with negative width/height: [%g %g %g %g]", + annbox.llx, annbox.lly, annbox.urx, annbox.ury); } -#endif rect_array = pdf_new_array(); - pdf_add_array(rect_array, pdf_new_number(ROUND(rect->llx - annot_grow, 0.001))); - pdf_add_array(rect_array, pdf_new_number(ROUND(rect->lly - annot_grow, 0.001))); - pdf_add_array(rect_array, pdf_new_number(ROUND(rect->urx + annot_grow, 0.001))); - pdf_add_array(rect_array, pdf_new_number(ROUND(rect->ury + annot_grow, 0.001))); + pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.llx - annot_grow, 0.001))); + pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.lly - annot_grow, 0.001))); + pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.urx + annot_grow, 0.001))); + pdf_add_array(rect_array, pdf_new_number(ROUND(annbox.ury + annot_grow, 0.001))); pdf_add_dict (annot_dict, pdf_new_name("Rect"), rect_array); pdf_add_array(page->annots, pdf_ref_obj(annot_dict)); - pdf_doc_add_gotos(annot_dict); + if (new_annot) + pdf_doc_add_goto(annot_dict); return; } @@ -2653,17 +2652,16 @@ pdf_doc_end_grabbing (pdf_obj *attrib) static struct { int dirty; + int broken; pdf_obj *annot_dict; pdf_rect rect; -} breaking_state = {0, NULL, {0.0, 0.0, 0.0, 0.0}}; +} breaking_state = {0, 0, NULL, {0.0, 0.0, 0.0, 0.0}}; static void reset_box (void) { - breaking_state.rect.llx = 10000.0; /* large value */ - breaking_state.rect.lly = 10000.0; /* large value */ - breaking_state.rect.urx = 0.0; /* small value */ - breaking_state.rect.ury = 0.0; /* small value */ + breaking_state.rect.llx = breaking_state.rect.lly = HUGE_VAL; + breaking_state.rect.urx = breaking_state.rect.ury = -HUGE_VAL; breaking_state.dirty = 0; } @@ -2671,6 +2669,7 @@ void pdf_doc_begin_annot (pdf_obj *dict) { breaking_state.annot_dict = dict; + breaking_state.broken = 0; reset_box(); } @@ -2690,9 +2689,11 @@ pdf_doc_break_annot (void) /* Copy dict */ annot_dict = pdf_new_dict(); pdf_merge_dict(annot_dict, breaking_state.annot_dict); - pdf_doc_add_annot(pdf_doc_current_page_number(), - &(breaking_state.rect), annot_dict); + pdf_doc_add_annot(pdf_doc_current_page_number(), &(breaking_state.rect), + annot_dict, !breaking_state.broken); pdf_release_obj(annot_dict); + + breaking_state.broken = 1; } reset_box(); } diff --git a/Build/source/texk/dvipdfmx/src/pdfdoc.h b/Build/source/texk/dvipdfmx/src/pdfdoc.h index 2056c84c35e..b824888bd9e 100644 --- a/Build/source/texk/dvipdfmx/src/pdfdoc.h +++ b/Build/source/texk/dvipdfmx/src/pdfdoc.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.h,v 1.28 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfdoc.h,v 1.31 2009/05/04 00:41:43 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -56,10 +56,9 @@ extern pdf_obj *pdf_doc_get_reference (const char *category); #define pdf_doc_names() pdf_doc_get_dictionary("Names") #define pdf_doc_this_page() pdf_doc_get_dictionary("@THISPAGE") -extern pdf_obj *pdf_doc_get_page (pdf_obj *trailer, +extern pdf_obj *pdf_doc_get_page (pdf_file *pf, long *page_p, long *count_p, - pdf_rect *bbox, pdf_obj **resources_p, - pdf_obj **markinfo_p); + pdf_rect *bbox, pdf_obj **resources_p); extern long pdf_doc_current_page_number (void); extern pdf_obj *pdf_doc_current_page_resources (void); @@ -116,7 +115,9 @@ extern void pdf_doc_end_grabbing (pdf_obj *attrib); /* Annotation */ extern void pdf_doc_add_annot (unsigned page_no, - const pdf_rect *rect, pdf_obj *annot_dict); + const pdf_rect *rect, + pdf_obj *annot_dict, + int dest_is_new); /* Annotation with auto- clip and line (or page) break */ extern void pdf_doc_begin_annot (pdf_obj *dict); diff --git a/Build/source/texk/dvipdfmx/src/pdfdraw.c b/Build/source/texk/dvipdfmx/src/pdfdraw.c index 5bbc8d39ab5..6474282ffe1 100644 --- a/Build/source/texk/dvipdfmx/src/pdfdraw.c +++ b/Build/source/texk/dvipdfmx/src/pdfdraw.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfdraw.c,v 1.18 2008/12/11 16:03:05 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfdraw.c,v 1.19 2009/03/16 22:26:40 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -799,7 +799,7 @@ pdf_dev__rectshape (pdf_dev *P, buf[len++] = ' '; buf[len++] = isclip ? 'n' : 'Q'; - pdf_doc_add_page_content(buf, len); len = 0; + pdf_doc_add_page_content(buf, len); /* op: q cm n re Q */ return 0; } @@ -842,7 +842,8 @@ pdf_dev__flushpath (pdf_dev *P, b[len++] = ' '; b[len++] = 'r'; b[len++] = 'e'; - pdf_doc_add_page_content(b, len); len = 0; + pdf_doc_add_page_content(b, len); /* op: re */ + len = 0; } else { n_seg = PA_LENGTH(pa); for (i = 0, len = 0, pe = &pa->path[0]; @@ -856,11 +857,13 @@ pdf_dev__flushpath (pdf_dev *P, b[len++] = ' '; b[len++] = PE_OPCHR(pe); if (len + 128 > b_len) { - pdf_doc_add_page_content(b, len); len = 0; + pdf_doc_add_page_content(b, len); /* op: m l c v y h */ + len = 0; } } if (len > 0) { - pdf_doc_add_page_content(b, len); len = 0; + pdf_doc_add_page_content(b, len); /* op: m l c v y h */ + len = 0; } } @@ -869,7 +872,7 @@ pdf_dev__flushpath (pdf_dev *P, if (rule == PDF_FILL_RULE_EVENODD) b[len++] = '*'; - pdf_doc_add_page_content(b, len); + pdf_doc_add_page_content(b, len); /* op: f F s S b B W f* F* s* S* b* B* W* */ return 0; } @@ -1107,7 +1110,7 @@ pdf_dev_gsave (void) copy_a_gstate(gs1, gs0); m_stack_push(&gs_stack, gs1); - pdf_doc_add_page_content(" q", 2); + pdf_doc_add_page_content(" q", 2); /* op: q */ return 0; } @@ -1126,7 +1129,7 @@ pdf_dev_grestore (void) clear_a_gstate(gs); RELEASE(gs); - pdf_doc_add_page_content(" Q", 2); + pdf_doc_add_page_content(" Q", 2); /* op: Q */ pdf_dev_reset_fonts(); @@ -1188,7 +1191,7 @@ pdf_dev_grestore_to (int depth) } while (m_stack_depth(gss) > depth + 1) { - pdf_doc_add_page_content(" Q", 2); + pdf_doc_add_page_content(" Q", 2); /* op: Q */ gs = m_stack_pop(gss); clear_a_gstate(gs); RELEASE(gs); @@ -1283,7 +1286,7 @@ pdf_dev_set_color (const pdf_color *color, char mask, int force) default: /* already verified the given color */ break; } - pdf_doc_add_page_content(fmt_buf, len); + pdf_doc_add_page_content(fmt_buf, len); /* op: RG K G rg k g */ pdf_color_copycolor(current, color); } @@ -1327,7 +1330,7 @@ pdf_dev_concat (const pdf_tmatrix *M) buf[len++] = ' '; buf[len++] = 'c'; buf[len++] = 'm'; - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: cm */ pdf_concatmatrix(CTM, M); @@ -1362,7 +1365,7 @@ pdf_dev_setmiterlimit (double mlimit) len += pdf_sprint_length(buf + len, mlimit); buf[len++] = ' '; buf[len++] = 'M'; - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: M */ gs->miterlimit = mlimit; } @@ -1379,7 +1382,7 @@ pdf_dev_setlinecap (int capstyle) if (gs->linecap != capstyle) { len = sprintf(buf, " %d J", capstyle); - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: J */ gs->linecap = capstyle; } @@ -1396,7 +1399,7 @@ pdf_dev_setlinejoin (int joinstyle) if (gs->linejoin != joinstyle) { len = sprintf(buf, " %d j", joinstyle); - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: j */ gs->linejoin = joinstyle; } @@ -1416,7 +1419,7 @@ pdf_dev_setlinewidth (double width) len += pdf_sprint_length(buf + len, width); buf[len++] = ' '; buf[len++] = 'w'; - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: w */ gs->linewidth = width; } @@ -1434,17 +1437,17 @@ pdf_dev_setdash (int count, double *pattern, double offset) gs->linedash.num_dash = count; gs->linedash.offset = offset; - pdf_doc_add_page_content(" [", 2); + pdf_doc_add_page_content(" [", 2); /* op: */ for (i = 0; i < count; i++) { buf[0] = ' '; len = pdf_sprint_length (buf + 1, pattern[i]); - pdf_doc_add_page_content(buf, len + 1); + pdf_doc_add_page_content(buf, len + 1); /* op: */ gs->linedash.pattern[i] = pattern[i]; } - pdf_doc_add_page_content("] ", 2); + pdf_doc_add_page_content("] ", 2); /* op: */ len = pdf_sprint_length (buf, offset); - pdf_doc_add_page_content(buf, len); - pdf_doc_add_page_content(" d", 2); + pdf_doc_add_page_content(buf, len); /* op: */ + pdf_doc_add_page_content(" d", 2); /* op: d */ return 0; } @@ -1464,7 +1467,7 @@ pdf_dev_setflat (int flatness) if (gs->flatness != flatness) { gs->flatness = flatness; len = sprintf(buf, " %d i", flatness); - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: i */ } return 0; @@ -1523,7 +1526,7 @@ pdf_dev_newpath (void) pdf_path__clearpath (p); } /* The following is required for "newpath" operator in mpost.c. */ - pdf_doc_add_page_content(" n", 2); + pdf_doc_add_page_content(" n", 2); /* op: n */ return 0; } diff --git a/Build/source/texk/dvipdfmx/src/pdfencoding.c b/Build/source/texk/dvipdfmx/src/pdfencoding.c index 296674d9880..108500adbb1 100644 --- a/Build/source/texk/dvipdfmx/src/pdfencoding.c +++ b/Build/source/texk/dvipdfmx/src/pdfencoding.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfencoding.c,v 1.11 2008/05/22 11:03:09 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfencoding.c,v 1.12 2009/03/24 07:55:52 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -28,6 +28,7 @@ #include +#include "system.h" #include "system.h" #include "mem.h" #include "error.h" diff --git a/Build/source/texk/dvipdfmx/src/pdfencrypt.c b/Build/source/texk/dvipdfmx/src/pdfencrypt.c index e76f18eedaa..42902371fcf 100644 --- a/Build/source/texk/dvipdfmx/src/pdfencrypt.c +++ b/Build/source/texk/dvipdfmx/src/pdfencrypt.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfencrypt.c,v 1.10 2008/02/12 18:44:40 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfencrypt.c,v 1.13 2009/03/27 23:47:01 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -36,6 +36,7 @@ #include #endif /* WIN32 */ +#include "system.h" #include "system.h" #include "mem.h" #include "error.h" @@ -49,7 +50,7 @@ #define MAX_PWD_LEN 128 static unsigned char algorithm, revision, key_size; -static unsigned long permission; +static long permission; static unsigned char key_data[MAX_KEY_LEN], id_string[MAX_KEY_LEN]; static unsigned char opwd_string[MAX_STR_LEN], upwd_string[MAX_STR_LEN]; @@ -389,10 +390,10 @@ void pdf_enc_set_passwd (unsigned bits, unsigned perm, char *dviname, char *pdfn key_size = (unsigned char)(bits / 8); algorithm = (key_size == 5 ? 1 : 2); - permission = (unsigned long)perm | 0x000000C0; - revision = ((algorithm == 1 && permission < 0x100) ? 2 : 3); + permission = (long) (perm | 0xC0U); + revision = ((algorithm == 1 && permission < 0x100L) ? 2 : 3); if (revision == 3) - permission |= 0xFFFFF000; + permission |= ~0xFFFL; compute_id_string(dviname, pdfname); compute_owner_password(); @@ -501,7 +502,7 @@ pdf_obj *pdf_encrypt_obj (void) pdf_new_name ("U"), pdf_new_string (upwd_string, 32)); /* KEY : P - * TYPE : integer + * TYPE : (signed 32 bit) integer * VALUE: (Required) A set of flags specifying which operations are * permitted when the document is opened with user access. */ diff --git a/Build/source/texk/dvipdfmx/src/pdflimits.h b/Build/source/texk/dvipdfmx/src/pdflimits.h index 6cc162857f6..f3871dea24a 100644 --- a/Build/source/texk/dvipdfmx/src/pdflimits.h +++ b/Build/source/texk/dvipdfmx/src/pdflimits.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdflimits.h,v 1.4 2004/09/05 13:30:05 hirata Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdflimits.h,v 1.6 2009/05/06 06:07:09 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -25,6 +25,15 @@ #ifndef _PDFLIMITS_H_ #define _PDFLIMITS_H_ +/* + * The minimal and maximal PDF version supported by DVIPDFMx. + * NOTE: Don't forget to update CIDFont_stdcc_def[] in cid.c + * if you increase PDF_VERSION_MAX! + */ +#define PDF_VERSION_MIN 3 +#define PDF_VERSION_MAX 7 +#define PDF_VERSION_DEFAULT 4 + /* * PDF_NAME_LEN_MAX: see, Appendix C of PDF Ref. v1.3, 2nd. ed. * This is Acrobat implementation limit. diff --git a/Build/source/texk/dvipdfmx/src/pdfnames.c b/Build/source/texk/dvipdfmx/src/pdfnames.c index ed7a9b7c6a2..a209e110397 100644 --- a/Build/source/texk/dvipdfmx/src/pdfnames.c +++ b/Build/source/texk/dvipdfmx/src/pdfnames.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfnames.c,v 1.5 2008/11/03 22:49:29 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfnames.c,v 1.6 2009/04/26 21:23:29 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -44,9 +44,8 @@ struct obj_data { - pdf_obj *object_ref; pdf_obj *object; - int reserve; /* 1 if object is not actually defined. */ + int closed; /* 1 if object is closed */ }; char * @@ -86,7 +85,7 @@ pdf_new_name_tree (void) } static void -flush_objects (struct ht_table *ht_tab) +check_objects_defined (struct ht_table *ht_tab) { struct ht_iter iter; @@ -98,19 +97,12 @@ flush_objects (struct ht_table *ht_tab) key = ht_iter_getkey(&iter, &keylen); value = ht_iter_getval(&iter); - if (value->reserve) { - WARN("Unresolved object reference \"%s\" found!!!", + ASSERT(value->object); + if (PDF_OBJ_UNDEFINED(value->object)) { + pdf_names_add_object(ht_tab, key, keylen, pdf_new_null()); + WARN("Object @%s used, but not defined. Replaced by null.", printable_key(key, keylen)); } - if (value->object) { - pdf_release_obj(value->object); - } - if (value->object_ref) { - pdf_release_obj(value->object_ref); - } - value->object = NULL; - value->object_ref = NULL; - value->reserve = 0; } while (ht_iter_next(&iter) >= 0); ht_clear_iter(&iter); } @@ -122,14 +114,11 @@ hval_free (void *hval) struct obj_data *value; value = (struct obj_data *) hval; - if (value->object) - pdf_release_obj(value->object); - if (value->object_ref) - pdf_release_obj(value->object_ref); - value->object = NULL; - value->object_ref = NULL; - value->reserve = 0; + if (value->object) { + pdf_release_obj(value->object); + value->object = NULL; + } RELEASE(value); @@ -141,7 +130,8 @@ pdf_delete_name_tree (struct ht_table **names) { ASSERT(names && *names); - flush_objects (*names); + check_objects_defined(*names); + ht_clear_table(*names, hval_free); RELEASE(*names); *names = NULL; @@ -163,64 +153,20 @@ pdf_names_add_object (struct ht_table *names, value = ht_lookup_table(names, key, keylen); if (!value) { value = NEW(1, struct obj_data); - value->object = object; - value->object_ref = NULL; - value->reserve = 0; + value->object = object; + value->closed = 0; ht_append_table(names, key, keylen, value); } else { - if (value->reserve) { - /* null object is used for undefined objects */ + ASSERT(value->object); + if (PDF_OBJ_UNDEFINED(value->object)) { pdf_transfer_label(object, value->object); pdf_release_obj(value->object); value->object = object; } else { - if (value->object || value->object_ref) { - WARN("Object reference with key \"%s\" is in use.", - printable_key(key, keylen)); - pdf_release_obj(object); - return -1; - } else { - value->object = object; - } - } - value->reserve = 0; - } - - return 0; -} - -int -pdf_names_add_reference (struct ht_table *names, - const void *key, int keylen, pdf_obj *object_ref) -{ - struct obj_data *value; - - ASSERT(names); - - if (!PDF_OBJ_INDIRECTTYPE(object_ref)) { - WARN("Invalid type: @%s is not reference...", - printable_key(key, keylen)); - return -1; - } - - value = ht_lookup_table(names, key, keylen); - if (!value) { - value = NEW(1, struct obj_data); - value->object = NULL; - value->object_ref = object_ref; - value->reserve = 0; - ht_append_table(names, key, keylen, value); - } else { - if (value->object || value->object_ref) { - WARN("Object reference \"%s\" is in use.", - printable_key(key, keylen)); - WARN("Please close it before redefining."); + WARN("Object @%s already defined.", printable_key(key, keylen)); + pdf_release_obj(object); return -1; - } else { - value->object = NULL; - value->object_ref = object_ref; } - value->reserve = 0; } return 0; @@ -234,29 +180,24 @@ pdf_names_lookup_reference (struct ht_table *names, const void *key, int keylen) { struct obj_data *value; + pdf_obj *object; ASSERT(names); value = ht_lookup_table(names, key, keylen); - /* Reserve object label */ - if (!value) { - value = NEW(1, struct obj_data); - value->object = pdf_new_null(); /* dummy */ - value->object_ref = NULL; - value->reserve = 1; - ht_append_table(names, key, keylen, value); - } - - if (!value->object_ref) { - if (value->object) - value->object_ref = pdf_ref_obj(value->object); - else { - WARN("Object @%s not defined or already closed.", - printable_key(key, keylen)); - } + if (value) { + object = value->object; + } else { + /* A null object as dummy would create problems because as value + * of a dictionary entry, a null object is be equivalent to no entry + * at all. This matters for optimization of PDF destinations. + */ + object = pdf_new_undefined(); + pdf_names_add_object(names, key, keylen, object); } + ASSERT(object); - return pdf_link_obj(value->object_ref); + return pdf_ref_obj(object); } pdf_obj * @@ -268,12 +209,9 @@ pdf_names_lookup_object (struct ht_table *names, ASSERT(names); value = ht_lookup_table(names, key, keylen); - if (!value) + if (!value || PDF_OBJ_UNDEFINED(value->object)) return NULL; - else if (!value->object) { - WARN("Object @%s not defined or already closed.", - printable_key(key, keylen)); - } + ASSERT(value->object); return value->object; } @@ -287,21 +225,19 @@ pdf_names_close_object (struct ht_table *names, ASSERT(names); value = ht_lookup_table(names, key, keylen); - if (!value) { - WARN("Tried to release nonexistent reference: %s", - printable_key(key, keylen)); + if (!value ||PDF_OBJ_UNDEFINED(value->object) ) { + WARN("Cannot close undefined object @%s.", printable_key(key, keylen)); return -1; } + ASSERT(value->object); - if (value->object) { - pdf_release_obj(value->object); - value->object = NULL; - } else { - WARN("Trying to close object @%s twice?", - printable_key(key, keylen)); + if (value->closed) { + WARN("Object @%s already closed.", printable_key(key, keylen)); return -1; } + value->closed = 1; + return 0; } @@ -434,32 +370,28 @@ flat_table (struct ht_table *ht_tab, long *num_entries, key = ht_iter_getkey(&iter, &keylen); - if (filter && !ht_lookup_table(filter, key, keylen)) - continue; + if (filter) { + pdf_obj *new_obj = ht_lookup_table(filter, key, keylen); + + if (!new_obj) + continue; + + key = pdf_string_value(new_obj); + keylen = pdf_string_length(new_obj); + } value = ht_iter_getval(&iter); - if (value->reserve) { - WARN("Named object \"%s\" not defined!!!", + ASSERT(value->object); + if (PDF_OBJ_UNDEFINED(value->object)) { + WARN("Object @%s\" not defined. Replaced by null.", printable_key(key, keylen)); - WARN("Replacing with null."); objects[count].key = (char *) key; objects[count].keylen = keylen; objects[count].value = pdf_new_null(); - } else if (value->object_ref) { - objects[count].key = (char *) key; - objects[count].keylen = keylen; - objects[count].value = pdf_link_obj(value->object_ref); } else if (value->object) { objects[count].key = (char *) key; objects[count].keylen = keylen; objects[count].value = pdf_link_obj(value->object); - } else { - WARN("Named object \"%s\" not defined!!!", - printable_key(key, keylen)); - WARN("Replacing with null."); - objects[count].key = (char *) key; - objects[count].keylen = keylen; - objects[count].value = pdf_new_null(); } count++; diff --git a/Build/source/texk/dvipdfmx/src/pdfnames.h b/Build/source/texk/dvipdfmx/src/pdfnames.h index e02e0eb29f9..4eaaffbb3f1 100644 --- a/Build/source/texk/dvipdfmx/src/pdfnames.h +++ b/Build/source/texk/dvipdfmx/src/pdfnames.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfnames.h,v 1.2 2008/11/03 22:49:29 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfnames.h,v 1.3 2009/04/26 21:23:29 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -35,8 +35,6 @@ extern void pdf_delete_name_tree (struct ht_table **names); extern int pdf_names_add_object (struct ht_table *names, const void *key, int keylen, pdf_obj *object); -extern int pdf_names_add_reference (struct ht_table *names, - const void *key, int keylen, pdf_obj *object_ref); extern pdf_obj *pdf_names_lookup_reference (struct ht_table *names, const void *key, int keylen); extern pdf_obj *pdf_names_lookup_object (struct ht_table *names, diff --git a/Build/source/texk/dvipdfmx/src/pdfobj.c b/Build/source/texk/dvipdfmx/src/pdfobj.c index e25d481f7c5..86b6c698abb 100644 --- a/Build/source/texk/dvipdfmx/src/pdfobj.c +++ b/Build/source/texk/dvipdfmx/src/pdfobj.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfobj.c,v 1.63 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfobj.c,v 1.70 2009/05/06 06:07:09 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -161,6 +161,7 @@ struct pdf_file FILE *file; pdf_obj *trailer; xref_entry *xref_table; + pdf_obj *catalog; long num_obj; long file_size; int version; @@ -179,6 +180,8 @@ static pdf_obj *xref_stream; /* Internal static routines */ +static int check_for_pdf_version (FILE *file); + static void pdf_flush_obj (pdf_obj *object, FILE *file); static void pdf_label_obj (pdf_obj *object); static void pdf_write_obj (pdf_obj *object, FILE *file); @@ -240,13 +243,13 @@ pdf_set_compression (int level) return; } -static unsigned pdf_version = 4; +static unsigned pdf_version = PDF_VERSION_DEFAULT; void pdf_set_version (unsigned version) { /* Don't forget to update CIDFont_stdcc_def[] in cid.c too! */ - if (version >= 3 && version <= 6) { + if (version >= PDF_VERSION_MIN && version <= PDF_VERSION_MAX) { pdf_version = version; } } @@ -581,16 +584,13 @@ void pdf_out_white (FILE *file) ERROR("typecheck: Invalid object type: %d %d (line %d)", (o) ? (o)->type : -1, (t), __LINE__);\ } -#define INVALIDOBJ(o) ((o) == NULL || (o)->type <= 0 || (o)->type > PDF_INDIRECT) +#define INVALIDOBJ(o) ((o) == NULL || (o)->type <= 0 || (o)->type > PDF_UNDEFINED) static pdf_obj * pdf_new_obj(int type) { pdf_obj *result; - if (type > PDF_INDIRECT || type < PDF_UNDEFINED) - ERROR("Invalid object type: %d", type); - result = NEW(1, pdf_obj); result->type = type; result->data = NULL; @@ -599,6 +599,9 @@ pdf_new_obj(int type) result->refcount = 1; result->flags = 0; + if (INVALIDOBJ(result)) + ERROR("Invalid object type: %d", type); + return result; } @@ -696,6 +699,20 @@ write_indirect (pdf_indirect *indirect, FILE *file) pdf_out(file, format_buffer, length); } +/* The undefined object is used as a placeholder in pdfnames.c + * for objects which are referenced before they are defined. + */ +pdf_obj * +pdf_new_undefined (void) +{ + pdf_obj *result; + + result = pdf_new_obj(PDF_UNDEFINED); + result->data = NULL; + + return result; +} + pdf_obj * pdf_new_null (void) { @@ -834,19 +851,17 @@ pdf_new_string (const void *str, unsigned length) pdf_obj *result; pdf_string *data; + ASSERT(str); + result = pdf_new_obj(PDF_STRING); data = NEW(1, pdf_string); result->data = data; - if (length != 0) { - data->length = length; - data->string = NEW(length+1, unsigned char); - memcpy(data->string, str, length); - /* Shouldn't assume NULL terminated. */ - data->string[length] = '\0'; - } else { - data->length = 0; - data->string = NULL; - } + + data->length = length; + data->string = NEW(length+1, unsigned char); + memcpy(data->string, str, length); + /* Shouldn't assume NULL terminated. */ + data->string[length] = '\0'; return result; } @@ -1327,14 +1342,20 @@ pdf_pop_array (pdf_obj *array) static void write_dict (pdf_dict *dict, FILE *file) { +#if 0 pdf_out (file, "<<\n", 3); /* dropping \n saves few kb. */ +#else + pdf_out (file, "<<", 2); +#endif while (dict->key != NULL) { pdf_write_obj(dict->key, file); if (pdf_need_white(PDF_NAME, (dict->value)->type)) { pdf_out_white(file); } pdf_write_obj(dict->value, file); +#if 0 pdf_out_char (file, '\n'); /* removing this saves few kb. */ +#endif dict = dict->next; } pdf_out(file, ">>", 2); @@ -1925,7 +1946,7 @@ pdf_write_obj (pdf_obj *object, FILE *file) return; } - if (INVALIDOBJ(object)) + if (INVALIDOBJ(object) || PDF_OBJ_UNDEFINED(object)) ERROR("pdf_write_obj: Invalid object, type = %d\n", object->type); if (file == stderr) @@ -2735,7 +2756,6 @@ parse_xref_stream (pdf_file *pf, long xref_pos, pdf_obj **trailer) return 0; } -/* TODO: parse Version entry */ static pdf_obj * read_xref (pdf_file *pf) { @@ -2820,6 +2840,7 @@ pdf_file_new (FILE *file) pf->file = file; pf->trailer = NULL; pf->xref_table = NULL; + pf->catalog = NULL; pf->num_obj = 0; pf->version = 0; @@ -2845,8 +2866,15 @@ pdf_file_free (pdf_file *pf) pdf_release_obj(pf->xref_table[i].indirect); } - RELEASE(pf->xref_table); - pdf_release_obj(pf->trailer); + RELEASE(pf->xref_table); + if (pf->trailer) { + pdf_release_obj(pf->trailer); + pf->trailer = NULL; + } + if (pf->catalog) { + pdf_release_obj(pf->catalog); + pf->catalog = NULL; + } RELEASE(pf); } @@ -2858,15 +2886,31 @@ pdf_files_init (void) ht_init_table(pdf_files); } +int +pdf_file_get_version (pdf_file *pf) +{ + ASSERT(pf); + return pf->version; +} + +#if 0 pdf_obj * pdf_file_get_trailer (pdf_file *pf) { ASSERT(pf); - return pdf_link_obj(pf->trailer); + return pf->trailer; +} +#endif + +pdf_obj * +pdf_file_get_catalog (pdf_file *pf) +{ + ASSERT(pf); + return pf->catalog; } pdf_file * -pdf_open (char *ident, FILE *file) +pdf_open (const char *ident, FILE *file) { pdf_file *pf; @@ -2877,24 +2921,57 @@ pdf_open (char *ident, FILE *file) if (pf) { pf->file = file; } else { - int version = check_for_pdf(file); - if (!version) { - WARN("pdf_open: Not a PDF 1.[1-5] file."); + int version; + pdf_obj *new_version; + + version = check_for_pdf_version(file); + if (version < 0) { + WARN("Not a PDF file."); return NULL; } pf = pdf_file_new(file); pf->version = version; - if (!(pf->trailer = read_xref(pf))) { - pdf_file_free(pf); - return NULL; + if (!(pf->trailer = read_xref(pf))) + goto error; + + if (pdf_lookup_dict(pf->trailer, "Encrypt")) { + WARN("PDF document is encrypted."); + goto error; + } + + pf->catalog = pdf_deref_obj(pdf_lookup_dict(pf->trailer, "Root")); + if (!PDF_OBJ_DICTTYPE(pf->catalog)) { + WARN("Cannot read PDF document catalog. Broken PDF file?"); + goto error; + } + + new_version = pdf_deref_obj(pdf_lookup_dict(pf->catalog, "Version")); + if (new_version) { + unsigned char minor; + + if (!PDF_OBJ_NAMETYPE(new_version) || + sscanf(pdf_name_value(new_version), "1.%hhu", &minor) != 1) { + pdf_release_obj(new_version); + WARN("Illegal Version entry in document catalog. Broken PDF file?"); + goto error; + } + + if (pf->version < minor) + pf->version = minor; + + pdf_release_obj(new_version); } ht_append_table(pdf_files, ident, strlen(ident), pf); } return pf; + + error: + pdf_file_free(pf); + return NULL; } void @@ -2912,24 +2989,21 @@ pdf_files_close (void) RELEASE(pdf_files); } -int -check_for_pdf (FILE *file) +static int +check_for_pdf_version (FILE *file) { - int result = 0; + unsigned char minor; rewind(file); - if (fread(work_buffer, sizeof(char), strlen("%PDF-1.x"), file) == - strlen("%PDF-1.x") && - !strncmp(work_buffer, "%PDF-1.", strlen("%PDF-1."))) { - if (work_buffer[7] >= '0' && work_buffer[7] <= '0' + pdf_version) - result = 1; - else { - WARN("Version of PDF file (1.%c) is newer than version limit specification.", - work_buffer[7]); - } - } - return result; + return (ungetc(fgetc(file), file) == '%' && + fscanf(file, "%%PDF-1.%hhu", &minor) == 1) ? minor : -1; +} + +int +check_for_pdf (FILE *file) +{ + return (check_for_pdf_version(file) >= 0); } static int CDECL diff --git a/Build/source/texk/dvipdfmx/src/pdfobj.h b/Build/source/texk/dvipdfmx/src/pdfobj.h index a80e9a22147..a50220bfcd8 100644 --- a/Build/source/texk/dvipdfmx/src/pdfobj.h +++ b/Build/source/texk/dvipdfmx/src/pdfobj.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfobj.h,v 1.31 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfobj.h,v 1.34 2009/05/03 00:13:04 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -38,9 +38,9 @@ #define PDF_STREAM 7 #define PDF_NULL 8 #define PDF_INDIRECT 9 +#define PDF_UNDEFINED 10 #define PDF_OBJ_INVALID 0 -#define PDF_UNDEFINED PDF_OBJ_INVALID #define STREAM_COMPRESS (1 << 0) @@ -73,6 +73,7 @@ extern int pdf_obj_typeof (pdf_obj *object); #define PDF_OBJ_DICTTYPE(o) ((o) && pdf_obj_typeof((o)) == PDF_DICT) #define PDF_OBJ_STREAMTYPE(o) ((o) && pdf_obj_typeof((o)) == PDF_STREAM) #define PDF_OBJ_INDIRECTTYPE(o) ((o) && pdf_obj_typeof((o)) == PDF_INDIRECT) +#define PDF_OBJ_UNDEFINED(o) ((o) && pdf_obj_typeof((o)) == PDF_UNDEFINED) #define PDF_OBJ_TYPEOF(o) pdf_obj_typeof((o)) @@ -81,6 +82,8 @@ extern pdf_obj *pdf_ref_obj (pdf_obj *object); extern pdf_obj *pdf_link_obj (pdf_obj *object); extern void pdf_transfer_label (pdf_obj *dst, pdf_obj *src); +extern pdf_obj *pdf_new_undefined (void); + extern pdf_obj *pdf_new_null (void); extern pdf_obj *pdf_new_boolean (char value); @@ -188,9 +191,13 @@ extern void pdf_set_encrypt (pdf_obj *encrypt, pdf_obj *id); extern void pdf_files_init (void); extern void pdf_files_close (void); extern int check_for_pdf (FILE *file); -extern pdf_file *pdf_open (char *ident, FILE *file); +extern pdf_file *pdf_open (const char *ident, FILE *file); extern void pdf_close (pdf_file *pf); +#if 0 extern pdf_obj *pdf_file_get_trailer (pdf_file *pf); +#endif +extern int pdf_file_get_version (pdf_file *pf); +extern pdf_obj *pdf_file_get_catalog (pdf_file *pf); extern pdf_obj *pdf_deref_obj (pdf_obj *object); extern pdf_obj *pdf_import_object (pdf_obj *object); diff --git a/Build/source/texk/dvipdfmx/src/pdfparse.c b/Build/source/texk/dvipdfmx/src/pdfparse.c index 111114ec362..7709e7fced7 100644 --- a/Build/source/texk/dvipdfmx/src/pdfparse.c +++ b/Build/source/texk/dvipdfmx/src/pdfparse.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfparse.c,v 1.43 2008/06/07 09:54:38 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfparse.c,v 1.44 2009/04/29 11:20:21 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -503,10 +503,18 @@ parse_pdf_literal_string (char **pp, char *endptr) p++; - /* - * Accroding to the PDF spec., an end-of-line marker, not preceded - * by a backslash, must be converted to single \n. - */ + /* The carriage return (CR, 0x0d) and line feed (LF, 0x0a) characters, + * also called newline characters, are treated as end-of-line (EOL) + * markers. The combination of a carriage return followed immediately + * by a line feed is treated as one EOL marker. + * [PDF Reference, 6th ed., version 1.7, p. 50] */ + + /* If an end-of-line marker appears within a literal string + * without a preceding backslash, the result is equivalent to + * \n (regardless of whether the end-of-line marker was + * a carriage return, a line feed, or both). + * [PDF Reference, 6th ed., version 1.7, p. 55] */ + while (p < endptr) { ch = p[0]; @@ -666,7 +674,7 @@ parse_pdf_tainted_dict (char **pp, char *endptr) } #else /* PDF_PARSE_STRICT */ pdf_obj * -parse_pdf_tainted_dict (char **pp, char *endptr, int level) +parse_pdf_tainted_dict (char **pp, char *endptr) { return parse_pdf_dict(pp, endptr, NULL); } @@ -788,26 +796,19 @@ parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf) } p += 6; - /* Carrige return alone is not allowed after keyword "stream". - * See, PDF Reference, 4th ed., version 1.5, p. 36. - */ + /* The keyword stream that follows the stream dictionary + * should be followed by an end-of-line marker consisting of + * either a carriage return (0x0D;\r) and a line feed (0x0A;\n) + * or just a line feed, and not by a carriage return alone. + * [PDF Reference, 6th ed., version 1.7, pp. 60-61] */ + + /* Notice that TeX translates an end-of-line marker to a single space. */ if (p < endptr && p[0] == '\n') { p++; } else if (p + 1 < endptr && (p[0] == '\r' && p[1] == '\n')) { p += 2; } -#ifndef PDF_PARSE_STRICT - else { - /* TeX translate end-of-line marker to a single space. */ - if (parser_state.tainted) { - if (p < endptr && p[0] == ' ') { - p++; - } - } - } - /* The end-of-line marker not mandatory? */ -#endif /* !PDF_PARSE_STRICT */ /* Stream length */ { @@ -824,31 +825,6 @@ parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf) } pdf_release_obj(tmp2); } -#ifndef PDF_PARSE_STRICT - else if (p + 9 <= endptr) - { - /* - * This was added to allow TeX users to write PDF stream object - * directly in their TeX source. This violates PDF spec. - */ - char *q; - - stream_length = -1; - for (q = endptr - 1; q >= p + 8; q--) { - if (q[0] != 'm') - continue; - else { - if (!memcmp(q - 8, "endstrea", 8)) { - /* The end-of-line marker is not skipped here. There are - * no way to decide if it is a part of the stream or not. - */ - stream_length = ((long) (q - p)) - 8; - break; - } - } - } - } -#endif /* !PDF_PARSE_STRICT */ else { return NULL; } @@ -882,24 +858,14 @@ parse_pdf_stream (char **pp, char *endptr, pdf_obj *dict, pdf_file *pf) /* Check "endsteam" */ { - /* - * It is an error if the stream contained too much data except there - * may be an extra end-of-line marker before the keyword "endstream". - */ -#ifdef PDF_PARSE_STRICT + /* It is recommended that there be an end-of-line marker + * after the data and before endstream; this marker is not included + * in the stream length. + * [PDF Reference, 6th ed., version 1.7, pp. 61] */ if (p < endptr && p[0] == '\r') p++; if (p < endptr && p[0] == '\n') p++; -#else /* !PDF_PARSE_STRICT */ - /* - * This may skip data starting with '%' and terminated by a - * '\r' or '\n' or '\r\n'. The PDF syntax rule should not be - * applied to the content of the stream data. - * TeX may have converted end-of-line to single white space. - */ - skip_white(&p, endptr); -#endif /* !PDF_PARSE_STRICT */ if (p + 9 > endptr || memcmp(p, "endstream", 9)) { diff --git a/Build/source/texk/dvipdfmx/src/pdfximage.c b/Build/source/texk/dvipdfmx/src/pdfximage.c index d33b9629b51..b51541c8e67 100644 --- a/Build/source/texk/dvipdfmx/src/pdfximage.c +++ b/Build/source/texk/dvipdfmx/src/pdfximage.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfximage.c,v 1.21 2008/05/29 13:43:51 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfximage.c,v 1.23 2009/05/03 00:13:04 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -261,8 +261,14 @@ load_image (const char *ident, const char *fullname, int format, FILE *fp, case IMAGE_TYPE_PDF: if (_opts.verbose) MESG("[PDF]"); - if (pdf_include_page(I, fp) < 0) - goto error; + { + int result = pdf_include_page(I, fp, ident); + if (result > 0) + /* PDF version too recent */ + result = ps_include_page(I, fullname); + if (result < 0) + goto error; + } if (_opts.verbose) MESG(",Page:%ld", I->page_no); I->subtype = PDF_XOBJECT_TYPE_FORM; @@ -443,12 +449,6 @@ pdf_ximage_init_image_info (ximage_info *info) info->xdensity = info->ydensity = 1.0; } -char * -pdf_ximage_get_ident (pdf_ximage *I) -{ - return I->ident; -} - void pdf_ximage_set_image (pdf_ximage *I, void *image_info, pdf_obj *resource) { @@ -827,7 +827,8 @@ ps_include_page (pdf_ximage *ximage, const char *filename) MESG("pdf_image>> ..."); } - error = dpx_file_apply_filter(distiller_template, filename, temp); + error = dpx_file_apply_filter(distiller_template, filename, temp, + (unsigned char) pdf_get_version()); if (error) { WARN("Image format conversion for \"%s\" failed...", filename); dpx_delete_temp_file(temp); @@ -840,7 +841,7 @@ ps_include_page (pdf_ximage *ximage, const char *filename) dpx_delete_temp_file(temp); return -1; } - error = pdf_include_page(ximage, fp); + error = pdf_include_page(ximage, fp, temp); MFCLOSE(fp); if (_opts.verbose > 1) { diff --git a/Build/source/texk/dvipdfmx/src/pdfximage.h b/Build/source/texk/dvipdfmx/src/pdfximage.h index dc74d373af7..34d4ef2518a 100644 --- a/Build/source/texk/dvipdfmx/src/pdfximage.h +++ b/Build/source/texk/dvipdfmx/src/pdfximage.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pdfximage.h,v 1.13 2008/05/29 13:43:51 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pdfximage.h,v 1.14 2009/05/03 00:13:04 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -70,7 +70,6 @@ extern int pdf_ximage_defineresource (const char *ident, int subtype, /* Called by pngimage, jpegimage, epdf, mpost, etc. */ extern void pdf_ximage_init_image_info (ximage_info *info); extern void pdf_ximage_init_form_info (xform_info *info); -extern char *pdf_ximage_get_ident (pdf_ximage *ximage); extern void pdf_ximage_set_image (pdf_ximage *ximage, void *info, pdf_obj *resource); extern void pdf_ximage_set_form (pdf_ximage *ximage, void *info, pdf_obj *resource); extern void pdf_ximage_set_page (pdf_ximage *ximage, long page_no, long page_count); diff --git a/Build/source/texk/dvipdfmx/src/pngimage.c b/Build/source/texk/dvipdfmx/src/pngimage.c index f7eb4ba3513..6d4953650cd 100644 --- a/Build/source/texk/dvipdfmx/src/pngimage.c +++ b/Build/source/texk/dvipdfmx/src/pngimage.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.c,v 1.25 2007/05/18 05:19:01 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.c,v 1.26 2009/03/24 02:07:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -206,9 +206,6 @@ png_include_image (pdf_ximage *ximage, FILE *png_file) png_read_update_info(png_ptr, png_info_ptr); rowbytes = png_get_rowbytes(png_ptr, png_info_ptr); - stream = pdf_new_stream (STREAM_COMPRESS); - stream_dict = pdf_stream_dict(stream); - /* Values listed below will not be modified in the remaining process. */ info.width = width; info.height = height; @@ -218,6 +215,9 @@ png_include_image (pdf_ximage *ximage, FILE *png_file) if (yppm > 0) info.ydensity = 72.0 / 0.0254 / yppm; + stream = pdf_new_stream (STREAM_COMPRESS); + stream_dict = pdf_stream_dict(stream); + stream_data_ptr = (png_bytep) NEW(rowbytes*height, png_byte); read_image_data(png_ptr, png_info_ptr, stream_data_ptr, height, rowbytes); @@ -1006,4 +1006,46 @@ read_image_data (png_structp png_ptr, png_infop info_ptr, /* info_ptr unused */ RELEASE(rows_p); } +int +png_get_bbox (FILE *png_file, long *width, long *height, + double *xdensity, double *ydensity) +{ + png_structp png_ptr; + png_infop png_info_ptr; + png_uint_32 xppm, yppm; + + rewind (png_file); + png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (png_ptr == NULL || + (png_info_ptr = png_create_info_struct (png_ptr)) == NULL) { + WARN("%s: Creating Libpng read/info struct failed.", PNG_DEBUG_STR); + if (png_ptr) + png_destroy_read_struct(&png_ptr, NULL, NULL); + return -1; + } + + /* Inititializing file IO. */ + png_init_io (png_ptr, png_file); + + /* Read PNG info-header and get some info. */ + png_read_info(png_ptr, png_info_ptr); + *width = png_get_image_width (png_ptr, png_info_ptr); + *height = png_get_image_height(png_ptr, png_info_ptr); + xppm = png_get_x_pixels_per_meter(png_ptr, png_info_ptr); + yppm = png_get_y_pixels_per_meter(png_ptr, png_info_ptr); + + /* Cleanup */ + if (png_info_ptr) + png_destroy_info_struct(png_ptr, &png_info_ptr); + if (png_ptr) + png_destroy_read_struct(&png_ptr, NULL, NULL); + + if (xppm > 0) + *xdensity = 72.0 / 0.0254 / xppm; + if (yppm > 0) + *ydensity = 72.0 / 0.0254 / yppm; + + return 0; +} + #endif /* HAVE_LIBPNG */ diff --git a/Build/source/texk/dvipdfmx/src/pngimage.h b/Build/source/texk/dvipdfmx/src/pngimage.h index fe9c4a7e1e8..4bb33726ab5 100644 --- a/Build/source/texk/dvipdfmx/src/pngimage.h +++ b/Build/source/texk/dvipdfmx/src/pngimage.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.h,v 1.4 2004/03/11 11:50:25 hirata Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/pngimage.h,v 1.5 2009/03/24 02:07:48 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -37,6 +37,8 @@ extern int png_include_image (pdf_ximage *ximage, FILE *file); extern int check_for_png (FILE *file); +extern int png_get_bbox (FILE *fp, long *width, long *height, + double *xdensity, double *ydensity); #endif diff --git a/Build/source/texk/dvipdfmx/src/spc_color.c b/Build/source/texk/dvipdfmx/src/spc_color.c index dbbe5254999..c1b730b6059 100644 --- a/Build/source/texk/dvipdfmx/src/spc_color.c +++ b/Build/source/texk/dvipdfmx/src/spc_color.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_color.c,v 1.8 2008/12/11 16:03:05 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_color.c,v 1.9 2009/04/29 11:22:19 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -53,7 +53,7 @@ spc_handler_color_push (struct spc_env *spe, struct spc_arg *args) int error; pdf_color colorspec; - error = spc_util_read_colorspec(spe, &colorspec, args, 1); + error = spc_util_read_colorspec(spe, &colorspec, args); if (!error) { pdf_color_push(&colorspec, &colorspec); } @@ -78,7 +78,7 @@ spc_handler_color_default (struct spc_env *spe, struct spc_arg *args) int error; pdf_color colorspec; - error = spc_util_read_colorspec(spe, &colorspec, args, 1); + error = spc_util_read_colorspec(spe, &colorspec, args); if (!error) { pdf_color_clear_stack(); pdf_color_set(&colorspec, &colorspec); @@ -97,7 +97,7 @@ spc_handler_background (struct spc_env *spe, struct spc_arg *args) int error; pdf_color colorspec; - error = spc_util_read_colorspec(spe, &colorspec, args, 1); + error = spc_util_read_colorspec(spe, &colorspec, args); if (!error) pdf_doc_set_bgcolor(&colorspec); diff --git a/Build/source/texk/dvipdfmx/src/spc_html.c b/Build/source/texk/dvipdfmx/src/spc_html.c index 276f8b1c947..35fbdbbdbb9 100644 --- a/Build/source/texk/dvipdfmx/src/spc_html.c +++ b/Build/source/texk/dvipdfmx/src/spc_html.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_html.c,v 1.9 2008/11/30 21:31:24 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_html.c,v 1.10 2009/03/16 22:26:40 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -662,9 +662,9 @@ spc_html__img_empty (struct spc_env *spe, pdf_obj *attr, struct spc_html_ *sd) res_name, pdf_ref_obj(dict)); pdf_release_obj(dict); } - pdf_doc_add_page_content(" /", 2); - pdf_doc_add_page_content(res_name, strlen(res_name)); - pdf_doc_add_page_content(" gs", 3); + pdf_doc_add_page_content(" /", 2); /* op: */ + pdf_doc_add_page_content(res_name, strlen(res_name)); /* op: */ + pdf_doc_add_page_content(" gs", 3); /* op: gs */ RELEASE(res_name); } } @@ -677,9 +677,9 @@ spc_html__img_empty (struct spc_env *spe, pdf_obj *attr, struct spc_html_ *sd) pdf_dev_rectclip(r.llx, r.lly, r.urx - r.llx, r.ury - r.lly); res_name = pdf_ximage_get_resname(id); - pdf_doc_add_page_content(" /", 2); - pdf_doc_add_page_content(res_name, strlen(res_name)); - pdf_doc_add_page_content(" Do", 3); + pdf_doc_add_page_content(" /", 2); /* op: */ + pdf_doc_add_page_content(res_name, strlen(res_name)); /* op: */ + pdf_doc_add_page_content(" Do", 3); /* op: Do */ pdf_dev_grestore(); diff --git a/Build/source/texk/dvipdfmx/src/spc_pdfm.c b/Build/source/texk/dvipdfmx/src/spc_pdfm.c index e756420c404..beed3752125 100644 --- a/Build/source/texk/dvipdfmx/src/spc_pdfm.c +++ b/Build/source/texk/dvipdfmx/src/spc_pdfm.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_pdfm.c,v 1.45 2008/12/11 16:03:05 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_pdfm.c,v 1.48 2009/04/29 11:22:19 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -572,7 +572,7 @@ spc_handler_pdfm_annot (struct spc_env *spe, struct spc_arg *args) if (ident) spc_push_object(ident, pdf_link_obj(annot_dict)); /* This add reference. */ - pdf_doc_add_annot(pdf_doc_current_page_number(), &rect, annot_dict); + pdf_doc_add_annot(pdf_doc_current_page_number(), &rect, annot_dict, 1); if (ident) { spc_flush_object(ident); @@ -643,11 +643,13 @@ spc_handler_pdfm_bcolor (struct spc_env *spe, struct spc_arg *ap) { int error; pdf_color fc, sc; + pdf_color *pfc, *psc; - error = spc_util_read_colorspec(spe, &fc, ap, 0); + pdf_color_get_current(&psc, &pfc); + error = spc_util_read_pdfcolor(spe, &fc, ap, pfc); if (!error) { if (ap->curptr < ap->endptr) { - error = spc_util_read_colorspec(spe, &sc, ap, 0); + error = spc_util_read_pdfcolor(spe, &sc, ap, psc); } else { pdf_color_copycolor(&sc, &fc); } @@ -671,11 +673,13 @@ spc_handler_pdfm_scolor (struct spc_env *spe, struct spc_arg *ap) { int error; pdf_color fc, sc; + pdf_color *pfc, *psc; - error = spc_util_read_colorspec(spe, &fc, ap, 0); + pdf_color_get_current(&psc, &pfc); + error = spc_util_read_pdfcolor(spe, &fc, ap, pfc); if (!error) { if (ap->curptr < ap->endptr) { - error = spc_util_read_colorspec(spe, &sc, ap, 0); + error = spc_util_read_pdfcolor(spe, &sc, ap, psc); } else { pdf_color_copycolor(&sc, &fc); } @@ -1252,10 +1256,10 @@ spc_handler_pdfm_content (struct spc_env *spe, struct spc_arg *args) work_buffer[len++] = 'm'; work_buffer[len++] = ' '; - pdf_doc_add_page_content(work_buffer, len); + pdf_doc_add_page_content(work_buffer, len); /* op: q cm */ len = (long) (args->endptr - args->curptr); - pdf_doc_add_page_content(args->curptr, len); - pdf_doc_add_page_content(" Q", 2); + pdf_doc_add_page_content(args->curptr, len); /* op: ANY */ + pdf_doc_add_page_content(" Q", 2); /* op: Q */ } args->curptr = args->endptr; @@ -1290,8 +1294,8 @@ spc_handler_pdfm_literal (struct spc_env *spe, struct spc_arg *args) M.e = spe->x_user; M.f = spe->y_user; pdf_dev_concat(&M); } - pdf_doc_add_page_content(" ", 1); - pdf_doc_add_page_content(args->curptr, (long) (args->endptr - args->curptr)); + pdf_doc_add_page_content(" ", 1); /* op: */ + pdf_doc_add_page_content(args->curptr, (long) (args->endptr - args->curptr)); /* op: ANY */ if (!direct) { M.e = -spe->x_user; M.f = -spe->y_user; pdf_dev_concat(&M); @@ -1333,8 +1337,8 @@ spc_handler_pdfm_code (struct spc_env *spe, struct spc_arg *args) skip_white(&args->curptr, args->endptr); if (args->curptr < args->endptr) { - pdf_doc_add_page_content(" ", 1); - pdf_doc_add_page_content(args->curptr, (long) (args->endptr - args->curptr)); + pdf_doc_add_page_content(" ", 1); /* op: */ + pdf_doc_add_page_content(args->curptr, (long) (args->endptr - args->curptr)); /* op: ANY */ args->curptr = args->endptr; } @@ -1669,7 +1673,7 @@ spc_handler_pdfm_bgcolor (struct spc_env *spe, struct spc_arg *args) int error; pdf_color colorspec; - error = spc_util_read_colorspec(spe, &colorspec, args, 0); + error = spc_util_read_pdfcolor(spe, &colorspec, args, NULL); if (error) spc_warn(spe, "No valid color specified?"); else { diff --git a/Build/source/texk/dvipdfmx/src/spc_tpic.c b/Build/source/texk/dvipdfmx/src/spc_tpic.c index 2fab3d83839..100ead5eadf 100644 --- a/Build/source/texk/dvipdfmx/src/spc_tpic.c +++ b/Build/source/texk/dvipdfmx/src/spc_tpic.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_tpic.c,v 1.5 2008/11/30 21:39:19 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_tpic.c,v 1.6 2009/03/16 22:26:40 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -193,7 +193,7 @@ set_fillstyle (double g, double a, int f_ais) } len += sprintf(buf + len, " /%s gs", resname); - pdf_doc_add_page_content(buf, len); + pdf_doc_add_page_content(buf, len); /* op: gs */ } { diff --git a/Build/source/texk/dvipdfmx/src/spc_util.c b/Build/source/texk/dvipdfmx/src/spc_util.c index bd1fe8d906f..d3db0e4cf25 100644 --- a/Build/source/texk/dvipdfmx/src/spc_util.c +++ b/Build/source/texk/dvipdfmx/src/spc_util.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_util.c,v 1.14 2008/06/01 01:38:32 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_util.c,v 1.16 2009/04/29 11:30:51 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -204,18 +204,18 @@ spc_read_color_pdf (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *a default: /* Try to read the color names defined in dvipsname.def */ q = parse_c_ident(&ap->curptr, ap->endptr); - if (!q) { - spc_warn(spe, "No valid color specified?"); - return -1; + if (q) { + error = pdf_color_namedcolor(colorspec, q); + if (error) + spc_warn(spe, "Unrecognized color name: %s, keep the current color", q); + RELEASE(q); + } else { + error = -1; } - error = pdf_color_namedcolor(colorspec, q); - if (error) - spc_warn(spe, "Unrecognized color name: %s", q); - RELEASE(q); break; } - if (!error && isarry) { + if (isarry) { skip_blank(&ap->curptr, ap->endptr); if (ap->curptr >= ap->endptr || ap->curptr[0] != ']') { spc_warn(spe, "Unbalanced '[' and ']' in color specification."); @@ -231,26 +231,36 @@ spc_read_color_pdf (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *a /* This is for reading *single* color specification. */ int -spc_util_read_colorspec (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *ap, int syntax) +spc_util_read_colorspec (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *ap) { - int error = 0; - ASSERT(colorspec && spe && ap); skip_blank(&ap->curptr, ap->endptr); if (ap->curptr >= ap->endptr) { return -1; } + return spc_read_color_color(spe, colorspec, ap); +} + +int +spc_util_read_pdfcolor (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *ap, pdf_color *defaultcolor) +{ + int error = 0; - if (syntax) - error = spc_read_color_color(spe, colorspec, ap); - else - error = spc_read_color_pdf(spe, colorspec, ap); + ASSERT(colorspec && spe && ap); - return error; + skip_blank(&ap->curptr, ap->endptr); + if (ap->curptr >= ap->endptr) { + return -1; + } + error = spc_read_color_pdf(spe, colorspec, ap); + if (error < 0 && defaultcolor) { + pdf_color_copycolor(colorspec, defaultcolor); + error = 0; + } + return error; } - /* This need to allow 'true' prefix for unit and * length value must be divided by current magnification. */ @@ -481,9 +491,9 @@ spc_read_dimtrns_pdfm (struct spc_env *spe, transform_info *p, struct spc_arg *a #define K_TRN__XSCALE 4 #define K_TRN__YSCALE 5 #define K_TRN__ROTATE 6 - "scale", "xscale", "yscale", "rotate", + "scale", "xscale", "yscale", "rotate", /* See "Dvipdfmx User's Manual", p.5 */ #define K_TRN__BBOX 7 - "bbox", /* See "Dvipdfmx User's Manual", p.5 */ + "bbox", #define K_TRN__MATRIX 8 "matrix", #undef K__CLIP diff --git a/Build/source/texk/dvipdfmx/src/spc_util.h b/Build/source/texk/dvipdfmx/src/spc_util.h index 0dd2c938ea1..e27c369415f 100644 --- a/Build/source/texk/dvipdfmx/src/spc_util.h +++ b/Build/source/texk/dvipdfmx/src/spc_util.h @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_util.h,v 1.5 2008/02/13 20:22:21 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_util.h,v 1.6 2009/04/29 11:22:19 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -35,7 +35,8 @@ * * This is for reading *single* color specification. */ -extern int spc_util_read_colorspec (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *args, int syntax); +extern int spc_util_read_colorspec (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *args); +extern int spc_util_read_pdfcolor (struct spc_env *spe, pdf_color *colorspec, struct spc_arg *args, pdf_color *defaultcolor); extern int spc_util_read_dimtrns (struct spc_env *spe, transform_info *dimtrns, struct spc_arg *args, long *page, int syntax); extern int spc_util_read_length (struct spc_env *spe, double *length, struct spc_arg *ap); diff --git a/Build/source/texk/dvipdfmx/src/specials.c b/Build/source/texk/dvipdfmx/src/specials.c index 9ef4bd2670b..3c04720b451 100644 --- a/Build/source/texk/dvipdfmx/src/specials.c +++ b/Build/source/texk/dvipdfmx/src/specials.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/specials.c,v 1.12 2009/01/15 21:04:38 chofchof Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/specials.c,v 1.13 2009/04/26 21:23:29 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -283,31 +283,12 @@ spc_lookup_object (const char *key) void spc_push_object (const char *key, pdf_obj *value) { - int error = 0; + ASSERT(named_objects); if (!key || !value) return; - if (PDF_OBJ_INDIRECTTYPE(value)) { - pdf_names_add_reference(named_objects, - key, strlen(key), value); - } else { - error = pdf_names_add_object(named_objects, - key, strlen(key), value); - if (!error) { - /* _FIXME_: - * Objects created by pdf:obj must always - * be written to output regardless of if - * they are actually used in document. - */ - pdf_obj *obj_ref = pdf_names_lookup_reference(named_objects, - key, strlen(key)); - if (obj_ref) - pdf_release_obj(obj_ref); - } - } - - return; + pdf_names_add_object(named_objects, key, strlen(key), value); } void diff --git a/Build/source/texk/dvipdfmx/src/t1_load.c b/Build/source/texk/dvipdfmx/src/t1_load.c index 9efbb20c149..d58428cf616 100644 --- a/Build/source/texk/dvipdfmx/src/t1_load.c +++ b/Build/source/texk/dvipdfmx/src/t1_load.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/t1_load.c,v 1.12 2008/10/13 19:42:48 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/t1_load.c,v 1.13 2009/04/08 03:10:58 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -566,18 +566,24 @@ parse_subrs (cff_font *font, } if (mode != 1) { - subrs = font->subrs[0] = cff_new_index(count); - subrs->data = NEW(offset, card8); - offset = 0; - for (i = 0; i < count; i++) { - subrs->offset[i] = offset + 1; - if (lengths[i] > 0) { - memcpy(subrs->data + offset, data + offsets[i], lengths[i]); - offset += lengths[i]; + if (font->subrs[0] == NULL) { + subrs = font->subrs[0] = cff_new_index(count); + subrs->data = NEW(offset, card8); + offset = 0; + for (i = 0; i < count; i++) { + subrs->offset[i] = offset + 1; + if (lengths[i] > 0) { + memcpy(subrs->data + offset, data + offsets[i], lengths[i]); + offset += lengths[i]; + } } + subrs->offset[count] = offset + 1; + } else { + /* Adobe's OPO_____.PFB and OPBO____.PFB have two /Subrs dicts, + * and also have /CharStrings not followed by dicts. + * Simply ignores those data. By ChoF on 2009/04/08. */ + WARN("Already found /Subrs; ignores the other /Subrs dicts."); } - subrs->offset[count] = offset + 1; - RELEASE(data); RELEASE(offsets); RELEASE(lengths); @@ -605,8 +611,11 @@ parse_charstrings (cff_font *font, tok = pst_get_token(start, end); if (!PST_INTEGERTYPE(tok) || pst_getIV(tok) < 0 || pst_getIV(tok) > CFF_GLYPH_MAX) { + unsigned char *s = pst_getSV(tok); + WARN("Ignores non dict \"/CharStrings %s ...\"", s); + RELEASE(s); RELEASE_TOK(tok); - return -1; + return 0; } count = pst_getIV(tok); RELEASE_TOK(tok); diff --git a/Build/source/texk/dvipdfmx/src/tt_table.c b/Build/source/texk/dvipdfmx/src/tt_table.c index ce2e1f109c0..418c1e956ff 100644 --- a/Build/source/texk/dvipdfmx/src/tt_table.c +++ b/Build/source/texk/dvipdfmx/src/tt_table.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/tt_table.c,v 1.10 2008/11/30 21:12:27 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/tt_table.c,v 1.11 2009/05/02 12:16:32 chofchof Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -188,7 +188,6 @@ tt_read_hhea_table (sfnt *sfont) ULONG len; struct tt_hhea_table *table = NULL; - len = sfnt_find_table_len(sfont, "hhea"); sfnt_locate_table(sfont, "hhea"); table = NEW(1, struct tt_hhea_table); @@ -210,6 +209,8 @@ tt_read_hhea_table (sfnt *sfont) if (table->metricDataFormat != 0) ERROR("unknown metricDaraFormat"); table->numOfLongHorMetrics = sfnt_get_ushort(sfont); + + len = sfnt_find_table_len(sfont, "hmtx"); table->numOfExSideBearings = (USHORT)((len - table->numOfLongHorMetrics * 4) / 2); return table; @@ -251,7 +252,6 @@ struct tt_vhea_table *tt_read_vhea_table (sfnt *sfont) ULONG len; struct tt_vhea_table *table = NULL; - len = sfnt_find_table_len(sfont, "vhea"); sfnt_locate_table(sfont, "vhea"); table = NEW(1, struct tt_vhea_table); @@ -271,6 +271,8 @@ struct tt_vhea_table *tt_read_vhea_table (sfnt *sfont) } table->metricDataFormat = sfnt_get_short(sfont); table->numOfLongVerMetrics = sfnt_get_ushort(sfont); + + len = sfnt_find_table_len(sfont, "vmtx"); table->numOfExSideBearings = (USHORT)((len - table->numOfLongVerMetrics * 4) / 2); return table; diff --git a/Build/source/texk/dvipdfmx/src/xbb.c b/Build/source/texk/dvipdfmx/src/xbb.c index 484322845d1..03db02e0bed 100644 --- a/Build/source/texk/dvipdfmx/src/xbb.c +++ b/Build/source/texk/dvipdfmx/src/xbb.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/xbb.c,v 1.17 2008/12/11 16:09:29 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/xbb.c,v 1.25 2009/05/04 00:41:43 matthias Exp $ This is extractbb, a bounding box extraction program. @@ -21,11 +21,12 @@ #include #include #include + +#include "numbers.h" #include "system.h" #include "mem.h" #include "error.h" #include "mfileio.h" -#include "numbers.h" #include "pdfobj.h" #include "pdfdev.h" #include "pdfdoc.h" @@ -33,29 +34,34 @@ #include "config.h" -#ifdef HAVE_LIBPNG -#include -#endif +#include "jpegimage.h" +#include "pngimage.h" #include "xbb.h" #define XBB_PROGRAM "extractbb" -#define XBB_VERSION "Version 0.2" +#define XBB_VERSION VERSION + +static int really_quiet = 0; static void usage(void) { - fprintf (stderr, "%s, version %s, Copyright (C) 2008 by Jin-Hwan Cho\n", + if (really_quiet) + return; + + printf("%s, version %s, Copyright (C) 2008 by Jin-Hwan Cho\n", XBB_PROGRAM, XBB_VERSION); - fprintf (stderr, "A bounding box extraction utility from PDF, PNG, and JPG.\n"); - fprintf (stdout, "\nThis is free software; you can redistribute it and/or modify\n"); - fprintf (stdout, "it under the terms of the GNU General Public License as published by\n"); - fprintf (stdout, "the Free Software Foundation; either version 2 of the License, or\n"); - fprintf (stdout, "(at your option) any later version.\n"); - fprintf (stderr, "\nUsage: %s [-v] [-b] [-m|-x] [files]\n", XBB_PROGRAM); - fprintf (stderr, "\t-b\tWrite output file in binary mode\n"); - fprintf (stderr, "\t-m\tOutput .bb file used in DVIPDFM\n"); - fprintf (stderr, "\t-x\tOutput .xbb file used in DVIPDFMx (default)\n"); - fprintf (stderr, "\t-v\tVerbose\n"); + printf("A bounding box extraction utility from PDF, PNG, and JPEG.\n"); + printf("\nThis is free software; you can redistribute it and/or modify\n"); + printf("it under the terms of the GNU General Public License as published by\n"); + printf("the Free Software Foundation; either version 2 of the License, or\n"); + printf("(at your option) any later version.\n"); + printf("\nUsage: %s [-v|-q] [-O] [-m|-x] [files]\n", XBB_PROGRAM); + printf("\t-v\tBe verbose\n"); + printf("\t-q\tBe quiet\n"); + printf("\t-O\tWrite output to stdout\n"); + printf("\t-m\tOutput .bb file used in DVIPDFM\n"); + printf("\t-x\tOutput .xbb file used in DVIPDFMx (default)\n"); exit(1); } @@ -77,6 +83,8 @@ char *extensions[] = { static int xbb_output_mode = XBB_OUTPUT; +static int xbb_to_file = 1; + static char *make_xbb_filename(const char *name) { int i; @@ -88,7 +96,7 @@ static char *make_xbb_filename(const char *name) break; } if (i == sizeof(extensions) / sizeof(extensions[0])) { - fprintf(stderr, "Warning: %s: Filename does not end in a recognizable extension.\n", name); + WARN("%s: Filename does not end in a recognizable extension.\n", name); result = NEW(strlen(name)+5, char); /* 5 = ".xbb" + trailing 0 */ strcpy(result, name); } else { /* Remove extension */ @@ -100,210 +108,103 @@ static char *make_xbb_filename(const char *name) return result; } -static char *xbb_file_mode = FOPEN_W_MODE; - -static void write_xbb(char *fname, int bbllx, int bblly, int bburx, int bbury) +static void write_xbb(char *fname, + double bbllx_f, double bblly_f, + double bburx_f, double bbury_f, + int pdf_version, long pagecount) { - char *outname; + char *outname = NULL; FILE *fp; - outname = make_xbb_filename(fname); - if ((fp = MFOPEN(outname, xbb_file_mode)) == NULL) { - fprintf(stderr, "Unable to open output file: %s\n", outname); - RELEASE(outname); - return; + long bbllx = ROUND(bbllx_f, 1.0), bblly = ROUND(bblly_f, 1.0); + long bburx = ROUND(bburx_f, 1.0), bbury = ROUND(bbury_f, 1.0); + + if (xbb_to_file) { + outname = make_xbb_filename(fname); + if ((fp = MFOPEN(outname, FOPEN_W_MODE)) == NULL) { + ERROR("Unable to open output file: %s\n", outname); + } + } else { + fp = stdout; } + if (verbose) { - fprintf(stderr, "Writing to %s: ", outname); - fprintf(stderr, "Bounding box: %d %d %d %d\n", bbllx, bblly, bburx, bbury); + MESG("Writing to %s: ", xbb_to_file ? outname : "stdout"); + MESG("Bounding box: %d %d %d %d\n", bbllx, bblly, bburx, bbury); } - fprintf(fp,"%%%%Title: %s\n", fname); - fprintf(fp,"%%%%Creator: %s %s\n", XBB_PROGRAM, XBB_VERSION); - fprintf(fp,"%%%%BoundingBox: %d %d %d %d\n", bbllx, bblly, bburx, bbury); - do_time(fp); - RELEASE(outname); - MFCLOSE(fp); -} - -typedef enum { - JM_SOF0 = 0xc0, JM_SOF1 = 0xc1, JM_SOF2 = 0xc2, JM_SOF3 = 0xc3, - JM_SOF5 = 0xc5, JM_DHT = 0xc4, JM_SOF6 = 0xc6, JM_SOF7 = 0xc7, - JM_SOF9 = 0xc9, JM_SOF10 = 0xca, JM_SOF11 = 0xcb, JM_DAC = 0xcc, - JM_SOF13 = 0xcd, JM_SOF14 = 0xce, JM_SOF15 = 0xcf, - - JM_RST0 = 0xd0, JM_RST1 = 0xd1, JM_RST2 = 0xd2, JM_RST3 = 0xd3, - JM_RST4 = 0xd4, JM_RST5 = 0xd5, JM_RST6 = 0xd6, JM_RST7 = 0xd7, - - JM_SOI = 0xd8, JM_EOI = 0xd9, JM_SOS = 0xda, JM_DQT = 0xdb, - JM_DNL = 0xdc, JM_DRI = 0xdd, JM_DHP = 0xde, JM_EXP = 0xdf, - JM_APP0 = 0xe0, JM_APP2 = 0xe2, JM_APP14 = 0xee, JM_APP15 = 0xef, + fprintf(fp, "%%%%Title: %s\n", fname); + fprintf(fp, "%%%%Creator: %s %s\n", XBB_PROGRAM, XBB_VERSION); + fprintf(fp, "%%%%BoundingBox: %ld %ld %ld %ld\n", bbllx, bblly, bburx, bbury); - JM_COM = 0xfe -} JPEG_marker; - -static JPEG_marker JPEG_get_marker (FILE *fp) -{ - int c = fgetc(fp); - if (c != 255) return -1; - for (;;) { - c = fgetc(fp); - if (c < 0) return -1; - else if (c > 0 && c < 255) return c; + if (xbb_output_mode == XBB_OUTPUT) { + /* Note: + * According to Adobe Technical Note #5644, the arguments to + * "%%HiResBoundingBox:" must be of type real. And according + * to the PostScript Language Reference, a real number must + * be written with a decimal point (or an exponent). Hence + * it seems illegal to replace "0.0" by "0". + */ + fprintf(fp, "%%%%HiResBoundingBox: %f %f %f %f\n", + bbllx_f, bblly_f, bburx_f, bbury_f); + if (pdf_version >= 0) { + fprintf(fp, "%%%%PDFVersion: 1.%d\n", pdf_version); + fprintf(fp, "%%%%Pages: %ld\n", pagecount); + } } - return -1; -} -static int check_for_jpeg (FILE *fp) -{ - unsigned char jpeg_sig[2]; - rewind(fp); - if (fread(jpeg_sig, sizeof(unsigned char), 2, fp) != 2) return 0; - else if (jpeg_sig[0] != 0xff || jpeg_sig[1] != JM_SOI) return 0; - return 1; -} - -static int jpeg_get_info (FILE *fp, int *width, int *height) -{ - JPEG_marker marker; - unsigned short length; - int count; - float xdensity = 1.0, ydensity = 1.0; - char app_sig[128]; - - if (!check_for_jpeg(fp)) { - rewind(fp); - return -1; - } - rewind(fp); - count = 0; - while ((marker = JPEG_get_marker(fp)) >= 0) { - if (marker == JM_SOI || (marker >= JM_RST0 && marker <= JM_RST7)) { - count++; continue; - } - length = get_unsigned_pair(fp) - 2; - switch (marker) { - case JM_SOF0: case JM_SOF1: case JM_SOF2: case JM_SOF3: - case JM_SOF5: case JM_SOF6: case JM_SOF7: case JM_SOF9: - case JM_SOF10: case JM_SOF11: case JM_SOF13: case JM_SOF14: - case JM_SOF15: - get_unsigned_byte(fp); - if (xbb_output_mode != XBB_OUTPUT) { /* EBB_OUTPUT */ - xdensity = ydensity = 72.0 / 100.0; - } - *height = (int)(get_unsigned_pair(fp) * ydensity + 0.5); - *width = (int)(get_unsigned_pair(fp) * xdensity + 0.5); - return 0; - case JM_APP0: - if (length > 5) { - if (fread(app_sig, sizeof(char), 5, fp) != 5) return -1; - length -= 5; - if (!memcmp(app_sig, "JFIF\000", 5)) { - int units, xden, yden; - get_unsigned_pair(fp); - units = (int)get_unsigned_byte(fp); - xden = (int)get_unsigned_pair(fp); - yden = (int)get_unsigned_pair(fp); - switch (units) { - case 1: /* pixels per inch */ - xdensity = 72.0 / xden; - ydensity = 72.0 / yden; - break; - case 2: /* pixels per centimeter */ - xdensity = 72.0 / 2.54 / xden; - ydensity = 72.0 / 2.54 / yden; - break; - default: - break; - } - length -= 7; - } - } - seek_relative(fp, length); - break; - default: - seek_relative(fp, length); - break; - } - count++; + do_time(fp); + + if (xbb_to_file) { + RELEASE(outname); + MFCLOSE(fp); } - return -1; } static void do_jpeg (FILE *fp, char *filename) { - int width, height; + long width, height; + double xdensity = 1.0, ydensity = 1.0; - if (jpeg_get_info(fp, &width, &height) < 0) { - fprintf (stderr, "%s does not look like a JPEG file...\n", filename); + if (jpeg_get_bbox(fp, &width, &height, &xdensity, &ydensity) < 0) { + WARN("%s does not look like a JPEG file...\n", filename); return; } - write_xbb(filename, 0, 0, width, height); + + if (xbb_output_mode == EBB_OUTPUT) + xdensity = ydensity = 72.0 / 100.0; + + write_xbb(filename, 0, 0, xdensity*width, ydensity*height, -1, -1); return; } #ifdef HAVE_LIBPNG -static int check_for_png (FILE *png_file) -{ - unsigned char sigbytes[4]; - rewind (png_file); - if (fread(sigbytes, 1, sizeof(sigbytes), png_file) != sizeof(sigbytes) || - (!png_check_sig (sigbytes, sizeof(sigbytes)))) return 0; - else return 1; -} - -static int png_get_info(FILE *png_file, int *width, int *height) -{ - png_structp png_ptr; - png_infop png_info_ptr; - png_uint_32 xppm, yppm; - - rewind(png_file); - - png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (png_ptr == NULL || (png_info_ptr = png_create_info_struct(png_ptr)) == NULL) { - if (png_ptr) png_destroy_read_struct(&png_ptr, NULL, NULL); - return -1; - } - png_init_io(png_ptr, png_file); - png_read_info(png_ptr, png_info_ptr); - - *width = (int)png_get_image_width(png_ptr, png_info_ptr); - *height = (int)png_get_image_height(png_ptr, png_info_ptr); - - if (xbb_output_mode == XBB_OUTPUT) { - xppm = png_get_x_pixels_per_meter(png_ptr, png_info_ptr); - yppm = png_get_y_pixels_per_meter(png_ptr, png_info_ptr); - if (xppm > 0) - *width = (int)(*width * 72.0 / 0.0254 / xppm + 0.5); - if (yppm > 0) - *height = (int)(*height * 72.0 / 0.0254 / yppm + 0.5); - } else { /* EBB_OUTPUT */ - *width = (int)(*width * 72.0 / 100.0 + 0.5); - *height = (int)(*height * 72.0 / 100.0 + 0.5); - } - return 0; -} static void do_png (FILE *fp, char *filename) { - int width, height; + long width, height; + double xdensity = 1.0, ydensity = 1.0; - if (png_get_info(fp, &width, &height) < 0) { - fprintf (stderr, "%s does not look like a PNG file...\n", filename); + if (png_get_bbox(fp, &width, &height, &xdensity, &ydensity) < 0) { + WARN("%s does not look like a PNG file...\n", filename); return; } - write_xbb(filename, 0, 0, width, height); + + if (xbb_output_mode == EBB_OUTPUT) + xdensity = ydensity = 72.0 / 100.0; + + write_xbb(filename, 0, 0, xdensity*width, ydensity*height, -1, -1); return; } + #endif /* HAVE_LIBPNG */ static void do_pdf (FILE *fp, char *filename) { - pdf_obj *page, *trailer; + pdf_obj *page; pdf_file *pf; long page_no = 1; - long count; /* dummy */ + long count; pdf_rect bbox; pf = pdf_open(filename, fp); @@ -312,9 +213,7 @@ static void do_pdf (FILE *fp, char *filename) return; } - trailer = pdf_file_get_trailer(pf); - - page = pdf_doc_get_page(trailer, &page_no, &count, &bbox, NULL, NULL); + page = pdf_doc_get_page(pf, &page_no, &count, &bbox, NULL); pdf_close(pf); @@ -322,7 +221,8 @@ static void do_pdf (FILE *fp, char *filename) return; pdf_release_obj(page); - write_xbb(filename, bbox.llx, bbox.lly, bbox.urx, bbox.ury); + write_xbb(filename, bbox.llx, bbox.lly, bbox.urx, bbox.ury, + pdf_file_get_version(pf), count); } int extractbb (int argc, char *argv[], int mode) @@ -343,8 +243,8 @@ int extractbb (int argc, char *argv[], int mode) while (argc > 0 && *argv[0] == '-') { switch (*(argv[0]+1)) { - case 'b': - xbb_file_mode = FOPEN_WBIN_MODE; + case 'O': + xbb_to_file = 0; argc -= 1; argv += 1; break; case 'm': @@ -363,16 +263,29 @@ int extractbb (int argc, char *argv[], int mode) usage(); argc -= 1; argv += 1; break; + case 'q': + really_quiet = 1; + shut_up(); + argc -= 1; argv += 1; + break; + case 'b': + if (mode == EBB_OUTPUT) { + /* ignore obsolete "binary mode" option */ + argc -= 1; argv += 1; + break; + } + /* else fall through */ default: usage(); } } + for (; argc > 0; argc--, argv++) { FILE *infile = NULL; char *kpse_file_name; if (!(kpse_file_name = kpse_find_pict(argv[0])) || (infile = MFOPEN(kpse_file_name, FOPEN_RBIN_MODE)) == NULL) { - fprintf(stderr, "Can't find file (%s)...skipping\n", argv[0]); + WARN("Can't find file (%s)...skipping\n", argv[0]); goto cont; } if (check_for_jpeg(infile)) { @@ -389,7 +302,7 @@ int extractbb (int argc, char *argv[], int mode) goto cont; } #endif /* HAVE_LIBPNG */ - fprintf(stderr, "Can't handle file type for file named %s\n", argv[0]); + WARN("Can't handle file type for file named %s\n", argv[0]); cont: if (kpse_file_name) RELEASE(kpse_file_name); -- cgit v1.2.3