summaryrefslogtreecommitdiff
path: root/source/pdf
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-03-21 16:07:28 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-03-21 16:09:22 +0100
commit4022d1bb49a7ece2ffa1d88bbe9ae4839e27132b (patch)
tree7e2d6e7287aacd06d9519135db9f54f3561e5084 /source/pdf
parent62f6df06680cf62b9ac88837f9db3eed9499fcbc (diff)
downloadmupdf-4022d1bb49a7ece2ffa1d88bbe9ae4839e27132b.tar.xz
Allow building with old versions of freetype.
Debian stable still ships with freetype 2.5.2. We normally wouldn't care, but desktop java builds need to use the system freetype library as that's what AWT links against.
Diffstat (limited to 'source/pdf')
-rw-r--r--source/pdf/pdf-font.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index 7759cfaa..9cc928a1 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -3,9 +3,17 @@
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_ADVANCES_H
+#ifdef FT_FONT_FORMATS_H
#include FT_FONT_FORMATS_H
+#else
+#include FT_XFREE86_H
+#endif
#include FT_TRUETYPE_TABLES_H
+#ifndef FT_SFNT_HEAD
+#define FT_SFNT_HEAD ft_sfnt_head
+#endif
+
static void pdf_load_font_descriptor(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontdesc, pdf_obj *dict, char *collection, char *basefont, int iscidfont);
static const char *base_font_names[][10] =
@@ -127,7 +135,11 @@ enum { UNKNOWN, TYPE1, TRUETYPE };
static int ft_kind(FT_Face face)
{
+#ifdef FT_FONT_FORMATS_H
const char *kind = FT_Get_Font_Format(face);
+#else
+ const char *kind = FT_Get_X11_Font_Format(face);
+#endif
if (!strcmp(kind, "TrueType")) return TRUETYPE;
if (!strcmp(kind, "Type 1")) return TYPE1;
if (!strcmp(kind, "CFF")) return TYPE1;
@@ -137,7 +149,11 @@ static int ft_kind(FT_Face face)
static int ft_font_file_kind(FT_Face face)
{
+#ifdef FT_FONT_FORMATS_H
const char *kind = FT_Get_Font_Format(face);
+#else
+ const char *kind = FT_Get_X11_Font_Format(face);
+#endif
if (!strcmp(kind, "TrueType")) return 2;
if (!strcmp(kind, "Type 1")) return 1;
if (!strcmp(kind, "CFF")) return 3;