Support sub-pixel kerning and hinting for future support for improved character placement.
No user visible changes have been made.
- Calculate sub-pixel offsets, using integer maths.
- Use convenience functions to perform the conversions and hide the underlying values.
- Use ft_pix type to distinguish values that use sub-pixel integer values from freetype and values rounded to pixels.
This was originally based on D12999 by @Harley Acheson (harley) with the user visible changes removed so they can be applied separately.
Even though it requires cumbersome conversion I think it's more reliable not to introduce floating point values for positioning text as it means positioning text may be less predictable, potentially run into float precision issues (this patch already has an assertion drawing widgets at certain zoom-levels because of a font-width calculation discrepancy).