Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新的倉頡輸入模組測試 #64

Closed
KenLuoTW opened this issue Mar 24, 2016 · 163 comments
Closed

新的倉頡輸入模組測試 #64

KenLuoTW opened this issue Mar 24, 2016 · 163 comments
Assignees

Comments

@KenLuoTW
Copy link
Member

努力了幾天,總算把倉頡輸入模組弄得較完整且也較好用了,煩請有用倉頡的網友幫忙看看還有什麼須要改善的地方。考量到一般用戶無法自行安裝,所以也以安裝程式重新包裝了這個模組。

載點在: https://drive.google.com/open?id=0B0FygkS7MtvXUmFGamVVRGM1OUU

請先解除已安裝新酷音版本並重新開機後,再執行安裝程式。

目前已知問題:
每頁顯示候選字個數無法正常分頁
特殊符號目前還無法支援

基本支援了下圖中的五種倉頡碼表 (切換碼表後須切換輸入法才會生效)
2016-03-24 1

支援使用 Shift 快速切換中英文
支援按住 Shift 輸入全形標點符號
支援預設以全形模式啟動
支援預設以英文模式啟動
支援預設輸出簡體中文

支援設定每列候選字個數
支援設定選字及訊息視窗文字大小

支援中文模式下按住 Shift 快速輸入符號

@InSb
Copy link

InSb commented Mar 24, 2016

使用感覺很棒,有倉頡的原味,可以憑此抛掉微軟倉頡不用了。

不過尚有一些問題:

  1. 冒號「:」要用两下分號鍵才可輸入,而Shift+;則只能輸入分號「;」
  2. 候選「0.」之後的候選是亂碼,在用「za」輸入符號時明顯
  3. 「重」(z)鍵的查碼用途不明

@KenLuoTW
Copy link
Member Author

@InSb 感謝回報,我會儘快修正這些問題,並且下一個測試版我會另外弄個輸入法模組更新程式,這樣就不用重新安裝整個輸入法,也不用重新開機,只須要切換輸入法之後即可使用。

冒號「:」要用两下分號鍵才可輸入,這是輸入法碼表的定義,原有碼表我儘量不會去動,除非有問題,照成不能使用。我現在想到的是另建一個「酷倉」碼表,然後將一些能優化使用的編碼加進去。這個「酷倉」碼表應該會以泰瑞倉頡的碼表為基礎,因為它包括了三代及五代倉頡編碼,且也符合全字庫,一些常用字,也會優先顯示在候選字清單。

「Shift+;」則只能輸入分號「;」,這個是特地轉換的,不過我現在也發覺有點問題,像是要輸入「:」就很麻煩,所以我會去掉。

候選「0.」之後的候選是亂碼,這個是因為目前程式無法正常分頁候選字,所以只要超過「0.」就會是亂碼,在解決這個問題前,我會先看看能不能以其它字元來代替亂碼。

「重」(z)鍵的查碼用途不明
是指要做到像微軟倉頡那樣,輸入「重」鍵顯示候選字?

1 跟 2 的問題,我都已經修正。
亂碼的部份暫時以「*」字元代替。
2016-03-25

@InSb
Copy link

InSb commented Mar 25, 2016

多謝回饋。

個人感覺輸入法模組更新程式很有必要,適合自己研究。

關於符號輸入,我也很迷茫。
用Shift+符號鍵的辦法不錯,起碼可以統一,畢竟不是所有碼表都編入了符號(中標碼表似乎沒有打句點鍵直接出句號的功能,而泰瑞倉頡則可以)。Shift+;到底該出什麼才好,我也有些迷茫:要保證規則一致性,就要出「;」;但「:」更為常用。
微軟倉頡的辦法是,符號鍵出半角符號,Ctrl+符號鍵出全角符號,Ctrl+Shift+符號鍵出對應的上檔全角符號(不過有些變化,總之照顧常用標點)。如用Ctrl+,出「,」,Ctrl+Shift+,則出「《」這樣。
但微軟倉頡的辦法也麻煩,用Ctrl,想想也累。也怕和快捷鍵衝突。或許可以把這種辦法作成一個選項,想開就開。

關於「重(z)」,它不出現在編碼第一位的話,經常是作為模糊碼用的。比如忘了「非」的取法,可用「中一重卜」看一下,還有正確編碼提示。
這樣還算方便,然而不能說太優秀,畢竟這樣的話,候選會多到爆炸,查詢時也並不便捷。不過,這也算得上一種傳統吧。
可以用「重(z)」來實現反查,只是還沒有想法。

