[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 如何找出一个汉字所对应的字体



On Fri, Apr 12, 2002 at 02:15:29AM -0700, Chen sheng wrote:
> 我是为了在OpenGL中显示汉字, 才要处理字体的.
> 如果你对OpenGL感兴趣, 我不妨说得具体一点.
> 
> OpenGL是这样处理字体的, 例如要显示ASCII字符,
> 先用glXUseXFont从字体font中取出前127个字符的字形,
> 放到以listBase开始的地方:
> glXUseXFont(font, 0, 127, listBase);
> 
> 然后如果我要显示字符'A', 就用glCallList显示'A'所在
> 位置的字形. 因为'A'=65, 'A'所在位置为listBase + 65,
> 所以用:
> glCallList(listBase + 65);
> 
> 显示汉字也是类似的, 只不过glXUseXFont要把所有的汉字
> 装载进去.

查了一下,你这好象是使用glx处理汉字,我在google上看到
有freetype的opengl binding,应该比glx容易用,你可以看
一下。

> 
> 以上这种显示汉字的方法是我目前正在做的, 缺点是我要
> 自己处理汉字. 还有一种方法就是利用XmbDrawString把
> 一个mb_string做成bitmap, 再通过glBitmap显示出来,
> 这样一来所有处理汉字的工作都由XmbDrawString完成了.
> 不过我没有试过, 因为我不知道如何把mb_string生成
> bitmap. 有谁可以告诉我吗?
> 

Xlibc 的 drawable 可以是一个pixmap, 所以你自己先要一块
pixmap,然后在上面写字就行了。具体的看xlibc的手册。

pango 对各种文字支持更多,但知道有没有opengl的renderor.
可能没有。

-- 
hashao|       五色令人目盲;五音令人耳聋;五味令人口爽;驰骋畋猎,令人
hashao|     心发狂;难得之货,令人行妨。
hashao|       是以圣人为腹不为目,故去彼取此。


-- 
To UNSUBSCRIBE, email to debian-chinese-gb-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: