switch (font->unit)
{
case UnitPixel:
+ case UnitWorld:
*height = font_height;
break;
case UnitPoint:
static INT CALLBACK is_font_installed_proc(const LOGFONTW *elf,
const TEXTMETRICW *ntm, DWORD type, LPARAM lParam)
{
- if (!ntm)
+ if (!ntm || type == RASTER_FONTTYPE)
{
return 1;
}
GpStatus WINGDIPAPI GdipGetFamilyName (GDIPCONST GpFontFamily *family,
WCHAR *name, LANGID language)
{
+ static int lang_fixme;
+
if (family == NULL)
return InvalidParameter;
TRACE("%p, %p, %d\n", family, name, language);
- if (language != LANG_NEUTRAL)
+ if (language != LANG_NEUTRAL && !lang_fixme++)
FIXME("No support for handling of multiple languages!\n");
lstrcpynW (name, family->FamilyName, LF_FACESIZE);
*/
GpStatus WINGDIPAPI GdipGetGenericFontFamilySansSerif(GpFontFamily **nativeFamily)
{
- /* FIXME: On Windows this is called Microsoft Sans Serif, this shouldn't
- * affect anything */
- static const WCHAR MSSansSerif[] = {'M','S',' ','S','a','n','s',' ','S','e','r','i','f','\0'};
+ GpStatus stat;
+ static const WCHAR MicrosoftSansSerif[] = {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f','\0'};
+ static const WCHAR Tahoma[] = {'T','a','h','o','m','a','\0'};
TRACE("(%p)\n", nativeFamily);
if (nativeFamily == NULL) return InvalidParameter;
- return GdipCreateFontFamilyFromName(MSSansSerif, NULL, nativeFamily);
+ stat = GdipCreateFontFamilyFromName(MicrosoftSansSerif, NULL, nativeFamily);
+
+ if (stat == FontFamilyNotFound)
+ /* FIXME: Microsoft Sans Serif is not installed on Wine. */
+ stat = GdipCreateFontFamilyFromName(Tahoma, NULL, nativeFamily);
+
+ return stat;
}
/*****************************************************************************
GpFontCollection* fonts = (GpFontCollection*)lParam;
int i;
+ if (type == RASTER_FONTTYPE)
+ return 1;
+
/* skip duplicates */
for (i=0; i<fonts->count; i++)
if (strcmpiW(lfw->lfFaceName, fonts->FontFamilies[i]->FamilyName) == 0)