cspyb 发表于 2006-4-20 10:16:30

关于linux-2.6.16\fs\nls下的*.c文件

最近研究linux内核汉化,研究到此文件夹甚是费解。
1。看了其中和汉字有关的c文件:nls_cp936.c,对其中代码在中文显示中所起的作用很是难以理解,它和所谓的字体文件又有什么关系?



2。如果我想在linux下加入新的输入法,比如蒙文输入法,那么里面当然没有相应的.c文件,那我该怎么办呢?



3。linux 是如何调用字库来显示汉字呢?
相应的字库文件又在哪能找到?


愿能与有识之士共同探讨!!!!

VirusCamp 发表于 2006-4-20 10:57:23

kernel 源码中没有显示汉字的东西.

显示汉字都是 zhcon cce 等外挂的任务.

非要在 kernel 级显示汉字, 只有 unicon 了.

cspyb 发表于 2006-4-20 17:37:51

To VirusCamp:

下载了 unicon

看了unicon-3.0.3/fonts里面的文件,big5文件夹下,里面的encode-big5.c和font_big5_16.h作用不能理解,特别是h文件,他的作用到底是什么呢?
代码部分如下:
static unsigned char font_big5_16 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0c, 0x1e, 0x1e, 0x0c, 0x04, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x04, 0x06, 0x07, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0x08, 0x08, 0x07, 0x00, 0x00,
。。。
还望赐教
                           cspyb
页: [1]
查看完整版本: 关于linux-2.6.16\fs\nls下的*.c文件