LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1436|回复: 21

XFT2 支持 patch for ebf-fcitx 1.8

[复制链接]
发表于 2003-2-20 23:07:16 | 显示全部楼层 |阅读模式
说明一下,出于个人习惯,我会使用到一些含有 ctrl+shit 的shortcut, 所以我不希望输入法占用这个组合键,我修改了代码,ctrl+shit 不能激活输入法,但用 ctrl+space 激活输入法后,照样可以使用 ctrl+shit 在各种输入法间切换

当然,这个 patch 还有诸多不足,如:
很多应该是可以定制的设置是硬编码进去的
每次向屏幕写文字时,都要调用 xftdrawcreate 等

在使用前,请确保你的系统已经安装了 Xft2, 且配置正确,可以使用(如 在KDE中是正常的,就可以了)


希望对大家有用, 特别是那些像我一样,没有装 xtt 中文字体的 linuxer

(这个是刚刚根据 yuking 的指点修改过的 patch ,速度应该有所提高)
发表于 2003-2-20 23:17:20 | 显示全部楼层
非常感谢。
发表于 2003-2-21 09:37:15 | 显示全部楼层

--

先来看一下。我的代码是用utf-8实现的,因此无需每次调用XftDrawCreat
 楼主| 发表于 2003-2-21 13:20:29 | 显示全部楼层
我是用的 XftDrawString32 实现的,通过 mbstowcs 转换来的,我就是不知道如何才能避免调用 XftDrawCreat

可否指点一下
发表于 2003-2-21 14:48:26 | 显示全部楼层
好想看看patch啊,在网吧真的太不方便了。
发表于 2003-2-21 15:06:14 | 显示全部楼层

--

我看了您的代码,虽然不太一样,但我认为实质是一样的,也许您的更好一些。您可以将xftDraw设置为全局变量,然后在某个函数中将其初始化。在OutputString中先用XftDrawChange将其drawable改变成OutputString中的那个window参数就行了。
我就是这样实现的,将您的代码放到我的程序中,效果完全一样。还要谢谢您,本来我还不知道有mbstowcs,因此才想到调用iconv转换为utf8来实现。
 楼主| 发表于 2003-2-21 16:40:27 | 显示全部楼层
最初由 Yuking 发布
您可以将xftDraw设置为全局变量,然后在某个函数中将其初始化。在OutputString中先用XftDrawChange将其drawable改变成OutputString中的那个window参数就行了。

多谢指点

在看那些XFT 函数时,看到了 XftDrawChange ,想到可以应用,但是我觉得是不是可以做一个 数组或链表 来保存所有的 XftDraw (我认为应该是有限个的),我不知道这个方案和你所说的哪个更好些

一点个人想法,请指点
 楼主| 发表于 2003-2-21 17:08:42 | 显示全部楼层
最初由 tram 发布
好想看看patch啊,在网吧真的太不方便了。

:)  希望有空时,你可以将我的修改合并入你的官方版本中
发表于 2003-2-21 18:19:12 | 显示全部楼层
谢谢你!对了,你也是用二笔的吧?你觉得现在二笔输入时还有哪些地方需要改进的?我刚加的那个直接输入逗号和句号你觉得有没有必要再改改?
最初由 liuspider 发布


:)  希望有空时,你可以将我的修改合并入你的官方版本中
 楼主| 发表于 2003-2-21 20:22:59 | 显示全部楼层
是的,我是使用 二笔的 :)

我觉得在以下方面可以考虑改进:
在二笔时,如果输入的字符超过4个,是不是可以考虑将其识别为英文
拼音输入法中的 context 中加入用户已经输入而还没有确认的字母
我的习惯是 ctrl+shift 做 shortcut ,所以不希望其成为 中英文切换键,正如我的补丁中修改的那样
为了增加程序的可读性,我想最好将程序中用到的,比如 输入框的 大小,作为变量,而不是直接写数字
最后一个的工作量比较大:将所有的配置信息保存到 配置文件中,最好不要硬编码进去(包括上一条中提到的信息)

一点个人看法,不一定合适 :)

不好意思,我还不知道如何直接输入句号,
我还不太明白,如何才能通过拼音反查二笔,请指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表