我想在我的屏幕上打印一些文本,我真的需要使用 hello_font(它必须打印在 omxplayer 视频上方,它现在正在工作)。我通过这个显示 RSS 提要,但绘制字符的功能不适用于特殊字符(UTF8)。
我是法国人,我们的字母表包含很多,所以我想知道这个问题是否有任何解决方案。
我在 /opt/vc/src/hello_pi/hello_font/main.c 中使用简单的 main.c
我认为问题出在这里:
/*****************************************************************************/
int32_t graphics_resource_render_text_ext( GRAPHICS_RESOURCE_HANDLE res,
const int32_t x,
const int32_t y,
const uint32_t width,
const uint32_t height,
const uint32_t fg_colour,
const uint32_t bg_colour,
const char *text,
const uint32_t text_length,
const uint32_t text_size )
{
/*
* FIXME: Not at all optimal - re-renders each time.
* FIXME: Not UTF-8 safe
* FIXME: much better caching (or any caching)
*/
VCOS_STATUS_T rc = gx_priv_render_text(
&display, res,
x, res->height-y-text_size, width, height, fg_colour, bg_colour,
text, text_length, text_size);
return (rc == VCOS_SUCCESS) ? 0 : -1;
}
所有文件都在这里: https ://github.com/adafruit/rpi-firmware/blob/master/vc/sdk/opt/vc/src/hello_pi/libs/
gx_priv_render_text 函数在 font.c 文件中。
也许通过使用主体使用的字符 (é:à:ç:è) 创建自定义 TTF 字体。
感谢