mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
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.
This commit is contained in:
parent
2622e635a0
commit
7f4a73e2e7
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=104604
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= libXft
|
||||
PORTVERSION= 2.1.5
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= x11-fonts
|
||||
MASTER_SITES= http://pdx.freedesktop.org/~xlibs/release/
|
||||
|
||||
|
57
x11-fonts/libXft/files/patch-xftfreetype.c
Normal file
57
x11-fonts/libXft/files/patch-xftfreetype.c
Normal file
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user