7d3bb719f6859d4d346c8d54a4408758c015d2fa
aligned by default; we add the value of GetLineWidthInSourcePixels to right- align (and n/2 to center-align). This causes left-alignment to be flush, with overdraw over the alignment (correct), but right-alignment to align against the overdraw. This causes fonts with borders to align with the border over the edge on the left and against the edge on the right. If we only include overdraw for cropping and scaling, and not positioning, then we're inconsistent. For example, if we have a border with 100 pixels of space, and we scale to 100 pixels in this way, the text will be scaled to exactly 100 pixels, but if left- or right-aligned against the border, will overlap the border and not actually use the whole space. We need to be consistent: either consider the overdraw part of the character or don't. Ultimately, the overdraw was intended to not be considered part of the character itself. It's intended for use with fonts with borders/strokes/glow around lettering. That causes every character in a font to be widened, usually uniformly. This tends to not increase the subjective width of the character: if aligning hard against a border, these features should be ignored. So, let's go back to the original intent, and don't consider overdraw part of the character.
Description
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%