功能建議:
每次調用設置,都要手動執行:
C:\Program Files (x86)\PIME\server\input_methods\thcj\config\config.hta
不太方便。是否能試著實現右鍵選單,或者用編碼實現(快捷鍵就算了,衝突猛如虎)。

@InSb
Copy link

InSb commented Mar 25, 2016

另外,雅虎奇摩的碼表也很優秀,況且也是開源的,值得研究一下。
https://github.com/yahoo/KeyKey/tree/master/YahooKeyKey-Source-1.1.2528/DataTables

@KenLuoTW
Copy link
Member Author

@InSb
跟新酷音一樣,右鍵功能表弄在中英切換那個圖示上。
不過目前新酷音下的輸入法只要切換一陣子,那個圖示就會消失或失效。

「Shift+;」:我現在改為直接轉全形,不另外轉換,也就是會直接出「:」。
而要輸入全形「;」只須按「;」,或是切至全形英文模式再按「;」。

至於其它的熱鍵,先解決掉現有不方便的地方,再看須不須要加入。
也因熱鍵容易衝突,我才沒去支援按住 Ctrl 輸入全形標點符號。

「重(z)」也是以後再看看怎麼加入支援。

雅虎奇摩的碼表似乎跟 OpenVanilla 提供的 cj-ext.cin 是同一份,
不過 OpenVanilla 的看起來有再修改過,變得比較沒有那麼好輸入,
我下版會將倉頡(大字集)換成雅虎提供的,並改名為雅虎倉頡。

並且我發現了一個會當掉的問題,所以今天會立刻再放出一個測試版。
不過輸入法模組更新程式可能要再等一陣子,暫時還是會以整個程式的安裝版放出。

@ejsoonyang
Copy link

他們的關係是
中標倉頡>OpenVanilla>雅虎奇摩

最直接的檢查方法是雅虎奇摩有「宀」,其他沒有
其實可以保留倉頡(大字集),雅虎奇摩倉頡可以作爲新增

@ejsoonyang
Copy link

我個人有多個倉頡輸入法項目,用的都是雅虎奇摩倉頡,因爲我認爲中標倉頡的制作是最嚴謹的,而雅虎奇摩是最高的昇級版。

@ejsoonyang
Copy link

昇級的話得卸載之前的再重新安裝嗎?

@KenLuoTW
Copy link
Member Author

請先別升,因我一會兒會放出另一個測試版,暫時都須移除已安裝的新酷音,重新開機後再進行安裝,因為 PIMETextService.dll 檔案會被 explorer.exe 或其它有開過輸入法的程式鎖住,這會照成安裝程式無法正確安裝程式。

手動的話,就是

  1. 先將輸入法模組自行拷貝至 server\input_methods\ 下

2: 先以系統管理員身份開啟命令提示字元
切換至 PIME 安裝目錄後,依序輸入:

regsvr32.exe /u /s "x86\PIMETextService.dll"

regsvr32.exe /u /s "x64\PIMETextService.dll"

PIMELauncher.exe /quit

python\python.exe -m compileall server

regsvr32.exe /s "x86\PIMETextService.dll"

regsvr32.exe /s "x64\PIMETextService.dll"

3: 開啟執行視窗 (Win鍵 + R)

2016-03-16 2

輸入 "C:\Program Files (x86)\PIME\PIMELauncher.exe"

如果是 32位元系統,就自己去掉 64 位元的所執行的指令。

@KenLuoTW
Copy link
Member Author

已經更新,載點一樣,以下為更新內容:

  1. 輸入法模組改名為 checj。
  2. 加入酷倉輸入法碼表 (衍生自泰瑞倉頡)。
  3. 字元「:」轉全形時不再另行處理。
  4. 修正候選清單亂碼問題。
  5. 修正當候選清單變更時,候選清單的游標位址未歸0而照成程式當掉的問題。
  6. 變更倉頡大字集為雅虎倉頡。
  7. 當字根的首字為符號時直接輸入符號。

@InSb
Copy link

InSb commented Mar 25, 2016

已試用最新版,符號輸入方便了很多,很順手。不過剛才又發現斜線鍵「/」的行為與Shift+/的行為一致,皆是出問號「?」,不知是否刻意而為。
新增的酷倉碼表可以說是集大成之作,不過「充」、「流」等字不能用「大戈竹山」、「水大戈女」這樣的中標編碼輸入。而內置的中標碼表似也無這樣的編碼。可能是我記錯?

