lenW = MultiByteToWideChar(cp, 0, str, count, NULL, 0);
strW = HeapAlloc(GetProcessHeap(), 0, lenW*sizeof(WCHAR));
MultiByteToWideChar(cp, 0, str, count, strW, lenW);
- DPRINT1("mapped %s -> %S\n", str, strW);
+ DPRINT("mapped %s -> %S\n", str, strW);
if(plenW) *plenW = lenW;
if(pCP) *pCP = cp;
return strW;
if (Unicode)
{
Ret = ((FONTENUMPROCW) EnumProc)(
- &Info[i].EnumLogFontEx,
- &Info[i].NewTextMetricEx,
+ (VOID*)&Info[i].EnumLogFontEx,
+ (VOID*)&Info[i].NewTextMetricEx,
Info[i].FontType, lParam);
}
else
NewTextMetricExW2A(&NewTextMetricExA,
&Info[i].NewTextMetricEx);
Ret = ((FONTENUMPROCA) EnumProc)(
- &EnumLogFontExA,
- &NewTextMetricExA,
+ (VOID*)&EnumLogFontExA,
+ (VOID*)&NewTextMetricExA,
Info[i].FontType, lParam);
}
}
/*
* @implemented
*/
-int STDCALL
+int WINAPI
EnumFontFamiliesExW(HDC hdc, LPLOGFONTW lpLogfont, FONTENUMPROCW lpEnumFontFamExProc,
LPARAM lParam, DWORD dwFlags)
{
/*
* @implemented
*/
-int STDCALL
+int WINAPI
EnumFontFamiliesW(HDC hdc, LPCWSTR lpszFamily, FONTENUMPROCW lpEnumFontFamProc,
LPARAM lParam)
{
LogFont.lfCharSet = DEFAULT_CHARSET;
if (NULL != lpszFamily)
{
+ if (!*lpszFamily) return 1;
lstrcpynW(LogFont.lfFaceName, lpszFamily, LF_FACESIZE);
}
/*
* @implemented
*/
-int STDCALL
+int WINAPI
EnumFontFamiliesExA (HDC hdc, LPLOGFONTA lpLogfont, FONTENUMPROCA lpEnumFontFamExProc,
LPARAM lParam, DWORD dwFlags)
{
/*
* @implemented
*/
-int STDCALL
+int WINAPI
EnumFontFamiliesA(HDC hdc, LPCSTR lpszFamily, FONTENUMPROCA lpEnumFontFamProc,
LPARAM lParam)
{
LogFont.lfCharSet = DEFAULT_CHARSET;
if (NULL != lpszFamily)
{
+ if (!*lpszFamily) return 1;
MultiByteToWideChar(CP_THREAD_ACP, 0, lpszFamily, -1, LogFont.lfFaceName, LF_FACESIZE);
}
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetCharacterPlacementW(
HDC hdc,
LPCWSTR lpString,
*
*/
BOOL
-STDCALL
+WINAPI
GetCharABCWidthsFloatW(HDC hdc,
UINT FirstChar,
UINT LastChar,
*
*/
BOOL
-STDCALL
+WINAPI
GetCharWidthFloatW(HDC hdc,
UINT iFirstChar,
UINT iLastChar,
*
*/
BOOL
-STDCALL
+WINAPI
GetCharWidthW(HDC hdc,
UINT iFirstChar,
UINT iLastChar,
*
*/
BOOL
-STDCALL
+WINAPI
GetCharWidth32W(HDC hdc,
UINT iFirstChar,
UINT iLastChar,
*
*/
BOOL
-STDCALL
+WINAPI
GetCharABCWidthsW(HDC hdc,
UINT FirstChar,
UINT LastChar,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
GetCharWidthA(
HDC hdc,
UINT iFirstChar,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
GetCharWidth32A(
HDC hdc,
UINT iFirstChar,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
GetCharABCWidthsI(HDC hdc,
UINT giFirst,
UINT cgi,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
GetCharWidthI(HDC hdc,
UINT giFirst,
UINT cgi,
* @implemented
*/
DWORD
-STDCALL
+WINAPI
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;
}
/*
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetGlyphIndicesA(
HDC hdc,
LPCSTR lpstr,
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetGlyphOutlineA(
HDC hdc,
UINT uChar,
LPWSTR p = NULL;
DWORD ret;
UINT c;
- DPRINT1("GetGlyphOutlineA uChar %x\n", uChar);
+ DPRINT("GetGlyphOutlineA uChar %x\n", uChar);
if(!(uFormat & GGO_GLYPH_INDEX)) {
int len;
char mbchs[2];
mbchs[0] = (uChar & 0xff);
}
p = FONT_mbtowc(hdc, mbchs, len, NULL, NULL);
- c = p[0];
+ c = p[0];
} else
c = uChar;
ret = NtGdiGetGlyphOutline(hdc, c, uFormat, lpgm, cbBuffer, lpvBuffer, (CONST LPMAT2)lpmat2, TRUE);
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetGlyphOutlineW(
HDC hdc,
UINT uChar,
CONST MAT2 *lpmat2
)
{
- DPRINT("GetGlyphOutlineW uChar %x\n", uChar);
+ DPRINT("GetGlyphOutlineW uChar %x\n", uChar);
if (!lpgm & !lpmat2) return GDI_ERROR;
if (!lpvBuffer) cbBuffer = 0;
return NtGdiGetGlyphOutline ( hdc, uChar, uFormat, lpgm, cbBuffer, lpvBuffer, (CONST LPMAT2)lpmat2, TRUE);
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetKerningPairsW(HDC hdc,
ULONG cPairs,
LPKERNINGPAIR pkpDst)
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GetKerningPairsA( HDC hDC,
DWORD cPairs,
LPKERNINGPAIR kern_pairA )
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontIndirectExA(const ENUMLOGFONTEXDVA *elfexd)
{
if (elfexd)
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontIndirectExW(const ENUMLOGFONTEXDVW *elfexd)
{
/* Msdn: Note, this function ignores the elfDesignVector member in
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontIndirectA(
CONST LOGFONTA *lplf
)
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontIndirectW(
CONST LOGFONTW *lplf
)
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontA(
int nHeight,
int nWidth,
* @implemented
*/
HFONT
-STDCALL
+WINAPI
CreateFontW(
int nHeight,
int nWidth,
* @unimplemented
*/
BOOL
-STDCALL
+WINAPI
CreateScalableFontResourceA(
DWORD fdwHidden,
LPCSTR lpszFontRes,
* @implemented
*/
int
-STDCALL
+WINAPI
AddFontResourceExW ( LPCWSTR lpszFilename, DWORD fl, PVOID pvReserved )
{
if (fl & ~(FR_PRIVATE | FR_NOT_ENUM))
* @implemented
*/
int
-STDCALL
+WINAPI
AddFontResourceExA ( LPCSTR lpszFilename, DWORD fl, PVOID pvReserved )
{
NTSTATUS Status;
* @implemented
*/
int
-STDCALL
+WINAPI
AddFontResourceA ( LPCSTR lpszFilename )
{
NTSTATUS Status;
* @implemented
*/
int
-STDCALL
+WINAPI
AddFontResourceW ( LPCWSTR lpszFilename )
{
return GdiAddFontResourceW ( lpszFilename, 0, 0 );
* @implemented
*/
BOOL
-STDCALL
+WINAPI
RemoveFontResourceW(LPCWSTR lpFileName)
{
return RemoveFontResourceExW(lpFileName,0,0);
* @implemented
*/
BOOL
-STDCALL
+WINAPI
RemoveFontResourceA(LPCSTR lpFileName)
{
return RemoveFontResourceExA(lpFileName,0,0);
* @unimplemented
*/
BOOL
-STDCALL
+WINAPI
RemoveFontResourceExA(LPCSTR lpFileName,
DWORD fl,
PVOID pdv
* @unimplemented
*/
BOOL
-STDCALL
+WINAPI
RemoveFontResourceExW(LPCWSTR lpFileName,
DWORD fl,
PVOID pdv)
* @implemented
*/
DWORD
-STDCALL
+WINAPI
GdiGetCharDimensions(HDC hdc, LPTEXTMETRICW lptm, LONG *height)
{
SIZE sz;
* @unimplemented
*/
BOOL
-STDCALL
+WINAPI
TranslateCharsetInfo(
LPDWORD lpSrc, /* [in]
if flags == TCI_SRCFONTSIG: pointer to fsCsb of a FONTSIGNATURE
* @implemented
*/
DWORD
-STDCALL
+WINAPI
SetMapperFlags(
HDC hDC,
DWORD flags
* @unimplemented
*/
int
-STDCALL
+WINAPI
EnumFontsW(
HDC hDC,
LPCWSTR lpFaceName,
* @unimplemented
*/
int
-STDCALL
+WINAPI
EnumFontsA (
HDC hDC,
LPCSTR lpFaceName,
#define EfdFontFamilies 3
INT
-STDCALL
+WINAPI
NewEnumFontFamiliesExW(
HDC hDC,
LPLOGFONTW lpLogfont,
{
PNTMW_INTERNAL pNtmwi = (PNTMW_INTERNAL)((ULONG_PTR)pEfdw + pEfdw->ulNtmwiOffset);
- ret = lpEnumFontFamExProcW(&pEfdw->elfexdv.elfEnumLogfontEx,
- &pNtmwi->ntmw,
+ ret = lpEnumFontFamExProcW((VOID*)&pEfdw->elfexdv.elfEnumLogfontEx,
+ (VOID*)&pNtmwi->ntmw,
pEfdw->dwFontType,
lParam);