}
static void FASTCALL
-FillTMEx(TEXTMETRICW *TM, PFONTGDI FontGDI,
- TT_OS2 *pOS2, TT_HoriHeader *pHori,
- FT_WinFNT_HeaderRec *pFNT, BOOL RealFont)
+FillTM(TEXTMETRICW *TM, PFONTGDI FontGDI,
+ TT_OS2 *pOS2, TT_HoriHeader *pHori,
+ FT_WinFNT_HeaderRec *pFNT)
{
FT_Fixed XScale, YScale;
int Ascent, Descent;
TM->tmDefaultChar = pFNT->default_char + pFNT->first_char;
TM->tmBreakChar = pFNT->break_char + pFNT->first_char;
TM->tmPitchAndFamily = pFNT->pitch_and_family;
- if (RealFont)
- {
- TM->tmWeight = FontGDI->OriginalWeight;
- TM->tmItalic = FontGDI->OriginalItalic;
- TM->tmUnderlined = pFNT->underline;
- TM->tmStruckOut = pFNT->strike_out;
- TM->tmCharSet = pFNT->charset;
- }
- else
- {
- TM->tmWeight = FontGDI->RequestWeight;
- TM->tmItalic = FontGDI->RequestItalic;
- TM->tmUnderlined = FontGDI->RequestUnderline;
- TM->tmStruckOut = FontGDI->RequestStrikeOut;
- TM->tmCharSet = FontGDI->CharSet;
- }
+ TM->tmWeight = FontGDI->RequestWeight;
+ TM->tmItalic = FontGDI->RequestItalic;
+ TM->tmUnderlined = FontGDI->RequestUnderline;
+ TM->tmStruckOut = FontGDI->RequestStrikeOut;
+ TM->tmCharSet = FontGDI->CharSet;
return;
}
/* Correct forumla to get the maxcharwidth from unicode and ansi font */
TM->tmMaxCharWidth = (FT_MulFix(Face->max_advance_width, XScale) + 32) >> 6;
- if (RealFont)
+ if (FontGDI->OriginalWeight != FW_DONTCARE &&
+ FontGDI->OriginalWeight != FW_NORMAL)
{
TM->tmWeight = FontGDI->OriginalWeight;
}
else
{
- if (FontGDI->OriginalWeight != FW_DONTCARE &&
- FontGDI->OriginalWeight != FW_NORMAL)
- {
- TM->tmWeight = FontGDI->OriginalWeight;
- }
- else
- {
- TM->tmWeight = FontGDI->RequestWeight;
- }
+ TM->tmWeight = FontGDI->RequestWeight;
}
TM->tmOverhang = 0;
TM->tmDefaultChar = TM->tmBreakChar - 1;
}
- if (RealFont)
+ if (FontGDI->OriginalItalic || FontGDI->RequestItalic)
{
- TM->tmItalic = FontGDI->OriginalItalic;
- TM->tmUnderlined = FALSE;
- TM->tmStruckOut = FALSE;
+ TM->tmItalic = 0xFF;
}
else
{
- if (FontGDI->OriginalItalic || FontGDI->RequestItalic)
- {
- TM->tmItalic = 0xFF;
- }
- else
- {
- TM->tmItalic = 0;
- }
- TM->tmUnderlined = (FontGDI->RequestUnderline ? 0xFF : 0);
- TM->tmStruckOut = (FontGDI->RequestStrikeOut ? 0xFF : 0);
+ TM->tmItalic = 0;
}
+ TM->tmUnderlined = (FontGDI->RequestUnderline ? 0xFF : 0);
+ TM->tmStruckOut = (FontGDI->RequestStrikeOut ? 0xFF : 0);
if (!FT_IS_FIXED_WIDTH(Face))
{
TM->tmCharSet = FontGDI->CharSet;
}
-static void FASTCALL
-FillTM(TEXTMETRICW *TM, PFONTGDI FontGDI,
- TT_OS2 *pOS2, TT_HoriHeader *pHori,
- FT_WinFNT_HeaderRec *pFNT)
-{
- FillTMEx(TM, FontGDI, pOS2, pHori, pFNT, FALSE);
-}
-
static NTSTATUS
IntGetFontLocalizedName(PUNICODE_STRING pNameW, PSHARED_FACE SharedFace,
FT_UShort NameID, FT_UShort LangID);