Nikolay Sivov (@nsivov) commented about dlls/dwrite/gdiinterop.c:
return hr; }
- scaled_run = *run;
- scaled_run.fontEmSize *= target->ppdip;
- hr = IDWriteFactory7_CreateGlyphRunAnalysis(target->factory, &scaled_run, &target->m, rendermode, measuring_mode,
- scaled_matrix = target->m;
- scaled_matrix.m11 *= target->ppdip;
- scaled_matrix.m22 *= target->ppdip;
- hr = IDWriteFactory7_CreateGlyphRunAnalysis(target->factory, run, &scaled_matrix, rendermode, measuring_mode, gridfitmode, target->antialiasmode, originX, originY, &analysis); if (FAILED(hr))
The reason we currently modify font size is to produce better quality output. If you keep original size, then scale 10 times, it won't necessarily be looking good. Regarding matrix modification, how does that work for other components, for e.g. rotation? Maybe we should multiply by diagonal matrix instead?