Huw Davies : gdi32: Add a helper to retrieve a bitmap font' s internal leading.
Alexandre Julliard
julliard at winehq.org
Tue Mar 27 12:48:06 CDT 2012
Module: wine
Branch: master
Commit: 45d79feaf5789bdc4c0a2c98ee54b672a4bfbe36
URL: http://source.winehq.org/git/wine.git/?a=commit;h=45d79feaf5789bdc4c0a2c98ee54b672a4bfbe36
Author: Huw Davies <huw at codeweavers.com>
Date: Tue Mar 27 11:48:43 2012 +0100
gdi32: Add a helper to retrieve a bitmap font's internal leading.
---
dlls/gdi32/freetype.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 446175e..6f916c1 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -1594,6 +1594,17 @@ static inline DWORD get_ntm_flags( FT_Face ft_face )
return flags;
}
+static inline int get_bitmap_internal_leading( FT_Face ft_face )
+{
+ int internal_leading = 0;
+ FT_WinFNT_HeaderRec winfnt_header;
+
+ if (!pFT_Get_WinFNT_Header( ft_face, &winfnt_header ))
+ internal_leading = winfnt_header.internal_leading;
+
+ return internal_leading;
+}
+
#define ADDFONT_EXTERNAL_FONT 0x01
#define ADDFONT_FORCE_BITMAP 0x02
#define ADDFONT_ADD_TO_CACHE 0x04
@@ -1609,7 +1620,6 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
Face *face;
struct list *face_elem_ptr;
FT_WinFNT_HeaderRec winfnt_header;
- int internal_leading;
FONTSIGNATURE fs;
My_FT_Bitmap_Size *size = NULL;
FT_Fixed version;
@@ -1621,7 +1631,6 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
StyleW = towstr(CP_ACP, ft_face->style_name);
- internal_leading = 0;
memset(&fs, 0, sizeof(fs));
pOS2 = pFT_Get_Sfnt_Table(ft_face, ft_sfnt_os2);
@@ -1647,7 +1656,6 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
winfnt_header.vertical_resolution,winfnt_header.horizontal_resolution, winfnt_header.nominal_point_size);
if(TranslateCharsetInfo((DWORD*)(UINT_PTR)winfnt_header.charset, &csi, TCI_SRCCHARSET))
fs = csi.fs;
- internal_leading = winfnt_header.internal_leading;
}
version = get_font_version( ft_face );
@@ -1709,7 +1717,7 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
face->size.size = size->size;
face->size.x_ppem = size->x_ppem;
face->size.y_ppem = size->y_ppem;
- face->size.internal_leading = internal_leading;
+ face->size.internal_leading = get_bitmap_internal_leading( ft_face );
face->scalable = FALSE;
}
More information about the wine-cvs
mailing list