Direct2D Renderer (Font Hinting, Windows RT, No Win Phone 8)



It might be possible to use native system calls to extract the outlines from a font, without going through the pain of trying to locate the actual file. Then, the outlines can be passed to the TrueType autohinter to get adjusted for a specific font height.

Actually, this is what the font system already does. It’s just that the system was never designed to handle hinted fonts per Jules’s preference. So when we obtain the font outlines, we ask for them at size 1024 that way we know for sure that the outlines don’t have any font hinting applied. The outlines are then scaled to the appropriate font height using standard path transformations.

I don’t really see much of a reason for Juce to support hinting itself since hinting can be supported via platform dependent software renderers. That is pretty much the only way that text will the same as text in other native programs. This is actually already complete on Mac OS X, all glyphs are rendered using CoreGraphics (when using the CoreGraphics renderer) itself so small fonts looks just as they do in native mac applications.

On Linux and Android it is much easier to get the actual files so FreeType is the best bet there.

So the Windows Phone 8 SDK finally landed. While it does support Direct3D 11.1, it does not have Direct2D support or DirectWrite support. Bummer. Maybe we’ll see it in Windows Phone 9.

So it looks like most optimal way of bringing Juce to Windows RT and Windows Phone 8 will be to port the OpenGL renderer to Direct3D 11.1 and create a Direct3D renderer.