Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
4.6.2
-
None
Description
Currently QtSVG handles SVG fonts by converting the outlines to regular vector paths which are then rasterised. This produces output which is sub-optimal and inconsistent with other text in the application (freely scalable or otherwise).
Ideally the following approach should be taken:
1) If the systems native font rasterisation supports rendering arbitrary outlines and supports rendering freely scalable text then pass the SVG font outlines to the native rasteriser.
2) Otherwise, if Qt is compiled with FreeType support pass the outlines to FreeType (with either NONE or SLIGHT hinting). It is important to respect the users preference for sub-pixel rendering.
3) If neither are available fall back to path drawing (with sub-pixel rendering if possible – although this is currently not possible with Qt).
I'll need to check if CoreText/ATSUI or Win32/DirectWrite supports rendering outlines (although plain Win32 does not support rendering freely scalable text, so is not really a contender).
Corollary:
I am the author of http://freddie.witherden.org/pages/font-rasterisation/