cht電腦資訊gcin
adm Find login register

新版 OpenVanilla 行列輸入法表格

alan
1 新版 OpenVanilla 行列輸入法表格
Promote 0 Bookmark 02008-10-29quote  

http://knife-tw.blogspot.com/2008/10/openvanilla.html

 請問要如何把 行列輸入法版新版對照檔 弄進 gcin?

winlin
2
Promote 0 Bookmark 02008-10-29quote  

http://cle.linux.org.tw/trac/wiki/GcinTables
根據↑的做法,應該是「使用前請把 cin 檔的 %encoding UTF-8 這一行拿掉 」就行了。
以文字編輯器拿掉後,gcin2tab array30.cin,得到一個gtab檔,放到~/.gcin裡就行了。
如果有說錯還煩請大家補充~

參考資料:
http://cle.linux.org.tw/trac/wiki/GcinInstallTables

coolcd
3
Promote 0 Bookmark 02008-10-29quote  

我以老刀前輩提供的兩個 cin 檔為主,加上 gcin 的 ar30.cin 中 %quick 區塊的詞彙,以及 「nctu 交通大學」之後的詞彙,整合出一個新的 cin 檔,如附件。

下載後,按教學做即可。

coolcd
4
Promote 0 Bookmark 02008-10-29quote  

頭大了,openvanilla 的 array30.cin 好像有些字的相容碼比較少

例如:繼

在 ar30-big.cin 只有

xsxx

但在舊的 ar30.cin 有

X,S     繼
XSXX    繼
XXXS    繼

 

edited: 1
eliu
5
Promote 0 Bookmark 02008-10-29quote  
coolcd
7
Promote 0 Bookmark 02008-10-29quote  
剛發現我搞錯一個地方,原以為老刀前輩的 array-special.cin 沒有包括在 array30.cin 中,還特別加進去,後來才發現,其實 array30.cin 內已有 array-special.cin 的特殊碼了,所以剛又把該刪的刪掉,更新了前面那個附檔,有需要的請重新下載。
coolcd
8
Promote 0 Bookmark 02008-10-29quote  

更正:「繼」在 ar30-big.cin 中有的編碼是

xxxs

 不是

xsxx

另,caleb 的意思是,把兩個檔合起來,再用 awk 或 perl 刪除重覆行?

可是合起來時,順序還是會亂?

本人已不在此站活動
9
Promote 0 Bookmark 02008-10-29quote  
coolcd
另,caleb 的意思是,把兩個檔合起來,再用 awk 或 perl 刪除重覆行?

可是合起來時,順序還是會亂?

要單獨先刪,然後比對後插入,這個一行文 script 比較不容易完成,要寫一個完整的小 script 處理。

又有新題目了,大家上吧!微笑

alan
10
Promote 0 Bookmark 02008-10-29quote  
真是不好意思好糗呀 沒想道害大家這麼麻煩!大家辛苦了!
coolcd
11
Promote 0 Bookmark 02008-10-29quote  

剛又發現,不只是相容拆碼有變 (有的字相容拆碼變多、有的變少),有些拆碼拼出的字也有變,譬如:「變」的相容拆碼變少,eiz 與 bjk 拼出來的字變成簡體,龜的相容拆碼則是變多。


ar30-big.cin
ar30.cin
yxx.    變
xyx.    變
x.      變
bjk     欢
eiz     関
jja.    龜
jjaa    龜
jjas    龜
jjat    龜
lja.    龜
ljat    龜

YXX.    變
XYX.    變
YC.     變
YCB     變
BJK     歡
EIZ     關
JJA.    龜
JJAA    龜
JJAS    龜
JJAT    龜


要是合併,變得新不新、舊不舊的,似乎不太恰當 (因為某些字的拆碼變更,看起來好像是為了簡中的相容性所作的調整),所以,似乎是不要合併比較好,大家認為呢?

edited: 1
本人已不在此站活動
12
Promote 0 Bookmark 02008-10-29quote  

我不熟行列輸入法。合併與否可能要使用行列的人來判斷。

