我想在屏幕上打印一些文本,我真的需要使用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字体。
谢谢
答案 0 :(得分:0)
好吧,所以我刚刚创建了一个自定义的TTF字体,我在[0:127] ascii范围内更改了一些未使用的字符,例如'é'替换'{',然后我编写了一个脚本来替换每个'é'在我的RSS Feed中按“ {”。
此解决方案仅适用于少数几个角色,因为我不得不删除其他角色