最终要实现的结果是,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为中文,则不显示任何字符。