可以先把兩個檔的大小寫及按鍵和中文字間空白統一,再來 diff 來決定是否要合併。有些合併可能造成多選字,所以合併不一定是好。但如果 A 沒有的字而 B 有的字,那麼把這個字由 B 加入 A,一般來說,應該是合理的。
 

coolcd
13
Promote 1 Bookmark 02008-10-30quote  

把前面檔案做了些整理

  • cin 檔第一二欄的間隔統一改成 tab
  • chardef 的第一欄統一用英文小寫表示

附檔包含三個檔案

  • ar30.cin (gcin 原本二萬多字的 cin 檔)
  • ar30-big.cin (gcin 的 ar30.cin 中的詞彙與 %quick 區塊 + 老刀前輩提供的七萬多字的 array30.cin)
  • ar30.diff (以上兩檔的 diff 檔)
有興趣的可以研究看看 ☻

 

 

本人已不在此站活動
14
Promote 1 Bookmark 02008-10-30quote  

首先,這兩個 cin 檔的格式不統一,所以 diff 出來等於是兩個相加的結果。就是,你那個 diff,其實是 ar30.cin + ar30-big.cin,因此失去了 diff 意義。

再來,這個騷主意是我出的。Orz

不應該用 diff,因為兩者格式差太多。最簡單的方式就是把兩個檔格式統一後,以陣列的方式讀進入,然後兩個相減就成了。以下附檔 noinorig.txt.bz2 就是減出來的結果,也就是在 ar30-big 卻不在 ar30 的字。

 

edited: 1
guest
15
Promote 0 Bookmark 02008-11-01quote  

我是 OpenVanilla 行列輸入法表格的製作人「老刀」。首先感謝 coolcd 兄提供連結,讓我知道原來我的舉手之勞,在這邊竟能引起如此大的回響。

其實我自己也是 gcin 的使用者 (on Fedora 9)。為了在 Fedora 上面可以打出更多的 unicode 字,我也曾於多年前製作過適合 unicode 3.1 字集的行列輸入法檔給 gcin 使用,除了提供予 caleb 兄掛在他的網站上,並請 gcin 團隊收入正式的發行套件中,但當時似乎沒引起太大的重視,gcin 官方版發行套件至今也未見擴增行列輸入法的支援字數,這個構想可謂無疾而終。

由本篇「蓋樓」的情形下看來,gcin 擴增支援字數還是有它的必要。故亦藉此篇文章建議 gcin 團隊,再次考慮擴增支援字數的可行性。

alan
16
Promote 0 Bookmark 02008-11-01quote  

內建的行列與輸入法下載裡的「行列30」好像是不一樣版本

http://cle.linux.org.tw/trac/wiki/GcinTables


README.html
(gcin 使用手冊裡的說明)

葉光哲先生整理的行列 30,支援 CJK 七萬餘字,目前已是 openvanilla 預設的行列輸入法表格(根據行列輸入法\
發明人,廖明德先生提供的對照檔製作而成) openvanilla 的行列為了實作簡碼功能, 拆成三個檔案… 現在葉光哲\
先生為 gcin 整理成一個 cin 檔(有支援簡碼), 可在此處下載:

http://www.calno.com/moto/gcin/cin/ar30.cin.bz2 http://www.calno.com/moto/gcin/cin/ar30.gtab

所以:


下載的網址是否要改成:
http://cle.linux.org.tw/trac/attachment/wiki/GcinTablesXcin02/ar30.cin?format=raw

老刀前輩就是葉光哲先生?前輩做的檔案就是輸入法下載裡的「行列30」

老刀
17
Promote 0 Bookmark 02008-11-02quote  

老刀賤(本)名不足掛齒啦!呵呵。

BTW,我正式加入 gcin 討論版了,這也是我以討論版帳號發文的第一篇文章。

coolcd
19
Promote 0 Bookmark 02008-11-02quote  

guest

我是 OpenVanilla 行列輸入法表格的製作人「老刀」。首先感謝 coolcd 兄提供連結,讓我知道原來我的舉手之勞,在這邊竟能引起如此大的回響。

