SDL在ubuntu终端显示中文

最终要实现的结果是,ubuntu字符界面情况下,在屏幕的特定位置上输出汉字。

开始找到文泉驿字体,并且已经安装了,但是这些字体是点阵方式实现,还需要在ubuntu配置文件中做些修改,暂且放弃这种做法(孰优孰略我未考证)。

之前只是知道汉字在windows系统和Linux系统的编码方式不一样,前者为Unicode编码,后者为UTF-8编码,开始还以为如果要使用windows系统的字体文件(即ttf格式文件)还要经过某种转换,实际不用,只要拿来用就行了。其实是这样的,如果在windows下编写的程序拷到Linux系统来用,则显示的汉字会出现乱码,如果汉字是在Linux系统下输入(或者是粘贴)都不会出现乱码,因为编码冲突了。

说来说去,其实很简单,就是SDL的SDL_ttf库一个函数:SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Colorfg) ;test参数的字符串可以使中文。我之前用的函数是:SDL_Surface *TTF_Rendertext_Solid(TTF_Font *font, const char *text, SDL_Colorfg) ;如果test为中文,则不显示任何字符。

补充:我得系统版本是ubuntu 10.04,默认没有中文的字符编码。添加中文字符编码的方法参见文章:

ubuntu字符界面显示中文问题


你可能感兴趣的:(Linux,SDL,中文,ubuntu,终端,ttf,windows,linux)