@PCMan
Copy link
Member

PCMan commented Mar 25, 2016

@KenLuoTW 看起來非常棒,你要不要直接加入開發團隊,從我們這裡改啊?

@PCMan
Copy link
Member

PCMan commented Mar 25, 2016

@KenLuoTW BTW, 完全免重開機重新安裝是不可能做到的,如果有設定成預設輸入法,有很高的機率會 dll 會被 explorer 或其他 exe 鎖住,不能刪除。這是 Windows 系統的限制,沒有辦法。

@KenLuoTW
Copy link
Member Author

@InSb 中標倉頡應該是我收錄錯誤,不過我去查了後,目前只搜到這個表
https://github.com/chinese-opendesktop/oxim/blob/master/tables/cnscj.cin
似乎也不是完全符合中標倉頡,但我會替換成這個表。

以下字元轉全形時都經過特別轉換處理,新酷音本身的輸入法輸出結果也是如此,所以我也如此輸出,避免切換個輸入法,規則就完全不相同的問題。會如此輸出也有一個理由,因為並不是所有碼表都有將符號列入字根,這時使用這功能,就能輕鬆輸入常用符號。
char(") to char(、)
char(') to char(、)
char(.) to char(。)
char(<) to char(,)
char(>) to char(。)
char(_) to char(-)

字元「/」並沒有特殊處理,因為這個鍵本身以「Shift +/」按下後,輸出的字元即為半形的「?」。
而直接押「/」出現全形的「/」,這是該輸入法碼表所定義。
如果你要在沒有定義「/」的碼表裡輸入全形的「/」,應該切為英文全形模式直接輸入「/」。

我會再仔細檢視一下這個全形、半形轉換上的問題,將它儘量合理化。

@KenLuoTW
Copy link
Member Author

@PCMan 不過我對 Python 了解不多,因為之前完全沒碰過 Python,只因 Win10 下一直沒有好用的倉頡輸入法,又發現了此專案,才開始研究。

至於安裝問題,如果不動輸入法主程式,單純安裝或更新輸入法模組,我覺得應該是可以達成。

@InSb
Copy link

InSb commented Mar 25, 2016

中標倉頡不太好找。您提到的cnscj.cin這個碼表應該可以(體積好大,還沒來得及看)。

平常,全形的「/」反倒沒有半形「/」用得多。
符號輸入一致,如你所言,確實需要。

@PCMan
Copy link
Member

PCMan commented Mar 25, 2016

@KenLuoTW 那完成的時候歡迎把 code merge 進我們的專案,其實我對 python 了解也很少,也是邊做邊學。希望有機會可以把你的倉頡直接收進我們平台的一部份,在安裝程式讓使用者選擇要裝那些模組即可。
單純只更新 python module,是沒問題的,唯一問題是更新程式需要用 admin 權限,這有在我目前的計畫裡面,但是我也還沒有時間做。要更新 text service dll 就不行了,一定要 reboot
至於 python server,有時候會被 windows 鎖住,因為在等待 pipe 等 kernel objects,無法正確被 kill 掉,這是 windows 的限制,在 unix 就不會有這種問題。我正在想要怎麼解。

@KenLuoTW
Copy link
Member Author

@PCMan 等完成時一定會的~

@KenLuoTW
Copy link
Member Author

@InSb 其實我發現使用有定義符號的碼表,開啟 SHIFT 輸入符號似乎是多餘的,我覺得將下面兩個功能關掉後反而更方便,能夠隨時輸入英文及半形符號,又能快速輸入全形符號。

支援按住 Shift 輸入全形標點符號
支援中文模式下按住 Shift 快速輸入符號

@InSb
Copy link

InSb commented Mar 25, 2016

@KenLuoTW 個人感覺不算多餘。有時用「簡易符號輸入」(Shift+字母鍵,如Shift+z出「《」這樣)更方便些,而且這項功能就是可選的。
麻煩的是Shift+符號鍵的行為,這不是可選的。要是和新酷音的行為一致,應該就可以。
設定中能看到「特殊符號」一項,不知如何利用才好。

@KenLuoTW
Copy link
Member Author

特殊符號目前還不支援喔~~
另外我把新酷音呼叫特殊符號的「`」鍵改成呼叫功能選單了,未來特殊符號會建立在功能選單的子項目內。

那兩個 SHIFT 輸出符號的功能,也會建立在這選單裡,不過不作即時儲存,僅作為臨時切換使用。
2016-03-25 4

@InSb
Copy link

InSb commented Mar 25, 2016

@KenLuoTW 用「」鍵的辦法很棒,也可以試著用「」鍵+字母鍵調用其他功能(如類似u引導十六進制數可直接用Unicode碼錄入字元,z引導注音符號組成的音節可以用來反查等)。個人想法。

@KenLuoTW
Copy link
Member Author

@InSb Shift+符號鍵 其實也可以弄成可選的,我當初是覺得按下就直接輸出,這樣會比較方便,所以就沒將它寫成可選的。或許我會做個選項,讓用戶自行選擇要直接輸出,還是要選符號。

@KenLuoTW
Copy link
Member Author

今天有點事,先將已改好的部份傳上來測試,載點不變。

以下為更新的內容:

  1. 更新中標倉頡輸入法碼表。
  2. 加入倉五輸入法碼表。
  3. 變更部份全形轉換規則。
  4. 加入 ` 鍵呼叫功能選單功能 (限中文輸入模式)。

@InSb
Copy link

InSb commented Mar 26, 2016

下載試用了一下,「」鍵的功能很實用,方便快速設定。不過不清楚「」本身怎樣輸入才好。

新的中標碼表相當豐富,有八萬多row之巨。還有貼心的編碼註釋,看內容就覺得方便。查了一下,發現「充」可取卜戈竹山,也可取心戈竹山;「流」可取水卜戈山,也可取水心戈女。這應該是正確的。敝人過去一直以為取大戈竹山水大戈女才好,現在才知道自己才是偏頗的。

香港似多用倉五,倉頡新人也常先學倉五。私以為添加倉五很合適。

剛翻查了一下checj.cin碼表,發現後面有些編碼以符號鍵起首,如;oc出「℃」等。不知該如何利用,或是否有利用的需要。

再就是試用亂倉打鳥時,所在窗口會無響應。
需要執行C:\Program Files (x86)\PIME\server\input_methods\checj\config\config.hta改選一個可用的碼表,再手動結束掉PIMELauncher.exepythonw.exe,最後再執行C:\Program Files (x86)\PIME\PIMELauncher.exe

@KenLuoTW
Copy link
Member Author

@InSb
亂倉打鳥的問題是處理 CIN 時,會將全形的空白給去除後再處理資料,這會在處理全形空白編碼的資料時因找不到對應的字串而發生錯誤。

在其它的倉頡輸入法中,全形空白的編碼是「ZXAA」,而在亂倉打鳥則是「;;」。之前我都是將該編碼自 CIN 表移除,因為全形空白一般人都會切全形模式,然後直接輸入。不過現在我已經想到方法處理,所以各 CIN 表會再補回全形空白的編碼。

我正在加入分頁功能,等這個功能完成時,就會放出另一個測試版,並修復上面那個亂倉打鳥的問題。
2016-03-27 1

至於中標碼表,你的認知其實沒有偏頗,CNS 全字庫確實是將「充」定義為「大戈竹山」,只是它的資料其實也常常更新,所以可能在 94.X 版時,「充」是定義為「心戈竹山」,至於那個「卜戈竹山」,應該是中標碼表的編輯者額外加入的,因為 CNS 全字庫不會將同一個字定義兩種倉頡編碼。

下面這個連結,是 CNS 全字庫目前版本的編碼資料:
http://data.gov.tw/node/5961

至於類似 ;oc出「℃」這種編碼,我覺得不要去記它比較好,因為那只是泰瑞倉頡的作者自己定義的,你換一個碼表或是用微軟的倉頡,就無法輸入了。使用之後會新增的特殊符號功能,反而會比較直覺。

至於「`」鍵,目前是定義在可輸入文字的區域中,並且輸入模式為半形中文模式才會顯示。
我基本也不知道在其它模式下要不要也支援,或是直接把它設成熱鍵,只要輸入法是酷倉,按下去就會顯示。

如果是要輸入「`」字元,目前是直接按 SHIFT 鍵切換成英文模式,然後按下「`」鍵即可以輸入。

今天也是有點事,不會有太多的時間修改,所以可能要等明天才會更新。

另外這個輸入法模組應該也能使用沒有使用到 10 作為字根的 CIN 輸入法碼表,
所以像是嘸蝦米或速成...等等,其實也是可以直接套用。
有使用到 1
0 作為字根的,應該也是稍為改一下,就能套用。
不過因為我並沒有使用那些輸入法的經驗,且此模組已定位為倉頡了,所以就不加入了。

@KenLuoTW
Copy link
Member Author

倉頡模組已經更新,載點不變,以下為更新內容:

  1. 支援候選清單分頁功能
    候選清單上下左右鍵皆可以移動或翻頁,HOME 鍵為首頁、END 鍵為尾頁、PAGE UP 鍵為上一頁、PAGE DOWN 鍵為下一頁、ENTER 或 空白鍵為確認鍵。
  2. 修正 CIN 檔載入全形空白字元時的問題
    各 CIN 檔皆已恢復之前被去除的全形空白字元字根資料。
  3. 支援特殊符號功能
    由「`」鍵選單呼叫。

請幫忙測看看,所有功能是否正常,如果沒問題,準備要提交了。
如果還須新功能或改進,提交之後會繼續修改。

@InSb
Copy link

InSb commented Mar 28, 2016

候選翻頁很棒,令人能一睹亂倉打鳥中ptt;的全貌(太厲害了這個)。
選擇光標採反色顯示,傳統而又一目了然。
另外,按其他不參與編碼和移動的符號鍵(尤其是「`」)也可回到選單開始,如同「Home」鍵的用途。可以說是一種小技巧吧,喜歡。

唯雅虎奇摩倉頡不能用「」鍵調出選單,因為雅虎倉頡似乎已把「」鍵編碼。不過這個問題可以先放放吧,畢竟應該只影響快捷操作,可用右鍵選單呼叫功能。

@KenLuoTW
Copy link
Member Author

@InSb 感謝回報,我看了一下所有的碼表,似乎只有雅虎的有用到符號及 SHIFT + 數字鍵作字根。

目前此模組都不支援它所定義的這些字根,我在想如果不去支援它,而將 SHIFT 輸入全形符號改成像簡易符號輸入一樣,能夠自行定義 SHIFT+符號/數字鍵所要輸入的符號。

如果對應的符號,只有一個就直接輸入,若超過一個就顯示選字清單,這樣不知道可不可行。
因為採用這個方式,可以讓所有的輸入法碼表都能夠輸入自定義全形符號,而不只是雅虎而已。

@InSb
Copy link

InSb commented Mar 28, 2016

@KenLuoTW 個人感覺,碼表自帶符號的編碼雖影響整體風格,不過我們似不該削足適履。
您的想法應該可行。雖繁複,但終於能既照顧到各碼表的個性,又儘可能維持統一性。

@KenLuoTW
Copy link
Member Author

@InSb 酷倉的名稱由來,其實是我懶得命名,所以一開始僅支援泰瑞碼表時,我就稱它為泰瑞倉頡,後來支援的碼表多了,命名泰瑞倉頡實在奇怪,逼不得已才換名稱。當時想到這個倉頡,很多功能都仿效新酷音,所以就直接命名為酷倉了。

@ejsoonyang 這個更新被取消,是因為我總覺得弄得不標準,不如恢復原樣,因為原樣也並不是 bug,只是各輸入法作法不同。

另外「CTRL + ?鍵」及「 ALT + ? 鍵」,微軟注音的作法是單獨按下「CTRL 或 ALT 鍵」時不作處理,搭配任意鍵後即清空輸入編輯區及候選清單,這個方式是可以先仿效及套用的。

「Ctrl + Shift + ?鍵」經常有軟體拿來作為熱鍵使用,我會儘量修改,讓它能夠在目前的酷倉上能夠被正確呼叫。

暫且暫停更新,直至官方 0.13 正式版出來後,再看看要怎麼改~

@KenLuoTW
Copy link
Member Author

今天花了點時間,將微軟輸入法中的多功能前導字元鍵實作出來,操作方式皆與微軟的輸入法相同。
主要支援了中文標點符號輸入及 Unicode 碼的文字輸入,而原本的「`」鍵選單則改為要再輸入 M 才會顯示。
2016-04-17 2

另外也支援以 Ctrl + 鍵盤右方符號鍵輸入全形符號,用法一樣也是跟微軟輸入法相同。
預設的設定值,也預先將一些附加的功能關閉,以求能與微軟的輸入方式一致。
酷倉專用碼表改成使用 Yahoo 碼表作為原始資料,並去掉跟符號相關的定義字根。

@InSb
Copy link

InSb commented Apr 18, 2016

@KenLuoTW 實在抱歉,近來身體不適,現在才來測。

安裝的時候:
ie_
雖然亂碼,不過因為看過以前的某個 pull request,大概知道是要更改 IE 的設定,以便使 PIME 能在 IE 中使用。不過我沒改,畢竟平常不用 IE。

個人而言,最大的變化莫過於「酷倉」碼表的更改。雖獲得了奇摩的優點,不過打逗號、句號之類就繁瑣些。
另外,奇摩碼表自身似有些顯示不出的字元,或許在自造區中吧。
雖奇摩的碼表,可說是倉三之集大成之作,不過不像泰瑞那樣,集合了五代編碼。而且泰瑞在字頻方面似優於奇摩。
竊以為,還是以泰瑞為基礎較好。

」多功能前導字元鍵功能,現在功能更強大了。「u」玏能的引入,為那些知 Unicode 碼卻不知打法的字提供了方便。

再就是,關於倉五,有位同好做出了支援到 CJK Ext. E 的碼表。鑑於倉五的優勢之一就是錄入生僻字,故我或許應該與那位同好交流一下,看看能否運用進來。

奇怪的是,打字時候選窗會有閃動,不知我是否看錯。

@KenLuoTW
Copy link
Member Author

KenLuoTW commented Apr 18, 2016

亂碼問題是我忘了將該頁面的配置檔案轉成 Unicode 編碼,所以在簡體系統呈現亂碼,我現在已將檔案轉換好了,應該不會再呈現亂碼了。

奇摩碼表顯示不出來的字元,應該是它有包含香港增補字符的關係。
至於 CJK Ext. E 的碼表應該不急,因為就算現在加入了,應該也是都只能看見方塊而已。

至於預設碼表,我也已更換回泰瑞倉頡,不過同樣的也去除了以符號作為字根的定義,理由如下:

  1. 對於須要中英混合輸入的人來說,全形符號作為字根,反而是一場惡夢。
  2. 預設的設定,如符合微軟的輸入方式,較能讓用戶轉移過來時,較容易上手。
  3. 如果喜歡用原來的符號輸入方式,直接將碼表改用泰瑞倉頡或雅虎倉頡即可。
另外我也修復了一些 Ctrl 輸入符號的問題,及新增連按三次「`」鍵即可呼出選單。
如要輸出「`」字元的半形符號,則是按下`「`」`鍵後,再按空白鍵即可輸出。
如要輸出「`」字元的全形符號,則是連按兩次「`」鍵後,即會顯示候選清單。

@InSb
Copy link

InSb commented Apr 19, 2016

@KenLuoTW 測了一下,
pime _ ie
總之這個窗口可以看明白了。雖然並沒有測它的功能,畢竟我在 IE 上只使用線上銀行。起碼在 Edge 中比較好用,在 Firefox 和 Chrome 中也能打。至於候選窗位置不當則是老問題,可放放。

至於逗號、句號等的行為,若是為兼顧習慣,未嘗不可。「酷倉」碼表的定位,個人認為是考慮便利性的情況下,顧及到儘可能多的用戶,以便「開箱即用」。在這一方面我很支持。

新的選單呼出方式很便捷,同時也解決了「`」本身的輸入,很是好辦法。

另:
雖然剛才試出來 Shift + Space 可以切換全/半形輸出,不過「`」選單中並沒有全/半形輸出的 toggle。倒不一定非要有個 toggle,不過還是明確一下才好吧。

@KenLuoTW
Copy link
Member Author

@InSb IE 基本不推薦使用,會有此選項,是台灣有太多使用者都只用 IE。
候選清單位置不是輸入法模組所控制,所以無法變更。

「`」鍵選單基本只針對酷倉所新增的功能去作切換,而這個 Shift + Space 切換全/半形,基本上算是輸入法的預設功能,各輸入法也是如此定義,所以不須特別處理。

@InSb
Copy link

InSb commented Apr 20, 2016

@KenLuoTW 如此一來,個人感覺,直到新正式版釋出,現有的這些特性就已經充分了。
再次感謝。

@KenLuoTW
Copy link
Member Author

此模組沒有停止更新喔,只是我想等 0.13 正式版推出後,再進行後續修改,也順便休息一下~~

@InSb
Copy link

InSb commented Apr 24, 2016

@KenLuoTW 理解喔。同樣在期待新正式版,因為正式版一出,應該會有更多愛好者來嘗試。

@556556bt
Copy link

556556bt commented May 9, 2016

發覺有時輸入很慢, 才出一個字. 如現在用EDGE 在GITHUB 打字都很LAG. 另外, 發覺FB 的COMMENT BOX / TEXT BOX 碼能打, 但選了的就消失, 沒有顯示出來.

建議: 萬用字元"Z", 能否可像IOS 那樣使用多過一個. 如: "選" 可以係"卜Z金 ", "卜ZZ金" 代表中間有兩碼. 可以filter out, 選字更準確. 選字表也可以根據使用習慣排序. 現時用WILDCARD, 發覺常用既字經排得很後, 比擴展字元那批字更後才出.

@KenLuoTW
Copy link
Member Author

KenLuoTW commented May 15, 2016

@556556bt 您好,我並沒有發現在 EDGE 打字會很慢的問題喔。
FB 的確有不能輸入的問題,不過這是 PIME 平台的問題,無法從輸入法模組來解決。

萬用字元僅是輔助用,不是要用戶日常輸入都以此方式來輸入,所以選字問題一直以來都不是各家倉頡輸入法要去解決的問題。雖然這個問題也是可以透過去建立一個資料庫儲存使用次數來解決,但是我不確定是否真得須要為這個輔助功能,多花時間去寫一些正常輸入時幾乎用不到的功能。

而擴展字元為何會先出,這跟各家 CIN 碼表的內容有關,這也是為何會有那麼多人去釋出自訂倉頡碼表的原因。好的碼表它會特別依常用字去調整各個字元在碼表裡的順序(例如泰瑞倉頡、雅虎倉頡),而差的碼表就僅會依照字根的字母編碼或是 Unicode 編碼順序去排列(例如中標倉頡)。

而既使是較好的碼表,它們在使用萬用字元的情況下,也是會出現擴展字元先出的問題,因為各家碼表在編修時,完全不會去考慮萬用字元的應用,大都只針對使用到重複字根的字元,以常用字為優先順序。

基本編修碼表是件大工程,我沒有時間去弄這個,所以現在套用的都是別人已經改好的碼表。

@InSb
Copy link

InSb commented May 18, 2016

個人理解:碼表依附於酷倉模組,而酷倉模組又依附於PIME。
這樣的話,碼表則是相對自由的,可以按自己需要來改裝。
那麼,要是有個相對簡便無害的辦法來加入自己的碼表,會否好些。

@556556bt
Copy link

如果只是字表相對易辦,只要將相用的sort 左前, unicdoe 擴展區及少用放在後.
因我不知道WILDCARD query function 是否同一道理只按序抽選match 的字出來. 因為我經見很偏門的字常放在前. 理應很偏的擴展區的字, 就算WILDCARD QUERY 都應該按Unicode 在後排的.

@KenLuoTW
Copy link
Member Author

KenLuoTW commented May 18, 2016

Wildcard query function 目前是循序查詢,且效率不高,
所以之前才會新增「最大候選字個數」限制功能,目前預設值為100。

參考:
#64 (comment)

如果要以程式去區隔常用字及罕字,就必須完全遍歷整個 CIN 資料,
那就會回到跟以前一樣的狀況,輸入「*」、「重」後,可能會停頓個1~2秒,才有結果出來。
或許將資料整個改到由 Sqlite 來載入或查詢,效能會好一點,不過沒有實作,所以不確定。

也或許效能問題不是出在遍歷整個 CIN 資料上,因為有很多字根+萬用字元輸入後,
遍歷整個 CIN 資料後,數量並沒有超過100個,但它們的查詢結果依然出來的得很快。
所以效能問題可能是出在分頁上,這個就比較難解決,因為分頁已採用了較有效率的方式了。

故目前最好的辦法就是從修改 CIN 資料表來著手,最不影響程式效能。
酷倉裡頭的碼表,都可以自己修改且無害,甚至可以直接替換成非倉頡的輸入法碼表。

總之下次改版,我會在萬用字元這功能上,先以 Unicode 範圍去區分常用字及罕字,
再看看整體效能如何。

@KenLuoTW
Copy link
Member Author

關於萬用字元組字功能將改成長度完全比對。

例如: 羅
田中重重土 - 可以組出
重中重火土 - 可以組出
田中重火土 - 可以組出
田中重土 - 無法組出

2016-05-27

至於先列出擴展字元的問題,目前是改成優先列出 U+4E00 ~ U+9FFF 範圍的中字,
CJK Ext-A 之後的中字都放在後面列出,沒有依擴展區段 A B C D E ...排序。

這個我明天會更新新的測試版,到時再看看大家有什麼意見。

@556556bt
Copy link

這個style 也很好,貼近現時IOS 或Apple 做法。記得很久以前依天或是國喬也是類似。
其實,用開倉頡,多少記得有多少碼,只不過一時記不那字怎樣缺其中一至二碼

On Friday, 27 May 2016, Ken Luo notifications@github.com wrote:

關於萬用字元組字功能將改成長度完全比對。

例如: 羅
田中重重土 - 可以組出
重中重火土 - 可以組出
田中重火土 - 可以組出
田中重土 - 無法組出

[image: 2016-05-27]
https://cloud.githubusercontent.com/assets/12954277/15586166/83458be0-23b5-11e6-9a48-8584adaba36c.png

至於先列出擴展字元的問題,目前是改成優先列出 U+4E00 ~ U+9FFF 範圍的中字,
CJK Ext-A 之後的中字都放在後面列出,沒有依擴展區段 A B C D E ...排序。

這個我明天會更新新的測試版,到時再看看大家有什麼意見。


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#64 (comment)

@InSb
Copy link

InSb commented May 30, 2016

@KenLuoTW 剛才下載了最新測試版試用,在使用萬用鍵功能時,所在程序會無響應,也是要殺PIME相關進程才能恢復。

@KenLuoTW
Copy link
Member Author

@InSb 已知道原因,我一直都以「重」作為萬用字元的狀況下來測試,
忽略了以「*」作為萬用字元的狀況,所以會直接當掉,一會兒就更新。

@KenLuoTW
Copy link
Member Author

已經更新,接下來我要弄個單一輸入法模組的安裝程式,
不然每次更新輸入法模組,就要用戶重新安裝整個 PIME 程式,實在是太麻煩了。

@InSb
Copy link

InSb commented May 30, 2016

@KenLuoTW 已試用。不過以「*」作為萬用字元時,組字時只能出現一個「*」,與用「重」時的行為不一致。或許因為「*」是符號吧。

@KenLuoTW
Copy link
Member Author

KenLuoTW commented May 30, 2016

@InSb 意思是按下要像圖中這樣,而不是顯示符號?
2016-05-30 1

了解,就是最多只能輸入一個「*」的問題,我會修正這個。

@InSb
Copy link

InSb commented May 30, 2016

@KenLuoTW 不是說這樣,而是「*」作為萬用字元時只能在組字時出現一次。
組字時,作為萬用字元的「重」可以出現一次、兩次或以上;而作為萬用字元的「*」卻只能出現一次。
例如剛才的例子「田中重重土」,這是可能的;然而請試一下「田中**土」是否可能存在。

@KenLuoTW
Copy link
Member Author

了解,就是最多只能輸入一個「*」的問題,我會修正這個。

我先弄輸入法模組的安裝程式,這樣以後不用重新開機,安裝後即可直接使用。

@farnen
Copy link

farnen commented Oct 29, 2016

請問PIME在輸入倉頡時有辦法設定顯示注音嗎?
另外若在輸入注音可以設定顯示倉頡嗎?
從Win7升級Win10之後就沒辦法設定輸入法的字根了,如果可以辦到那真的很方便...
謝謝

@GHolk
Copy link

GHolk commented Jan 24, 2018

路過,這串討論蠻有趣的,泰瑞的倉頡很棒。
不過我是會習慣改 *.cin 的人,
所以用什麼平台不太重要,
只要能匯入自訂表格就好了 :)

@SeverumYu
Copy link

我發現了這個酷倉的兩大問題,全部和聯想字詞框框 做成的後果有關,可在Issue那裏查看詳情
(1)離開輸入後 聯想字詞框框 有殘留
(2)Shift+標點 第一次只會消除 聯想字詞框框 ,第二次才有效

在這裏另外說多個改進
(1)喻 字在酷倉輸入ROMN 時不是排第一,有另一個古怪字在它的前面,雖然此問題可透過擴充字碼修改好,不過在內部設定改會更加好

(2)已知按Space會給與第一個聯想字詞框框的字
(以酷倉為例,打完「開」後按Space會出「始」)
不過這樣影響了想按Space出空格的人
建議增加 按Shift+Space 弄走聯想字詞框框 加出空格
就像 已有的 按Shift加數字出 聯想字詞框框 的後續聯想字詞框框 的字

如果我懂得電腦運作可能我可以幫手修改,不過我不懂,網上Python and Computer 教學沒一個是正常的
那堆GitHub 和 什麼VScode 學不懂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants