Alexandre Julliard : gdi32: Make a few definitions private to font.c.

Alexandre Julliard julliard at winehq.org
Wed Nov 4 15:20:32 CST 2020


Module: wine
Branch: master
Commit: e1b193d8bab3ab295a0dbfde2e3721e63054a592
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=e1b193d8bab3ab295a0dbfde2e3721e63054a592

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Nov  4 09:20:50 2020 +0100

gdi32: Make a few definitions private to font.c.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/font.c        | 56 ++++++++++++++++++++++++++++++++++++++++++------
 dlls/gdi32/freetype.c    | 17 ++++-----------
 dlls/gdi32/gdi_private.h | 50 ------------------------------------------
 3 files changed, 54 insertions(+), 69 deletions(-)

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index 24681c2097e..89197361fe2 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -58,6 +58,36 @@ static inline struct font_physdev *get_font_dev( PHYSDEV dev )
     return (struct font_physdev *)dev;
 }
 
+struct gdi_font_family
+{
+    struct list             entry;
+    unsigned int            refcount;
+    WCHAR                   family_name[LF_FACESIZE];
+    WCHAR                   second_name[LF_FACESIZE];
+    struct list             faces;
+    struct gdi_font_family *replacement;
+};
+
+struct gdi_font_face
+{
+    struct list   entry;
+    unsigned int  refcount;
+    WCHAR        *style_name;
+    WCHAR        *full_name;
+    WCHAR        *file;
+    void         *data_ptr;
+    SIZE_T        data_size;
+    UINT          face_index;
+    FONTSIGNATURE fs;
+    DWORD         ntmFlags;
+    DWORD         version;
+    DWORD         flags;                 /* ADDFONT flags */
+    BOOL          scalable;
+    struct bitmap_font_size    size;     /* set if face is a bitmap */
+    struct gdi_font_family    *family;
+    struct gdi_font_enum_data *cached_enum_data;
+};
+
 static const struct font_backend_funcs *font_funcs;
 
 static const MAT2 identity = { {0,1}, {0,0}, {0,0}, {0,1} };
@@ -1160,6 +1190,21 @@ static void remove_face_from_cache( struct gdi_font_face *face )
 
 /* font links */
 
+struct gdi_font_link
+{
+    struct list            entry;
+    struct list            links;
+    WCHAR                  name[LF_FACESIZE];
+    FONTSIGNATURE          fs;
+};
+
+struct gdi_font_link_entry
+{
+    struct list            entry;
+    FONTSIGNATURE          fs;
+    WCHAR                  family_name[LF_FACESIZE];
+};
+
 static struct list font_links = LIST_INIT(font_links);
 
 static struct gdi_font_link *find_gdi_font_link( const WCHAR *name )
@@ -1704,12 +1749,9 @@ static void free_gdi_font( struct gdi_font *font )
     HeapFree( GetProcessHeap(), 0, font );
 }
 
