-
基于hhww改进版本的传统五笔输入法
资源介绍
基于hhww改进版的传统五笔输入法
在hhhhwwww改进版输入法(生成器)的基础上,修改了背景颜色、取消了Ctrl+M换码、取消了切换码表的显示颜色、修改了“\”为“、"等细节完善!
此五笔输入法是用hhhhwwww改进的输入法生成器制作而成,是他的开拓性的工作,使本输入法臻于完美。
此五笔输入法安装包集成的输入法设置工具imetool是由Silence开发的,此工具可以方便地调节输入法的外观和操作参数。
在此向hhhhwwww及Silence致谢!
=============================================================
一、本输入法改进了哪些方面?
1、支持生成大词库、支持码表中存在标点符号
2、可以用Shift直接切换中英文状态
3、启动初始为中文状态
4、小键盘的 “.”不会变为“。”
5、可选用取消空码锁定键盘
6、“动态码长”,即唯一码自动上屏。唯一的三码词组或全码单字不上屏。
7、汉字上屏后,编码输入框同时消失
8、可选用 ;‘ 选二三重码
9、可选用 ,。 翻页
10、设置项时,编码可以上屏
11、,./;即使为码元,第一码也按标点输出
12、更正设置“插空格”后输出错误等一些BUG
13、更正批量造词的BUG
14、加入六个选项,更*的定制输入习惯
15、两码及以上才显示词组
16、UNICODE版可细分输出字符集
17、支持便携特征,可在注册表中定义码表目录
18、支持Vista中IE7保护模式
二、使用方法
1、本输入法安装包可用winrar打开及修改
2、使用安装包内的ImegenU.exe时(XP环境),请先将sw.ime复制到windows\system32目录,并改名为ImegenU.tpl
3、使用安装包内的Imegen9x.exe时(win98环境),请先将sw9x.ime复制到windows\system目录,并改名为Imegen.tpl
20081201更新:
*修正反查编码一定要启动一次才生效的BUG
*修正设置“繁体输出”和“词组联想”程序崩溃的BUG
*优化程序流程。原版每打一个字都会读写一次MB,频繁读写硬盘,效率很低。
*CTRL+M 切换字符集失效调整为 CTRL+/
20081125更新:
*修正在Vista中,在其它程序调用过后,IE7调用本输入法时出错的Bug
20070925新性:
+ 加入便携特征,可在注册表中定义码表目录
+ 加入对Vista中IE7保护模式(UAC)的支持
+ 集成一个安装程序,方便输入法安装
注:
1、关于NTFS分区中Guest用户不能使用问题,用以下命令设置码表权限:
cacls "%windir%\system32\我的输入法.mb" /t /e /c /g users:w
2、在Vista中IE7(UAC)下不能使用问题,用以下命令设置一下码表级别:
icacls.exe "%windir%\system32\我的输入法.mb" /SetIntegrityLevel Level src="./images/smilies/sweat.gif" border=0 smilieid="10">
3、自定义目录码表目录的例子,输入法为winwb86:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"winwb86.mb"="c:\\temp"
(保存为reg文件,导入)
4、如果不想通过注册表,而在文件中强制定义码表目录:
第一步:0x023C58:EB 00 改为 EB 66
第二步:0x0241D0:Unicode码的C:\Temp 改为自设目录,最长24个字符
20061205新性:
* 更正有查询码时(如五笔czol)空码时,锁定键盘的BUG
* 取消强制中文标点,即:CTRL+SPACE 关闭再打开输入法保持原状态
+ CTRL+,调整为临时切换 “繁体输出”
本版支持:一些网友的定制要求解决方法:
1、定制候选框颜色方法:
0x1EB60 : 00005500 00800000 00000000 分别对应“候选、重码、联想”状态的颜色,可以自行修改。
2、字符集只要GB和GBK集方法:
第一步:用eXecope.exe等工具隐藏GBK、GB18030(Unicode作为GBK)
第二步:0x143DE 处 833803--->>>833801
第三步:0x0296F 处 E9FC800200---->>>E90F810200
3、“○”在GB也显示问题方案:将它放入自定义词组中
20060915新性:
* 修正BUG:首次启动默认为 GB2312
* 修正BUG:自定义词优先显示不再吃词
* 修正BUG:翻页不再出错
+ 自定义词组不受 “字符集” 限制
+ “反查编码”可以反查自身了
20060403版:
1、增加“四码以上推字上屏”功能:最大码长大于4时,如果5码有字/词,则显示,否则首个重码上屏
2、自定义词组优先显示:
3、似乎解决了“翻页锁定程序”的BUG:根据流程,乱改一处代码,不知是否有用。
051130版新性
+ 可以直接设置 Space、Enter
+ 面板颜色提示当前输出字符集
+ 增加输入繁体功能
+ 可選重、空碼提示音
* 有候選字時,屏蔽 Shift+符號(解决BUG临时方案)
* 更正Enter输出编码的小BUG
051102版新性
本版为UNICODE版
* 更正排序时出错的BUG
* 更正编译较大码表出错的BUG
050908版新性
* 更正反查编码BUG(提示:注册表中可设置反查自身编码)
* UNICODE版,更正编译包括GB18030字的码表时组词编码错
乱的BUG
(导出时GB18030字所带的组词码是垃圾,不用理会)
* 更正SPACE=1时偶尔会锁键盘的BUG
* 完善汉字上屏编码框同时消失功能,智能检测是否设置
“反查编码”,没有设置时生效
050831版新性:
+ 增加 GB/GBK/GB18030/UNICODE切换
* 完善=0编码上屏功能,空码时也有效
050826版新性:
* 取消小于最大码长有重码时,一次空格上屏
( 原版有此功能,注册表中直接设置=1即可 )
050824版新性:
* 更正CTRL+SHIFT切换有时会转入英文状态的BUG
* 更正批量造词保存时出现乱码的BUG
* 加入自定义词库导出功能
* 设置=0时,编码上屏
* 完善“动态码长”功能。小于最大码长而无后继码,重码
时自动转为候选状态,部分代码来自LoveEB
二、您还可以自和修改输入法ime文件(需要一些软件方面的知识,请确认您能看懂下面这些再去做)
输入法ime文件的可选修改项:
======================================================
恢复 \ 号输入“、”問題:
6683FF2F750C6A00680130 -> 6683FF5C750C6A00680130
==============================
改为右Shift键问题:
要修改两处:2A -->> 36
:73914DA8 807D122A cmp byte ptr [ebp+12], 2A
:73914DE0 807D122A cmp byte ptr [ebp+12], 2A
==============================
修改为两shift切換:
122A --->>> 0C10 搜索一下,有兩處地方要改。
==============================
笔记本电脑特殊标点转换:
[]--->>>() , |--->>>: , ` --->>> .
0x14143:0F85B76C0100--->>>0F856F6C0100
==============================
将检索字符集“GB2312”与“Unicode”的颜色对换:
7392B890 0FB605 BC1E9273 movzx eax,byte ptr ds:[73921EBC]
7392B897 48 dec eax
7392B898 76 25 jbe short winwb86.7392B8BF
7392B89A C70424 0000FF00 mov dword ptr ss:[esp],0FF0000 //gbk之蓝色
7392B8A1 48 dec eax
7392B8A2 76 1B jbe short winwb86.7392B8BF
7392B8A4 C70424 00000000 mov dword ptr ss:[esp],0 //gb2312之黑色
7392B8AB 48 dec eax
7392B8AC 76 11 jbe short winwb86.7392B8BF
7392B8AE C70424 FFFF0000 mov dword ptr ss:[esp],0FFFF //gb18030颜色
7392B8B5 48 dec eax
7392B8B6 76 07 jbe short winwb86.7392B8BF
7392B8B8 C70424 FF000000 mov dword ptr ss:[esp],0FF //unicode之红色
7392B8BF - E9 1B33FEFF jmp winwb86.7390EBDF
======================================================
解决切换到GB18030字符集时多重候选因范围检查可能造成的翻页死机问题(如海峰五笔输入fggg,oitk等编码):
0x03206: 833D BC1E 9273 0074 3483 --->>> 833D BC1E 9273 0472 3483
================================
开启2~9选字自动调频方法:
0x10E28:83FB397704--->>>E9539F0100,设置“外碼提示”且取消“手动调频”时生效
关闭2~9选字自动调频方法:
0x10E28处E9539F0100改为83FB397704
选定“Ctrl+序号调频”时会屏蔽“自动调频”
=================================
颜色還原问题:
1.从系统system32目录里找到生成的ime文件,用eXeScope软件把有关位图替换为原版灰色系位图。
2.用WinHex软件替换ime文件中的以下内容:
C745D403000100C745F01D000000 --->>> 6A01C745D403000100FFD38945F0
BF2602BB00 --->>> BF2000CC00
3.调整候选框背景色深浅(有5处):
F0F0F0 (hhhhwwww设置的浅灰白色)--->>>C0C0C0 (传统灰色) 或 D8D8D8 (两者之间)。其中,0x92F4处为候选框背景色,0x9526,AF52,B0A9,E6E2几处共同决定输入框背景色。
================================
取消Ctrl+M调整字符:0x141CD 的7408--->>>0xEB08
:73914DBE 807D1232 cmp byte ptr [ebp+12], 32
:73914DC2 7513 jne 73914DD7
:73914DC4 8B5D14 mov ebx, dword ptr [ebp+14]
:73914DC7 8A5B11 mov bl, byte ptr [ebx+11]
:73914DCA F6C380 test bl, 80
:73914DCD 7408 je 73914DD7 ------>>>>> EB08 jmp 73914DD7
:73914DCF E804020000 call 73914FD8
:73914DD4 EB2A jmp 73914E00
:73914DD6 90 nop
==============================
关于:默认安装时是unicode字符集问题
用exescope看看资源 RCData --》》IMECHARAC(偏移0x22DA4):目前是EE 04 。
用“计算器”将“EE”用二进制查看,共八位每一位分别对应设置中的每一个选项。扩展选项只有第四第八项可以设置。
将04改为00即是Unicode
=============================
Space参数就是空格是否强制上屏:
例如:两个都是三码的字,并且重码。如果Space=0,打完三码后按了空格后就出现重码框。
如果Space=1,打完三码后按了空格,第一重码就上屏,不会出现重码框。
在注册表中设置即可
==============================
当开启了动态码长之后,若码表中的MaxCodes设为超过4码,则有些五笔四码字词不能自动被顶上屏。(在重码较多时发生,重码少时未发现此现象。)
正常,原版即是这么处理。原来的程序员定义“SPACE直接上屏”的标志可能也与之有关
============================
输入法设置工具 IME TOOL http://www.mympc.org
声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。
IME TOOL 支持中英文界面,适用于 Win98/ME/2000/XP/2003 操作系统,目前不支持 VISTA。
主要功能:
一、动态调整输入法顺序而无须重启。
二、切换输入法指示器和高级文字服务方式。
三、任意设置输入法热键
Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以*地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。
四、注册表错误项目修正
1、自动删除输入法列表中不存在的输入法项目,位置:
HKEY_CURRENT_USER\Keyboard Layout\preload
2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。
3、自动删除输入法从列表中删除后可能遗留的激活热键设置,位置:
HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys
五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。
六、安装删除输入法
IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。
IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。
七、其它功能
打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。
另外修正了老版本存在的一些小 bug。
局限:
1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。
注意:
1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置中会无法正确显示,但不影响使用。
2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。
3、在 IME Tool 中刚添加的输入法不能立即设置属性。
4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。
命令行参数说明:
/? /h /help 显示此帮助
/on 启用 internat.exe 或 ctfmon.exe
/off 禁用 internat.exe 或 ctfmon.exe
/internat 输入法指示器风格
/ctfmon 高级文字服务风格
/status:<0/1> <0>: 关闭输入法状态条,<1>: 显示输入法状态条
/caps 用 Caps 键关闭大写
/shift 用 Shift 键关闭大写
/switch:<0/1/2/3> <0>: 不使用切换语言和切换键盘布局热键
<1>: 仅使用切换语言热键
<2>: 仅使用切换键盘布局热键
<3>: 同时使用切换语言和切换键盘布局热键
: 切换语言热键使用Ctrl+Shift
: 切换键盘布局热键使用Ctrl+Shift
/hotkey:<1/2/3/a/b/c>,[hotkey] 指定输入法热键
<1/2/3..>,指定第1、2、3.. 个输入法的热键
指定打开/关闭输入法的热键
指定全角/半角切换的热键
指定中英文标点切换的热键
如果留空则删除热键
[hotkey] 热键值,如:ctrl+space
/add1:,[hotkey] 按名称添加输入法到列表
/add2:,[hotkey] 按文件名添加输入法到列表
/add3:,[hotkey] 按 ID 添加输入法到列表
/del1:<1/2/3> 按顺序从列表中删除输入法
/del2: 按名称从列表中删除输入法
/del3: 按文件名从列表中删除输入法
/del4: 按 ID 从列表中删除输入法
/install:[name],,[hotkey] 安装输入法
/uninstall1: 按名称从注册表删除输入法
/uninstall2: 按文件从注册表删除输入法
/uninstall3: 按 ID 从注册表删除输入法
/move1:, 按名称调整输入法顺序, 为调整后的序号,下同
/move2:, 按文件名调整输入法顺序
/move3:, 按 ID 调整输入法顺序
/load: 从配置文件调入参数
[hotkey] 格式: Ctrl+Shift_8_Left,如果同时使用左右键,则可以写为:
Ctrl+Shift_8。
注意:要在命令行参数设置“/”和“,”作为辅助热键时,为避免和参数前导符和分隔符冲突,应写为“?”和“<”,如:ctrl_?_right、alt_<
要安装一个输入法到注册表时,须手工复制文件,xx.ime 文件必须复制到系统目录中。使用 /install 参数安装时,xx.ime 文件名前不能加路径,如:
imetool /install:中文(简体) - 智能 ABC,winabc.ime
欢迎测试并反馈 bug。
更新:
2.8.0 版,修正“APPS”(右键菜单键)热键误设为右 Windows 键的问题。
2.7.9 版,修正热键选择为“无”,确定后程序非法操作的问题。
2.7.8 版,修正在输入法风格里连续点击同一个模式单选框时,输入法切换热键会来回切换问题。
2.7.7 版,修订网友发现的两处错误。
2.7.6 版,改进某些特殊输入法名称显示不正确的问题(如微软拼音2007)
2.7.5 版,刚刚发现增加了修改输入法名称后带来个输入法列表显示可能会错位的问题,再修订……
2.7.4 版,主要是增加了繁体显示界面;修改 internat.exe 和 ctfmon.exe 在注册表中的值,以和系统保持一致。
2.7.3 版,圣诞节更新 IMETool 至 2.7.2,此版本语句变化较多。主要是增强对 VISTA 的兼容性;改进输入法列表中输入法名称的显示方式;增加自定义输入法名称功能(仅对高级文字服务模式有效,点击列表中输入法名称或按 F2 进行修改,如应用后看不到效果,注销或重启即可);修订在 2003 下列表可能不显示的问题,修订一些其它 bug。
2.7.1 版,修订重复热键可能无法取消的 bug。
2.7.0 版,修订热键重复提示的 bug。
2.6.9 版,增加一种修复注册表重复项目功能。
2.6.8 版, 增加三个命令行参数,用以调整输入法顺序。改善输入法状态条显示问题。增加一些状态条显示信息。帮助文档改用 utf-8 格式保存。
2.6.7 版,修订上一版本在 2003 下无法正常显示输入法列表的问题(此问题是由我使用的新版本控件bug引起)。
2.6.6 版,增加两个命令行参数,修订以命令行方式添加输入法时在某些情况下添加多余输入法的问题。
2.6.5 版,使高级文字服务和输入法指示器风格下的输入法切换热键保持一致,文字提示稍做调整,便于用户理解。增加常见问题说明。
2.6.4 版,程序内部一些调整。
2.6.3 版,程序内部一些调整。
2.6.2 版,解决某些情况下可能会使输入法指示条消失的问题(注:经仔细测试,此问题并未解决,具体原因不明,待研究)。
2.6.1 版,实现了带参数运行时完全隐藏主界面。
2.6.0 版,修复使用 /install 参数时在某种情况下会运行出错的 bug。参数中的分隔符由竖线改为逗号。
2.5.9 版,将自动复制 internat.exe/indicdll.dll 的源路径由当前路径改为 imetool.exe 所在路径。在程序左上角菜单中增加命令行参数提示。
2.5.8 版,修改键盘定义对话框丢失下拉列表问题(真是莫名其妙),一些细节调整。
2.5.7 版,修订其它切换热键的设置按钮文字不会随左边的下拉列表切换的 bug。
2.5.6 版,应网友要求取消气球提示,改为状态栏提示。
2.5.5 版,增强对语言栏丢失时的修复功能(有时需要注销后方可生效)。
2.5.4 版,修订设置热键时小键盘某些键值不对的问题。
2.5.3 版,修订启动时检测输入法风格可能不对的 bug。
2.5.2 版,本修订添加输入法时图标显示的一处 bug。高级/从注册表删除输入法时可在输入法显示框中用鼠标滚轮切换不同的输入法。
2.5.1 版,修订一些程序上的 bug,添加关于信息。
2.5.0 版,支持命令行参数、支持从脚本调入参数运行。
2.4.5 版,修订安装输入法时导致出错的问题。
2.4.4 版,继续修订 bug。
2.4.3 版,修正 2.4.2 版未完全修正的问题。
2.4.2 版,修正点击应用按键后一些显示状态错位问题。
2.4.1 版,修正热键设置窗口状态显示不正常问题。
2.4.0 版,重新调整界面布局。增加应用按钮。安装 ime 文件时可以自动获取文件信息做为输入法名称。调整程序处理流程。
2.3.1 版,更新:大写关闭键设置后可立即生效;在输入法列表的不同列上双击可分别打开属性和热键设置。压缩包中的 internat.exe 做了修改,在其右键上选择属性可打开 imetool。另外修订一些 bug。
2.3.0 版,增加安装删除输入法功能;增加一些项目的浮动提示;增加可安装输入法(语言)的范围;修正一些小的 bug。改变版本号的命名方式便之规范化。
2.22 版,一些内部项目的调整。
2.21 版,修订会误删除某些注册表项目的 bug。
2.2 版,可以将排列第一位的输入法立即设为默认输入法而无须重启。
2.12 版,修正输入法打开关闭等热键无法取消的 bug。
2.11 版,修正某些情况下程序会无法运行的 bug。
本压缩包中附带的 internat.exe 和 indicdll.dll 为从 Windows 2000 Pro 简体中文版中提取并修改过,适用于 XP/2003。
- 上一篇: 微软 OCR 引擎 MODI 的 Delphi 实例源码
- 下一篇: 老旧windows输入法生成器