- Add LanguagePack support to GetFontLanguageInfo.

svn path=/trunk/; revision=39839
This commit is contained in:
James Tabor 2009-03-02 01:54:37 +00:00
parent 78b88e1063
commit 7f9d753a27
3 changed files with 15 additions and 1 deletions

View file

@ -15,6 +15,7 @@ extern HANDLE hProcessHeap;
extern HANDLE CurrentProcessId;
extern DWORD GDI_BatchLimit;
extern PDEVCAPS GdiDevCaps;
extern BOOL gbLpk; // Global bool LanguagePack
typedef INT
(CALLBACK* EMFPLAYPROC)(

View file

@ -13,6 +13,7 @@ extern HGDIOBJ stock_objects[];
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

View file

@ -914,7 +914,19 @@ GetFontLanguageInfo(
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;
}
/*