GetFontFamilyInfoForList(&lf, Info, pFromW->Buffer, pCount, MaxCount,
&Win32Process->PrivateFontListHead);
IntUnLockProcessPrivateFonts(Win32Process);
- break;
+
+ if (LogFont->lfFaceName[0] != UNICODE_NULL)
+ {
+ /* it's already matched to the exact name and charset if the name
+ was specified at here, then so don't scan more for another name */
+ break;
+ }
}
return TRUE;
FontGDI->EmHeight = min(FontGDI->EmHeight, USHORT_MAX);
FontGDI->Magic = FONTGDI_MAGIC;
- if (lfHeight > 0)
- EmHeight64 = (FontGDI->EmHeight << 6) + 31;
- else
- EmHeight64 = (FontGDI->EmHeight << 6);
+ EmHeight64 = (FontGDI->EmHeight << 6);
req.type = FT_SIZE_REQUEST_TYPE_NOMINAL;
req.width = 0;
ActualNameW = (WCHAR*)((ULONG_PTR)Otm + (ULONG_PTR)Otm->otmpFamilyName);
- if (LogFont->lfFaceName[0])
+ if (LogFont->lfFaceName[0] != UNICODE_NULL)
{
BOOL Found = FALSE;
if (pdcattr->flTextAlign & TA_UPDATECP)
{
- Start.x = pdcattr->ptlCurrent.x;
- Start.y = pdcattr->ptlCurrent.y;
- } else {
+ IntGetCurrentPositionEx(dc, &Start);
+ }
+ else
+ {
Start.x = XStart;
Start.y = YStart;
}
MouseSafetyOnDrawEnd(dc->ppdev);
}
- if (pdcattr->flTextAlign & TA_UPDATECP) {
- pdcattr->ptlCurrent.x = DestRect.right - dc->ptlDCOrig.x;
+ if (pdcattr->flTextAlign & TA_UPDATECP)
+ {
+ pdcattr->ptlCurrent.x = vecs[2].x - dc->ptlDCOrig.x;
+ pdcattr->ptlCurrent.y = vecs[2].y - dc->ptlDCOrig.y;
+ IntDPtoLP(dc, &pdcattr->ptlCurrent, 1);
+ pdcattr->ulDirty_ &= ~DIRTY_PTLCURRENT;
+ pdcattr->ulDirty_ |= (DIRTY_PTFXCURRENT | DIRTY_STYLESTATE);
}
IntUnLockFreeType();