[ros-diffs] [jimtabor] 39839: - Add LanguagePack support to GetFontLanguageInfo.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Mon Mar 2 02:54:37 CET 2009


Author: jimtabor
Date: Mon Mar  2 04:54:37 2009
New Revision: 39839

URL: http://svn.reactos.org/svn/reactos?rev=39839&view=rev
Log:
- Add LanguagePack support to GetFontLanguageInfo.

Modified:
    trunk/reactos/dll/win32/gdi32/include/gdi32p.h
    trunk/reactos/dll/win32/gdi32/main/dllmain.c
    trunk/reactos/dll/win32/gdi32/objects/font.c

Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/include/gdi32p.h?rev=39839&r1=39838&r2=39839&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/include/gdi32p.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/include/gdi32p.h [iso-8859-1] Mon Mar  2 04:54:37 2009
@@ -15,6 +15,7 @@
 extern HANDLE CurrentProcessId;
 extern DWORD GDI_BatchLimit;
 extern PDEVCAPS GdiDevCaps;
+extern BOOL gbLpk;          // Global bool LanguagePack
 
 typedef INT
 (CALLBACK* EMFPLAYPROC)(

Modified: trunk/reactos/dll/win32/gdi32/main/dllmain.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/main/dllmain.c?rev=39839&r1=39838&r2=39839&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/main/dllmain.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/main/dllmain.c [iso-8859-1] Mon Mar  2 04:54:37 2009
@@ -13,6 +13,7 @@
 BOOL SetStockObjects = FALSE;
 PDEVCAPS GdiDevCaps = NULL;
 PGDIHANDLECACHE GdiHandleCache = NULL;
+BOOL gbLpk = FALSE;
 
 /*
  * GDI32.DLL does have an entry point for disable threadlibrarycall,. The initialization is done by a call

Modified: trunk/reactos/dll/win32/gdi32/objects/font.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/font.c?rev=39839&r1=39838&r2=39839&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/font.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/objects/font.c [iso-8859-1] Mon Mar  2 04:54:37 2009
@@ -914,7 +914,19 @@
 	HDC 	hDc
 	)
 {
-  return GetDCDWord(hDc, GdiGetFontLanguageInfo, GCP_ERROR); 
+  DWORD Gcp = 0, Ret = 0;
+  if (gbLpk)
+  {
+     Ret = NtGdiGetTextCharsetInfo(hDc, NULL, 0);
+     if ((Ret == ARABIC_CHARSET) || (Ret == HEBREW_CHARSET))
+        Ret = (GCP_KASHIDA|GCP_DIACRITIC|GCP_LIGATE|GCP_GLYPHSHAPE|GCP_REORDER);
+  }
+  Gcp = GetDCDWord(hDc, GdiGetFontLanguageInfo, GCP_ERROR); 
+  if ( Gcp == GCP_ERROR)
+     return Gcp;
+  else
+     Ret = Gcp | Ret;
+  return Ret;
 }
 
 /*



More information about the Ros-diffs mailing list