鐵之狂傲

 取回密碼
 註冊
搜尋
列印 上一主題 下一主題

自製輸入法教學

[複製連結] 檢視: 5593|回覆: 1

切換到指定樓層
1#
把下列虛線間用記事本存成.TXT就行了,在用通用輸入法編輯器來裝
這個輸入法的目地是為了方便讓人了解通用輸入法設定的結構
以後就能自寫輸入法了,

----------------------------------------
/s aABCDEFGHIJKLMNOPQRSTUVWXYZ
/S --
/S \\
/S ,,
/S ..
/S ;;
/S '’
/S [〔
/S ]〕
/S ==
/S //
/S 00123456789
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
- -
, , <
. . >
; ; :
' ’ ”
[ 〔 {
] 〕 }
= = +
0 0 )
1 1 !
2 2 @
3 3 #
4 4 $
5 5 %
6 6 ︿
7 7 &
8 8 *
9 9 (
----------------------------------------

http://home.pchome.com.tw/togo/uijpga/rarcab/
或是
http://www.angelfire.com/nj3/tkpt/images/PSY/
這下面所有叫J...的都拿去看,其中有通用輸入法的安裝流程

JPS.html這頁是界紹小皇發展日文輸入法及設計上的原因由來
小皇寫的日碼日文輸入法漢字部分是照著中文拼音跟注音輸入法一樣所以
就算不會日文也能輸入日文了,現今在網路上仍有許多人在尋找更好的日文輸入法
不知他們看過小皇寫的沒有??歡迎各位拿去放在自己的站上以造福更多人
因為小皇的站終有一天會結束.

南極星
http://home.pchome.com.tw/togo/spuic/NSCP/njwin160.zip


/S這些是按鍵設定,而接下來是以英文字母牌列,數字鍵等,後面可以自定
輸入方面前面是字根,用空白隔開後面可以自定要打出的字或詞,有空白隔開就變選12345...
只不過微軟的通用輸入法技術不多,所以沒法寫成像注音那種分區和音自動輸入,
必需用空白鍵來輸入,

但在LINUX上有開放原始碼的XCIN可以研究,只要搜尋XCIN就能找到一些技術.
轉播0 分享0 收藏0

回覆 使用道具 檢舉

回覆: 自製輸入法教學

轉載於http://www.scj2000.com/scj_diy.html

在 Linux 系統裡製作輸入法的方法
通過閱讀以下文章,相信有意把快倉應用在 Linux 系統裡的網友定能依樣葫蘆,製作出任何一版快倉輸入法的:
  

麥先生您好..

日前曾寫了一篇在 linux系統下,快倉的 diy 文章... 如果覺得還可以,可以加入到您網上的 diy 部分嗎?

by Qrtt1
  

作者: WindColor (倒影) 看板: Linux
標題: 【文件】xcin新增輸入法分享
時間: Thu Nov  7 17:20:51 2002
  

rh7.3
linux 2.4.18-3
xcin: xcin-2.5.3.pre2-11

一、前言
        為什麼要寫這一篇文章呢?當然除了讓別人知道如何在 xcin 中新增輸入法外,主要是希望幫助一些摸不著頭緒的使用者來進行這不太複雜的事情。我本身是快倉 (快速倉頡輸入法) 使用者,而快倉不算是一個比
較標準的版本,是後來由麥志洪先生所研發的一個版本。然而,在 linux下,只有原來的倉頡輸入法 (朱邦復先生發明之版本)。 所以,像我們這些有特殊需求的使用者,就必需自行安裝自己所需。

p.s. 雖然,這是以快倉為例,但是新增輸入法都是一樣的啦 ^^
  

二、流程簡介
        我先大概解說一下,我們要新增一個輸入法大概需要做什麼事 ( 這裡,我先假設大家已經將 xcin 安裝完成 ):

a. 準備輸入法表格
b. 將輸入法表格轉為 tab 檔
c. 將 tab 檔放到 xcin 指定的目錄中
d. 更改 xcinrc 檔
e. 完成

由上面所列出來的項目,我們可以知道其實步驟不會很多。也很簡單的啦!^^
  

三、準備輸入法表格
        什麼是輸入法表格呢?簡單的說,就是定義輸入法的拆碼方式的檔案。以倉頡為例,大概會像下面這樣:

-下面為輸入法表格-

%gen_inp
%ename scj7
%cname 快倉
%selkey 123456789
%keyname begin
a 日
b 月
c 金
d 木
e 水
f 火
g 土
h 竹
i 戈
j 十
k 大
l 中
m 一
n 弓
o 人
p 心
q 手
r 口
s 尸
t 廿
u 山
v 女
w 田
x 難
y 卜
z 簡
%keyname end
%chardef begin
a 日
a 曰
a 是
a 時
a 問
a 最
a 題
.
.
.
(中間略)
.
.
.
%chardef end

-上面為輸入法表格-

由這表格我們可以看到,包含了二大部分,一個部分是定義「輸入法」的「字母」。他是由「%keyname begin」「%keyname end」所包含。而「字」的「定義」則是由「%chardef begin」「%chardef end」所包        含。

而最上面的,%gen_inp: 這是一個示別標記,必須出現在所有資料之前,此標記表示此檔為 gen_inp 模組專用的 cin 檔。

%ename: 此輸入法的英文名。

%cname: 此輸入法的中文名。

%selkey: 此輸入法的重複字選擇鍵。

所以,現在我們知道了輸入法表格大概長成什麼樣子了。當然,如果你想要自創輸入法,你可以自己定義很多字,如果不想,抓別人做好的輸入法表格是最快的。而,快倉的網頁內有提供輸入法編碼檔的下載,網友可自行去 http://www.scj2000.com/ 下載。在網站裡面有很多「版本」的快倉編碼方式,選擇一個你比較習慣的版本,下載後,自行加入 xcin 所需的示別標記 (%gen_inp等.. )。
  

四、將輸入法表格轉成 tab 檔
        我們可以利用 cin2tab 這一個檔案幫助我們將 cin 轉 tab 檔。

cin2tab -l big5 scj6.cin

在這裏 "-l big5" 選項是指定啟動的內碼名,因為 scj6.cin 是使用 Big5 碼,故這的值是 big5。當然,如果您的環境中已預設了 LC_CTYPE=zh_TW.Big5 環境變數的話,您可以省略這個 -l 的選項。執行完之後,你會得到一個 scj6.tab。
  

五、將 tab 檔移至正確的位置
        通常,tab 檔放置的位置,會在 xcin/tab 下面,而我們使用的是 big5 內碼的 tab,所以,我們要先知道xcin 在那裡?可以試試

whereis xcin

他將會告訴你 xcin 所在的位置,再自己找 tab 目錄,將你的 tab 檔放到 tab/big5 目錄內。
  

六、修改 xcinrc
        將 tab 檔準備好了之後,就剩下了最後一個步驟了。就是修改 xcinrc 檔。這一個檔案在那呢?試試用find 找找看

find / -name xcinrc

找出檔案,然後再來就是要修改他的內容,找到下面的區段:

-以下為 xcinrc-

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;  This is the global configuration of the zh_TW.Big5 locale
;
(define zh_TW.Big5
  '((DEFAULT_IM         "scj6")
    (DEFAULT_IM_MODULE  "gen_inp")
    (DEFAULT_IM_SINMD   "DEFAULT")
    (PHRASE             "default.phr")
    (CINPUT             (cj scj6 phone
                         zh_hex))
    (FONTSET  
"-sony-*-24-*-iso8859-1,-*-medium-r-*-24-*-big5-0")
    (OVERSPOT_FONTSET  
"-sony-*-16-*-iso8859-1,-*-medium-r-*-16-*-big5-0")))
;
;  Here are detailed configuration of each IM (for zh_TW.Big5 locale).
;
(define cj@big5
        '((SETKEY               1)
          (INP_CNAME            "倉頡%%倉")))

