居戎氏
居戎氏
导入的文件保存在当前工作目录。给ibus-rime用的,须将工作目录切换至 `~/.config/ibus/rime/` 再执行该命令。
你確實應該利用 `/usr/share/rime-data` 由所有帳號共用這一特性。在其中做好提供給所有帳號的初始配置。 用家以使用者身份執行部署時,產生的目標文件存入自己的用戶文件夾。比如 `/home/aaa/.config/fcitx/rime` 只給用戶帳號 aaa 使用。 `librime-data-*` 等軟件包安裝到 `/usr/share/rime-data`,主要爲了部署時,從中讀取預設輸入方案和初始配置,而不必預先把所需資料複製到用戶文件夾。其次,用家首次啓動輸入法,即可直接使用共享文件夾裏現成的詞典,而不必等待漫長的詞典編譯過程。 `rime_deployer --build source_dir dest_dir` 這條命令不對。請執行 `rime_deployer` 查看用法。
看一下日志啊,找到错误信息再分析原因。 可能有关的讨论: https://github.com/rime/squirrel/issues/272
第一个问题是 / 字符直接上屏了所以没有机会匹配到 / 加字母的模式。/ 得定义成符号的列表才不会立即上屏。 其他情况应该是补丁的问题。列出的代码试图合并symbols文件原有的符号定义(通过`import_preset: symbols`)和补丁里的局部定义。需要参照symbols的原代码才能理解补丁的递归合并过程。如果大量修改符号配置,最好不做合并,而是替换,即重新定义整个符号表 `half_shape/=:`
尚未支持ARM架構。
可能沒有正確轉義。 `\ *` 在正則表達式裏有特殊含義,`\` 在YAML字符串裏也用作轉義字符。 `/` 在RIME的補丁裏有特殊含義,是否成爲問題要看用在哪裏。
`chord_composer/alphabet` 定義的是用於並擊的按鍵。用在並擊中,`*`實爲並擊`{Shift_L}`和`8`兩個按鍵。除非鍵盤上有一個專門的`*`鍵,才需要在`alphabet`裏面定義。 拼寫運算不支持對字段分隔符轉義。可以換一個不在當前表達式裏出現的字段分隔符,比如用 `|`,或者空格。 小鍵盤的按鍵與主鍵盤區對應字符按鍵的鍵值不同,需要在 `chord_composer/alphabet` 裏另行指明。但小鍵盤的按鍵是否能用於並擊,我也沒有經驗。
不容易呢。 並不是每個「字」前後都可以定位。這是因爲 Rime 並沒有規定「字」這個單位。假如碼表裏面爲「我是」定義一個不可拆分的編碼,則這個詞亦是不可拆分的。比如五筆裏面的詞組編碼,無法把其中的每個字與輸入碼的一部分對應起來。因此只能定位到輸入碼的邊界,而不能定位到其內部的各個 Unicode 字符。如果用拼音輸入法舉例,假想將方案升級爲支持兒化音節,比如「花兒」拼作一個音節 `huar` 而不是兩個音節 `hua'er`,同理無法將光標定位到兩字之間。 拋開以上問題,實現的主要難度是 preedit 是爲了顯示而格式化的字符串,已經不包含結構信息。設置光標可是需要按照輸入碼來定位的。
感覺用現有的顯示串以及樓主所求的接口來定位,實現複雜,不可靠。 理想中應當給出類似迭代器的接口,客戶端分段讀取每個不可切分的單元,從而獲知其顯示內容和屬性,包括對應輸入碼的區間。
FYI previous discussion on lua plugin and loading dynamic library in fcitx: https://github.com/rime/librime/issues/369 note the thread was before loading plugin library is done by librime itself in `librime/plugins/plugins_module.cc`.