Jacek Caban : gdi32: Move GetFontLanguageInfo to text.c.

Alexandre Julliard julliard at winehq.org
Fri Aug 27 15:03:35 CDT 2021


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Aug 27 13:51:55 2021 +0100

gdi32: Move GetFontLanguageInfo to text.c.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/font.c | 49 -------------------------------------------------
 dlls/gdi32/text.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 49 deletions(-)

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index f825562b37f..b65f1e54bee 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -6044,55 +6044,6 @@ BOOL WINAPI TranslateCharsetInfo(
     return TRUE;
 }
 
-/*************************************************************************
- *             GetFontLanguageInfo   (GDI32.@)
- */
-DWORD WINAPI GetFontLanguageInfo(HDC hdc)
-{
-	FONTSIGNATURE fontsig;
-	static const DWORD GCP_DBCS_MASK=FS_JISJAPAN|FS_CHINESESIMP|FS_WANSUNG|FS_CHINESETRAD|FS_JOHAB,
-		GCP_DIACRITIC_MASK=0x00000000,
-		FLI_GLYPHS_MASK=0x00000000,
-		GCP_GLYPHSHAPE_MASK=FS_ARABIC,
-		GCP_KASHIDA_MASK=0x00000000,
-		GCP_LIGATE_MASK=0x00000000,
-		GCP_REORDER_MASK=FS_HEBREW|FS_ARABIC;
-
-	DWORD result=0;
-
-	NtGdiGetTextCharsetInfo( hdc, &fontsig, 0 );
-	/* We detect each flag we return using a bitmask on the Codepage Bitfields */
-
-	if( (fontsig.fsCsb[0]&GCP_DBCS_MASK)!=0 )
-		result|=GCP_DBCS;
-
-	if( (fontsig.fsCsb[0]&GCP_DIACRITIC_MASK)!=0 )
-		result|=GCP_DIACRITIC;
-
-	if( (fontsig.fsCsb[0]&FLI_GLYPHS_MASK)!=0 )
-		result|=FLI_GLYPHS;
-
-	if( (fontsig.fsCsb[0]&GCP_GLYPHSHAPE_MASK)!=0 )
-		result|=GCP_GLYPHSHAPE;
-
-	if( (fontsig.fsCsb[0]&GCP_KASHIDA_MASK)!=0 )
-		result|=GCP_KASHIDA;
-
-	if( (fontsig.fsCsb[0]&GCP_LIGATE_MASK)!=0 )
-		result|=GCP_LIGATE;
-
-	if( NtGdiGetKerningPairsW( hdc, 0, NULL ) )
-		result|=GCP_USEKERNING;
-
-        /* this might need a test for a HEBREW- or ARABIC_CHARSET as well */
-        if( GetTextAlign( hdc) & TA_RTLREADING )
-            if( (fontsig.fsCsb[0]&GCP_REORDER_MASK)!=0 )
-                    result|=GCP_REORDER;
-
-	return result;
-}
-
-
 /*************************************************************************
  * GetFontData [GDI32.@]
  *
diff --git a/dlls/gdi32/text.c b/dlls/gdi32/text.c
index ba86a1a3b1d..72b721a48a2 100644
--- a/dlls/gdi32/text.c
+++ b/dlls/gdi32/text.c
@@ -1849,3 +1849,51 @@ DWORD WINAPI GetKerningPairsA( HDC hdc, DWORD count, KERNINGPAIR *kern_pairA )
     HeapFree( GetProcessHeap(), 0, kern_pairW );
     return kern_pairs_copied;
 }
+
+/*************************************************************************
+ *             GetFontLanguageInfo   (GDI32.@)
+ */
+DWORD WINAPI GetFontLanguageInfo( HDC hdc )
+{
+    FONTSIGNATURE fontsig;
+    DWORD result = 0;
+
+    static const DWORD GCP_DBCS_MASK = FS_JISJAPAN|FS_CHINESESIMP|FS_WANSUNG|FS_CHINESETRAD|FS_JOHAB,
+        GCP_DIACRITIC_MASK = 0x00000000,
+        FLI_GLYPHS_MASK = 0x00000000,
+        GCP_GLYPHSHAPE_MASK = FS_ARABIC,
+        GCP_KASHIDA_MASK = 0x00000000,
+        GCP_LIGATE_MASK = 0x00000000,
+        GCP_REORDER_MASK = FS_HEBREW|FS_ARABIC;
+
+
+    NtGdiGetTextCharsetInfo( hdc, &fontsig, 0 );
+    /* We detect each flag we return using a bitmask on the Codepage Bitfields */
+
+    if (fontsig.fsCsb[0] & GCP_DBCS_MASK)
+        result |= GCP_DBCS;
+
+    if (fontsig.fsCsb[0] & GCP_DIACRITIC_MASK)
+        result |= GCP_DIACRITIC;
+
+    if (fontsig.fsCsb[0] & FLI_GLYPHS_MASK)
+        result |= FLI_GLYPHS;
+
+    if (fontsig.fsCsb[0] & GCP_GLYPHSHAPE_MASK)
+        result |= GCP_GLYPHSHAPE;
+
+    if (fontsig.fsCsb[0] & GCP_KASHIDA_MASK)
+        result |= GCP_KASHIDA;
+
+    if (fontsig.fsCsb[0] & GCP_LIGATE_MASK)
+        result |= GCP_LIGATE;
+
+    if (NtGdiGetKerningPairsW( hdc, 0, NULL ))
+        result |= GCP_USEKERNING;
+
+    /* this might need a test for a HEBREW- or ARABIC_CHARSET as well */
+    if ((GetTextAlign( hdc ) & TA_RTLREADING) && (fontsig.fsCsb[0] & GCP_REORDER_MASK))
+        result |= GCP_REORDER;
+
+    return result;
+}




More information about the wine-cvs mailing list