其實我自己也是 gcin 的使用者 (on Fedora 9)。為了在 Fedora 上面可以打出更多的 unicode 字,我也曾於多年前製作過適合 unicode 3.1 字集的行列輸入法檔給 gcin 使用,除了提供予 caleb 兄掛在他的網站上,並請 gcin 團隊收入正式的發行套件中,但當時似乎沒引起太大的重視,gcin 官方版發行套件至今也未見擴增行列輸入法的支援字數,這個構想可謂無疾而終。

由本篇「蓋樓」的情形下看來,gcin 擴增支援字數還是有它的必要。故亦藉此篇文章建議 gcin 團隊,再次考慮擴增支援字數的可行性。

歡迎老刀來𨑨迌

關於 gcin 的行列支援,目前可能以相容性為主,caleb 最近有寫一篇說明

 

http://hyperrate.com/thread.php?tid=7393

 

站在使用者的角度來想,自行安裝可能稍嫌麻煩,不知 eliu 可否比照詞音的做法,把 ar30-big.gtab 也加到 gcin,讓人可以在行列的設定裡選擇使用大字集?

老刀
20
Promote 0 Bookmark 02008-11-02quote  

其實 OpenVanilla 支援 unicode 3.1 的行列輸入,與 gcin 內底支援 unicode 2.0 的行列輸入,兩者相容性是沒問題的(同樣支援一、二級簡碼、行列特別碼),最大的差異只是支援的字集範圍不同(OpenVanilla 七萬字、gcin 二萬字)。此外,雖然新版行列的特別碼數量有再擴增,但這都是行列輸入法官方定義的,我個人並沒有為它加油添醋,保證原汁原味。換言之,個人認為 caleb 兄顧慮「相容性」的問題並不存在。

如果 gcin 還是堅持收錄二萬字的版本,我是沒意見啦,只是需請有經常要輸入 unicode 的使用者們(通常是文字工作者)辛苦些,自己動手加工一下還是可以的。

edited: 1
alan
21 行列作者的信
Promote 0 Bookmark 02008-11-05quote  
你好:
 
 
這個檔案是行列 Unicode 的所有字
array30_27489.txt   
    此檔案為 Unicode 前20902字
                加上 ,。:;○ 這幾個特殊符號碼
                加上Unicode extention A 字集部份
    請注意,這部份同碼字的編碼順序不能更動,因為重複字的排列順序。
    編碼有包括容錯輸入碼
 

array30_ExtB.txt   
    此檔案為  Unicode Extension B 字集部份
    編碼都包括容錯輸入碼
 

編碼原則:以重複字排序以繁體字在前
                     如係罕用字或簡體字和繁體較常用字重複會在多加一個 I 碼, 以避免輸入常用字時出現過多重複字。
                     因此如該字原編碼 為ABCD 編碼就會成了ABCDI 五個輸入碼
                     如果該字原編碼為ABC 就會被編成 ABCI
                     當使用者輸入時碰到打不出來的字,只要多加一碼 I 就可以打出來。
                     在 array30_27489.txt 裡,只要不重複都不加罕用碼I
                     但在 array30_ExtB.txt  的字集裡都一律加罕用碼 I -- 因為假定那些字都很少用到。
 
麻煩您了
 
廖明德
 
=== 以上 ====
 
小弟去要了這個,可能要請高手們幫忙研究了。
老刀
22 行列作者的信
Promote 0 Bookmark 02008-11-05quote  

freealan
小弟去要了這個,可能要請高手們幫忙研究了。

不必研究了,因為……我早已做好 .gtab 在自己的 Fedora 9 上面(來源正是官方提供的這 2 個檔),並放在 gcin 上面使用啦,呵呵。

有一點必須一提:因為 Fedora 9 內建的文鼎字並未包含 Unicode 3.1 CJK 全字集,故除了使用新版支援 Unicode 3.1 的行列輸入之外,使用者必須自己安裝支援 Unicode 3.1 的字型才行(否則選字窗內應出現的 CJK 字會因找不到對應文字,而出現「空白」)。至於支援 Unicode 3.1 的字型哪裡找?我是拿 Windows XP 裡的「細明體 Ext-B」來用的;當然,使用一些支援 Unicode 3.1 CJK 全字集的商業字型也行。

