summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/README2
-rw-r--r--Build/source/texk/lcdf-typetools/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/NEWS7
-rw-r--r--Build/source/texk/lcdf-typetools/README2
-rw-r--r--Build/source/texk/lcdf-typetools/cfftot1/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/cfftot1/cfftot1.12
-rw-r--r--Build/source/texk/lcdf-typetools/config.h.in2
-rwxr-xr-xBuild/source/texk/lcdf-typetools/configure2
-rw-r--r--Build/source/texk/lcdf-typetools/configure.in484
-rw-r--r--Build/source/texk/lcdf-typetools/include/lcdf/permstr.hh138
-rw-r--r--Build/source/texk/lcdf-typetools/lcdf-typetools.spec2
-rw-r--r--Build/source/texk/lcdf-typetools/libefont/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/liblcdf/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/liblcdf/permstr.cc98
-rw-r--r--Build/source/texk/lcdf-typetools/mmafm/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/mmafm/mmafm.12
-rw-r--r--Build/source/texk/lcdf-typetools/mmpfb/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/mmpfb/mmpfb.12
-rw-r--r--Build/source/texk/lcdf-typetools/otfinfo/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/otfinfo/otfinfo.12
-rw-r--r--Build/source/texk/lcdf-typetools/otftotfm/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/otftotfm/dvipsencoding.cc20
-rw-r--r--Build/source/texk/lcdf-typetools/otftotfm/metrics.cc44
-rw-r--r--Build/source/texk/lcdf-typetools/otftotfm/otftotfm.12
-rw-r--r--Build/source/texk/lcdf-typetools/t1dotlessj/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.12
-rw-r--r--Build/source/texk/lcdf-typetools/t1lint/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/t1lint/t1lint.12
-rw-r--r--Build/source/texk/lcdf-typetools/t1reencode/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/t1reencode/t1reencode.12
-rw-r--r--Build/source/texk/lcdf-typetools/t1testpage/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/t1testpage/t1testpage.12
-rw-r--r--Build/source/texk/lcdf-typetools/ttftotype42/Makefile.in2
-rw-r--r--Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.12
34 files changed, 197 insertions, 650 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README
index 16fac43a463..56cd983389f 100644
--- a/Build/source/texk/README
+++ b/Build/source/texk/README
@@ -69,7 +69,7 @@ musixflx - ?
ps2pkm - ?
-lcdf-typetools 2.67 - ok 28apr08
+lcdf-typetools 2.68 - ok 4may08
http://www.lcdf.org/type/
tex4htk
diff --git a/Build/source/texk/lcdf-typetools/Makefile.in b/Build/source/texk/lcdf-typetools/Makefile.in
index b010058122d..008851ca60b 100644
--- a/Build/source/texk/lcdf-typetools/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/Makefile.in
@@ -36,7 +36,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(top_srcdir)/configure COPYING ChangeLog INSTALL NEWS depcomp \
install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
diff --git a/Build/source/texk/lcdf-typetools/NEWS b/Build/source/texk/lcdf-typetools/NEWS
index 496739e872f..adc2dd8e516 100644
--- a/Build/source/texk/lcdf-typetools/NEWS
+++ b/Build/source/texk/lcdf-typetools/NEWS
@@ -1,5 +1,12 @@
LCDF Typetools NEWS
+Version 2.68 2.May.2008
+
+* otftotfm: Tweak the ligature sorting algorithm. Prefer lowercase
+ ligatures to mixed-case and uppercase ligatures; prefer the conventional
+ f-ligatures to all others. Reported by Ulrich Dirr.
+
+
Version 2.67 25.Apr.2008
* otftotfm: Improve font name construction for base fonts. Reported by
diff --git a/Build/source/texk/lcdf-typetools/README b/Build/source/texk/lcdf-typetools/README
index 4a7ad78ba42..5b8edec1d76 100644
--- a/Build/source/texk/lcdf-typetools/README
+++ b/Build/source/texk/lcdf-typetools/README
@@ -1,4 +1,4 @@
-LCDF-TYPETOOLS 2.67
+LCDF-TYPETOOLS 2.68
===================
USAGE
diff --git a/Build/source/texk/lcdf-typetools/cfftot1/Makefile.in b/Build/source/texk/lcdf-typetools/cfftot1/Makefile.in
index 1753ef0a6d4..5fbc8d09731 100644
--- a/Build/source/texk/lcdf-typetools/cfftot1/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/cfftot1/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = cfftot1$(EXEEXT)
subdir = cfftot1
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1 b/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1
index 50b7b7a7e1b..152bb31238e 100644
--- a/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1
+++ b/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/config.h.in b/Build/source/texk/lcdf-typetools/config.h.in
index 2e7760b31dc..dad53d351ee 100644
--- a/Build/source/texk/lcdf-typetools/config.h.in
+++ b/Build/source/texk/lcdf-typetools/config.h.in
@@ -1,4 +1,4 @@
-/* config.h.in. Generated from configure.in by autoheader. */
+/* config.h.in. Generated from configure.ac by autoheader. */
#ifndef LCDF_TYPETOOLS_CONFIG_H
#define LCDF_TYPETOOLS_CONFIG_H
diff --git a/Build/source/texk/lcdf-typetools/configure b/Build/source/texk/lcdf-typetools/configure
index 248c3f03dca..616f7b48ec6 100755
--- a/Build/source/texk/lcdf-typetools/configure
+++ b/Build/source/texk/lcdf-typetools/configure
@@ -2094,7 +2094,7 @@ fi
# Define the identity of the package.
PACKAGE=lcdf-typetools
- VERSION=2.67
+ VERSION=2.68
cat >>confdefs.h <<_ACEOF
diff --git a/Build/source/texk/lcdf-typetools/configure.in b/Build/source/texk/lcdf-typetools/configure.in
deleted file mode 100644
index 520f88ba90e..00000000000
--- a/Build/source/texk/lcdf-typetools/configure.in
+++ /dev/null
@@ -1,484 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(NEWS)
-AM_INIT_AUTOMAKE(lcdf-typetools, 2.67)
-AM_CONFIG_HEADER(config.h)
-AM_MAINTAINER_MODE
-
-AC_PROG_MAKE_SET
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_CXX
-AC_PROG_CXXCPP
-if test -n "$GCC" ; then CC="$CC -W -Wall" ; CXX="$CXX -W -Wall" ; fi
-
-dnl AN_MAKEVAR([AR], [AC_PROG_AR])
-dnl AN_PROGRAM([ar], [AC_PROG_AR])
-dnl AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
-dnl AC_PROG_AR
-
-AC_PROG_RANLIB
-
-
-dnl Available from the GNU Autoconf Macro Archive at:
-dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_template_objs.html
-dnl
-AC_DEFUN([AC_CXX_TEMPLATE_OBJS],
-[AC_CACHE_CHECK(where template objects are stored, ac_cv_cxx_templobjs,
- [ ac_cv_cxx_templobjs='unknown'
- if test "$GXX" = yes; then
- ac_cv_cxx_templobjs='nowhere'
- else
- case $CXX in
- CC|*/CC)
- cat > conftest.cc <<EOF
-template<class T> class A { public : A () {} };
-template<class T> void f (const A<T>&) {}
-main()
-{ A<double> d;
- A<int> i;
- f (d);
- f (i);
- return 0;
-}
-EOF
- if test "$ac_cv_cxx_templobjs" = 'unknown' ; then
- if test -d Templates.DB ; then
- rm -fr Templates.DB
- fi
- if $CXX $CXXFLAGS -ptr. -c conftest.cc 1> /dev/null 2>&1; then
- if test -d Templates.DB ; then
-# this should be Sun CC <= 4.2
- CXXFLAGS="$CXXFLAGS -ptr."
- if test x"$LIBTOOL" = x ; then
- ac_cv_cxx_templobjs='Templates.DB/*.o'
- else
- ac_cv_cxx_templobjs='Templates.DB/*.lo'
- fi
- rm -fr Templates.DB
- fi
- fi
- fi
- if test "$ac_cv_cxx_templobjs" = 'unknown' ; then
- if test -d SunWS_cache ; then
- rm -fr SunWS_cache
- fi
- if $CXX $CXXFLAGS -c conftest.cc 1> /dev/null 2>&1; then
- if test -d SunWS_cache ; then
-# this should be Sun WorkShop C++ compiler 5.x
-# or Sun Forte C++ compiler >= 6.x
- if test x"$LIBTOOL" = x ; then
- ac_cv_cxx_templobjs='SunWS_cache/*/*.o'
- else
- ac_cv_cxx_templobjs='SunWS_cache/*/*.lo'
- fi
- rm -fr SunWS_cache
- fi
- fi
- fi
- rm -f conftest* ;;
- esac
- fi
- case "x$ac_cv_cxx_templobjs" in
- xunknown|xnowhere)
- TEMPLATE_OBJS="" ;;
- *)
- TEMPLATE_OBJS="$ac_cv_cxx_templobjs" ;;
- esac
- AC_SUBST(TEMPLATE_OBJS)])])
-
-AC_CXX_TEMPLATE_OBJS
-
-
-dnl
-dnl directory searching
-dnl
-
-AC_HEADER_DIRENT
-
-
-dnl
-dnl select programs to be compiled
-dnl
-
-AC_ARG_ENABLE(cfftot1, [ --disable-cfftot1 do not build the cfftot1 program], :, enable_cfftot1=yes)
-AC_ARG_ENABLE(mmafm, [ --disable-mmafm do not build the mmafm program], :, enable_mmafm=yes)
-AC_ARG_ENABLE(mmpfb, [ --disable-mmpfb do not build the mmpfb program], :, enable_mmpfb=yes)
-AC_ARG_ENABLE(otfinfo, [ --disable-otfinfo do not build the otfinfo program], :, enable_otfinfo=yes)
-AC_ARG_ENABLE(otftotfm, [ --disable-otftotfm do not build the otftotfm program], :, enable_otftotfm=yes)
-AC_ARG_ENABLE(t1lint, [ --disable-t1dotlessj do not build the t1dotlessj program], :, enable_t1dotlessj=yes)
-AC_ARG_ENABLE(t1lint, [ --disable-t1lint do not build the t1lint program], :, enable_t1lint=yes)
-AC_ARG_ENABLE(t1reencode, [ --disable-t1reencode do not build the t1reencode program], :, enable_t1reencode=yes)
-AC_ARG_ENABLE(t1testpage, [ --disable-t1testpage do not build the t1testpage program], :, enable_t1testpage=yes)
-AC_ARG_ENABLE(ttftotype42, [ --disable-ttftotype42 do not build the ttftotype42 program], :, enable_ttftotype42=yes)
-
-SELECTED_SUBDIRS=''
-for i in cfftot1 mmafm mmpfb otfinfo otftotfm t1dotlessj t1lint t1reencode t1testpage ttftotype42; do
- y=`eval 'echo $enable_'"$i"`
- if test "x$y" != xno; then SELECTED_SUBDIRS="$SELECTED_SUBDIRS $i"; fi
-done
-AC_SUBST(SELECTED_SUBDIRS)
-
-
-dnl
-dnl kpathsea, auto-cfftot1
-dnl
-
-AC_ARG_ENABLE(tetex-build, [ --enable-tetex-build build as part of a teTeX installation], :, enable_tetex_build=no)
-AC_ARG_WITH(kpathsea, [ --with-kpathsea=PREFIX Kpathsea is installed (under PREFIX)],
- [kpathsea=$withval], [kpathsea=])
-
-if test "x$kpathsea" = xno; then
- KPSEINTERFACE_O=
- LIBKPATHSEA=
-else
- if test "x$enable_tetex_build" = xyes; then
- if test ! -d $srcdir/../../texk/kpathsea; then
- AC_MSG_ERROR([
-=========================================
-
-You specified --enable-tetex-build, but I can't find the kpathsea
-directory. I expected it to be in $srcdir/../../texk/kpathsea.
-
-=========================================])
- fi
- CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/../../texk -I\$(top_srcdir)/../../texk"
- LDFLAGS="$LDFLAGS -L\$(top_builddir)/../../texk/kpathsea/.libs"
- AC_MSG_NOTICE([tetex build of lcdf-typetools, CPPFLAGS now: $CPPFLAGS])
- elif test "x$kpathsea" != x -a "x$kpathsea" != xyes; then
- CPPFLAGS="$CPPFLAGS -I$kpathsea/include"
- LDFLAGS="$LDFLAGS -L$kpathsea/lib"
- else
- kpathsea=yes
- fi
-
- dnl check for kpathsea/kpathsea.h
- if test "x$enable_tetex_build" = xyes; then
- kpse_header=yes
- else
- AC_CHECK_HEADER(kpathsea/kpathsea.h, [kpse_header=yes], [kpse_header=no])
- fi
-
- dnl if not found and kpathsea prefix not set, check /usr/local
- if test "x$kpse_header" != xyes -a "x$kpathsea" = xyes -a -r /usr/local/include/kpathsea/tex-file.h; then
- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
- LDFLAGS="$LDFLAGS -L/usr/local/lib"
- AC_CHECK_HEADER(kpathsea/tex-file.h, [kpse_header=yes], [kpse_header=no])
- fi
-
- dnl check for -lkpathsea
- if test "x$enable_tetex_build" = xyes; then
- kpse_library=yes
- else
- AC_CHECK_LIB(kpathsea, kpse_set_program_name, [kpse_library=yes], [kpse_library=no])
- fi
-
- dnl bail out if not found
- if test "x$kpse_header" != xyes -o "x$kpse_library" != xyes; then
- AC_MSG_ERROR([
-=========================================
-
-I can't find the kpathsea library and/or header files. Tell me where to look
-using the --with-kpathsea=PREFIX option (header files should be under
-PREFIX/include/kpathsea, and library under PREFIX/lib), or disable support
-using --without-kpathsea.
-
-=========================================])
- fi
-
- dnl OK, found
- AC_DEFINE(HAVE_KPATHSEA, 1, [Define if you want to use kpathsea.])
- KPSEINTERFACE_O='kpseinterface.$(OBJEXT)'
- if test "x$enable_tetex_build" = xyes; then
- LIBKPATHSEA='$(top_builddir)/../../texk/kpathsea/.libs/libkpathsea.a'
- LIBKPATHSEA_DEP="$LIBKPATHSEA"
- else
- LIBKPATHSEA='-lkpathsea'
- LIBKPATHSEA_DEP=''
- fi
-
- dnl does it have opentype support?
- if test "x$enable_tetex_build" = xyes; then
- AC_DEFINE(HAVE_DECL_KPSE_OPENTYPE_FORMAT)
- else
- AC_CHECK_DECLS(kpse_opentype_format, :, :, [#include <kpathsea/kpathsea.h>])
- fi
-fi
-AC_SUBST([KPSEINTERFACE_O])
-AC_SUBST([LIBKPATHSEA])
-AC_SUBST([LIBKPATHSEA_DEP])
-
-AC_ARG_ENABLE(selfauto-set, [ --disable-selfauto-set disable setting SELFAUTO variables from kpsewhich], :, enable_selfauto_set=yes)
-
-if test "x$enable_selfauto_set" = xyes -a "x$kpathsea" != xno -a "x$enable_tetex_build" != xyes; then
- kpsewhich='kpsewhich'
- test "x$kpathsea" != xyes -a -x "$kpathsea/bin/kpsewhich" && kpsewhich="$kpathsea/bin/kpsewhich"
- SELFAUTOLOC=`$kpsewhich --expand-var='$SELFAUTOLOC' 2>/dev/null`
- SELFAUTODIR=`$kpsewhich --expand-var='$SELFAUTODIR' 2>/dev/null`
- SELFAUTOPARENT=`$kpsewhich --expand-var='$SELFAUTOPARENT' 2>/dev/null`
- if test -z "$SELFAUTODIR"; then
- AC_MSG_WARN([
-=========================================
-
-Could not extract SELFAUTO variables from $kpsewhich.
-Either supply the correct PREFIX to --with-kpathsea, or supply
---disable-selfauto-loc.
-
-=========================================])
- fi
- AC_DEFINE_UNQUOTED(SELFAUTOLOC, "$SELFAUTOLOC", [kpsewhich's $SELFAUTOLOC variable])
- AC_DEFINE_UNQUOTED(SELFAUTODIR, "$SELFAUTODIR", [kpsewhich's $SELFAUTODIR variable])
- AC_DEFINE_UNQUOTED(SELFAUTOPARENT, "$SELFAUTOPARENT", [kpsewhich's $SELFAUTOPARENT variable])
-fi
-
-AC_ARG_ENABLE(auto-cfftot1, [ --disable-auto-cfftot1 disable running cfftot1 from otftotfm], :, enable_auto_cfftot1=yes)
-AC_ARG_ENABLE(auto-t1dotlessj, [ --disable-auto-t1dotlessj disable running t1dotlessj from otftotfm], :, enable_auto_t1dotlessj=yes)
-AC_ARG_ENABLE(auto-updmap, [ --disable-auto-updmap disable running updmap from otftotfm], :, enable_auto_updmap=yes)
-
-if test "x$enable_auto_cfftot1" = xyes; then
- AC_DEFINE(HAVE_AUTO_CFFTOT1, 1, [Define to run cfftot1 automatically from otftotfm.])
-fi
-if test "x$enable_auto_t1dotlessj" = xyes; then
- AC_DEFINE(HAVE_AUTO_T1DOTLESSJ, 1, [Define to run t1dotlessj automatically from otftotfm.])
-fi
-if test "x$enable_auto_updmap" = xyes; then
- AC_DEFINE(HAVE_AUTO_UPDMAP, 1, [Define to run system updmap automatically from otftotfm.])
-fi
-
-
-dnl
-dnl <new> and/or <new.h>
-dnl
-
-AC_LANG_CPLUSPLUS
-AC_CACHE_CHECK([whether <new> works], ac_cv_good_new_hdr,
-[AC_TRY_LINK([#include <new>], [
- int a;
- int *b = new(&a) int;
- return 0;
-], ac_cv_good_new_hdr=yes, ac_cv_good_new_hdr=no)])
-if test "$ac_cv_good_new_hdr" = yes; then
- AC_DEFINE(HAVE_NEW_HDR, 1, [Define if <new> exists and works.])
-fi
-AC_CHECK_HEADERS(new.h)
-
-
-dnl
-dnl functions such as strerror, working strtod, strtoul, time
-dnl headers such as unistd.h
-dnl
-
-AC_LANG_C
-FIXLIBC_O=''
-AC_CHECK_FUNCS(strerror, :, FIXLIBC_O='fixlibc.o')
-
-AC_CACHE_CHECK(whether strtod works, ac_cv_working_strtod,
-[AC_TRY_RUN([#include <stdio.h>
-#include <stdlib.h>
-int main(int c, char **v) {
- char s[] = "12 ";
- char *endp;
- double d = strtod(s, &endp);
- exit(*endp == 0 ? 1 : 0);
-}], ac_cv_working_strtod=yes, ac_cv_working_strtod=no,
-ac_cv_working_strtod=yes)])
-if test $ac_cv_working_strtod = no; then
- FIXLIBC_O='fixlibc.o'
- AC_DEFINE(BROKEN_STRTOD, 1, [Define if strtod is broken.])
-fi
-
-AC_CHECK_FUNCS(strtoul ctime mkstemp ftruncate sigaction waitpid)
-AC_CHECK_FUNC(floor, :, [AC_CHECK_LIB(m, floor)])
-AC_CHECK_FUNC(fabs, :, [AC_CHECK_LIB(m, fabs)])
-AC_CHECK_HEADERS(unistd.h fcntl.h sys/time.h sys/wait.h)
-
-AC_SUBST(FIXLIBC_O)
-
-
-dnl
-dnl integer types
-dnl
-
-AC_CHECK_HEADERS(inttypes.h, have_inttypes_h=yes, have_inttypes_h=no)
-AC_CHECK_HEADERS(sys/types.h, have_sys_types_h=yes, have_sys_types_h=no)
-
-if test $have_inttypes_h = no -a $have_sys_types_h = yes; then
- AC_CACHE_CHECK([for uintXX_t typedefs], ac_cv_uint_t,
- [AC_EGREP_HEADER(dnl
-changequote(<<,>>)<<(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]>>changequote([,]),
- sys/types.h, ac_cv_uint_t=yes, ac_cv_uint_t=no)])
-fi
-if test $have_inttypes_h = no -a $have_sys_types_h = yes -a "$ac_cv_uint_t" = no; then
- AC_CACHE_CHECK([for u_intXX_t typedefs], ac_cv_u_int_t,
- [AC_EGREP_HEADER(dnl
-changequote(<<,>>)<<(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]>>changequote([,]),
- sys/types.h, ac_cv_u_int_t=yes, ac_cv_u_int_t=no)])
-fi
-if test $have_inttypes_h = yes -o "$ac_cv_uint_t" = yes; then
- :
-elif test "$ac_cv_u_int_t" = yes; then
- AC_DEFINE(HAVE_U_INT_TYPES, 1, [Define if you have u_intXX_t types but not uintXX_t types.])
-else
- AC_MSG_WARN([
-=========================================
-
-Neither uint32_t nor u_int32_t defined by <inttypes.h> or <sys/types.h>!
-Assuming "short" has 16 bits and "int" has 32 bits.
-
-=========================================])
- AC_DEFINE(HAVE_FAKE_INT_TYPES, 1, [Define if intXX_t types are not available.])
-fi
-
-AC_CHECK_TYPES(uintptr_t, [], [],
-[#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-])
-
-AC_CHECK_SIZEOF(void *)
-AC_CHECK_SIZEOF(unsigned long)
-AC_CHECK_SIZEOF(unsigned int)
-
-
-dnl
-dnl ntohs, ntohl (need them in C++ code)
-dnl
-
-AC_LANG_CPLUSPLUS
-AC_CHECK_HEADERS(byteorder.h netinet/in.h sys/param.h)
-AC_MSG_CHECKING([whether ntohs and ntohl are defined])
-ac_ntoh_defined=no
-AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_BYTEORDER_H
-# include <byteorder.h>
-#elif HAVE_NETINET_IN_H
-# include <netinet/in.h>
-#elif HAVE_SYS_PARAM_H
-# include <sys/param.h>
-#endif
-]], [[(void) ntohs(0x0020), (void) ntohl(0x03040020);]])],
- [AC_MSG_RESULT(yes)
-ac_ntoh_defined=yes],
- [AC_MSG_RESULT(no)])
-if test $ac_ntoh_defined = no; then
- AC_CHECK_HEADERS([arpa/inet.h], [have_arpa_inet_h=yes], [have_arpa_inet_h=no])
- if test $have_arpa_inet_h = yes; then
- AC_MSG_CHECKING([whether ntohs and ntohl are defined in <arpa/inet.h>])
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <arpa/inet.h>
-]], [[(void) ntohs(0x0020), (void) ntohl(0x03040020);]])],
- [AC_MSG_RESULT(yes)
-AC_DEFINE(NEED_ARPA_INET_H, 1, [Define to 1 if you must include <arpa/inet.h> to get `ntohl'.])
-ac_ntoh_defined=yes],
- [AC_MSG_RESULT(no)])
- fi
-fi
-if test $ac_ntoh_defined = no; then
- AC_MSG_ERROR([
-=========================================
-
-Cannot find a definition for ntohs and/or ntohl!
-
-=========================================])
-fi
-AC_LANG_C
-
-
-dnl
-dnl is va_list addressable?
-dnl
-
-AC_LANG_CPLUSPLUS
-AC_CACHE_CHECK([for addressable va_list type],
- ac_cv_va_list_addr,
- [AC_TRY_COMPILE([#include <stdarg.h>
-void f(va_list *) {
-}
-void g(va_list val) {
- f(&val);
-}
-void h(int a, ...) {
- va_list val;
- va_start(val, a);
- g(val);
- va_end(val);
-}], [h(2, 3, 4);], ac_cv_va_list_addr=yes, ac_cv_va_list_addr=no)])
-if test "x$ac_cv_va_list_addr" = xyes; then
- AC_DEFINE(HAVE_ADDRESSABLE_VA_LIST, 1, [Define if the va_list type is addressable.])
-fi
-
-
-dnl
-dnl verbatim portions of the header
-dnl
-
-AC_DEFINE(HAVE_PERMSTRING, 1, [Define if PermStrings are available.])
-AC_DEFINE(MMAFM_RUN_MMPFB, 1, [Define to 0 if you don't want mmafm to run mmpfb when it needs to get an intermediate master conversion program.])
-dnl PATHNAME_SEPARATOR?
-
-AH_TOP([#ifndef LCDF_TYPETOOLS_CONFIG_H
-#define LCDF_TYPETOOLS_CONFIG_H])
-
-AH_BOTTOM([/* Allow compilation on Windows (thanks, Fabrice Popineau). */
-#ifdef WIN32
-# include <win32lib.h>
-#else
-# define CDECL /* nothing */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Prototype strerror if we don't have it. */
-#if !HAVE_STRERROR
-char *strerror(int errno);
-#endif
-
-/* Prototype good_strtod if we need it. */
-#if BROKEN_STRTOD
-double good_strtod(const char *nptr, char **endptr);
-#endif
-
-#ifdef __cplusplus
-}
-/* Get rid of a possible inline macro under C++. */
-# define inline inline
-#endif
-
-#endif /* LCDF_TYPETOOLS_CONFIG_H */])
-
-
-dnl
-dnl set path variables
-dnl
-
-shell_expand () {
- val=`eval echo '$'"$1"`
- while echo "x$val" | fgrep '$' >/dev/null 2>&1; do val=`eval echo "$val"`; done
- eval "$1='$val'"
-}
-
-dnl Preset $prefix and $exec_prefix.
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-shell_expand datadir
-
-AC_DEFINE_UNQUOTED(SHAREDIR, "$datadir/lcdf-typetools", [Data directory.])
-
-
-dnl
-dnl Output
-dnl
-
-AC_OUTPUT(Makefile liblcdf/Makefile libefont/Makefile cfftot1/Makefile mmafm/Makefile mmpfb/Makefile otfinfo/Makefile otftotfm/Makefile t1dotlessj/Makefile t1lint/Makefile t1reencode/Makefile t1testpage/Makefile ttftotype42/Makefile)
diff --git a/Build/source/texk/lcdf-typetools/include/lcdf/permstr.hh b/Build/source/texk/lcdf-typetools/include/lcdf/permstr.hh
index 2db15772ded..82d338140c9 100644
--- a/Build/source/texk/lcdf-typetools/include/lcdf/permstr.hh
+++ b/Build/source/texk/lcdf-typetools/include/lcdf/permstr.hh
@@ -4,10 +4,11 @@
#include <assert.h>
#include <stddef.h>
#include <stdarg.h>
+#include <string.h>
#include <lcdf/inttypes.h>
class PermString;
-inline bool operator==(PermString, PermString);
-inline bool operator!=(PermString, PermString);
+inline bool operator==(PermString a, PermString b);
+inline bool operator!=(PermString a, PermString b);
class PermString { struct Doodad; public:
@@ -16,25 +17,37 @@ class PermString { struct Doodad; public:
// static global PermStrings.
struct Initializer { Initializer(); };
- PermString() : _rep(zero_char_doodad.data) { }
- explicit PermString(char c);
- inline PermString(const char*);
- inline PermString(const char*, int);
- inline PermString(const char*, const char*);
-
- inline operator bool() const;
+ PermString()
+ : _rep(zero_char_doodad.data) {
+ }
+ explicit PermString(char c)
+ : _rep(one_char_doodad[(unsigned char) c].data) {
+ }
+ inline PermString(const char *s);
+ inline PermString(const char *s, int len);
+ inline PermString(const char *begin, const char *end);
+
+ typedef int (PermString::*unspecified_bool_type)() const;
+ inline operator unspecified_bool_type() const;
inline bool operator!() const;
inline int length() const;
- char operator[](int) const;
- const char* begin() const { return _rep; }
- inline const char* end() const;
+ char operator[](int i) const;
+
+ inline const char *c_str() const {
+ return _rep;
+ }
+ inline char operator*() const {
+ return *_rep;
+ }
+
+ inline const char *begin() const;
+ inline const char *end() const;
+
+ inline bool equals(const char *s, int len) const;
+ friend inline bool operator==(PermString a, PermString b);
+ friend inline bool operator!=(PermString a, PermString b);
- friend inline bool operator==(PermString, PermString);
- friend inline bool operator!=(PermString, PermString);
-
- const char* c_str() const { return _rep; }
-
inline Capsule capsule() const;
inline static PermString decapsule(Capsule c);
@@ -46,12 +59,12 @@ class PermString { struct Doodad; public:
private:
struct Doodad {
- Doodad* next;
+ Doodad *next;
int length;
char data[2];
};
- const char* _rep;
+ const char *_rep;
PermString(Doodad* d) : _rep(d->data) { }
void initialize(const char*, int);
@@ -66,102 +79,115 @@ class PermString { struct Doodad; public:
};
-inline
-PermString::PermString(const char* s)
+inline PermString::PermString(const char* s)
{
initialize(s, -1);
}
-inline
-PermString::PermString(const char* s, int len)
+inline PermString::PermString(const char* s, int len)
{
initialize(s, len);
}
-inline
-PermString::PermString(const char* begin, const char* end)
+inline PermString::PermString(const char* begin, const char* end)
{
assert(end);
initialize(begin, end > begin ? end - begin : 0);
}
-inline
-PermString::operator bool() const
+inline PermString::operator unspecified_bool_type() const
{
- return _rep != zero_char_doodad.data;
+ return _rep != zero_char_doodad.data ? &PermString::length : 0;
}
-inline bool
-PermString::operator!() const
+inline bool PermString::operator!() const
{
return _rep == zero_char_doodad.data;
}
-inline int
-PermString::length() const
+inline int PermString::length() const
{
return doodad()->length;
}
-inline const char*
-PermString::end() const
+inline const char *PermString::begin() const
+{
+ return _rep;
+}
+
+inline const char *PermString::end() const
{
return _rep + doodad()->length;
}
-inline bool
-operator==(PermString a, PermString b)
+inline char PermString::operator[](int i) const
+{
+ assert((unsigned) i < (unsigned) length());
+ return c_str()[i];
+}
+
+inline bool operator==(PermString a, PermString b)
{
return a._rep == b._rep;
}
-bool operator==(PermString, const char*);
+inline bool operator==(PermString a, const char *b)
+{
+ return (!a || !b ? !a && !b : strcmp(a.c_str(), b) == 0);
+}
-inline bool
-operator==(const char* a, PermString b)
+inline bool operator==(const char *a, PermString b)
{
return b == a;
}
-inline bool
-operator!=(PermString a, PermString b)
+inline bool operator!=(PermString a, PermString b)
{
return a._rep != b._rep;
}
-inline bool
-operator!=(PermString a, const char* b)
+inline bool operator!=(PermString a, const char *b)
{
return !(a == b);
}
-inline bool
-operator!=(const char* a, PermString b)
+inline bool operator!=(const char *a, PermString b)
{
return !(b == a);
}
-inline PermString::Capsule
-PermString::capsule() const
+inline bool operator<(PermString a, PermString b)
+{
+ // NOT lexicographic ordering!
+ return a.begin() < b.begin();
+}
+
+inline bool PermString::equals(const char *s, int len) const
+{
+ if (len > 0)
+ return len == length() && memcmp(s, _rep, len) == 0;
+ else
+ return strcmp(s, _rep) == 0;
+}
+
+inline PermString::Capsule PermString::capsule() const
{
return doodad();
}
-inline PermString
-PermString::decapsule(Capsule c)
+inline PermString PermString::decapsule(Capsule c)
{
return PermString(c);
}
-inline unsigned
-hashcode(PermString s)
+inline size_t hashcode(PermString s)
{
- return (uintptr_t)(s.c_str());
+ return (uintptr_t) s.c_str();
}
-PermString permprintf(const char*, ...);
-PermString vpermprintf(const char*, va_list);
-PermString permcat(PermString, PermString);
-PermString permcat(PermString, PermString, PermString);
+PermString permprintf(const char *format, ...);
+PermString vpermprintf(const char *format, va_list val);
+
+PermString permcat(PermString a, PermString b);
#endif
diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools.spec b/Build/source/texk/lcdf-typetools/lcdf-typetools.spec
index d527794de59..76c709032b2 100644
--- a/Build/source/texk/lcdf-typetools/lcdf-typetools.spec
+++ b/Build/source/texk/lcdf-typetools/lcdf-typetools.spec
@@ -1,6 +1,6 @@
Summary: Programs to manipulate OpenType and multiple-master fonts
Name: lcdf-typetools
-Version: 2.67
+Version: 2.68
Copyright: GPL
Vendor: Little Cambridgeport Design Factory <http://www.lcdf.org/>
Group: Utilities/Printing
diff --git a/Build/source/texk/lcdf-typetools/libefont/Makefile.in b/Build/source/texk/lcdf-typetools/libefont/Makefile.in
index 17cb8d67ab5..ed15d89ebdc 100644
--- a/Build/source/texk/lcdf-typetools/libefont/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/libefont/Makefile.in
@@ -33,7 +33,7 @@ POST_UNINSTALL = :
subdir = libefont
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/liblcdf/Makefile.in b/Build/source/texk/lcdf-typetools/liblcdf/Makefile.in
index 5c974fd93dd..55397c13099 100644
--- a/Build/source/texk/lcdf-typetools/liblcdf/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/liblcdf/Makefile.in
@@ -33,7 +33,7 @@ POST_UNINSTALL = :
subdir = liblcdf
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/liblcdf/permstr.cc b/Build/source/texk/lcdf-typetools/liblcdf/permstr.cc
index 421714a0e35..4d6744215c3 100644
--- a/Build/source/texk/lcdf-typetools/liblcdf/permstr.cc
+++ b/Build/source/texk/lcdf-typetools/liblcdf/permstr.cc
@@ -2,7 +2,7 @@
/* permstr.{cc,hh} -- permanent strings
*
- * Copyright (c) 1998-2006 Eddie Kohler
+ * Copyright (c) 1998-2008 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
@@ -21,7 +21,6 @@
#include <string.h>
#include <stdio.h>
-
static PermString::Initializer initializer;
PermString::Doodad PermString::zero_char_doodad = {
@@ -125,7 +124,7 @@ PermString::initialize(const char* s, int length)
return;
}
- unsigned int hash;
+ unsigned hash;
int l;
for (hash = 0, l = length, mm = m; l; mm++, l--)
hash = (hash << 1) + scatter[*mm];
@@ -149,40 +148,10 @@ PermString::initialize(const char* s, int length)
_rep = buck->data;
}
-PermString::PermString(char c)
-{
- unsigned char u = (unsigned char) c;
- _rep = one_char_doodad[u].data;
-}
-
-
-
-bool
-operator==(PermString a, const char *b)
-{
- if (!a || !b)
- return !a && !b;
- int l = strlen(b);
- return a.length() == l && memcmp(a.c_str(), b, l) == 0;
-}
-
-
-char
-PermString::operator[](int e) const
-{
- assert(e >= 0 && e <= length());
- if (e >= 0 && e < length())
- return c_str()[e];
- else
- return 0;
-}
-
-
static int pspos;
static int pscap = 64;
static char *psc = (char *)malloc(pscap);
-
static void
append(const char *s, int len)
{
@@ -223,11 +192,11 @@ vpermprintf(const char *s, va_list val)
int iflag = -1;
while (1)
switch (*++s) {
-
+
case '0':
/* zeroflag = 1; */
break;
-
+
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
assert(iflag == -1 /* Too many decimal flags in permprintf */);
@@ -237,12 +206,12 @@ vpermprintf(const char *s, va_list val)
s++;
}
break;
-
+
case '*':
assert(iflag == -1 /* iflag given */);
iflag = va_arg(val, int);
break;
-
+
case 's': {
const char *x = va_arg(val, const char *);
if (x) {
@@ -259,7 +228,7 @@ vpermprintf(const char *s, va_list val)
append(&c, 1);
goto pctdone;
}
-
+
case 'p': {
PermString::Capsule x = va_arg(val, PermString::Capsule);
PermString px;
@@ -271,24 +240,24 @@ vpermprintf(const char *s, va_list val)
append(px.c_str(), iflag);
goto pctdone;
}
-
+
case 'd': {
// FIXME FIXME rewrite for sense
int x = va_arg(val, int);
if (pspos == pscap)
extend(1);
-
+
// FIXME -2^31
unsigned int ux = x;
if (x < 0) {
psc[pspos++] = '-';
ux = -x;
}
-
+
int numdigits = 0;
for (unsigned digcountx = ux; digcountx > 9; digcountx /= 10)
numdigits++;
-
+
extend(numdigits + 1);
int digit = numdigits;
do {
@@ -297,10 +266,10 @@ vpermprintf(const char *s, va_list val)
digit--;
} while (ux);
pspos += numdigits + 1;
-
+
goto pctdone;
}
-
+
case 'g': {
// FIXME FIXME rewrite for sense
double x = va_arg(val, double);
@@ -312,11 +281,11 @@ vpermprintf(const char *s, va_list val)
pspos += len;
goto pctdone;
}
-
+
default:
assert(0 /* Bad % in permprintf */);
goto pctdone;
-
+
}
pctdone:
@@ -326,9 +295,7 @@ vpermprintf(const char *s, va_list val)
return PermString(psc, pspos);
}
-
-PermString
-permprintf(const char *s, ...)
+PermString permprintf(const char *s, ...)
{
va_list val;
va_start(val, s);
@@ -337,31 +304,16 @@ permprintf(const char *s, ...)
return p;
}
-
-PermString
-permcat(PermString p1, PermString p2)
-{
- unsigned l1 = p1.length();
- unsigned l2 = p2.length();
- char *s = new char[l1 + l2];
- memcpy(s, p1.c_str(), l1);
- memcpy(s + l1, p2.c_str(), l2);
- PermString p(s, l1 + l2);
- delete[] s;
- return p;
-}
-
-PermString
-permcat(PermString p1, PermString p2, PermString p3)
+PermString permcat(PermString a, PermString b)
{
- unsigned l1 = p1.length();
- unsigned l2 = p2.length();
- unsigned l3 = p3.length();
- char *s = new char[l1 + l2 + l3];
- memcpy(s, p1.c_str(), l1);
- memcpy(s + l1, p2.c_str(), l2);
- memcpy(s + l1 + l2, p3.c_str(), l3);
- PermString p(s, l1 + l2 + l3);
+ if (!a || !b)
+ return a ? a : b;
+ unsigned al = a.length();
+ unsigned bl = b.length();
+ char *s = new char[al + bl];
+ memcpy(s, a.c_str(), al);
+ memcpy(s + al, b.c_str(), bl);
+ PermString p(s, al + bl);
delete[] s;
return p;
}
diff --git a/Build/source/texk/lcdf-typetools/mmafm/Makefile.in b/Build/source/texk/lcdf-typetools/mmafm/Makefile.in
index 8664b398f9d..d7131677d8a 100644
--- a/Build/source/texk/lcdf-typetools/mmafm/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/mmafm/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = mmafm$(EXEEXT)
subdir = mmafm
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/mmafm/mmafm.1 b/Build/source/texk/lcdf-typetools/mmafm/mmafm.1
index c56e333a0d5..a37ae534ab3 100644
--- a/Build/source/texk/lcdf-typetools/mmafm/mmafm.1
+++ b/Build/source/texk/lcdf-typetools/mmafm/mmafm.1
@@ -1,5 +1,5 @@
.\" -*-nroff-*-
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/mmpfb/Makefile.in b/Build/source/texk/lcdf-typetools/mmpfb/Makefile.in
index e15821f5727..a2daff581d5 100644
--- a/Build/source/texk/lcdf-typetools/mmpfb/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/mmpfb/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = mmpfb$(EXEEXT)
subdir = mmpfb
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1 b/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1
index 9d4cc1be988..8daea584ff0 100644
--- a/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1
+++ b/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1
@@ -1,5 +1,5 @@
.\" -*-nroff-*-
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/otfinfo/Makefile.in b/Build/source/texk/lcdf-typetools/otfinfo/Makefile.in
index f55051dc67c..5184bda2bb4 100644
--- a/Build/source/texk/lcdf-typetools/otfinfo/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/otfinfo/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = otfinfo$(EXEEXT)
subdir = otfinfo
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1 b/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1
index 9bef7bc8f1f..6b6940ab4e7 100644
--- a/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1
+++ b/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1
@@ -1,5 +1,5 @@
'\"t
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/otftotfm/Makefile.in b/Build/source/texk/lcdf-typetools/otftotfm/Makefile.in
index 60622f925b8..9fb215b4bde 100644
--- a/Build/source/texk/lcdf-typetools/otftotfm/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/otftotfm/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = otftotfm$(EXEEXT)
subdir = otftotfm
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/otftotfm/dvipsencoding.cc b/Build/source/texk/lcdf-typetools/otftotfm/dvipsencoding.cc
index 94c1cc79486..a8b68fc2961 100644
--- a/Build/source/texk/lcdf-typetools/otftotfm/dvipsencoding.cc
+++ b/Build/source/texk/lcdf-typetools/otftotfm/dvipsencoding.cc
@@ -1,6 +1,6 @@
/* dvipsencoding.{cc,hh} -- store a DVIPS encoding
*
- * Copyright (c) 2003-2007 Eddie Kohler
+ * Copyright (c) 2003-2008 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
@@ -754,7 +754,23 @@ DvipsEncoding::make_metrics(Metrics &metrics, const FontInfo &finfo, Secondary *
// find named glyph, if any
Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname);
-
+#if 0
+ // 2.May.2008: ff, fi, fl, ffi, and ffl might map to f_f, f_i, f_l,
+ // f_f_i, and f_f_l
+ if (!named_glyph && chname.length() > 0 && chname.length() <= 3
+ && chname[0] == 'f') {
+ if (chname.equals("ff", 2))
+ named_glyph = finfo.glyphid("f_f");
+ else if (chname.equals("fi", 2))
+ named_glyph = finfo.glyphid("f_i");
+ else if (chname.equals("fl", 2))
+ named_glyph = finfo.glyphid("f_l");
+ else if (chname.equals("ffi", 2))
+ named_glyph = finfo.glyphid("f_f_i");
+ else if (chname.equals("ffl", 2))
+ named_glyph = finfo.glyphid("f_f_l");
+ }
+#endif
// do not use a Unicode-mapped glyph if literal
if (literal)
glyph = named_glyph;
diff --git a/Build/source/texk/lcdf-typetools/otftotfm/metrics.cc b/Build/source/texk/lcdf-typetools/otftotfm/metrics.cc
index 8386263ecdc..4a6d40a0be7 100644
--- a/Build/source/texk/lcdf-typetools/otftotfm/metrics.cc
+++ b/Build/source/texk/lcdf-typetools/otftotfm/metrics.cc
@@ -1,6 +1,6 @@
/* metrics.{cc,hh} -- an encoding during and after OpenType features
*
- * Copyright (c) 2003-2007 Eddie Kohler
+ * Copyright (c) 2003-2008 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
@@ -1030,17 +1030,30 @@ Metrics::cut_encoding(int size)
namespace {
// preference-sorting extra characters
-enum { BASIC_LATIN_SCORE = 2, LATIN1_SUPPLEMENT_SCORE = 5,
- LOW_16_SCORE = 6, OTHER_SCORE = 7, NOCHAR_SCORE = 100000,
- CONTEXT_PENALTY = 4 };
+enum {
+ CONVENTIONAL_F_LIGATURE_SCORE = 1,
+ CONVENTIONAL_F_F_LIGATURE_SCORE = 2,
+ BASIC_LATIN_LOWER_SCORE = 3,
+ BASIC_LATIN_UPPER_SCORE = 4,
+ BASIC_LATIN_OTHER_SCORE = 5,
+ LATIN1_SUPPLEMENT_SCORE = 6,
+ LOW_16_SCORE = 7,
+ OTHER_SCORE = 8,
+ NOCHAR_SCORE = 100000,
+ CONTEXT_PENALTY = 4
+};
static int
unicode_score(uint32_t u)
{
if (u == 0)
return NOCHAR_SCORE;
+ else if (u >= 'a' && u <= 'z')
+ return BASIC_LATIN_LOWER_SCORE;
+ else if (u >= 'A' && u <= 'Z')
+ return BASIC_LATIN_UPPER_SCORE;
else if (u < 0x0080)
- return BASIC_LATIN_SCORE;
+ return BASIC_LATIN_OTHER_SCORE;
else if (u < 0x0100)
return LATIN1_SUPPLEMENT_SCORE;
else if (u < 0x8000)
@@ -1106,8 +1119,24 @@ Metrics::shrink_encoding(int size, const DvipsEncoding &dvipsenc, ErrorHandler *
changed = false;
for (Ligature3 *l = all_ligs.begin(); l != all_ligs.end(); l++) {
int score = scores[l->in1] + scores[l->in2];
- if (score < scores[l->out])
+ if (score < scores[l->out]) {
+ /* 2.May.2008: Prefer conventional f-ligatures. */
+ if (score == 2 * BASIC_LATIN_LOWER_SCORE
+ && _encoding[l->in1].unicode == 'f'
+ && (_encoding[l->in2].unicode == 'f'
+ || _encoding[l->in2].unicode == 'i'
+ || _encoding[l->in2].unicode == 'l'))
+ score = CONVENTIONAL_F_LIGATURE_SCORE;
+ else if (score == CONVENTIONAL_F_LIGATURE_SCORE + BASIC_LATIN_LOWER_SCORE) {
+ if (scores[l->in1] == CONVENTIONAL_F_LIGATURE_SCORE
+ && (_encoding[l->in2].unicode == 'i'
+ || _encoding[l->in2].unicode == 'l'))
+ score = CONVENTIONAL_F_F_LIGATURE_SCORE;
+ else
+ score = 3 * BASIC_LATIN_LOWER_SCORE;
+ }
scores[l->out] = score;
+ }
}
for (Code c = 0; c < _encoding.size(); c++)
@@ -1219,7 +1248,8 @@ Metrics::shrink_encoding(int size, const DvipsEncoding &dvipsenc, ErrorHandler *
errh->lwarning(" ", (unencoded.size() == 1 ? "not enough room in encoding, ignoring %d glyph" : "not enough room in encoding, ignoring %d glyphs"), unencoded.size());
errh->lmessage(" ", "(\
This encoding doesn't have room for all the glyphs used by the\n\
-font, so I've ignored these:\n%s.)", sa.c_str());
+font, so these have been left out:\n%s.\n\
+To select specific glyphs, add them to the input encoding.)", sa.c_str());
}
/* Reencode changed slots. */
diff --git a/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1 b/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1
index 6875aeae000..b04203bbf55 100644
--- a/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1
+++ b/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1
@@ -1,5 +1,5 @@
'\"t
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/t1dotlessj/Makefile.in b/Build/source/texk/lcdf-typetools/t1dotlessj/Makefile.in
index 2cdd9df1114..e86a5eef87b 100644
--- a/Build/source/texk/lcdf-typetools/t1dotlessj/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/t1dotlessj/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = t1dotlessj$(EXEEXT)
subdir = t1dotlessj
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1 b/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1
index eeeeadbceb2..48e9b0d871e 100644
--- a/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1
+++ b/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/t1lint/Makefile.in b/Build/source/texk/lcdf-typetools/t1lint/Makefile.in
index b328e968ab4..820124286fa 100644
--- a/Build/source/texk/lcdf-typetools/t1lint/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/t1lint/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = t1lint$(EXEEXT)
subdir = t1lint
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/t1lint/t1lint.1 b/Build/source/texk/lcdf-typetools/t1lint/t1lint.1
index b4c19fc11ee..03855025691 100644
--- a/Build/source/texk/lcdf-typetools/t1lint/t1lint.1
+++ b/Build/source/texk/lcdf-typetools/t1lint/t1lint.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in b/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in
index 095287ad7b9..5a71ce95aa6 100644
--- a/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/t1reencode/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = t1reencode$(EXEEXT)
subdir = t1reencode
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1
index a9dd293326f..3402cdf1414 100644
--- a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1
+++ b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/t1testpage/Makefile.in b/Build/source/texk/lcdf-typetools/t1testpage/Makefile.in
index 0ceaa1c4443..372edba86b7 100644
--- a/Build/source/texk/lcdf-typetools/t1testpage/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/t1testpage/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = t1testpage$(EXEEXT)
subdir = t1testpage
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1 b/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1
index d60079bdc11..582c40ae15c 100644
--- a/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1
+++ b/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..
diff --git a/Build/source/texk/lcdf-typetools/ttftotype42/Makefile.in b/Build/source/texk/lcdf-typetools/ttftotype42/Makefile.in
index a91aac6bbd5..cbd6698c082 100644
--- a/Build/source/texk/lcdf-typetools/ttftotype42/Makefile.in
+++ b/Build/source/texk/lcdf-typetools/ttftotype42/Makefile.in
@@ -34,7 +34,7 @@ bin_PROGRAMS = ttftotype42$(EXEEXT)
subdir = ttftotype42
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
diff --git a/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1 b/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1
index 8890bd167eb..2b9cd17c233 100644
--- a/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1
+++ b/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1
@@ -1,4 +1,4 @@
-.ds V 2.67
+.ds V 2.68
.de M
.BR "\\$1" "(\\$2)\\$3"
..