[讨论] 如何在 Mac OS X 使用自制的行列30输入法

楼主: Ice9 (又到了属于我的季节)   2015-11-14 21:37:48
大家好!
因为内文有点多,因此我先将大网列出来。
1、前言
2、做法
3、问题
==前言==
数个月前,从 Mac 版版主那儿得知 Mac (Yosemite) 中可以自制表格式的
输入法。因此小弟便动念将 OpenVanilla 中的 Array30.cin 档,依据
Apple 官网指示,
https://support.apple.com/kb/PH18456?locale=en_US
更动为符合要求的样式。以后或许可以在增加让苹果内建行列的可能性。
==做法==
因为原档有约 81000 行的资料,在我的老电脑上使用任何的纯文字编辑器
都打不开,程式当场当给我看,只能强制关闭。所以,我改用 Terminal 以
Vim 打开并编辑。
首先是将原来表格档中的说明给删除,只留下 %chardef 中间的定义区内
容。然后,再以 vim 排序指令让整个档案依内建的规则排列,这样才能知
道哪些地方要更动。
由于要将原本许多行、相同输入键值的对应字缩成一行,并以 comma(,) 分
隔输出的中文,我只会一行行地手动将多行并为一行。除非是五行以上相同
key 的字,才会用到 vim 的取代功能以加快编辑速度。前后大约花了一个多
月的空闲时间才弄完。最后大约有 65000 行。
样子如下图:
http://i.imgur.com/jKvIFO1.png
因为小弟不熟相关的 License,所以在把原来的说明 (%gen_inp 和 %ename
之间的内容)重新塞回去之后,只加上我简单的更改说明。如有未尽之处,
还请指教。
依照 Apple 的说明,OS X 也支援 cin 档格式的输入法表格。我原本还以
为,只要单纯地让电脑吃 OpenVanilla (1.10.11) 中的 Array30.cin 就可
以了。结果根本不可行。所以,才会有以上的麻烦事。
除了将多行并一行,还得以官网说明增加必要文字,并删除原始 cin 档中
的诸多定义之外,只单纯在这时候将内容另存成新的 cin 档还不行——我就
不晓得官网所谓能吃 cin 格式到底是什么意思——得要将副档名改成
inputplugin,而且将编码改成 utf-16。否则,OS X 中默认要处理输入法表
格档的 RegisterPluginIMApp 程式根本就不处理它。
更动方式是按照网络上其他人建议的 Terminal 下 iconv 指令更改。
==问题==
1) 选字。
新输入法不像在香草行列时可以随键值出现待选字,还得自己键值输入
完毕后按空白键,才能看到待选字出现。当然,这对于打得熟的字是没
多大问题。问题在于碰到不熟的字时,会增加了傻愣在那里的时间。还
有就是新输入法的待选字不像在香草上打的那么多。这对我这种平均一
秒钟才打一个字的人而言不是什么大问题,还能接受。如下图:
http://i.imgur.com/HpelLaG.png
2) 键位。
我习惯英打时使用 Dvorak 排列,而非一般的 QWERT。在自制行列输入
法加入为待用输入法的时候,它会将键值对应为 Dvorak,而不是 QWERT。
如图:
http://i.imgur.com/RKrFjKO.png
但是之前我在 Dvorak 和香草行列间切换的时候,香草行列就自动是
QWERT 的键位了。我不需要再另外设定。而自制行列键位的却死咬著
Dvorak 排列不放。我得另外将美式键位加入待用输入法,并完成至少
一次的〔美式-自制行列〕切换,那么自制行列才会自动排成美式键位。
如图:
http://i.imgur.com/sOIwIb4.png
但恼人的问题也来了,当我需要输入外文时,我习惯用 Dvorak 啊。切
换模式改为〔Dvorak-自制行列〕时,自制行列就又自动排列成 Dvorak。
而 Apple 那个网页并未教人怎么修正这种问题,于是,目前为止,我只
成功了半步,有点改心酸了的感觉。目前只能搁在一旁。但对一般美式
键位的使用者来说,应该可以胜任平常使用。
我想请问大家,我应该怎么做才能自如地在〔Dvorak-自制行列〕中切换,
一如我在〔Dvorak-香草行列〕时的切换一样呢?
写的有点长,感谢大家能看到这里。
作者: gontera (老刀)   2015-11-15 00:11:00
当初在 Mac OS X 10.2 的时代,我就曾制作 array30.cin给系统内建的输入法软件 (TCIM),可惜有许多缺点没能解决。后来知道有 OpenVanilla 开放源码计画后,就完全投入协助 OV 开发了。
楼主: Ice9 (又到了属于我的季节)   2015-11-15 08:03:00
感谢刀兄。我在cin档的说明处也看到你的更动说明了。
作者: gontera (老刀)   2015-11-15 11:17:00
array30.cin 最新版本是0.75,不知你是用哪一版?
楼主: Ice9 (又到了属于我的季节)   2015-11-16 09:04:00
脑中一下有很多草泥马飞过……我是用香草1.10.11内的cin档,里面显示的是 v0.52 2008-10-27。不想再继续改了……唔,开错档了,是v0.70 2012-12-01 香草是1.0.11 2014-10-29好吧,我口嫌体正直,还是会继续改的……刚刚再次确认了一下版本,我是用 v0.52改的……版本差太多了
作者: gontera (老刀)   2015-11-16 19:31:00
我 blog 有 0.75 版的连结好请自行下载使用
楼主: Ice9 (又到了属于我的季节)   2015-11-17 08:36:00
已服用。谢谢。关于键盘排列方面的问题,刀兄可有建议?
作者: gontera (老刀)   2015-11-17 20:52:00
如果你是用Dvorak键盘,应该得再自己加工cin
楼主: Ice9 (又到了属于我的季节)   2015-11-18 17:05:00
这方法听起来非常恐怖。我再想想其他办法好了。

Links booklink

Contact Us: admin [ a t ] ucptt.com