| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • Alumin远程访问控制软件 让你…

  • 浏览器操作记录工具Internet…

  • 让Google Deskbar实现简体中…

  • 网页打不开 Windows的Hosts表…

  • windows IE浏览器精典技巧两…

  • 实现了!中文WinXP安装IE7 B…

  • 腾讯TT浏览器V2.03简体中文版

  • 解决微软IE 6.0的三个典型问…

  • QQ2005Beta3超级视频问题解答

  • 解决珊瑚虫QQ不能在Win2003运…

  • Q
    您现在的位置: 我是IT人 >> 应用学院 >> 操作系统 >> Linux >> 教程正文
    Linux 的中文化问题简介           
    Linux 的中文化问题简介
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-15
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

    manual" 书中建议的,在其备完整 locale 支援的 libc 环境下,它其实是等价 於
    include , 但若在其他环境, Xlocale.h 会用 XLOCALE 机制来 取代原有
    的机制。
    上头的 XSetLocaleModifiers 会存环境变数 XMODIFIERS 中取得 X-modifier 的值并
    加以设定之。 XMODIFIERS 的格式为:

    export XMODIFIERS=@category=value

    目前 category 只有 "im" 有用,如 "@im=xcin-cxims", 意指设定 xcin-cxims 作为
    此 X Window 程式的 XIM server。

    设定 fontset (详见 man XCreateFontSet):
    以往 X Window 程式都是呼叫 XLoadQueryFont() 之类的函式来载入并使用字型。 但
    在 Xi18n 的架构下,一个 locale 的 encoding 通常不能光用一种字型来表示。 例如
    我们的 zh_TW.Big5, 半形字需用英文字型 (如 -*-iso8859-1),而全形字需 用中文字
    型 (如 -twmoe-*-big5-0), 因此,我们不能用 XLoadQueryFont() 将这 些字型分别载
    入,而要用 XCreateFontSet() 来载入所需的 fontset。



    ----------------------------------------------------------------------------
    ----

    Display *display;
    XFontSet fontset;
    char *fontset_name, **missing_charset, *def_string;
    int missing_charset_count;

    fontset_name = "-*-iso8859-1,-twmoe-*-big5-0";
    fontset = XCreateFontSet(display, fontset_name,
    &missing_charset_list,
    &missing_charset_count,
    &def_string);


    ----------------------------------------------------------------------------
    ----

    在这□我们可以将 fontset 看成一个「字型物件」,而不要把它看成 "-*-iso8859-1"
    与 "-twmoe-*-big5-0" 这两种字型的组合。当我们要画任何字 串时,我们不用担心要
    画的到底是全型字或半型字,使用 fontset 便能帮我们 处理一切。


    画出字串 (详见 man XwcDrawImageString, man XmbDrawImageString, manXOpenOM)
    平常我们要在视窗画字串时,都会用 XDrawImageString() 等函式,或者用
    XDrawImageString16() 来画双位元的字串 (即全型字)。现在可以我们用
    XwcDrawImageString (用来画 wide-char (wchar_t *) 字串) 或 XmbDrawImageString
    (用来画 multi-byte (char *) 字串) 。不管您输入的字 串是全型或半型,或二者的
    混合,使用者两个函式都能正确处理,同时会根据 您的 fontset 的设定来画字。

    除此之外, X11R6 还有一个 Output Method 机制,用来做多国语系字串输出 (画字
    串),我们可以在程式中呼叫 XOpenOM() 来开启一个 Output Method 。 但这部分我还
    没有仔细研究,有兴趣的朋友可以参考本章开头所列的参考资料 以获得进一步资讯。


    XIM (详见 man XOpenIM)
    XIM 应分两方面来谈,一是 XIM server, 另一是 XIM client。对 XIM client 而言,
    如同 Output Method 一般,我们可以在程式中呼叫 XOpenIM() 来开启一 个 Input
    Method, 同时指定 XIM server 的名字。但这部分我还没有仔细研究, 有兴趣的朋友
    可以参考本章开头所列的参考资料。

    我目前是在写 XIM server 的部分,但我没有直接拿 X Window 的函式来写,而 是拿
    IMdkit lib 来写,以简化整个程式写作。在此我不多作说明了,有兴趣的 朋友可以抓
    取:

    xcin-2.5-19990218.tar.gz

    回去看,□头的 doc/programming/ 目录中有对此稍作说明,同时 IMdkit 的 source
    也整个附在 xcin-2.5 source 中。

    上一页  [1] [2] [3] [4] [5] 

    教程录入:小秦    责任编辑:小秦 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |