diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-09-25 11:35:23 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-09-25 11:35:23 +0000 |
commit | f54f97c9d6ff947e8761f0c41662f50155ca630d (patch) | |
tree | e5b433dd66f22de02b57e1c66e25e437c77ea9a7 /Build/source/texk/lcdf-typetools/t1reencode | |
parent | d9c42331a8d11fdd45efc39195eb8fe3db79e394 (diff) |
lcdf-typetools 2.95
git-svn-id: svn://tug.org/texlive/trunk@27803 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/lcdf-typetools/t1reencode')
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/Makefile.am | 16 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/Makefile.in | 706 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/md5.c | 354 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/md5.h | 48 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 | 205 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/t1reencode.cc | 1109 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/util.cc | 78 | ||||
-rw-r--r-- | Build/source/texk/lcdf-typetools/t1reencode/util.hh | 10 |
8 files changed, 0 insertions, 2526 deletions
diff --git a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.am b/Build/source/texk/lcdf-typetools/t1reencode/Makefile.am deleted file mode 100644 index 8dcf9da887d..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign - -bin_PROGRAMS = t1reencode -man_MANS = t1reencode.1 - -t1reencode_SOURCES = md5.c md5.h \ - t1reencode.cc \ - util.cc util.hh - -t1reencode_LDADD = ../libefont/libefont.a ../liblcdf/liblcdf.a - -INCLUDES = -I$(top_srcdir)/include -CLEANFILES = @TEMPLATE_OBJS@ - -EXTRA_DIST = t1reencode.1 diff --git a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in b/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in deleted file mode 100644 index 5ce21fceb36..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in +++ /dev/null @@ -1,706 +0,0 @@ -# Makefile.in generated by automake 1.12.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2012 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@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 -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = t1reencode$(EXEEXT) -subdir = t1reencode -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/../../build-aux/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_template_objs.m4 \ - $(top_srcdir)/../../m4/kpse-common.m4 \ - $(top_srcdir)/../../m4/kpse-cxx-hack.m4 \ - $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ - $(top_srcdir)/../../m4/kpse-warnings.m4 \ - $(top_srcdir)/../../m4/kpse-win32.m4 \ - $(top_srcdir)/../../m4/libtool.m4 \ - $(top_srcdir)/../../m4/ltoptions.m4 \ - $(top_srcdir)/../../m4/ltsugar.m4 \ - $(top_srcdir)/../../m4/ltversion.m4 \ - $(top_srcdir)/../../m4/lt~obsolete.m4 $(top_srcdir)/version.ac \ - $(top_srcdir)/ac/lcdf-typetools.ac $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/autoconf.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -PROGRAMS = $(bin_PROGRAMS) -am_t1reencode_OBJECTS = md5.$(OBJEXT) t1reencode.$(OBJEXT) \ - util.$(OBJEXT) -t1reencode_OBJECTS = $(am_t1reencode_OBJECTS) -t1reencode_DEPENDENCIES = ../libefont/libefont.a ../liblcdf/liblcdf.a -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) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(t1reencode_SOURCES) -DIST_SOURCES = $(t1reencode_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(man_MANS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CXXLD = @CXXLD@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -KPATHSEA_LIBS = @KPATHSEA_LIBS@ -LCDF_TYPETOOLS_VERSION = @LCDF_TYPETOOLS_VERSION@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SELECTED_SUBDIRS = @SELECTED_SUBDIRS@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TEMPLATE_OBJS = @TEMPLATE_OBJS@ -VERSION = @VERSION@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -WARNING_CXXFLAGS = @WARNING_CXXFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = foreign -man_MANS = t1reencode.1 -t1reencode_SOURCES = md5.c md5.h \ - t1reencode.cc \ - util.cc util.hh - -t1reencode_LDADD = ../libefont/libefont.a ../liblcdf/liblcdf.a -INCLUDES = -I$(top_srcdir)/include -CLEANFILES = @TEMPLATE_OBJS@ -EXTRA_DIST = t1reencode.1 -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .cc .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign t1reencode/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign t1reencode/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(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) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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)'; 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)'; 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 -t1reencode$(EXEEXT): $(t1reencode_OBJECTS) $(t1reencode_DEPENDENCIES) $(EXTRA_t1reencode_DEPENDENCIES) - @rm -f t1reencode$(EXEEXT) - $(CXXLINK) $(t1reencode_OBJECTS) $(t1reencode_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1reencode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@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@ $(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@ $(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 $@ $< - -.cc.o: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cc.obj: -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cc.lo: -@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - 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; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - 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; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - 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) - 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)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically 'make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - 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 -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(MANS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -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" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool cscopelist ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS 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-man1 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-man uninstall-man1 - - -# 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/lcdf-typetools/t1reencode/md5.c b/Build/source/texk/lcdf-typetools/t1reencode/md5.c deleted file mode 100644 index 107de8061c2..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/md5.c +++ /dev/null @@ -1,354 +0,0 @@ -/* -*- mode: c; c-basic-offset: 8 -*- */ -/* md5.c - MD5 Message-Digest Algorithm - * Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc. - * - * according to the definition of MD5 in RFC 1321 from April 1992. - * NOTE: This is *not* the same file as the one from glibc. - * - * 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, 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. - */ -/* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. */ -/* heavily modified for GnuPG by <werner.koch@guug.de> */ -/* modified again for Sylpheed by <wk@gnupg.org> 2001-02-11 */ -/* modified again for LCDF by Eddie Kohler <kohler@icir.org> */ - - -/* Test values: - * "" D4 1D 8C D9 8F 00 B2 04 E9 80 09 98 EC F8 42 7E - * "a" 0C C1 75 B9 C0 F1 B6 A8 31 C3 99 E2 69 77 26 61 - * "abc 90 01 50 98 3C D2 4F B0 D6 96 3F 7D 28 E1 7F 72 - * "message digest" F9 6B 69 7D 7C B7 93 8D 52 5A 2F 31 AA F1 61 D0 - */ - -#include <config.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> -#include <lcdf/inttypes.h> - -#include "md5.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/**************** - * Rotate a 32 bit integer by n bytes - */ -#if defined(__GNUC__) && defined(__i386__) -static inline uint32_t -rol( uint32_t x, int n) -{ - __asm__("roll %%cl,%0" - :"=r" (x) - :"0" (x),"c" (n)); - return x; -} -#else -#define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) ) -#endif - - -void -md5_init(MD5_CONTEXT *ctx) -{ - ctx->A = 0x67452301; - ctx->B = 0xefcdab89; - ctx->C = 0x98badcfe; - ctx->D = 0x10325476; - - ctx->nblocks = 0; - ctx->count = 0; - ctx->finalized = 0; -} - -/* These are the four functions used in the four steps of the MD5 algorithm - and defined in the RFC 1321. The first function is a little bit optimized - (as found in Colin Plumbs public domain implementation). */ -/* #define FF(b, c, d) ((b & c) | (~b & d)) */ -#define FF(b, c, d) (d ^ (b & (c ^ d))) -#define FG(b, c, d) FF (d, b, c) -#define FH(b, c, d) (b ^ c ^ d) -#define FI(b, c, d) (c ^ (b | ~d)) - - -/**************** - * transform n*64 bytes - */ -static void -transform(MD5_CONTEXT *ctx, const unsigned char *data) -{ - uint32_t correct_words[16]; - uint32_t A = ctx->A; - uint32_t B = ctx->B; - uint32_t C = ctx->C; - uint32_t D = ctx->D; - uint32_t *cwp = correct_words; - -#ifdef BIG_ENDIAN_HOST - { - int i; - unsigned char *p2, *p1; - - for (i = 0, p1 = data, p2 = (unsigned char*)correct_words; - i < 16; i++, p2 += 4) { - p2[3] = *p1++; - p2[2] = *p1++; - p2[1] = *p1++; - p2[0] = *p1++; - } - } -#else - memcpy(correct_words, data, 64); -#endif - - -#define OP(a, b, c, d, s, T) \ - do { \ - a += FF (b, c, d) + (*cwp++) + T; \ - a = rol(a, s); \ - a += b; \ - } while (0) - - /* Before we start, one word about the strange constants. - They are defined in RFC 1321 as - - T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 - */ - - /* Round 1. */ - OP (A, B, C, D, 7, 0xd76aa478); - OP (D, A, B, C, 12, 0xe8c7b756); - OP (C, D, A, B, 17, 0x242070db); - OP (B, C, D, A, 22, 0xc1bdceee); - OP (A, B, C, D, 7, 0xf57c0faf); - OP (D, A, B, C, 12, 0x4787c62a); - OP (C, D, A, B, 17, 0xa8304613); - OP (B, C, D, A, 22, 0xfd469501); - OP (A, B, C, D, 7, 0x698098d8); - OP (D, A, B, C, 12, 0x8b44f7af); - OP (C, D, A, B, 17, 0xffff5bb1); - OP (B, C, D, A, 22, 0x895cd7be); - OP (A, B, C, D, 7, 0x6b901122); - OP (D, A, B, C, 12, 0xfd987193); - OP (C, D, A, B, 17, 0xa679438e); - OP (B, C, D, A, 22, 0x49b40821); - -#undef OP -#define OP(f, a, b, c, d, k, s, T) \ - do { \ - a += f (b, c, d) + correct_words[k] + T; \ - a = rol(a, s); \ - a += b; \ - } while (0) - - /* Round 2. */ - OP (FG, A, B, C, D, 1, 5, 0xf61e2562); - OP (FG, D, A, B, C, 6, 9, 0xc040b340); - OP (FG, C, D, A, B, 11, 14, 0x265e5a51); - OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); - OP (FG, A, B, C, D, 5, 5, 0xd62f105d); - OP (FG, D, A, B, C, 10, 9, 0x02441453); - OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); - OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); - OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); - OP (FG, D, A, B, C, 14, 9, 0xc33707d6); - OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); - OP (FG, B, C, D, A, 8, 20, 0x455a14ed); - OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); - OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); - OP (FG, C, D, A, B, 7, 14, 0x676f02d9); - OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); - - /* Round 3. */ - OP (FH, A, B, C, D, 5, 4, 0xfffa3942); - OP (FH, D, A, B, C, 8, 11, 0x8771f681); - OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); - OP (FH, B, C, D, A, 14, 23, 0xfde5380c); - OP (FH, A, B, C, D, 1, 4, 0xa4beea44); - OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); - OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); - OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); - OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); - OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); - OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); - OP (FH, B, C, D, A, 6, 23, 0x04881d05); - OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); - OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); - OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); - OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); - - /* Round 4. */ - OP (FI, A, B, C, D, 0, 6, 0xf4292244); - OP (FI, D, A, B, C, 7, 10, 0x432aff97); - OP (FI, C, D, A, B, 14, 15, 0xab9423a7); - OP (FI, B, C, D, A, 5, 21, 0xfc93a039); - OP (FI, A, B, C, D, 12, 6, 0x655b59c3); - OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); - OP (FI, C, D, A, B, 10, 15, 0xffeff47d); - OP (FI, B, C, D, A, 1, 21, 0x85845dd1); - OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); - OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); - OP (FI, C, D, A, B, 6, 15, 0xa3014314); - OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); - OP (FI, A, B, C, D, 4, 6, 0xf7537e82); - OP (FI, D, A, B, C, 11, 10, 0xbd3af235); - OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); - OP (FI, B, C, D, A, 9, 21, 0xeb86d391); - - /* Put checksum in context given as argument. */ - ctx->A += A; - ctx->B += B; - ctx->C += C; - ctx->D += D; -} - - - -/* The routine updates the message-digest context to - * account for the presence of each of the characters inBuf[0..inLen-1] - * in the message whose digest is being computed. - */ -void -md5_update(MD5_CONTEXT *hd, const unsigned char *inbuf, size_t inlen) -{ - if (hd->count == 64) { /* flush the buffer */ - transform( hd, hd->buf ); - hd->count = 0; - hd->nblocks++; - } - if (!inbuf) - return; - if (hd->count) { - for (; inlen && hd->count < 64; inlen--) - hd->buf[hd->count++] = *inbuf++; - md5_update(hd, NULL, 0); - if (!inlen) - return; - } - - while (inlen >= 64) { - transform(hd, inbuf); - hd->count = 0; - hd->nblocks++; - inlen -= 64; - inbuf += 64; - } - - for (; inlen && hd->count < 64; inlen--) - hd->buf[hd->count++] = *inbuf++; -} - - - -/* The routine final terminates the message-digest computation and - * ends with the desired message digest in mdContext->digest[0...15]. - * The handle is prepared for a new MD5 cycle. - * Returns 16 bytes representing the digest. - */ - -static void -do_final(MD5_CONTEXT *hd) -{ - uint32_t t, msb, lsb; - unsigned char *p; - - md5_update(hd, NULL, 0); /* flush */ - - msb = 0; - t = hd->nblocks; - if ((lsb = t << 6) < t) /* multiply by 64 to make a byte count */ - msb++; - msb += t >> 26; - t = lsb; - if ((lsb = t + hd->count) < t) /* add the count */ - msb++; - t = lsb; - if ((lsb = t << 3) < t) /* multiply by 8 to make a bit count */ - msb++; - msb += t >> 29; - - if (hd->count < 56) { /* enough room */ - hd->buf[hd->count++] = 0x80; /* pad */ - while(hd->count < 56) - hd->buf[hd->count++] = 0; /* pad */ - } else { /* need one extra block */ - hd->buf[hd->count++] = 0x80; /* pad character */ - while (hd->count < 64) - hd->buf[hd->count++] = 0; - md5_update(hd, NULL, 0); /* flush */ - memset(hd->buf, 0, 56); /* fill next block with zeroes */ - } - - /* append the 64 bit count */ - hd->buf[56] = lsb ; - hd->buf[57] = lsb >> 8; - hd->buf[58] = lsb >> 16; - hd->buf[59] = lsb >> 24; - hd->buf[60] = msb ; - hd->buf[61] = msb >> 8; - hd->buf[62] = msb >> 16; - hd->buf[63] = msb >> 24; - transform(hd, hd->buf); - - p = hd->buf; -#ifdef BIG_ENDIAN_HOST -#define X(a) do { *p++ = hd->a ; *p++ = hd->a >> 8; \ - *p++ = hd->a >> 16; *p++ = hd->a >> 24; } while(0) -#else /* little endian */ - /*#define X(a) do { *(uint32_t*)p = hd->##a ; p += 4; } while(0)*/ - /* Unixware's cpp doesn't like the above construct so we do it his way: - * (reported by Allan Clark) */ -#define X(a) do { *(uint32_t*)p = (*hd).a ; p += 4; } while(0) -#endif - X(A); - X(B); - X(C); - X(D); -#undef X - hd->finalized = 1; -} - -void -md5_final(unsigned char *digest, MD5_CONTEXT *ctx) -{ - if (!ctx->finalized) - do_final(ctx); - memcpy(digest, ctx->buf, 16); -} - -void -md5_final_text(char *buf, MD5_CONTEXT *ctx) -{ - static const char *chars = "abcdefghijklmnopqrstuvwxyz234567"; - int bit; - if (!ctx->finalized) - do_final(ctx); - for (bit = 0; bit < 16*8; bit += 5) { - int first_char = bit / 8; - int val = ctx->buf[first_char] >> (bit % 8); - if (bit + 8 > (first_char + 1) * 8 && first_char < 15) - val += ctx->buf[first_char + 1] << (8 - (bit % 8)); - *buf++ = chars[val & 0x1F]; - } - *buf++ = 0; -} - - -#ifdef __cplusplus -} -#endif diff --git a/Build/source/texk/lcdf-typetools/t1reencode/md5.h b/Build/source/texk/lcdf-typetools/t1reencode/md5.h deleted file mode 100644 index 228c45f615c..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/md5.h +++ /dev/null @@ -1,48 +0,0 @@ -/* md5.h - MD5 Message-Digest Algorithm - * Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc. - * - * according to the definition of MD5 in RFC 1321 from April 1992. - * NOTE: This is *not* the same file as the one from glibc - * - * 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, 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. - */ - -#ifndef _MD5_HDR_ -#define _MD5_HDR_ -#ifdef __cplusplus -extern "C" { -#endif - -#define MD5_DIGEST_SIZE 16 -#define MD5_TEXT_DIGEST_SIZE 26 /* + 1 for the terminating NUL */ - -typedef struct { /* Hmm, should be private */ - uint32_t A,B,C,D; - uint32_t nblocks; - unsigned char buf[64]; - int count; - int finalized; -} MD5_CONTEXT; - -void md5_init(MD5_CONTEXT *ctx); -void md5_update(MD5_CONTEXT *hd, const unsigned char *inbuf, size_t inlen); -void md5_final(unsigned char digest[MD5_DIGEST_SIZE], MD5_CONTEXT *ctx); -void md5_final_text(char *text_digest, MD5_CONTEXT *ctx); - -#ifdef __cplusplus -} -#endif -#endif /* _MD5_HDR_ */ - diff --git a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 deleted file mode 100644 index 493eeafc468..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 +++ /dev/null @@ -1,205 +0,0 @@ -.ds V 2.94 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.de Sp -.if n .sp -.if t .sp 0.4 -.. -.TH T1REENCODE 1 "LCDF Typetools" "Version \*V" -.SH NAME -t1reencode \- reencode a PostScript Type 1 font -.SH SYNOPSIS -.B t1reencode -\%\-e ENCODING -\%[OPTIONS...] -.I font -.RI [ outputfile ] -.SH DESCRIPTION -.BR T1reencode -changes a PostScript Type\~1 font's embedded encoding. The reencoded font -is written to the standard output (but see the -.B \-\-output -option). If no input font file is supplied, -.B t1reencode -reads a PFA or PFB font from the standard input. -' -.SH OPTIONS -.PD 0 -.TP 5 -.BR \-\-encoding "=\fIfile\fR, " \-e " \fIfile" -Read the encoding from -.IR file , -which must contain an encoding in -.M dvips 1 -format. Alternatively, -.I file -can be one of the following special names, in which case the corresponding -standard encoding is used. -.Sp -.RS -.TP 23 -.B Name -.B Source -.TP -StandardEncoding -Adobe -.TP -ISOLatin1Encoding -Adobe/ISO (synonym: ISO_8859_1_Encoding) -.TP -ExpertEncoding -Adobe -.TP -ExpertSubsetEncoding -Adobe -.TP -SymbolEncoding -Adobe -.TP -ISOLatin2Encoding -ISO (synonym: ISO_8859_2_Encoding) -.TP -ISOLatin3Encoding -ISO (synonym: ISO_8859_3_Encoding) -.TP -ISOLatin4Encoding -ISO (synonym: ISO_8859_4_Encoding) -.TP -ISOCyrillicEncoding -ISO (synonym: ISO_8859_5_Encoding) -.TP -ISOGreekEncoding -ISO (synonym: ISO_8859_7_Encoding) -.TP -ISOLatin5Encoding -ISO (synonym: ISO_8859_9_Encoding) -.TP -ISOLatin6Encoding -ISO (synonym: ISO_8859_10_Encoding) -.TP -ISOThaiEncoding -ISO (synonym: ISO_8859_11_Encoding) -.TP -ISOLatin7Encoding -ISO (synonym: ISO_8859_13_Encoding) -.TP -ISOLatin8Encoding -ISO (synonym: ISO_8859_14_Encoding) -.TP -ISOLatin9Encoding -ISO (synonym: ISO_8859_15_Encoding) -.TP -KOI8REncoding -- -.RE -' -.Sp -.TP 5 -.BR \-\-encoding\-text "=\fItext\fR, " \-E " \fItext" -Use the encoding in the -.I text -argument, which must be formatted as a -.M dvips 1 -encoding. One of -.B \-\-encoding -and -.B \-\-encoding\-text -must be supplied. -' -.Sp -.TP 5 -.BR \-\-name "=\fIname\fR, " \-n " \fIname" -Set the output font's PostScript name to -.IR name . -The default is the input font name followed by the encoding's name. -' -.Sp -.TP 5 -.BR \-\-full-name "=\fIname\fR, " \-N " \fIname" -Set the output font's FullName to -.IR name . -The default is the input FullName followed by the encoding's name. -' -.Sp -.TP 5 -.BR \-\-output "=\fIfile\fR, " \-o " \fIfile" -Send output to -.I file -instead of standard output. -' -.Sp -.TP 5 -.BR \-\-pfb ", " \-b -Output a PFB font. This is the default. -' -.Sp -.TP 5 -.BR \-\-pfa ", " \-a -Output a PFA font. -' -.Sp -.TP 5 -.BR \-h ", " \-\-help -Print usage information and exit. -' -.Sp -.TP 5 -.BR \-\-version -Print the version number and some short non-warranty information and exit. -.PD -' -.SH "RETURN VALUES" -.B T1reencode -exits with value 0 if a reencoded font was successfully generated, and 1 -otherwise. -' -.SH "NOTES" -.LP -.B T1reencode -should be used only in special situations. It's generally much better to -use PostScript commands to reencode a font; for instance, executing the -PostScript commands to generate two differently-encoded versions of a -single font will take up much less memory than loading two -.BR t1reencode d -fonts. -' -.SH "EXAMPLES" -.PP -This command reencodes Frutiger Roman in the ISO Latin\~1 encoding. The new -font will have the PostScript name Frutiger-RomanISOLatin1Encoding. -.Sp -.nf - \fBt1reencode\fR \fB\-e\fR ISOLatin1Encoding FrutiRom.pfb \e - \fB\-o\fR FrutiRomISOL1.pfb -.fi -.Sp -This series of commands, which use -.M cfftot1 1 -and -.M otftotfm 1 -as well as -.B t1reencode -itself, generate a version of Warnock Pro Regular with old-style figures in -the slots for numbers (because of -.BR otftotfm 's -.BR \-f onum -option). The new font will be called WarnockPro-RegularOsF. -.Sp -.nf - \fBotftotfm\fR \fB\-f\fRonum WarnockPro-Regular.otf \e - \fB\-\-output\-encoding\fR /tmp/osf.enc - \fBcfftot1\fR WarnockPro-Regular.otf | \fBt1reencode\fR \fB\-e\fR /tmp/osf.enc \e - \fB\-n\fR WarnockPro-RegularOsF \fB\-N\fR "Warnock Pro Regular OsF" \e - \fB\-o\fR WarnoProRegOsF.pfb -.fi -' -.SH "SEE ALSO" -.LP -.IR "Adobe Type 1 Font Format" , -.M dvips 1 , -.M cfftot1 1 , -.M otftotfm 1 -' -.SH AUTHOR -Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.cc b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.cc deleted file mode 100644 index acfecd7a22f..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.cc +++ /dev/null @@ -1,1109 +0,0 @@ -/* t1reencode.cc -- driver for reencoding Type 1 fonts - * - * Copyright (c) 2005-2011 Eddie Kohler - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif -#include <efont/t1font.hh> -#include <efont/t1item.hh> -#include <efont/t1rw.hh> -#include <efont/psres.hh> -#include <lcdf/error.hh> -#include <lcdf/clp.h> -#include <ctype.h> -#include <errno.h> -#include "util.hh" -#include "md5.h" -#ifdef HAVE_CTIME -# include <time.h> -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include <fcntl.h> -# include <io.h> -#endif - -using namespace Efont; - -#define VERSION_OPT 301 -#define HELP_OPT 302 -#define OUTPUT_OPT 303 -#define ENCODING_OPT 304 -#define ENCODING_TEXT_OPT 305 -#define PFA_OPT 306 -#define PFB_OPT 307 -#define FONTNAME_OPT 308 -#define FULLNAME_OPT 309 - -const Clp_Option options[] = { - { "help", 'h', HELP_OPT, 0, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ValString, 0 }, - { "pfa", 'a', PFA_OPT, 0, 0 }, - { "pfb", 'b', PFB_OPT, 0, 0 }, - { "name", 'n', FONTNAME_OPT, Clp_ValString, 0 }, - { "fullname", 'N', FULLNAME_OPT, Clp_ValString, 0 }, - { "full-name", 'N', FULLNAME_OPT, Clp_ValString, 0 }, - { "encoding", 'e', ENCODING_OPT, Clp_ValString, 0 }, - { "encoding-text", 'E', ENCODING_TEXT_OPT, Clp_ValString, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; - - -static const char *program_name; -static PermString::Initializer initializer; -static HashMap<PermString, int> glyph_order(-1); -static String encoding_name; - -static const char ISOLatin1Encoding[] = "/ISOLatin1Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright\n\ - /parenleft /parenright /asterisk /plus /comma /minus /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /quoteleft /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /dotlessi /grave /acute /circumflex /tilde /.notdef /breve /dotaccent\n\ - /.notdef /.notdef /ring /.notdef /.notdef /hungarumlaut /ogonek /caron\n\ - /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section\n\ - /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron\n\ - /degree /plusminus /twosuperior /threesuperior /.notdef /mu /paragraph /periodcentered\n\ - /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown\n\ - /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla\n\ - /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis\n\ - /Eth /Ntilde /Ograve /Oacute /Ocircumflex /.notdef /Odieresis /multiply\n\ - /Oslash /.notdef /.notdef /.notdef /.notdef /Yacute /Thorn /germandbls\n\ - /agrave /aacute /acircumflex /atilde /.notdef /aring /ae /ccedilla\n\ - /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis\n\ - /eth /ntilde /.notdef /oacute /ocircumflex /otilde /odieresis /.notdef\n\ - /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn\n\ -] def\n"; - -static const char ISOLatin2Encoding[] = "/ISOLatin2Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /Aogonek /breve /Lslash /currency /Lcaron /Sacute /section\n\ - /dieresis /Scaron /Scedilla /Tcaron /Zacute /uni00AD /Zcaron /Zdotaccent\n\ - /degree /aogonek /ogonek /lslash /acute /lcaron /sacute /caron\n\ - /cedilla /scaron /scedilla /tcaron /zacute /hungarumlaut /zcaron /zdotaccent\n\ - /Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla\n\ - /Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron\n\ - /Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply\n\ - /Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /uni0162 /germandbls\n\ - /racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla\n\ - /ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron\n\ - /dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide\n\ - /rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /uni0163 /dotaccent\n\ -] def\n"; - -static const char ISOLatin3Encoding[] = "/ISOLatin3Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /Hbar /breve /sterling /currency /yen /Hcircumflex /section\n\ - /dieresis /Idotaccent /Scedilla /Gbreve /Jcircumflex /uni00AD /registered /Zdotaccent\n\ - /degree /hbar /twosuperior /threesuperior /acute /mu /hcircumflex /periodcentered\n\ - /cedilla /dotlessi /scedilla /gbreve /jcircumflex /onehalf /threequarters /zdotaccent\n\ - /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Cdotaccent /Ccircumflex /Ccedilla\n\ - /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis\n\ - /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Gdotaccent /Odieresis /multiply\n\ - /Gcircumflex /Ugrave /Uacute /Ucircumflex /Udieresis /Ubreve /Scircumflex /germandbls\n\ - /agrave /aacute /acircumflex /atilde /adieresis /cdotaccent /ccircumflex /ccedilla\n\ - /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis\n\ - /eth /ntilde /ograve /oacute /ocircumflex /gdotaccent /odieresis /divide\n\ - /gcircumflex /ugrave /uacute /ucircumflex /udieresis /ubreve /scircumflex /dotaccent\n\ -] def\n"; - -static const char ISOLatin4Encoding[] = "/ISOLatin4Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /Aogonek /kgreenlandic /Rcommaaccent /currency /Itilde /Lcommaaccent /section\n\ - /dieresis /Scaron /Emacron /Gcommaaccent /Tbar /uni00AD /Zcaron /macron\n\ - /degree /aogonek /ogonek /rcommaaccent /acute /itilde /lcommaaccent /caron\n\ - /cedilla /scaron /emacron /gcommaaccent /tbar /Eng /zcaron /eng\n\ - /Amacron /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Iogonek\n\ - /Ccaron /Eacute /Eogonek /Edieresis /Edotaccent /Iacute /Icircumflex /Imacron\n\ - /Dcroat /Ncommaaccent /Omacron /Kcommaaccent /Ocircumflex /Otilde /Odieresis /multiply\n\ - /Oslash /Uogonek /Uacute /Ucircumflex /Udieresis /Utilde /Umacron /germandbls\n\ - /amacron /aacute /acircumflex /atilde /adieresis /aring /ae /iogonek\n\ - /ccaron /eacute /eogonek /edieresis /edotaccent /iacute /icircumflex /imacron\n\ - /dcroat /ncommaaccent /omacron /kcommaaccent /ocircumflex /otilde /odieresis /divide\n\ - /oslash /uogonek /uacute /ucircumflex /udieresis /utilde /umacron /dotaccent\n\ -] def\n"; - -static const char ISOCyrillicEncoding[] = "/ISOCyrillicEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /afii10023 /afii10051 /afii10052 /afii10053 /afii10054 /afii10055 /afii10056\n\ - /afii10057 /afii10058 /afii10059 /afii10060 /afii10061 /uni00AD /afii10062 /afii10145\n\ - /afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025\n\ - /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033\n\ - /afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041\n\ - /afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049\n\ - /afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073\n\ - /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081\n\ - /afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089\n\ - /afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097\n\ - /afii61352 /afii10071 /afii10099 /afii10100 /afii10101 /afii10102 /afii10103 /afii10104\n\ - /afii10105 /afii10106 /afii10107 /afii10108 /afii10109 /section /afii10110 /afii10193\n\ -] def\n"; - -static const char ISOGreekEncoding[] = "/ISOGreekEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /afii64937 /afii57929 /sterling /currency /yen /brokenbar /section\n\ - /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /uni00AD /registered /afii00208\n\ - /degree /plusminus /twosuperior /threesuperior /tonos /dieresistonos /Alphatonos /periodcentered\n\ - /Epsilontonos /Etatonos /Iotatonos /guillemotright /Omicrontonos /onehalf /Upsilontonos /Omegatonos\n\ - /iotadieresistonos /Alpha /Beta /Gamma /uni0394 /Epsilon /Zeta /Eta\n\ - /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron\n\ - /Pi /Rho /Ograve /Sigma /Tau /Upsilon /Phi /Chi\n\ - /Psi /uni03A9 /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos\n\ - /upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta /eta\n\ - /theta /iota /kappa /lambda /uni03BC /nu /xi /omicron\n\ - /pi /rho /sigma1 /sigma /tau /upsilon /phi /chi\n\ - /psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos /omegatonos /ydieresis\n\ -] def\n"; - -static const char ISOLatin5Encoding[] = "/ISOLatin5Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /exclamdown /cent /sterling /currency /yen /brokenbar /section\n\ - /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /uni00AD /registered /macron\n\ - /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered\n\ - /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown\n\ - /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla\n\ - /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis\n\ - /Gbreve /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply\n\ - /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Idotaccent /Scedilla /germandbls\n\ - /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla\n\ - /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis\n\ - /gbreve /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide\n\ - /oslash /ugrave /uacute /ucircumflex /udieresis /dotlessi /scedilla /ydieresis\n\ -] def\n"; - -static const char ISOLatin6Encoding[] = "/ISOLatin6Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /Aogonek /Emacron /Gcommaaccent /Imacron /Itilde /Kcommaaccent /section\n\ - /Lcommaaccent /Dcroat /Scaron /Tbar /Zcaron /uni00AD /Umacron /Eng\n\ - /degree /aogonek /emacron /gcommaaccent /imacron /itilde /kcommaaccent /periodcentered\n\ - /lcommaaccent /dcroat /scaron /tbar /zcaron /macron /umacron /eng\n\ - /Amacron /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Iogonek\n\ - /Ccaron /Eacute /Eogonek /Edieresis /Emacron /Iacute /Icircumflex /Idieresis\n\ - /Eth /Ncommaaccent /Omacron /Oacute /Ocircumflex /Otilde /Odieresis /Utilde\n\ - /Oslash /Uogonek /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls\n\ - /amacron /aacute /acircumflex /atilde /adieresis /aring /ae /iogonek\n\ - /ccaron /eacute /eogonek /edieresis /emacron /iacute /icircumflex /idieresis\n\ - /eth /ncommaaccent /omacron /oacute /ocircumflex /otilde /odieresis /utilde\n\ - /oslash /uogonek /uacute /ucircumflex /udieresis /yacute /thorn /kgreenlandic\n\ -] def\n"; - -static const char ISOThaiEncoding[] = "/ISOThaiEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /uni0E01 /uni0E02 /uni0E03 /uni0E04 /uni0E05 /uni0E06 /uni0E07\n\ - /uni0E08 /uni0E09 /uni0E0A /uni0E0B /uni0E0C /uni0E0D /uni0E0E /uni0E0F\n\ - /uni0E10 /uni0E11 /uni0E12 /uni0E13 /uni0E14 /uni0E15 /uni0E16 /uni0E17\n\ - /uni0E18 /uni0E19 /uni0E1A /uni0E1B /uni0E1C /uni0E1D /uni0E1E /uni0E1F\n\ - /uni0E20 /uni0E21 /uni0E22 /uni0E23 /uni0E24 /uni0E25 /uni0E26 /uni0E27\n\ - /uni0E28 /uni0E29 /uni0E2A /uni0E2B /uni0E2C /uni0E2D /uni0E2E /uni0E2F\n\ - /uni0E30 /uni0E31 /uni0E32 /uni0E33 /uni0E34 /uni0E35 /uni0E36 /uni0E37\n\ - /uni0E38 /uni0E39 /uni0E3A /.notdef /space /.notdef /.notdef /uni0E3F\n\ - /uni0E40 /uni0E41 /uni0E42 /uni0E43 /uni0E44 /uni0E45 /uni0E46 /uni0E47\n\ - /uni0E48 /uni0E49 /uni0E4A /uni0E4B /uni0E4C /uni0E4D /uni0E4E /uni0E4F\n\ - /uni0E50 /uni0E51 /uni0E52 /uni0E53 /uni0E54 /uni0E55 /uni0E56 /uni0E57\n\ - /uni0E58 /uni0E59 /uni0E5A /.notdef /.notdef /.notdef /.notdef /.notdef\n\ -] def\n"; - -static const char ISOLatin7Encoding[] = "/ISOLatin7Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /quotedblright /cent /sterling /currency /quotedblbase /brokenbar /section\n\ - /Oslash /copyright /rcommaaccent /guillemotleft /logicalnot /uni00AD /registered /AE\n\ - /degree /plusminus /twosuperior /threesuperior /quotedblleft /mu /paragraph /periodcentered\n\ - /oslash /onesuperior /.notdef /guillemotright /onequarter /onehalf /threequarters /ae\n\ - /Aogonek /Iogonek /Amacron /Cacute /Adieresis /Aring /Eogonek /Emacron\n\ - /Ccaron /Eacute /Zacute /Edotaccent /Gcommaaccent /Kcommaaccent /Imacron /Lcommaaccent\n\ - /Scaron /Nacute /Ncommaaccent /Oacute /Omacron /Otilde /Odieresis /multiply\n\ - /Uogonek /Lslash /Uacute /Ucircumflex /Udieresis /Zdotaccent /Zcaron /germandbls\n\ - /aogonek /Iogonek /amacron /cacute /adieresis /aring /eogonek /emacron\n\ - /ccaron /eacute /zacute /edotaccent /gcommaaccent /kcommaaccent /imacron /lcommaaccent\n\ - /scaron /nacute /ncommaaccent /oacute /omacron /otilde /odieresis /divide\n\ - /uogonek /lslash /uacute /ucircumflex /udieresis /zdotaccent /zcaron /quoteright\n\ -] def\n"; - -static const char ISOLatin8Encoding[] = "/ISOLatin8Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /uni1E02 /uni1E03 /sterling /Cdotaccent /cdotaccent /uni1E0A /section\n\ - /Wgrave /copyright /Wacute /uni1E0B /Ygrave /uni00AD /registered /Ydieresis\n\ - /uni1E1E /uni1E1F /Gdotaccent /gdotaccent /uni1E40 /uni1E41 /paragraph /uni1E56\n\ - /wgrave /uni1E57 /wacute /uni1E60 /ygrave /Wdieresis /wdieresis /uni1E61\n\ - /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla\n\ - /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis\n\ - /Wcircumflex /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /uni1E6A\n\ - /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Ycircumflex /germandbls\n\ - /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla\n\ - /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis\n\ - /wcircumflex /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /uni1E6B\n\ - /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /ycircumflex /ydieresis\n\ -] def\n"; - -static const char ISOLatin9Encoding[] = "/ISOLatin9Encoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /uni00A0 /exclamdown /cent /sterling /Euro /yen /Scaron /section\n\ - /scaron /copyright /ordfeminine /guillemotleft /logicalnot /uni00AD /registered /macron\n\ - /degree /plusminus /twosuperior /threesuperior /Zcaron /mu /paragraph /periodcentered\n\ - /zcaron /onesuperior /ordmasculine /guillemotright /OE /oe /Ydieresis /questiondown\n\ - /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla\n\ - /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis\n\ - /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply\n\ - /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls\n\ - /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla\n\ - /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis\n\ - /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide\n\ - /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis\n\ -] def\n"; - -static const char KOI8REncoding[] = "/KOI8REncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle\n\ - /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /at /A /B /C /D /E /F /G\n\ - /H /I /J /K /L /M /N /O\n\ - /P /Q /R /S /T /U /V /W\n\ - /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore\n\ - /grave /a /b /c /d /e /f /g\n\ - /h /i /j /k /l /m /n /o\n\ - /p /q /r /s /t /u /v /w\n\ - /x /y /z /braceleft /bar /braceright /asciitilde /.notdef\n\ - /SF100000 /SF110000 /SF010000 /SF030000 /SF020000 /SF040000 /SF080000 /SF090000\n\ - /SF060000 /SF070000 /SF050000 /upblock /dnblock /block /lfblock /rtblock\n\ - /ltshade /shade /dkshade /integraltp /filledbox /uni2219 /radical /approxequal\n\ - /lessequal /greaterequal /uni00A0 /integralbt /degree /twosuperior /periodcentered /divide\n\ - /SF430000 /SF240000 /SF510000 /afii10071 /SF520000 /SF390000 /SF220000 /SF210000\n\ - /SF250000 /SF500000 /SF490000 /SF380000 /SF280000 /SF270000 /SF260000 /SF360000\n\ - /SF370000 /SF420000 /SF190000 /afii10023 /SF200000 /SF230000 /SF470000 /SF480000\n\ - /SF410000 /SF450000 /SF460000 /SF400000 /SF540000 /SF530000 /SF440000 /copyright\n\ - /afii10096 /afii10065 /afii10066 /afii10088 /afii10069 /afii10070 /afii10086 /afii10068\n\ - /afii10087 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080\n\ - /afii10081 /afii10097 /afii10082 /afii10083 /afii10084 /afii10085 /afii10072 /afii10067\n\ - /afii10094 /afii10093 /afii10073 /afii10090 /afii10095 /afii10091 /afii10089 /afii10092\n\ - /afii10048 /afii10017 /afii10018 /afii10040 /afii10021 /afii10022 /afii10038 /afii10020\n\ - /afii10039 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032\n\ - /afii10033 /afii10049 /afii10034 /afii10035 /afii10036 /afii10037 /afii10024 /afii10019\n\ - /afii10046 /afii10045 /afii10025 /afii10042 /afii10047 /afii10043 /afii10041 /afii10044\n\ -] def\n"; - -static const char ExpertEncoding[] = "/ExpertEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclamsmall /Hungarumlautsmall /.notdef /dollaroldstyle /dollarsuperior /ampersandsmall /Acutesmall\n\ - /parenleftsuperior /parenrightsuperior /twodotenleader /onedotenleader /comma /hyphen /period /fraction\n\ - /zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle\n\ - /eightoldstyle /nineoldstyle /colon /semicolon /commasuperior /threequartersemdash /periodsuperior /questionsmall\n\ - /.notdef /asuperior /bsuperior /centsuperior /dsuperior /esuperior /.notdef /.notdef\n\ - /.notdef /isuperior /.notdef /.notdef /lsuperior /msuperior /nsuperior /osuperior\n\ - /.notdef /.notdef /rsuperior /ssuperior /tsuperior /.notdef /ff /fi\n\ - /fl /ffi /ffl /parenleftinferior /.notdef /parenrightinferior /Circumflexsmall /hyphensuperior\n\ - /Gravesmall /Asmall /Bsmall /Csmall /Dsmall /Esmall /Fsmall /Gsmall\n\ - /Hsmall /Ismall /Jsmall /Ksmall /Lsmall /Msmall /Nsmall /Osmall\n\ - /Psmall /Qsmall /Rsmall /Ssmall /Tsmall /Usmall /Vsmall /Wsmall\n\ - /Xsmall /Ysmall /Zsmall /colonmonetary /onefitted /rupiah /Tildesmall /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /exclamdownsmall /centoldstyle /Lslashsmall /.notdef /.notdef /Scaronsmall /Zcaronsmall\n\ - /Dieresissmall /Brevesmall /Caronsmall /.notdef /Dotaccentsmall /.notdef /.notdef /Macronsmall\n\ - /.notdef /.notdef /figuredash /hypheninferior /.notdef /.notdef /Ogoneksmall /Ringsmall\n\ - /Cedillasmall /.notdef /.notdef /.notdef /onequarter /onehalf /threequarters /questiondownsmall\n\ - /oneeighth /threeeighths /fiveeighths /seveneighths /onethird /twothirds /.notdef /.notdef\n\ - /zerosuperior /onesuperior /twosuperior /threesuperior /foursuperior /fivesuperior /sixsuperior /sevensuperior\n\ - /eightsuperior /ninesuperior /zeroinferior /oneinferior /twoinferior /threeinferior /fourinferior /fiveinferior\n\ - /sixinferior /seveninferior /eightinferior /nineinferior /centinferior /dollarinferior /periodinferior /commainferior\n\ - /Agravesmall /Aacutesmall /Acircumflexsmall /Atildesmall /Adieresissmall /Aringsmall /AEsmall /Ccedillasmall\n\ - /Egravesmall /Eacutesmall /Ecircumflexsmall /Edieresissmall /Igravesmall /Iacutesmall /Icircumflexsmall /Idieresissmall\n\ - /Ethsmall /Ntildesmall /Ogravesmall /Oacutesmall /Ocircumflexsmall /Otildesmall /Odieresissmall /OEsmall\n\ - /Oslashsmall /Ugravesmall /Uacutesmall /Ucircumflexsmall /Udieresissmall /Yacutesmall /Thornsmall\n\ -] def\n"; - -static const char ExpertSubsetEncoding[] = "/ExpertSubsetEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /.notdef /.notdef /.notdef /dollaroldstyle /dollarsuperior /.notdef /.notdef\n\ - /parenleftsuperior /parenrightsuperior /twodotenleader /onedotenleader /comma /hyphen /period /fraction\n\ - /zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle\n\ - /eightoldstyle /nineoldstyle /colon /semicolon /commasuperior /threequartersemdash /periodsuperior /.notdef\n\ - /.notdef /asuperior /bsuperior /centsuperior /dsuperior /esuperior /.notdef /.notdef\n\ - /.notdef /isuperior /.notdef /.notdef /lsuperior /msuperior /nsuperior /osuperior\n\ - /.notdef /.notdef /rsuperior /ssuperior /tsuperior /.notdef /ff /fi\n\ - /fl /ffi /ffl /parenleftinferior /.notdef /parenrightinferior /.notdef /hyphensuperior\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /colonmonetary /onefitted /rupiah /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /centoldstyle /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /figuredash /hypheninferior /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /onequarter /onehalf /threequarters /.notdef\n\ - /oneeighth /threeeighths /fiveeighths /seveneighths /onethird /twothirds /.notdef /.notdef\n\ - /zerosuperior /onesuperior /twosuperior /threesuperior /foursuperior /fivesuperior /sixsuperior /sevensuperior\n\ - /eightsuperior /ninesuperior /zeroinferior /oneinferior /twoinferior /threeinferior /fourinferior /fiveinferior\n\ - /sixinferior /seveninferior /eightinferior /nineinferior /centinferior /dollarinferior /periodinferior /commainferior\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ -] def\n"; - -static const char SymbolEncoding[] = "/SymbolEncoding [\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /space /exclam /universal /numbersign /existential /percent /ampersand /suchthat\n\ - /parenleft /parenright /asteriskmath /plus /comma /minus /period /slash\n\ - /zero /one /two /three /four /five /six /seven\n\ - /eight /nine /colon /semicolon /less /equal /greater /question\n\ - /congruent /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma\n\ - /Eta /Iota /theta1 /Kappa /Lambda /Mu /Nu /Omicron\n\ - /Pi /Theta /Rho /Sigma /Tau /Upsilon /sigma1 /Omega\n\ - /Xi /Psi /Zeta /bracketleft /therefore /bracketright /perpendicular /underscore\n\ - /radicalex /alpha /beta /chi /delta /epsilon /phi /gamma\n\ - /eta /iota /phi1 /kappa /lambda /mu /nu /omicron\n\ - /pi /theta /rho /sigma /tau /upsilon /omega1 /omega\n\ - /xi /psi /zeta /braceleft /bar /braceright /similar /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n\ - /.notdef /Upsilon1 /minute /lessequal /fraction /infinity /florin /club\n\ - /diamond /heart /spade /arrowboth /arrowleft /arrowup /arrowright /arrowdown\n\ - /degree /plusminus /second /greaterequal /multiply /proportional /partialdiff /bullet\n\ - /divide /notequal /equivalence /approxequal /ellipsis /arrowvertex /arrowhorizex /carriagereturn\n\ - /aleph /Ifraktur /Rfraktur /weierstrass /circlemultiply /circleplus /emptyset /intersection\n\ - /union /propersuperset /reflexsuperset /notsubset /propersubset /reflexsubset /element /notelement\n\ - /angle /gradient /registerserif /copyrightserif /trademarkserif /product /radical /dotmath\n\ - /logicalnot /logicaland /logicalor /arrowdblboth /arrowdblleft /arrowdblup /arrowdblright /arrowdbldown\n\ - /lozenge /angleleft /registersans /copyrightsans /trademarksans /summation /parenlefttp /parenleftex\n\ - /parenleftbt /bracketlefttp /bracketleftex /bracketleftbt /bracelefttp /braceleftmid /braceleftbt /braceex\n\ - /.notdef /angleright /integral /integraltp /integralex /integralbt /parenrighttp /parenrightex\n\ - /parenrightbt /bracketrighttp /bracketrightex /bracketrightbt /bracerighttp /bracerightmid /bracerightbt\n\ -] def\n"; - -void -usage_error(ErrorHandler *errh, const char *error_message, ...) -{ - va_list val; - va_start(val, error_message); - if (!error_message) - errh->message("Usage: %s [OPTION]... FONT", program_name); - else - errh->vxmessage(ErrorHandler::e_error, error_message, val); - errh->message("Type %s --help for more information.", program_name); - exit(1); -} - -void -usage() -{ - FileErrorHandler uerrh(stdout); - uerrh.message("\ -%<T1reencode%> changes a Type 1 font%,s embedded encoding and writes the\n\ -reencoded font to the standard output.\n\ -\n\ -Usage: %s [OPTION]... [FONTFILE [OUTPUTFILE]]\n\ -\n\ -Options:\n\ - -e, --encoding=FILE Read the encoding from FILE (in DVIPS format).\n\ - -E, --encoding-text=ENC The ENC argument is the encoding text.\n\ - -n, --name=NAME Set output font%,s PostScript name.\n\ - -N, --full-name=NAME Set output font%,s full name.\n\ - -a, --pfa Output PFA font.\n\ - -b, --pfb Output PFB font. This is the default.\n\ - -o, --output=FILE Write output to FILE instead of standard out.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and exit.\n\ -\n\ -Report bugs to <ekohler@gmail.com>.\n", program_name); -} - - -// FONT MANIPULATION - -static void -kill_def(Type1Font* font, Type1Definition *t1d, int whichd) -{ - if (!t1d || font->dict(whichd, t1d->name()) != t1d) - return; - - int icount = font->nitems(); - for (int i = font->first_dict_item(whichd); i < icount; i++) - if (font->item(i) == t1d) { - StringAccum sa; - sa << '%'; - t1d->gen(sa); - PermString name = t1d->name(); - Type1CopyItem *t1ci = new Type1CopyItem(sa.take_string()); - font->set_item(i, t1ci); - font->set_dict(whichd, name, 0); - return; - } - - assert(0); -} - -static void -adjust_font_definitions(Type1Font* font, Type1Encoding* encoding, String new_name, String new_full_name) -{ - // prepare an MD5 digest over the encoding - StringAccum etext; - for (int i = 0; i < 256; i++) - etext << encoding->elt(i) << ' '; - MD5_CONTEXT md5; - md5_init(&md5); - md5_update(&md5, (const unsigned char*) etext.data(), etext.length() - 1); - - // save UniqueID, then kill its definition - int uniqueid; - Type1Definition *t1d = font->dict("UniqueID"); - bool have_uniqueid = (t1d && t1d->value_int(uniqueid)); - kill_def(font, t1d, Type1Font::dFont); - kill_def(font, font->p_dict("UniqueID"), Type1Font::dPrivate); - - // prepare XUID - t1d = font->dict("XUID"); - Vector<double> xuid; - if (!t1d || !t1d->value_numvec(xuid)) { - if (have_uniqueid) { - t1d = font->ensure(Type1Font::dFont, "XUID"); - xuid.clear(); - xuid.push_back(1); - xuid.push_back(uniqueid); - } else if (t1d) { - kill_def(font, t1d, Type1Font::dFont); - t1d = 0; - } - } - if (t1d) { - uint8_t digest[MD5_DIGEST_SIZE + 2]; // leave 2 bytes of space - md5_final((unsigned char *) digest, &md5); - digest[MD5_DIGEST_SIZE] = digest[MD5_DIGEST_SIZE + 1] = 0; - - // append digest to XUID; each element must be less than 2^24 - for (int i = 0; i < MD5_DIGEST_SIZE; i += 3) - xuid.push_back((digest[i] << 16) | (digest[i+1] << 8) | digest[i+2]); - t1d->set_numvec(xuid); - } - - // prepare new font name - if (!encoding_name) { - char text_digest[MD5_TEXT_DIGEST_SIZE + 1]; - md5_final_text(text_digest, &md5); - encoding_name = "AutoEnc_" + String(text_digest); - } - - t1d = font->dict("FontName"); - PermString name; - if (t1d && t1d->value_name(name)) { - if (!new_name) - new_name = name + encoding_name; - t1d->set_name(new_name.c_str()); - font->uncache_defs(); // remove cached font name - } - - // add a FullName too - String full_name; - t1d = font->fi_dict("FullName"); - if (t1d && t1d->value_string(full_name)) { - if (!new_full_name) - new_full_name = full_name + "_" + encoding_name + " Enc"; - t1d->set_string(new_full_name.c_str()); - } - - // add header comments - { - StringAccum sa; -#if HAVE_CTIME - time_t cur_time = time(0); - char *time_str = ctime(&cur_time); - sa << "%% Created by t1reencode-" VERSION " on " << time_str; - sa.pop_back(); -#else - sa << "%% Created by t1reencode-" VERSION "."; -#endif - - font->add_header_comment(sa.take_string().c_str()); - font->add_header_comment("%% T1reencode is free software. See <http://www.lcdf.org/type/>."); - } -} - - -// ENCODING READER - -static String -tokenize(const String &s, int &pos_in, int &line) -{ - const char *data = s.data(); - int len = s.length(); - int pos = pos_in; - while (1) { - // skip whitespace - while (pos < len && isspace((unsigned char) data[pos])) { - if (data[pos] == '\n') - line++; - else if (data[pos] == '\r' && (pos + 1 == len || data[pos+1] != '\n')) - line++; - pos++; - } - - if (pos >= len) { - pos_in = len; - return String(); - } else if (data[pos] == '%') { - for (pos++; pos < len && data[pos] != '\n' && data[pos] != '\r'; pos++) - /* nada */; - } else if (data[pos] == '[' || data[pos] == ']' || data[pos] == '{' || data[pos] == '}') { - pos_in = pos + 1; - return s.substring(pos, 1); - } else if (data[pos] == '(') { - int first = pos, nest = 0; - for (pos++; pos < len && (data[pos] != ')' || nest); pos++) - switch (data[pos]) { - case '(': nest++; break; - case ')': nest--; break; - case '\\': - if (pos + 1 < len) - pos++; - break; - case '\n': line++; break; - case '\r': - if (pos + 1 == len || data[pos+1] != '\n') - line++; - break; - } - pos_in = (pos < len ? pos + 1 : len); - return s.substring(first, pos_in - first); - } else { - int first = pos; - while (pos < len && data[pos] == '/') - pos++; - while (pos < len && data[pos] != '/' && !isspace((unsigned char) data[pos]) && data[pos] != '[' && data[pos] != ']' && data[pos] != '%' && data[pos] != '(' && data[pos] != '{' && data[pos] != '}') - pos++; - pos_in = pos; - return s.substring(first, pos - first); - } - } -} - -static String -landmark(const String &filename, int line) -{ - return filename + String::make_stable(":", 1) + String(line); -} - -Type1Encoding * -parse_encoding(String s, String filename, ErrorHandler *errh) -{ - filename = printable_filename(filename); - int pos = 0, line = 1; - - // parse text - String token = tokenize(s, pos, line); - if (!token || token[0] != '/') { - errh->lerror(landmark(filename, line), "parse error, expected name"); - return 0; - } - encoding_name = token.substring(1); - - if (tokenize(s, pos, line) != "[") { - errh->lerror(landmark(filename, line), "parse error, expected ["); - return 0; - } - - Type1Encoding *t1e = new Type1Encoding; - int e = 0; - while ((token = tokenize(s, pos, line)) && token[0] == '/') { - if (e > 255) { - errh->lwarning(landmark(filename, line), "more than 256 characters in encoding"); - break; - } - t1e->put(e, token.substring(1)); - e++; - } - return t1e; -} - - - -// MAIN - -/***** - * MAIN PROGRAM - **/ - -static Type1Font * -do_file(const char *filename, PsresDatabase *psres, ErrorHandler *errh) -{ - FILE *f; - if (!filename || strcmp(filename, "-") == 0) { - f = stdin; - filename = "<stdin>"; -#if defined(_MSDOS) || defined(_WIN32) - _setmode(_fileno(f), _O_BINARY); -#endif - } else - f = fopen(filename, "rb"); - - if (!f) { - // check for PostScript name - Filename fn = psres->filename_value("FontOutline", filename); - f = fn.open_read(); - } - - if (!f) - errh->fatal("%s: %s", filename, strerror(errno)); - - Type1Reader *reader; - int c = getc(f); - ungetc(c, f); - if (c == EOF) - errh->fatal("%s: empty file", filename); - if (c == 128) - reader = new Type1PFBReader(f); - else - reader = new Type1PFAReader(f); - - Type1Font *font = new Type1Font(*reader); - if (!font->ok()) - errh->fatal("%s: no glyphs in font", filename); - - delete reader; - return font; -} - -int -main(int argc, char *argv[]) -{ - PsresDatabase *psres = new PsresDatabase; - psres->add_psres_path(getenv("PSRESOURCEPATH"), 0, false); - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - ErrorHandler *errh = ErrorHandler::static_initialize(new FileErrorHandler(stderr)); - const char *input_file = 0; - const char *output_file = 0; - const char *encoding_file = 0; - const char *encoding_text = 0; - const char *new_font_name = 0; - const char *new_full_name = 0; - bool binary = true; - Vector<String> glyph_patterns; - - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case ENCODING_OPT: - if (encoding_file || encoding_text) - errh->fatal("encoding already specified"); - encoding_file = clp->vstr; - break; - - case ENCODING_TEXT_OPT: - if (encoding_file || encoding_text) - errh->fatal("encoding already specified"); - encoding_text = clp->vstr; - break; - - case FONTNAME_OPT: - if (new_font_name) - errh->fatal("font name already specified"); - new_font_name = clp->vstr; - break; - - case FULLNAME_OPT: - if (new_full_name) - errh->fatal("full name already specified"); - new_full_name = clp->vstr; - break; - - case OUTPUT_OPT: - if (output_file) - errh->fatal("output file already specified"); - output_file = clp->vstr; - break; - - case PFA_OPT: - binary = false; - break; - - case PFB_OPT: - binary = true; - break; - - case VERSION_OPT: - printf("t1reencode (LCDF typetools) %s\n", VERSION); - printf("Copyright (C) 1999-2011 Eddie Kohler\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case Clp_NotOption: - if (input_file && output_file) - errh->fatal("too many arguments"); - else if (input_file) - output_file = clp->vstr; - else - input_file = clp->vstr; - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - usage_error(errh, 0); - break; - - default: - break; - - } - } - - done: - // read the font - Type1Font *font = do_file(input_file, psres, errh); - if (!input_file || strcmp(input_file, "-") == 0) - input_file = "<stdin>"; - - // read the encoding - if (!encoding_file && !encoding_text) - errh->fatal("missing %<-e ENCODING%> argument"); - Type1Encoding *t1e = 0; - if (strcmp(encoding_file, "StandardEncoding") == 0) { - t1e = Type1Encoding::standard_encoding(); - encoding_name = encoding_file; - } else { - String text; - if (strcmp(encoding_file, "ISOLatin1Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_1_Encoding") == 0) - text = String::make_stable(ISOLatin1Encoding); - else if (strcmp(encoding_file, "ISOLatin2Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_2_Encoding") == 0) - text = String::make_stable(ISOLatin2Encoding); - else if (strcmp(encoding_file, "ISOLatin3Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_3_Encoding") == 0) - text = String::make_stable(ISOLatin3Encoding); - else if (strcmp(encoding_file, "ISOLatin4Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_4_Encoding") == 0) - text = String::make_stable(ISOLatin4Encoding); - else if (strcmp(encoding_file, "ISOCyrillicEncoding") == 0 - || strcmp(encoding_file, "ISO_8859_5_Encoding") == 0) - text = String::make_stable(ISOCyrillicEncoding); - else if (strcmp(encoding_file, "ISOGreekEncoding") == 0 - || strcmp(encoding_file, "ISO_8859_7_Encoding") == 0) - text = String::make_stable(ISOGreekEncoding); - else if (strcmp(encoding_file, "ISO_8859_9_Encoding") == 0 - || strcmp(encoding_file, "ISOLatin5Encoding") == 0) - text = String::make_stable(ISOLatin5Encoding); - else if (strcmp(encoding_file, "ISOLatin6Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_10_Encoding") == 0) - text = String::make_stable(ISOLatin6Encoding); - else if (strcmp(encoding_file, "ISOThaiEncoding") == 0 - || strcmp(encoding_file, "ISO_8859_11_Encoding") == 0) - text = String::make_stable(ISOThaiEncoding); - else if (strcmp(encoding_file, "ISOLatin7Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_13_Encoding") == 0) - text = String::make_stable(ISOLatin7Encoding); - else if (strcmp(encoding_file, "ISOLatin8Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_14_Encoding") == 0) - text = String::make_stable(ISOLatin8Encoding); - else if (strcmp(encoding_file, "ISOLatin9Encoding") == 0 - || strcmp(encoding_file, "ISO_8859_15_Encoding") == 0) - text = String::make_stable(ISOLatin9Encoding); - else if (strcmp(encoding_file, "KOI8REncoding") == 0) - text = String::make_stable(KOI8REncoding); - else if (strcmp(encoding_file, "ExpertEncoding") == 0) - text = String::make_stable(ExpertEncoding); - else if (strcmp(encoding_file, "ExpertSubsetEncoding") == 0) - text = String::make_stable(ExpertSubsetEncoding); - else if (strcmp(encoding_file, "SymbolEncoding") == 0) - text = String::make_stable(SymbolEncoding); - else if (encoding_text) - text = String::make_stable(encoding_text), encoding_file = "<argument>"; - else if ((text = read_file(encoding_file, errh)), errh->nerrors() > 0) - exit(1); - if (!(t1e = parse_encoding(text, encoding_file, errh))) - exit(1); - } - - // set the encoding - font->add_type1_encoding(t1e); - - // adjust definitions - adjust_font_definitions(font, t1e, new_font_name, new_full_name); - - // write it to output - FILE *outf; - if (!output_file || strcmp(output_file, "-") == 0) - outf = stdout; - else { - outf = fopen(output_file, "w"); - if (!outf) - errh->fatal("%s: %s", output_file, strerror(errno)); - } -#if defined(_MSDOS) || defined(_WIN32) - _setmode(_fileno(outf), _O_BINARY); -#endif - if (binary) { - Type1PFBWriter w(outf); - font->write(w); - } else { - Type1PFAWriter w(outf); - font->write(w); - } - - return (errh->nerrors() == 0 ? 0 : 1); -} diff --git a/Build/source/texk/lcdf-typetools/t1reencode/util.cc b/Build/source/texk/lcdf-typetools/t1reencode/util.cc deleted file mode 100644 index 89f43391152..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/util.cc +++ /dev/null @@ -1,78 +0,0 @@ -/* util.{cc,hh} -- various bits - * - * Copyright (c) 2003-2010 Eddie Kohler - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif -#include "util.hh" -#include <lcdf/error.hh> -#include <lcdf/straccum.hh> -#include <lcdf/vector.hh> -#include <stdio.h> -#include <errno.h> -#include <stdlib.h> -#if defined(_MSDOS) || defined(_WIN32) -# include <fcntl.h> -# include <io.h> -#endif - -String -read_file(String filename, ErrorHandler *errh, bool warning) -{ - FILE *f; - if (!filename || filename == "-") { - filename = "<stdin>"; - f = stdin; -#if defined(_MSDOS) || defined(_WIN32) - // Set the file mode to binary - _setmode(_fileno(f), _O_BINARY); -#endif - } else if (!(f = fopen(filename.c_str(), "rb"))) { - errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); - return String(); - } - - StringAccum sa; - int amt; - do { - if (char *x = sa.reserve(8192)) { - amt = fread(x, 1, 8192, f); - sa.adjust_length(amt); - } else - amt = 0; - } while (amt != 0); - if (!feof(f) || ferror(f)) - errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); - if (f != stdin) - fclose(f); - return sa.take_string(); -} - -String -printable_filename(const String &s) -{ - if (!s || s == "-") - return String::make_stable("<stdin>"); - else - return s; -} - -String -pathname_filename(const String &path) -{ - int slash = path.find_right('/'); - if (slash >= 0 && slash != path.length() - 1) - return path.substring(slash + 1); - else - return path; -} diff --git a/Build/source/texk/lcdf-typetools/t1reencode/util.hh b/Build/source/texk/lcdf-typetools/t1reencode/util.hh deleted file mode 100644 index 34b9c9c5a22..00000000000 --- a/Build/source/texk/lcdf-typetools/t1reencode/util.hh +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef T1REENCODE_UTIL_HH -#define T1REENCODE_UTIL_HH -#include <lcdf/string.hh> -class ErrorHandler; - -String read_file(String filename, ErrorHandler *, bool warn = false); -String printable_filename(const String &); -String pathname_filename(const String &); - -#endif |