mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-19 00:11:55 +01:00
little FreeType fix (Char-left-bearing)
This commit is contained in:
parent
3fb0c53089
commit
2f1e1dfd77
@ -308,13 +308,14 @@ ftgxCharData *FreeTypeGX::cacheGlyphData(wchar_t charCode) {
|
|||||||
textureHeight = adjustTextureHeight(glyphBitmap->rows, this->textureFormat);
|
textureHeight = adjustTextureHeight(glyphBitmap->rows, this->textureFormat);
|
||||||
|
|
||||||
this->fontData[charCode] = (ftgxCharData){
|
this->fontData[charCode] = (ftgxCharData){
|
||||||
|
this->ftSlot->bitmap_left,
|
||||||
this->ftSlot->advance.x >> 6,
|
this->ftSlot->advance.x >> 6,
|
||||||
gIndex,
|
gIndex,
|
||||||
textureWidth,
|
textureWidth,
|
||||||
textureHeight,
|
textureHeight,
|
||||||
this->ftSlot->bitmap_top,
|
this->ftSlot->bitmap_top,
|
||||||
this->ftSlot->bitmap_top,
|
this->ftSlot->bitmap_top,
|
||||||
textureHeight - this->ftSlot->bitmap_top,
|
glyphBitmap->rows - this->ftSlot->bitmap_top,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
this->loadGlyphData(glyphBitmap, &this->fontData[charCode]);
|
this->loadGlyphData(glyphBitmap, &this->fontData[charCode]);
|
||||||
@ -487,7 +488,7 @@ uint16_t FreeTypeGX::drawText(int16_t x, int16_t y, wchar_t *text, GXColor color
|
|||||||
}
|
}
|
||||||
|
|
||||||
GX_InitTexObj(&glyphTexture, glyphData->glyphDataTexture, glyphData->textureWidth, glyphData->textureHeight, this->textureFormat, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
GX_InitTexObj(&glyphTexture, glyphData->glyphDataTexture, glyphData->textureWidth, glyphData->textureHeight, this->textureFormat, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||||
this->copyTextureToFramebuffer(&glyphTexture, glyphData->textureWidth, glyphData->textureHeight, x_pos - x_offset, y - glyphData->renderOffsetY - y_offset, color);
|
this->copyTextureToFramebuffer(&glyphTexture, glyphData->textureWidth, glyphData->textureHeight, x_pos + glyphData->renderOffsetX - x_offset, y - glyphData->renderOffsetY - y_offset, color);
|
||||||
|
|
||||||
x_pos += glyphData->glyphAdvanceX;
|
x_pos += glyphData->glyphAdvanceX;
|
||||||
printed++;
|
printed++;
|
||||||
|
@ -166,13 +166,14 @@
|
|||||||
* Font face character glyph relevant data structure.
|
* Font face character glyph relevant data structure.
|
||||||
*/
|
*/
|
||||||
typedef struct ftgxCharData_ {
|
typedef struct ftgxCharData_ {
|
||||||
|
int16_t renderOffsetX; /**< Texture X axis bearing offset. */
|
||||||
uint16_t glyphAdvanceX; /**< Character glyph X coordinate advance in pixels. */
|
uint16_t glyphAdvanceX; /**< Character glyph X coordinate advance in pixels. */
|
||||||
uint16_t glyphIndex; /**< Charachter glyph index in the font face. */
|
uint16_t glyphIndex; /**< Charachter glyph index in the font face. */
|
||||||
|
|
||||||
uint16_t textureWidth; /**< Texture width in pixels/bytes. */
|
uint16_t textureWidth; /**< Texture width in pixels/bytes. */
|
||||||
uint16_t textureHeight; /**< Texture glyph height in pixels/bytes. */
|
uint16_t textureHeight; /**< Texture glyph height in pixels/bytes. */
|
||||||
|
|
||||||
uint16_t renderOffsetY; /**< Texture Y axis bearing offset. */
|
int16_t renderOffsetY; /**< Texture Y axis bearing offset. */
|
||||||
int16_t renderOffsetMax; /**< Texture Y axis bearing maximum value. */
|
int16_t renderOffsetMax; /**< Texture Y axis bearing maximum value. */
|
||||||
int16_t renderOffsetMin; /**< Texture Y axis bearing minimum value. */
|
int16_t renderOffsetMin; /**< Texture Y axis bearing minimum value. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user