mirror of
https://github.com/reactos/reactos.git
synced 2025-02-28 19:32:59 +00:00
[FREETYPE][NTGDI] Fix ftGdiGetTextMetricsW return for raster fonts (#7635)
Try to get ready to support raster fonts. JIRA issue: CORE-17327 - Fix the return value of ftGdiGetTextMetricsW function for raster fonts.
This commit is contained in:
parent
dad3a0938a
commit
82b7d4f3da
1 changed files with 9 additions and 8 deletions
|
@ -3164,7 +3164,7 @@ IntGetOutlineTextMetrics(PFONTGDI FontGDI,
|
|||
|
||||
Otm->otmSize = Cache->OutlineRequiredSize;
|
||||
|
||||
FillTM(&Otm->otmTextMetrics, FontGDI, pOS2, pHori, !Error ? &WinFNT : 0);
|
||||
FillTM(&Otm->otmTextMetrics, FontGDI, pOS2, pHori, (Error ? NULL : &WinFNT));
|
||||
|
||||
if (!pOS2)
|
||||
goto skip_os2;
|
||||
|
@ -5318,25 +5318,26 @@ ftGdiGetTextMetricsW(
|
|||
Status = STATUS_SUCCESS;
|
||||
|
||||
IntLockFreeType();
|
||||
|
||||
Error = FT_Get_WinFNT_Header(Face, &Win);
|
||||
pOS2 = FT_Get_Sfnt_Table(Face, ft_sfnt_os2);
|
||||
if (NULL == pOS2)
|
||||
pHori = FT_Get_Sfnt_Table(Face, ft_sfnt_hhea);
|
||||
|
||||
if (!pOS2 && Error)
|
||||
{
|
||||
DPRINT1("Can't find OS/2 table - not TT font?\n");
|
||||
Status = STATUS_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
pHori = FT_Get_Sfnt_Table(Face, ft_sfnt_hhea);
|
||||
if (NULL == pHori)
|
||||
if (!pHori && Error)
|
||||
{
|
||||
DPRINT1("Can't find HHEA table - not TT font?\n");
|
||||
Status = STATUS_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
Error = FT_Get_WinFNT_Header(Face, &Win);
|
||||
|
||||
if (NT_SUCCESS(Status) || !Error)
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
FillTM(&ptmwi->TextMetric, FontGDI, pOS2, pHori, !Error ? &Win : 0);
|
||||
FillTM(&ptmwi->TextMetric, FontGDI, pOS2, pHori, (Error ? NULL : &Win));
|
||||
|
||||
/* FIXME: Fill Diff member */
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue