diff options
author | marcus <marcus@FreeBSD.org> | 2004-03-19 17:16:28 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2004-03-19 17:16:28 +0800 |
commit | 94181782ecd900a5b4d80c15fbc2e44522c27d32 (patch) | |
tree | 23ca25e9e56f3281dd4b71b93828615761201a53 /x11-fonts/libXft | |
parent | 47573f0ad7a62f7b155a89fecaf806860dfc475b (diff) | |
download | freebsd-ports-gnome-94181782ecd900a5b4d80c15fbc2e44522c27d32.tar.gz freebsd-ports-gnome-94181782ecd900a5b4d80c15fbc2e44522c27d32.tar.zst freebsd-ports-gnome-94181782ecd900a5b4d80c15fbc2e44522c27d32.zip |
Revert a portion of the font rendering code that enforces strict bitmap font
sizes. This was causing a problem loading certain fonts. This code
is now equivalent to Xft-2.1.2.
Diffstat (limited to 'x11-fonts/libXft')
-rw-r--r-- | x11-fonts/libXft/Makefile | 1 | ||||
-rw-r--r-- | x11-fonts/libXft/files/patch-xftfreetype.c | 57 |
2 files changed, 58 insertions, 0 deletions
diff --git a/x11-fonts/libXft/Makefile b/x11-fonts/libXft/Makefile index 6cd3f26ffac7..26dc17fb1400 100644 --- a/x11-fonts/libXft/Makefile +++ b/x11-fonts/libXft/Makefile @@ -7,6 +7,7 @@ PORTNAME= libXft PORTVERSION= 2.1.5 +PORTREVISION= 1 CATEGORIES= x11-fonts MASTER_SITES= http://pdx.freedesktop.org/~xlibs/release/ diff --git a/x11-fonts/libXft/files/patch-xftfreetype.c b/x11-fonts/libXft/files/patch-xftfreetype.c new file mode 100644 index 000000000000..a3e878fd01b3 --- /dev/null +++ b/x11-fonts/libXft/files/patch-xftfreetype.c @@ -0,0 +1,57 @@ +--- xftfreetype.c.orig Fri Mar 19 04:11:09 2004 ++++ xftfreetype.c Fri Mar 19 04:11:30 2004 +@@ -192,53 +192,9 @@ + if (XftDebug() & XFT_DBG_GLYPH) + printf ("Set face size to %dx%d (%dx%d)\n", + (int) (xsize >> 6), (int) (ysize >> 6), (int) xsize, (int) ysize); +- /* +- * Bitmap only faces must match exactly, so find the closest +- * one (height dominant search) +- */ +- if (!(face->face_flags & FT_FACE_FLAG_SCALABLE)) +- { +- FT_Short width = xsize >> 6; +- FT_Short height = ysize >> 6; +- int i, best = -1; +- +-#define xft_abs(a) ((a) < 0 ? -(a) : (a)) +-#define dist(a,b) (xft_abs((a)-(b))) +- +-#if !HAVE_FT_BITMAP_SIZE_Y_PPEM +-#define y_ppem height +-#define x_ppem width +-#endif +- for (i = 0; i < face->num_fixed_sizes; i++) +- { +- if (best == -1 || +- dist (height, face->available_sizes[i].y_ppem >> 6) < +- dist (height, face->available_sizes[best].y_ppem >> 6) || +- (dist (height, face->available_sizes[i].y_ppem >> 6) == +- dist (height, face->available_sizes[best].y_ppem >> 6) && +- dist (width, face->available_sizes[i].x_ppem >> 6) < +- dist (width, face->available_sizes[best].x_ppem >> 6))) +- { +- best = i; +- } +- } +- if (FT_Set_Char_Size (face, face->available_sizes[best].x_ppem, +- face->available_sizes[best].y_ppem, 0, 0) != 0) +- { +- return False; +- } +-#if !HAVE_FT_BITMAP_SIZE_Y_PPEM +-#undef y_ppem +-#undef x_ppem +-#endif +- } +- else +- { + if (FT_Set_Char_Size (face, xsize, ysize, 0, 0)) +- { + return False; +- } +- } ++ + f->xsize = xsize; + f->ysize = ysize; + } |