summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2005-07-09 23:15:37 +0000
committerKeith Packard <keithp@keithp.com>2005-07-09 23:15:37 +0000
commit99cde389c331616f22dd6aab395c488f3a798e2e (patch)
treef14c0b106882065b69a55acf1c31d9bb922a8a24
parent3c4ac0b9f5b7aced60a763bcaca7b32cd53a7fec (diff)
Rearrange configuration options so that individual font file formats drive
combined options, and so that the default matches the monolithic defaults Extent fontconf.h to cover all formats Typo in src/Makefile.am failed to link in Type1 library Missing xttcap.c from FreeType shim library.
-rw-r--r--ChangeLog17
-rw-r--r--configure.ac134
-rw-r--r--include/X11/fonts/fontconf.h.in57
-rw-r--r--src/FreeType/Makefile.am3
-rw-r--r--src/Makefile.am12
5 files changed, 174 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index 034fc99..cb27b9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2005-07-09 Keith Packard <keithp@keithp.com>
+
+ * configure.ac:
+ * include/X11/fonts/fontconf.h.in:
+ * src/FreeType/Makefile.am:
+ * src/Makefile.am:
+
+ Rearrange configuration options so that individual font file formats
+ drive combined options, and so that the default matches
+ the monolithic defaults
+
+ Extend fontconf.h to cover all formats
+
+ Typo in src/Makefile.am failed to link in Type1 library
+
+ Missing xttcap.c from FreeType shim library.
+
2005-07-08 Keith Packard <keithp@keithp.com>
* .cvsignore:
diff --git a/configure.ac b/configure.ac
index dbea88c..0c21de1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,10 +54,18 @@ AC_CHECK_FUNCS([poll])
# select libraries to include
#
-AC_ARG_ENABLE(freetype, [ --enable-freetype ],[XFONT_FREETYPE=$enableval],[XFONT_FREETYPE=no])
+XFONT_FONTFILE=no
+
+#
+# Scalable fonts in files:
+# FreeType
+# IBM Type1 rasterizer
+# Bitstream Speedo rasterizer
+#
+AC_ARG_ENABLE(freetype, [ --disable-freetype],[XFONT_FREETYPE=$enableval],[XFONT_FREETYPE=yes])
AM_CONDITIONAL(XFONT_FREETYPE, [test x$XFONT_FREETYPE = xyes])
if test x$XFONT_FREETYPE = xyes; then
- AC_DEFINE(XFONT_FREETYPE,1,[Support FreeType fonts])
+ AC_DEFINE(XFONT_FREETYPE,1,[Support FreeType rasterizer for nearly all font file formats])
AC_ARG_WITH(freetype-config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
if test "$freetype_config" = "yes"; then
@@ -71,7 +79,7 @@ if test x$XFONT_FREETYPE = xyes; then
FREETYPE_CFLAGS="`$ft_config --cflags`"
FREETYPE_LIBS="`$ft_config --libs`"
-
+ XFONT_FONTFILE=yes
else
FREETYPE_CFLAGS=""
FREETYPE_LIBS=""
@@ -79,69 +87,117 @@ fi
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_CFLAGS)
-AC_ARG_ENABLE(fontcache, [ --disable-fontcache ],[XFONT_FONTCACHE=$enableval],[XFONT_FONTCACHE=yes])
-AM_CONDITIONAL(XFONT_FONTCACHE, [test "x$XFONT_FONTCACHE" = xyes])
-if test "x$XFONT_FONTCACHE" = xyes; then
- AC_DEFINE(XFONT_FONTCACHE,1,[Support the font caching extension])
- PKG_CHECK_MODULES(FONTCACHEPROTO, fontcacheproto)
-else
- FONTCACHEPROTO_CFLAGS=""
+#
+# A bit tricky here; CID font support uses the IBM Type1 rasterizer,
+# but it's generally better to use FreeType for regular Type1 files,
+# so we make CID build the IBM rasterizer, but not also make the Type1
+# rasterizer used for normal Type1 files
+#
+
+AC_ARG_ENABLE(type1, [ --enable-type1 ], [XFONT_TYPE1=$enableval], [XFONT_TYPE1=no])
+if test "x$XFONT_TYPE1" = xyes; then
+ AC_DEFINE(XFONT_TYPE1,1,[Support IBM Type 1 rasterizer for Type1 font files])
+ XFONT_FONTFILE=yes
fi
-AC_SUBST(FONTCACHEPROTO_CFLAGS)
-AC_ARG_ENABLE(fc, [ --disable-fc ],[XFONT_FC=$enableval],[XFONT_FC=yes])
-AM_CONDITIONAL(XFONT_FC, [test "x$XFONT_FC" = xyes])
-if test "x$XFONT_FC" = xyes; then
- AC_DEFINE(XFONT_FC,1,[Support the X Font Services Protocol])
+AC_ARG_ENABLE(cid, [ --disable-cid ], [XFONT_CID=$enableval], [XFONT_CID=yes])
+AM_CONDITIONAL(XFONT_CID, [test "x$XFONT_CID" = xyes ])
+if test "x$XFONT_CID" = xyes; then
+ AC_DEFINE(XFONT_CID,1,[Support Type 1 CID font files])
+ XFONT_TYPE1=yes
+ XFONT_FONTFILE=yes
fi
+AM_CONDITIONAL(XFONT_TYPE1, [test "x$XFONT_TYPE1" = xyes ])
+
+AC_ARG_ENABLE(speedo, [ --disable-speedo ], [XFONT_SPEEDO=$enableval], [XFONT_SPEEDO=yes])
+AM_CONDITIONAL(XFONT_SPEEDO, [test "x$XFONT_SPEEDO" = xyes ])
+if test "x$XFONT_SPEEDO" = xyes; then
+ AC_DEFINE(XFONT_SPEEDO,1,[Support Speedo font files])
+ XFONT_FONTFILE=yes
+fi
+
+#
+# Bitmap fonts in files:
+# Builtins (gzipped pcf format in .text segment)
+# PCF
+# BDF
+# SNF
+#
+
+AC_DEFINE(X_GZIP_FONT_COMPRESSION,1,[Support gzip for bitmap fonts])
+X_GZIP_FONT_COMPRESSION=1
+AC_SUBST(X_GZIP_FONT_COMPRESSION)
+
AC_ARG_ENABLE(builtins, [ --disable-builtins ], [XFONT_BUILTINS=$enableval], [XFONT_BUILTINS=yes])
AM_CONDITIONAL(XFONT_BUILTINS, [test "x$XFONT_BUILTINS" = xyes ])
if test "x$XFONT_BUILTINS" = xyes; then
AC_DEFINE(XFONT_BUILTINS,1,[Support built-in fonts])
+ XFONT_PCFFORMAT=yes
fi
-AC_ARG_ENABLE(bitmap, [ --disable-bitmap ], [XFONT_BITMAP=$enableval], [XFONT_BITMAP=yes])
-AM_CONDITIONAL(XFONT_BITMAP, [test "x$XFONT_BITMAP" = xyes ])
-if test "x$XFONT_BITMAP" = xyes; then
- AC_DEFINE(XFONT_BITMAP,1,[Support bitmap font files])
+AC_ARG_ENABLE(pcfformat, [ --disable-pcfformat ], [XFONT_PCFFORMAT=$enableval], [XFONT_PCFFORMAT=yes])
+AM_CONDITIONAL(XFONT_PCFFORMAT, [test "x$XFONT_PCFFORMAT" = xyes])
+if test "x$XFONT_BUILTINS" = xyes; then
+ AC_DEFINE(XFONT_PCFFORMAT,1,[Support pcf format bitmap font files])
+ XFONT_BITMAP=yes
fi
-AC_ARG_ENABLE(type1, [ --disable-type1 ], [XFONT_TYPE1=$enableval], [XFONT_TYPE1=yes])
-AM_CONDITIONAL(XFONT_TYPE1, [test "x$XFONT_TYPE1" = xyes ])
-if test "x$XFONT_TYPE1" = xyes; then
- AC_DEFINE(XFONT_TYPE1,1,[Support Type 1 font files])
+AC_ARG_ENABLE(bdfformat, [ --disable-bdfformat ], [XFONT_BDFFORMAT=$enableval], [XFONT_BDFFORMAT=yes])
+AM_CONDITIONAL(XFONT_BDFFORMAT, [test "x$XFONT_BDFFORMAT" = xyes])
+if test "x$XFONT_BUILTINS" = xyes; then
+ AC_DEFINE(XFONT_BDFFORMAT,1,[Support bdf format bitmap font files])
+ XFONT_BITMAP=yes
fi
-AC_ARG_ENABLE(speedo, [ --disable-speedo ], [XFONT_SPEEDO=$enableval], [XFONT_SPEEDO=no])
-AM_CONDITIONAL(XFONT_SPEEDO, [test "x$XFONT_SPEEDO" = xyes ])
-if test "x$XFONT_SPEEDO" = xyes; then
- AC_DEFINE(XFONT_SPEEDO,1,[Support Type 1 font files])
+AC_ARG_ENABLE(snfformat, [ --disable-snfformat ], [XFONT_SNFFORMAT=$enableval], [XFONT_SNFFORMAT=yes])
+AM_CONDITIONAL(XFONT_SNFFORMAT, [test "x$XFONT_SNFFORMAT" = xyes])
+if test "x$XFONT_BUILTINS" = xyes; then
+ AC_DEFINE(XFONT_SNFFORMAT,1,[Support snf format bitmap font files])
+ XFONT_BITMAP=yes
fi
-#AC_ARG_ENABLE(poll, [ --disable-poll ], [USE_POLL=$enableval], [USE_POLL=$ac_cv_func_poll])
-#AM_CONDITIONAL(USE_POLL, [test "x$USE_POLL" = xyes ])
-#if test "x$USE_POLL" = xyes; then
-# AC_DEFINE(USE_POLL, 1, [Use poll instead of select])
-#fi
+AC_ARG_ENABLE(bdfformat, [ --disable-bdfformat ], [XFONT_BDFFORMAT=$enableval], [XFONT_BDFFORMAT=yes])
+AC_ARG_ENABLE(snfformat, [ --disable-snfformat ], [XFONT_SNFFORMAT=$enableval], [XFONT_SNFFORMAT=yes])
-if test "x$XFONT_BUILTINS" = xyes -o "x$XFONT_BITMAP" = xyes -o "x$XFONT_FREETYPE" = xyes; then
+AM_CONDITIONAL(XFONT_BITMAP, [test "x$XFONT_BITMAP" = xyes ])
+if test "x$XFONT_BITMAP" = xyes; then
+ AC_DEFINE(XFONT_BITMAP,1,[Support bitmap font files])
XFONT_FONTFILE=yes
-else
- XFONT_FONTFILE=no
fi
+
AM_CONDITIONAL(XFONT_FONTFILE, [test "x$XFONT_FONTFILE" = xyes])
if test "x$XFONT_FONTFILE" = xyes; then
AC_DEFINE(XFONT_FONTFILE,,[Support fonts in files])
fi
+#
+# Font cache extension support?
+#
+
+AC_ARG_ENABLE(fontcache, [ --disable-fontcache ],[XFONT_FONTCACHE=$enableval],[XFONT_FONTCACHE=yes])
+AM_CONDITIONAL(XFONT_FONTCACHE, [test "x$XFONT_FONTCACHE" = xyes])
+if test "x$XFONT_FONTCACHE" = xyes; then
+ AC_DEFINE(XFONT_FONTCACHE,1,[Support the font caching extension])
+ PKG_CHECK_MODULES(FONTCACHEPROTO, fontcacheproto)
+else
+ FONTCACHEPROTO_CFLAGS=""
+fi
+AC_SUBST(FONTCACHEPROTO_CFLAGS)
+
+#
+# Support connection to font servers?
+#
+
+AC_ARG_ENABLE(fc, [ --disable-fc ],[XFONT_FC=$enableval],[XFONT_FC=yes])
+AM_CONDITIONAL(XFONT_FC, [test "x$XFONT_FC" = xyes])
+if test "x$XFONT_FC" = xyes; then
+ AC_DEFINE(XFONT_FC,1,[Support the X Font Services Protocol])
+fi
+
AC_CHECK_LIB(z, gzopen, [Z_LIBS=-lz
AC_SUBST(Z_LIBS)], AC_MSG_ERROR([*** zlib is required]))
-AC_DEFINE(PCFFORMAT,,[Support PCF format fonts])
-AC_DEFINE(X_GZIP_FONT_COMPRESSION,1,[Support gzip fonts])
-X_GZIP_FONT_COMPRESSION=1
-AC_SUBST(X_GZIP_FONT_COMPRESSION)
AC_CHECK_LIB(m, hypot, [MATH_LIBS=-lm
AC_SUBST(MATH_LIBS)], AC_MSG_ERROR([*** libm is required]))
diff --git a/include/X11/fonts/fontconf.h.in b/include/X11/fonts/fontconf.h.in
index 6a08acf..358e133 100644
--- a/include/X11/fonts/fontconf.h.in
+++ b/include/X11/fonts/fontconf.h.in
@@ -1,11 +1,60 @@
-/* Define as 1 if you have fontfile support in Xfont */
-#undef XFONT_FONTFILE
+/*
+ * $Id$
+ *
+ * Copyright © 2005 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* Define as 1 if you have FreeType support in Xfont */
+#undef XFONT_FREETYPE
+
+/* Define as 1 if you have Type1 font support in Xfont */
+#undef XFONT_TYPE1
+
+/* Define as 1 if you have Type1 CID font support in Xfont */
+#undef XFONT_CID
+
+/* Define as 1 if you have Speedo support in Xfont */
+#undef XFONT_SPEEDO
/* Define as 1 if you have builtin font support in Xfont */
#undef XFONT_BUILTINS
-/* Define as 1 if you have FreeType support in Xfont */
-#undef XFONT_FREETYPE
+/* Define as 1 if you have pcf font support in Xfont */
+#undef XFONT_PCFFORMAT
+
+/* Define as 1 if you have bdf font support in Xfont */
+#undef XFONT_BDFFORMAT
+
+/* Define as 1 if you have snf font support in Xfont */
+#undef XFONT_SNFFORMAT
+
+/* Define as 1 if you have bitmap font support in Xfont */
+#undef XFONT_BITMAP
+
+/* Define as 1 if you have fontfile support in Xfont */
+#undef XFONT_FONTFILE
+
+/* Define as 1 if you have font cache support in Xfont */
+#undef XFONT_FONTCACHE
/* Define as 1 if you have X Font Services Protocol support in Xfont */
#undef XFONT_FC
+
diff --git a/src/FreeType/Makefile.am b/src/FreeType/Makefile.am
index e199c2f..9198c43 100644
--- a/src/FreeType/Makefile.am
+++ b/src/FreeType/Makefile.am
@@ -10,4 +10,5 @@ libft_la_SOURCES = \
ftfuncs.h \
ftenc.c \
ftfuncs.c \
- fttools.c
+ fttools.c \
+ xttcap.c
diff --git a/src/Makefile.am b/src/Makefile.am
index e7762d6..2da2c3c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -69,14 +69,16 @@ UTIL_LIB = util/libutil.la
STUBS_LIB = stubs/libstubs.la
STUBS_DIR = stubs
-SUBDIRS=$(FONTFILE_DIR) $(FREETYPE_DIR) $(BITMAP_DIR) \
+SUBDIRS=\
+ $(FONTFILE_DIR) $(FREETYPE_DIR) $(BITMAP_DIR) \
$(BUILTINS_DIR) $(FC_DIR) $(UTIL_DIR) $(STUBS_DIR) $(FONTCACHE_DIR) \
$(TYPE1_DIR) $(SPEEDO_DIR)
-libXfont_la_LIBADD = $(FREETYPE_LIB) $(BITMAP_LIB) $(BUILTINS_LIB) \
- $(FC_LIB) $(FONTFILE_LIB) $(UTIL_LIB) $(STUBS_LIB) \
- $(FREETYPE_LIBS) $(Z_LIBS) $(MATH_LIBS) $(FONTCACHE_LIB) \
- $(TYPE_1_LIB) $(SPEEDO_LIB)
+libXfont_la_LIBADD = \
+ $(FONTFILE_LIB) $(FREETYPE_LIB) $(BITMAP_LIB) \
+ $(BUILTINS_LIB) $(FC_LIB) $(UTIL_LIB) $(STUBS_LIB) $(FONTCACHE_LIB) \
+ $(TYPE1_LIB) $(SPEEDO_LIB) \
+ $(FREETYPE_LIBS) $(Z_LIBS) $(MATH_LIBS)
libXfont_la_SOURCES =