(define scj6@big5
        '((SETKEY               2)
          (INP_CNAME            "快倉%%快")))
  

(define phone@big5
        '((SETKEY               3)
          (INP_CNAME            "注音%%注")
          (END_KEY              YES)
          (BEEP_DUPCHAR         YES)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

-以上為 xcinrc-

你的 xcinrc 檔可能會和上面有一些不同,不過沒關係,你可以直接將你用不到的輸入法改掉就行了。

define scj6@big5

這一個是將 scj6 改成你的輸入法的名稱

(INP_CNAME            "快倉%%快")))

這一行是將輸入法的中文名稱和簡稱寫上去

改完這兩個地方之後,還有一個重要的地方就是

(CINPUT             (cj scj6 phone ))

這裡是要填入你所有要載入的輸入法,所以你新增的也要填進來。

以上三個地方都改完了之後,基本上就大公告成了,然而,有人希望能按 ctrl+space 時就直接是你新增的輸入法,你就可以再改一個地方

((DEFAULT_IM         "scj6") 把 scj6 換成你的輸入法就 ok了 ^^
  七、完成
        到這裡,就算是完成了。不過在更改之前,建議是希望先將原來的 xcinrc 存一個備分起來,如果改之後發現不能用,可以將檔案存回去,就會和原來的設定是一樣了。然後,就重新啟動 xcin 就可以使用了喲 !!
 

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 25-1-8 21:48 , Processed in 0.019966 second(s), 16 queries , Gzip On.

回頂部