1. 程式人生 > >Fcitx使用搜狗詞庫與面板

Fcitx使用搜狗詞庫與面板

在 \(\text{Linux}\) 環境下,\(\text{Fcitx}\) 確實是最好用的開源輸入法之一。然而 \(\text{Windows}\) 下的巨頭輸入法 —— 搜狗,對 \(\text{Linux}\) 的支援卻並不算到位,迄今為止,大多數 \(\text{Linux}\) 的最新核心都無法使用搜狗,譬如 \(\text{Ubuntu 19.04}\) 。

所以,\(\text{Linux}\) 下原生的開源輸入法,無疑是一切意外狀況下最值得信賴的輸入法。

不過,\(\text{Fcitx}\) 本身的拼音做得確實不好,如面板、詞庫等等,都遠遠不如搜狗輸入法那麼健全。

那麼將搜狗的長處“拿來”,便是 \(\text{Linux}\) 使用者自然而又令人愉悅的一個想法了。

搜狗詞庫使用

對於拼音使用者而言,無論全雙拼(音形除外),詞庫都是即為重要的。足夠量的詞庫會極大降低你的選詞時間!

Step1 下載搜狗詞庫

首先,第一件事情自然就是去到 搜狗輸入法官網 下載你所需要的詞庫統一放到一個資料夾裡去。

此時,資料夾的檔案分佈應該如下:

| filename.scel
| ...
| ...
| filename.scel

總之是一堆 scel 檔案就是了。

Step2 scel -> org

如果你迫不及待地試圖開啟 scel 檔案,你會發現根本讀不了……

所以我們應當先將其轉化為一個能正常閱讀的格式 —— org

首先,我們需要安裝必需的工具:

sudo apt install fcitx-tools #ubuntu
sudo pacman -S fcitx-tools   #arch

隨後在目錄下 mkdir org ,將轉化後的檔案放進去。隨後執行如下 bash 命令來一一轉化。

for scel in *.scels # 迭代器
do
  scel2org ${scel} -o org/${scel}.org # 執行命令
done

隨後你的 org 目錄下就全是轉化後的詞庫檔案了,開啟後是可讀的!

此時,目錄分佈如下:

| filename.scel
| ...
| ...
| filename.scel
\ org
  | filename.scel.org
  | ...
  | ...
  | filename.scel.org

Step3 org -> mb -> fcitx

接下來就是將 org 檔案轉化成 \(\text{Fcitx}\) 可用檔案的時候了!

首先 mkdir dict && cd dict 用來裝最後的檔案。

隨後,我們需要將 預設詞庫 也下載下來。

接下來,執行轉化命令:

cat ../org/*.org > tot.org
cat pyPhrase.org >> tot.org # 將所有詞庫彙總
sort tot.org > ord.org      # 排序
uniq ord.org > final.org      # 去重

最後的 final.org 就是我們的一個詞庫彙總了。

然後我們需要下載一個 字型檔 來最終合併。

執行 createPYMB gbkpy.org final.org 進行最後的轉換。

之後會多出 pyERRORpyPhrase.okpyphrase.mbpybase.mb 幾個檔案,前兩個沒什麼用,直接刪掉沒問題,剩下的 mb 檔案就是我們的 \(\text{Fcitx}\) 詞庫檔案了。

執行 mv *.mb ~/.config/fcitx/pinyin ,隨後重啟 \(\text{Fcitx}\) 即可。

搜狗面板使用

顏值也是及其重要的東西~

Fcitx 的預設面板就不像個人。

而搜狗的面板平臺就十分壯觀了,若能將搜狗的面板拿來用,體驗確實好很多。

放點圖,如果不想自己轉換,想直接用我的資源請發郵件 [email protected] ,沒人要的話我就懶得放了。

\(\text{Paper}\)

\(\text{簡白}\)

\(\text{柔蘭}\)

\(\text{晴天方格}\)

\(\text{洛天依}\)

Step1 下載面板與工具

先去 官網 下載面板。

然後 git clone https://github.com/VOID001/ssf2fcitx.git ,下載我們的開源工具(作者nb)。

sudo apt install cmake
cd ssf2fcitx
cmake ./

過程可能會有關 pkg 報錯,作為合格的Linux使用者當然是自己解決啦,執行 sudo apt install pkg-config 即可。

然後 make ,可能報錯 unitypes.h not found ,直接 vim ssfextract.cpp ,刪掉第 9 行的庫引用即可。

最後 sudo make install

Step2 轉化

其實作者的 github 上就有說明……

ssf2fcitx -i filename.ssf -o dirname 即可,隨後 mv dirname ~/.config/fcitx/skin ,重啟 \(\text{Fcitx}\) ,大功告成!