Remove the ft_load_sfnt_table check from PS/PDF/SVG backends

and make sure that _cairo_ft_load_truetype_table returns UNSUPPORTED
if the version of FreeType used doesn't support FT_Load_Sfnt_Table.
This commit is contained in:
Behdad Esfahbod 2006-08-10 13:05:26 -04:00
parent aea83b908d
commit d1520a99d4
2 changed files with 4 additions and 15 deletions

View file

@ -432,8 +432,6 @@ CAIRO_BACKEND_ENABLE(ft, FreeType font, freetype, FT_FONT, auto, [
ft_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"
])
have_ft_load_sfnt_table=no
if test "x$use_ft" = "xyes"; then
temp_save_libs="$LIBS"
temp_save_cflags="$CFLAGS"
@ -447,8 +445,7 @@ if test "x$use_ft" = "xyes"; then
AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
[FT_Bitmap_Size structure includes y_ppem field])
AC_CHECK_FUNC(FT_Load_Sfnt_Table, have_ft_load_sfnt_table=yes)
AC_CHECK_FUNCS(FT_GlyphSlot_Embolden)
AC_CHECK_FUNCS(FT_GlyphSlot_Embolden FT_Load_Sfnt_Table)
LIBS="$temp_save_libs"
CFLAGS="$temp_save_cflags"
@ -462,31 +459,23 @@ AM_CONDITIONAL(HAVE_PTHREAD, test "x$have_pthread" = "xyes")
dnl ===========================================================================
CAIRO_BACKEND_ENABLE(ps, PostScript, ps, PS_SURFACE, auto, [
if test x"$have_ft_load_sfnt_table" != "xyes" ; then
use_ps="no (requires FreeType 2.1.4 or newer)"
else
# The postscript backend requires zlib.
AC_CHECK_LIB(z, compress,
[AC_CHECK_HEADER(zlib.h, [],
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])],
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])
ps_NONPKGCONFIG_LIBS=-lz
fi
])
dnl ===========================================================================
CAIRO_BACKEND_ENABLE(pdf, PDF, pdf, PDF_SURFACE, auto, [
if test x"$have_ft_load_sfnt_table" != "xyes" ; then
use_pdf="no (requires FreeType 2.1.4 or newer)"
else
# The pdf backend requires zlib.
AC_CHECK_LIB(z, compress,
[AC_CHECK_HEADER(zlib.h, [],
[use_pdf="no (requires zlib http://www.gzip.org/zlib/)"])],
[use_pdf="no (requires zlib http://www.gzip.org/zlib/)"])
pdf_NONPKGCONFIG_LIBS=-lz
fi
])
test_pdf=no
@ -508,9 +497,6 @@ AM_CONDITIONAL(CAIRO_HAS_MULTI_PAGE_SURFACES, test "x$use_ps" = "xyes" -o "x$use
dnl ===========================================================================
CAIRO_BACKEND_ENABLE(svg, SVG, svg, SVG_SURFACE, auto, [
if test x"$have_ft_load_sfnt_table" != "xyes" ; then
use_svg="no (requires FreeType 2.1.4 or newer)"
fi
])
if test "x$use_svg" = "xyes"; then

View file

@ -2012,6 +2012,7 @@ _cairo_ft_load_truetype_table (void *abstract_font,
if (_cairo_ft_scaled_font_is_vertical (&scaled_font->base))
return CAIRO_INT_STATUS_UNSUPPORTED;
#if HAVE_FT_LOAD_SFNT_TABLE
face = _cairo_ft_unscaled_font_lock_face (unscaled);
if (!face)
return CAIRO_STATUS_NO_MEMORY;
@ -2021,6 +2022,8 @@ _cairo_ft_load_truetype_table (void *abstract_font,
status = CAIRO_STATUS_SUCCESS;
_cairo_ft_unscaled_font_unlock_face (unscaled);
#endif
return status;
}