-void set_gdi_font_names( struct gdi_font *font, const WCHAR *family_name, const WCHAR *style_name,
-                         const WCHAR *full_name )
+static inline const WCHAR *get_gdi_font_name( struct gdi_font *font )
 {
-    font->otm.otmpFamilyName = (char *)strdupW( family_name );
-    font->otm.otmpStyleName = (char *)strdupW( style_name );
-    font->otm.otmpFaceName = (char *)strdupW( full_name );
+    return (WCHAR *)font->otm.otmpFamilyName;
 }
 
 static struct gdi_font *create_gdi_font( const struct gdi_font_face *face, const WCHAR *family_name,
@@ -1727,7 +1769,9 @@ static struct gdi_font *create_gdi_font( const struct gdi_font_face *face, const
     font->ntmFlags = face->ntmFlags;
     font->aa_flags = HIWORD( face->flags );
     if (!family_name) family_name = face->family->family_name;
-    set_gdi_font_names( font, family_name, face->style_name, face->full_name );
+    font->otm.otmpFamilyName = (char *)strdupW( family_name );
+    font->otm.otmpStyleName = (char *)strdupW( face->style_name );
+    font->otm.otmpFaceName = (char *)strdupW( face->full_name );
     return font;
 }
 
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index ff1fa7d0c04..c23ed714b4c 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -233,10 +233,6 @@ typedef struct {
     FT_Pos size, x_ppem, y_ppem;
 } My_FT_Bitmap_Size;
 
-typedef struct gdi_font_face Face;
-
-typedef struct gdi_font_family Family;
-
 struct font_private_data
 {
     FT_Face ft_face;
@@ -2131,14 +2127,9 @@ static BOOL CDECL freetype_load_font( struct gdi_font *font )
     if (!font->aa_flags) font->aa_flags = ADDFONT_AA_FLAGS( default_aa_flags );
     if (!font->otm.otmpFamilyName)
     {
-        WCHAR *family_name = ft_face_get_family_name( ft_face, GetSystemDefaultLCID() );
-        WCHAR *style_name = ft_face_get_style_name( ft_face, GetSystemDefaultLangID() );
-        WCHAR *full_name = ft_face_get_full_name( ft_face, GetSystemDefaultLangID() );
-
-        set_gdi_font_names( font, family_name, style_name, full_name );
-        HeapFree( GetProcessHeap(), 0, family_name );
-        HeapFree( GetProcessHeap(), 0, style_name );
-        HeapFree( GetProcessHeap(), 0, full_name );
+        font->otm.otmpFamilyName = (char *)ft_face_get_family_name( ft_face, GetSystemDefaultLCID() );
+        font->otm.otmpStyleName = (char *)ft_face_get_style_name( ft_face, GetSystemDefaultLangID() );
+        font->otm.otmpFaceName = (char *)ft_face_get_full_name( ft_face, GetSystemDefaultLangID() );
     }
 
     if (font->scalable)
@@ -3396,7 +3387,7 @@ static BOOL CDECL freetype_set_outline_text_metrics( struct gdi_font *font )
                                                           GetSystemDefaultLangID() )))
     {
         static const WCHAR fake_nameW[] = {'f','a','k','e',' ','n','a','m','e', 0};
-        FIXME("failed to read full_nameW for font %s!\n", wine_dbgstr_w(get_gdi_font_name(font)));
+        FIXME("failed to read full_nameW for font %s!\n", wine_dbgstr_w((WCHAR *)font->otm.otmpFamilyName));
         font->otm.otmpFullName = (char *)strdupW(fake_nameW);
     }
     needed = sizeof(font->otm) + (strlenW( (WCHAR *)font->otm.otmpFamilyName ) + 1 +
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
index fdedb4ab705..12f469af979 100644
--- a/dlls/gdi32/gdi_private.h
+++ b/dlls/gdi32/gdi_private.h
@@ -303,18 +303,6 @@ struct char_width_info
 
 typedef struct { FLOAT eM11, eM12, eM21, eM22; } FMAT2;
 
-struct glyph_metrics;
-
-struct gdi_font_family
-{
-    struct list             entry;
-    unsigned int            refcount;
-    WCHAR                   family_name[LF_FACESIZE];
-    WCHAR                   second_name[LF_FACESIZE];
-    struct list             faces;
-    struct gdi_font_family *replacement;
-};
-
 struct bitmap_font_size
 {
     int  width;
@@ -325,41 +313,6 @@ struct bitmap_font_size
     int  internal_leading;
 };
 
-struct gdi_font_face
-{
-    struct list   entry;
-    unsigned int  refcount;
-    WCHAR        *style_name;
-    WCHAR        *full_name;
-    WCHAR        *file;
-    void         *data_ptr;
-    SIZE_T        data_size;
-    UINT          face_index;
-    FONTSIGNATURE fs;
-    DWORD         ntmFlags;
-    DWORD         version;
-    DWORD         flags;                 /* ADDFONT flags */
-    BOOL          scalable;
-    struct bitmap_font_size    size;     /* set if face is a bitmap */
-    struct gdi_font_family    *family;
-    struct gdi_font_enum_data *cached_enum_data;
-};
-
-struct gdi_font_link
-{
-    struct list            entry;
-    struct list            links;
-    WCHAR                  name[LF_FACESIZE];
-    FONTSIGNATURE          fs;
-};
-
-struct gdi_font_link_entry
-{
-    struct list            entry;
-    FONTSIGNATURE          fs;
-    WCHAR                  family_name[LF_FACESIZE];
-};
-
 struct gdi_font
 {
     struct list            entry;
@@ -453,9 +406,6 @@ extern int add_gdi_face( const WCHAR *family_name, const WCHAR *second_name,
                          DWORD ntmflags, DWORD version, DWORD flags,
                          const struct bitmap_font_size *size ) DECLSPEC_HIDDEN;
 
-static inline const WCHAR *get_gdi_font_name( struct gdi_font *font ) { return (WCHAR *)font->otm.otmpFamilyName; }
-extern void set_gdi_font_names( struct gdi_font *font, const WCHAR *family_name, const WCHAR *style_name,
-                                const WCHAR *full_name ) DECLSPEC_HIDDEN;
 extern void font_init(void) DECLSPEC_HIDDEN;
 
 /* freetype.c */




More information about the wine-cvs mailing list