mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
GDI: Fix non-ASCII text rendering
This commit is contained in:
parent
d458729f6c
commit
4e8a71d034
@ -142,9 +142,11 @@ static void gdi_render_msg(
|
|||||||
blue = video_msg_color_b * 255.0f;
|
blue = video_msg_color_b * 255.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_strlen = strlen(msg);
|
char* msg_local = utf8_to_local_string_alloc(msg);
|
||||||
|
|
||||||
GetTextExtentPoint32(font->gdi->memDC, msg, msg_strlen, &textSize);
|
msg_strlen = strlen(msg_local);
|
||||||
|
|
||||||
|
GetTextExtentPoint32(font->gdi->memDC, msg_local, msg_strlen, &textSize);
|
||||||
|
|
||||||
switch (align)
|
switch (align)
|
||||||
{
|
{
|
||||||
@ -174,7 +176,7 @@ static void gdi_render_msg(
|
|||||||
SetBkMode(font->gdi->memDC, TRANSPARENT);
|
SetBkMode(font->gdi->memDC, TRANSPARENT);
|
||||||
|
|
||||||
string_list_initialize(&msg_list);
|
string_list_initialize(&msg_list);
|
||||||
string_split_noalloc(&msg_list, msg, "\n");
|
string_split_noalloc(&msg_list, msg_local, "\n");
|
||||||
|
|
||||||
if (drop_x || drop_y)
|
if (drop_x || drop_y)
|
||||||
{
|
{
|
||||||
@ -188,7 +190,7 @@ static void gdi_render_msg(
|
|||||||
for (i = 0; i < msg_list.size; i++)
|
for (i = 0; i < msg_list.size; i++)
|
||||||
TextOut(font->gdi->memDC, newDropX, newDropY + (textSize.cy * i),
|
TextOut(font->gdi->memDC, newDropX, newDropY + (textSize.cy * i),
|
||||||
msg_list.elems[i].data,
|
msg_list.elems[i].data,
|
||||||
utf8len(msg_list.elems[i].data));
|
strlen(msg_list.elems[i].data));
|
||||||
}
|
}
|
||||||
|
|
||||||
SetTextColor(font->gdi->memDC, RGB(red, green, blue));
|
SetTextColor(font->gdi->memDC, RGB(red, green, blue));
|
||||||
@ -196,9 +198,10 @@ static void gdi_render_msg(
|
|||||||
for (i = 0; i < msg_list.size; i++)
|
for (i = 0; i < msg_list.size; i++)
|
||||||
TextOut(font->gdi->memDC, newX, newY + (textSize.cy * i),
|
TextOut(font->gdi->memDC, newX, newY + (textSize.cy * i),
|
||||||
msg_list.elems[i].data,
|
msg_list.elems[i].data,
|
||||||
utf8len(msg_list.elems[i].data));
|
strlen(msg_list.elems[i].data));
|
||||||
|
|
||||||
string_list_deinitialize(&msg_list);
|
string_list_deinitialize(&msg_list);
|
||||||
|
free(msg_local);
|
||||||
|
|
||||||
SelectObject(font->gdi->memDC, font->gdi->bmp_old);
|
SelectObject(font->gdi->memDC, font->gdi->bmp_old);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user