Take image_rotate-ref.png out of EXTRA_DIST until we can actually render it correctly. (XFAIL_TESTS): Update with new known bugs.

Add font backend selection options.
This commit is contained in:
Kristian Høgsberg 2005-01-17 09:18:37 +00:00
parent 0e2e28c717
commit be7b745a43
6 changed files with 100 additions and 37 deletions

View file

@ -1,3 +1,14 @@
2005-01-17 Kristian Høgsberg <krh@redhat.com>
* test/Makefile.am (EXTRA_DIST): Take image_rotate-ref.png out of
EXTRA_DIST until we can actually render it correctly.
(XFAIL_TESTS): Update with new known bugs.
* src/cairo-features.h.in:
* src/cairo.h:
* src/cairoint.h:
* configure.in: Add font backend selection options.
2005-01-15 John Ellson <ellson@research.att.com>
reviewed by: Keith Packard <keithp@keithp.com>

View file

@ -207,14 +207,24 @@ AC_SUBST(SANITY_CHECKING_FEATURE)
dnl ===========================================================================
PKG_CHECK_MODULES(FONTCONFIG, fontconfig)
CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.2)
CAIRO_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $PIXMAN_LIBS"
dnl ===========================================================================
AC_ARG_ENABLE(freetype,
[ --disable-freetype Disable cairo's freetype font backend],
[use_freetype=$enableval], [use_freetype=yes])
if test "x$use_freetype" = "xyes"; then
PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
[use_freetype=yes], [use_freetype=no])
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
# Test for freetype2 separate from pkg-config since at least up to
# 2003-06-07, there was no freetype2.pc in the release.
#
@ -232,34 +242,63 @@ FREETYPE_MIN_RELEASE=2.1.0
# libtool-specific version - this is what is checked
FREETYPE_MIN_VERSION=8.0.2
if test -z "$FREETYPE_CONFIG"; then
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test "x$use_freetype" = "xyes"; then
if test -z "$FREETYPE_CONFIG"; then
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
fi
if test "$FREETYPE_CONFIG" = "no" ; then
AC_MSG_ERROR(No freetype-config script found in path or FREETYPE_CONFIG)
fi
AC_MSG_CHECKING(freetype2 libtool version)
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
VERSION_DEC=`echo $FREETYPE_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
MIN_VERSION_DEC=`echo $FREETYPE_MIN_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
if test $VERSION_DEC -lt $MIN_VERSION_DEC; then
AC_MSG_ERROR($FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)
fi
AC_MSG_RESULT($FREETYPE_VERSION - OK)
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_LIBS)
fi
if test "$FREETYPE_CONFIG" = "no" ; then
AC_MSG_ERROR(No freetype-config script found in path or FREETYPE_CONFIG)
fi
AC_MSG_CHECKING(freetype2 libtool version)
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
VERSION_DEC=`echo $FREETYPE_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
MIN_VERSION_DEC=`echo $FREETYPE_MIN_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
if test $VERSION_DEC -lt $MIN_VERSION_DEC; then
AC_MSG_ERROR($FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)
fi
AC_MSG_RESULT($FREETYPE_VERSION - OK)
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_LIBS)
CAIRO_CFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FREETYPE_LIBS"
if test "x$use_freetype" != "xyes"; then
FREETYPE_FONT_FEATURE=CAIRO_HAS_NO_FREETYPE_FONT
AM_CONDITIONAL(CAIRO_HAS_FREETYPE_FONT, false)
else
FREETYPE_FONT_FEATURE=CAIRO_HAS_FREETYPE_FONT
AM_CONDITIONAL(CAIRO_HAS_FREETYPE_FONT, true)
fi
AC_SUBST(FREETYPE_FONT_FEATURE)
dnl ===========================================================================
dnl This check should default to 'yes' once we have code to actually
dnl check for the atsui font backend.
AC_ARG_ENABLE(atsui,
[ --disable-atsui Disable cairo's atsui font backend],
[use_atsui=$enableval], [use_atsui=no])
if test "x$use_atsui" != "xyes"; then
ATSUI_FONT_FEATURE=CAIRO_HAS_NO_ATSUI_FONT
AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, false)
else
ATSUI_FONT_FEATURE=CAIRO_HAS_ATSUI_FONT
AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, true)
fi
AC_SUBST(ATSUI_FONT_FEATURE)
dnl ===========================================================================
dnl Checks for precise integer types
AC_CHECK_TYPES([uint64_t, uint128_t])
@ -292,7 +331,7 @@ test/Makefile
dnl ===========================================================================
echo ""
echo "cairo will be compiled with the following backends:"
echo "cairo will be compiled with the following surface backends:"
echo " Xlib: $use_xlib"
echo " XCB: $use_xcb"
echo " PostScript: $use_ps"
@ -300,4 +339,8 @@ echo " PDF: $use_pdf"
echo " PNG: $use_png"
echo " glitz: $use_glitz"
echo ""
echo "and the following font backends:"
echo " freetype: $use_freetype"
echo " atsui: $use_atsui"
echo ""

View file

@ -49,6 +49,10 @@
#define @GLITZ_SURFACE_FEATURE@
#define @FREETYPE_FONT_FEATURE@
#define @ATSUI_FONT_FEATURE@
#define @SANITY_CHECKING_FEATURE@
#endif

View file

@ -523,7 +523,7 @@ void
cairo_font_current_transform (cairo_font_t *font,
cairo_matrix_t *matrix);
#if CAIRO_HAS_FT_FONT
#ifdef CAIRO_HAS_FREETYPE_FONT
/* Fontconfig/Freetype platform-specific font interface */
#include <fontconfig/fontconfig.h>
@ -542,7 +542,7 @@ cairo_ft_font_face (cairo_font_t *ft_font);
FcPattern *
cairo_ft_font_pattern (cairo_font_t *ft_font);
#endif /* CAIRO_HAS_FT_FONT */
#endif /* CAIRO_HAS_FREETYPE_FONT */
/* Image functions */

View file

@ -500,11 +500,13 @@ typedef struct _cairo_font_backend {
} cairo_font_backend_t;
/* concrete font backends */
#ifdef CAIRO_HAS_FT_FONT
#ifdef CAIRO_HAS_FREETYPE_FONT
extern const cairo_private struct _cairo_font_backend cairo_ft_font_backend;
#elif defined(CAIRO_HAS_ATSUI_FONT)
#endif
#ifdef CAIRO_HAS_ATSUI_FONT
extern const cairo_private struct _cairo_font_backend cairo_atsui_font_backend;
@ -743,7 +745,7 @@ typedef struct _cairo_traps {
#define CAIRO_FONT_SLANT_DEFAULT CAIRO_FONT_SLANT_NORMAL
#define CAIRO_FONT_WEIGHT_DEFAULT CAIRO_FONT_WEIGHT_NORMAL
#ifdef CAIRO_HAS_FT_FONT
#ifdef CAIRO_HAS_FREETYPE_FONT
#define CAIRO_FONT_FAMILY_DEFAULT "serif"

View file

@ -12,10 +12,12 @@ text_rotate
# here?
EXTRA_DIST = \
fill_rule-ref.png \
leaky_polygon.png \
leaky_polygon-ref.png \
line_width-ref.png \
move_to_show_surface-ref.png \
text_rotate-ref.png
move_to_show_surface-ref.png
# Once we can draw the text_rotate.c test case correctly, we should
# create and add text_rotate-ref.png to the list of reference PNGs.
# This list is only for known bugs (not regressions). We do need to
# fix these before the next release, but they are expected to fail for
@ -25,9 +27,10 @@ text_rotate-ref.png
# here. New failures due to local, uncommitted code changes are
# regression bugs that should not be listed here. Instead they should
# be fixed before the code is committed.
XFAIL_TESTS = \
move_to_show_surface \
text_cache_crash \
XFAIL_TESTS = \
fill_rule \
leaky_polygon \
move_to_show_surface \
text_rotate
check_PROGRAMS = $(TESTS)