EZWGL 是由德克萨斯大学的 Maorong Zou先生创建的一套X窗口下的Widgets, 它以 编程方便,功能齐全而深受用户的喜爱. 尤其是它的三维 画板(3D Canvas)Widget Library更是所有Widgets中唯一具有的 功能.
EZWGL的基本组件有
本文描述了对EZWGL的汉化问题. 并推出EZWGL-1.24的汉化版本, 供大家测试. EZWGL的最近版本和在线档案可以在 http://rene.ma.utexas.edu/~mzou/EZWGL/取得.
目前的汉化已支持GB, BIG5, 日文EUC, 韩文EUC 和 ASCII 码混用. 汉化后的软件支持EZWGL的所有组件, 并且支持上述四种编码的输入. 原软件包中所附的 例子都经过汉化测试并已证明稳定.
下面是所有有文字显示和输入的widgets的 屏幕截取.
汉字输入支持
请参见软件test和examples目录下的演示.
Makefile中的缺省设置为GB, 如果使用BIG5, 请改动定义"LANG_SUPPORT" 的值为BIG5_SUPPORT. 如果使用JIS请改动定义"LANG_SUPPORT"的值为 "JIS_SUPPORT". 如果使用KS则改为"KS_SUPPORT".
测试目录(test和examples)下的程序还使用了非缺省字体, HZ_SONG24, 它在include/EZ.h中的定义为"ccs24"(汉字24点阵宋体). 如使用 BIG5, 请把它事先设为相应的字体再编译.
在目录test和examples下的文件为GB演示文件. 如果使用BIG5, 请用 hc-30.tar.gz中的g2b转换.
使用JIS时, 显示的缺省字体为"jiskan16". 在程序中必须使用EUC编码. 目录test下有一文本文件text.txt.euc可用作notebook.c的测试.
使用KS时, 显示的缺省字体为 "-daewoo-mincho-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0" , 目录test下有一文本文件text.txt.ks可用作notebook.c的测试.
在使用汉化后的软件时, 基本不用改动您原来的代码, 便可以 编译. 或把原来的标签菜单等等进行中西文并用.
另外, 还附加了对汉字字体的配置项. 以方便使用非缺省 汉字字体. 凡使用西文字体的地方可仿照设置中文字体.
例如: tmp = EZ_CreateLabel(toplevel, "水平和竖直衬边(Padding)"); EZ_ConfigureWidget(tmp, EZ_FOREGROUND, "red", EZ_TEXT_LINE_LENGTH, 80, EZ_HEIGHT, 0, EZ_FONT_NAME, "-Adobe-Times-Bold-I-Normal--*-180-*-*-*-*-*-*", EZ_HZFONT_NAME, "ccs24", 0);
文本区域装入的注释文件可以使用.hzfont
来改变汉字的缺省字体.例如,
.default
.font "-Adobe-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*"
.hzfont "ccs24"
.fg "#ff0000"
Here is 24 point Song Font. 本区域的汉字字体
为24点阵宋体.
在文本区设置区域字体的函数有改变,现在的每个字符对应的
Property都有两种字体ID.
原来: EZ_TextSetRegionFont(Widget *textw, char *font);
现在: EZ_TextSetRegionFont(Widget *textw, char *fontname, char *hzfontname);
有些内部函数的参量也有改变, 请使用时注意.
下面是已知的问题, 请用户在使用时把您发现的其它问题 告诉我, 电子邮件 yumj@sun.ihep.ac.cn.
增加下列函数来计算和显示混合字符串
解决方案: 在输入时把按键码(KeyCode)送到汉字输入服务器, 服务器以ClientMessage形式送回到输入窗口(Window ID). 如果服务器未启动或处于disable状态, 则以ClientMessage形式 送给自己.
增加下列函数来支持汉字输入