edited: 2
alan
23
Promote 0 Bookmark 02008-11-05quote  
小弟烏龍一場……好糗呀
caleb
24
Promote 0 Bookmark 02008-11-05quote  

老刀的 array30.cin 比廖明德先生提供的 array30_27489.rar + array30_ExtB.rar 多了 409 字

這部份有官方版本嗎?

另外,特別碼的部份是否有官方版本呢?

老刀的 array-special.cin 和 gcin 目前的 ar30.cin 有顯著不同,就算只比較 ar30.cin 的特別碼首字,也有許多字不同。

edited: 1
老刀
25
Promote 1 Bookmark 12008-11-05quote  
caleb

老刀的 array30.cin 比廖明德先生提供的 array30_27489.rar + array30_ExtB.rar 多了 409 字

這部份有官方版本嗎?

另外,特別碼的部份是否有官方版本呢?

老刀的 array-special.cin 和 gcin 目前的 ar30.cin 有顯著不同,就算只比較 ar30.cin 的特別碼首字,也有許多字不同。

caleb 兄所稱的這 409 字,是行列輸入法規格書定義的「一級簡碼」,這是行列輸入法很重要的一個功能,字鍵排列完是依官方定義的順序製作。另外,特別碼也是官方所定義的,其字鍵對應正如同 array-special.cin 所示。

最後,我也將我所依照新版 OpenVanilla 行列輸入法表格改製的「gcin 專用」ar30.cin 及編好的 ar30.gtab 放上,這個 ar30.gtab 我已在 gcin 1.4.2 測試過。

edited: 1
caleb
26
Promote 0 Bookmark 02008-11-05quote  

老刀

 

 

最後,我也將我所依照新版 OpenVanilla 行列輸入法表格改製的「gcin 專用」ar30.cin 及編好的 ar30.gtab 放上,這個 ar30.gtab 我已在 gcin 1.4.2 測試過。

特別碼的部份我沒檢查,另外這個「gcin 專用」ar30.cin 建議再加上一行 %phase_auto_skip_endkey

如果一切 ok,就可以薦請劉老大在新版 gcin tarball 裡改放這個最新官方版本了。

 

老刀
27
Promote 0 Bookmark 02008-11-05quote  
caleb

 特別碼的部份我沒檢查,另外這個「gcin 專用」ar30.cin 建議再加上一行 %phase_auto_skip_endkey

如果一切 ok,就可以薦請劉老大在新版 gcin tarball 裡改放這個最新官方版本了。

我重新做了一版並已上傳更新。這一版我將 %phase_auto_skip_endkey 加上了,但好像加入前後看不出差別的樣子……

另外,我發現原 gcin 的 ar30.cin 所提供的行列「二級簡碼」功能(即 %quick begin 和 %quick end 中間這一段)中,有少部分並未按照行列輸入法規格書的定義,我亦已按照官方規格書定義的順序一併更新。有需要的朋友,歡迎自行更新使用。

alan
28
Promote 0 Bookmark 02008-11-06quote  
使用中,感謝!
coolcd
29
Promote 0 Bookmark 02008-11-07quote  
老刀,你的 cin 檔內 chardef 區塊的第二欄有些是 tab,有些是空白,所以我把它統一修成 tab 了。還有,gcin 內建詞彙的部分,所有詞彙都變成小寫了,所以,我在這篇的附檔上傳修正過的 cin 與 gtab。
老刀
30
Promote 0 Bookmark 02008-11-08quote  

coolcd
老刀,你的 cin 檔內 chardef 區塊的第二欄有些是 tab,有些是空白,所以我把它統一修成 tab 了。還有,gcin 內建詞彙的部分,所有詞彙都變成小寫了,所以,我在這篇的附檔上傳修正過的 cin 與 gtab。

一陣 uppercase -> lowercase 之後,我忘了將詞彙的部分復原了,謝謝您的指正。

1,2,next

cht電腦資訊gcin
adm Find login register
views:157440