【Windows】如何安装RIME粤语输入法

Rime本身是个输入法的框架,因为这个框架可以为开发者处理很多基本和琐碎的问题,开发者使用它便可以集中精力处理输入法背后的数据库和其他额外功能,而且可以容易地在不同平台自制输入法。
虽然Rime小狼毫有用户界面,但对一般用户仍然很复杂。

这篇文章演示了如何在Windows安装Rime小狼毫,再安装、启用和配置粤拼。

1、下载RIME小狼毫

首先到RIME官网下载其安装程序。

2、安装RIME小狼毫

file

3、安装粤语拼音

切换到RIME输入法,右击“中”标志,点击“输入法设定”。
file

点击左下角的“获取更多输入方案”。
file

在弹出来的窗口输入cantonese并回车。
file

自动从GitHub下载粤拼,耐心等待即可。安装完可以关闭此窗口。

file

备注:如果上面安装不了的话,可以手动到GitHub自行下载粤拼。链接:https://github.com/rime/rime-cantonese

4、配置粤拼输入法

打开输入法设定,勾选“粤语拼音”并取消勾选其他方案,然后点击“中”。
file

选择自己喜欢的风格。
file

使用文本编辑器打开C:\Users\用户名\AppData\Roaming\Rime\jyut6ping3.schema.yaml。复制以下代码覆盖掉原来的内容。

# Rime schema
# encoding: utf-8

schema:
  schema_id: jyut6ping3
  name: 粵語拼音
  version: "2021.04.02"
  author:
    - Ayaka Mikazuki <ayaka@mail.shn.hk>
    - LeiMaau <leimaau@qq.com>
    - chaaklau <chaakming@gmail.com>
    - laubonghaudoi <laubonghaudoi@icloud.com>
    - tanxpyox <tanxpyox@gmail.com>
    - William915 <William915@gmail.com>
    - szc126 (@szc126)
    - Bing Jeung <bing@ososo.io>
    - graphemecluster <graphemecluster@gmail.com>

  description: |-
    採用香港語言學學會粵語拼音方案
    https://www.lshk.org/jyutping
    支援聲調顯示同輸入
    Telegram 用户交流組 https://t.me/rime_cantonese

  dependencies:
    - luna_pinyin
    - loengfan
    - stroke
    - cangjie5

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - options: [ noop, variants_hk, trad_tw, simplification ]
    states: [ 傳統漢字, 香港傳統漢字, 臺灣傳統漢字, 大陆简化汉字 ]
    # 修改下行,改變預設用字 [0, 1, 2, 3 --> 對應上表]
    # Edit the following line to change the default character style
    #    [0 = OpenCC Traditional Chinese; 1 = Hong Kong TC; 2 = Taiwan TC; 3 = Mainland Simplified Chinese]
    # Or remove to remember user setting
    reset: 3
  - name: ascii_punct
    states: [ 。,, ., ]
  - name: emoji_suggestion
    # 取消下行註釋,預設啓動 emoji
    reset: 1
    states: [ 冇 Emoji, 有 Emoji ]

engine:
  processors:
    - ascii_composer
    - recognizer
    - key_binder
    - speller
    - punctuator
    - selector
    - navigator
    - express_editor
  segmentors:
    - ascii_segmentor
    - matcher
    - affix_segmentor@luna_pinyin
    - affix_segmentor@loengfan
    - affix_segmentor@stroke
    - affix_segmentor@cangjie5
    - abc_segmentor
    - punct_segmentor
    - fallback_segmentor
  translators:
    - punct_translator
    - script_translator
    - script_translator@luna_pinyin
    - script_translator@loengfan
    - table_translator@stroke
    - table_translator@cangjie5
  filters:
    - simplifier@variants_hk
    - simplifier@trad_tw
    - simplifier
    - simplifier@emoji_suggestion
    - uniquifier
    - reverse_lookup_filter@jyut6ping3_reverse_lookup

speller:
  alphabet: zyxwvutsrqponmlkjihgfedcba
  delimiter: " '"
  algebra:
    # 取消下兩行註釋,支援疑影交替: ng- 通 Ø-,Ø- 通 ng-
    - derive/^ng([aeiou])/$1/
    - derive/^([aeiou])/ng$1/

    # 取消下行註釋,支援泥來合流: n- 併入 l- ,如「你」讀若「理」
    - derive/^n(?!g)/l/

    # 取消下行註釋,支援圓唇輔音合口韻缺位: gw-, kw- 併入 g-, k- ,如「國」讀若「各」、「廓」讀若「確」
    - derive/^(g|k)w/$1/

    # 取消下行註釋,支援獨立鼻音韻 ng 併入 m,如「吳」讀若「唔」
    - derive/^ng([123456])$/m$1/

    - derive/[123456]//           # 忽略聲調
    - xform/1/v/                  # 陰平
    - xform/4/vv/                 # 陽平
    - xform/2/x/                  # 陰上
    - xform/5/xx/                 # 陽上
    - xform/3/q/                  # 陰去
    - xform/6/qq/                 # 陽去
    - derive/^([aeiou])/q$1/      # 增加 q 表示喉塞
    - derive/^jy?([aeiou])/y$1/   # 容錯 je -> ye, jyu -> yu
    - derive/^jyu/ju/             # 容錯 jyu -> ju
    - derive/yu/y/                # 容錯 jyu -> jy
    - erase/y(ng|k)/              # y + ng/k 視作簡拼而非 jung/juk
    - derive/eoi$/oey/            # 容錯
    - derive/eoi$/eoy/            # 容錯
    - derive/eo/oe/               # 容錯 eo/oe 不分
    - derive/oe(ng|k)$/eo$1/      # 容錯
    - derive/aa$/a/               # 容錯
    - abbrev/^([a-z]).+$/$1/      # 首字母簡拼
    - abbrev/^([gk]w|ng).+$/$1/   # 首2字母簡拼

translator:
  dictionary: jyut6ping3
  spelling_hints: 8  # 將呢度改作 0,可以去除候選字後邊嘅粵拼提示
  preedit_format:
    - xform/([aeioumngptk])vv/${1}4/
    - xform/([aeioumngptk])xx/${1}5/
    - xform/([aeioumngptk])qq/${1}6/
    - xform/([aeioumngptk])v/${1}1/
    - xform/([aeioumngptk])x/${1}2/
    - xform/([aeioumngptk])q/${1}3/

luna_pinyin:
  tag: luna_pinyin
  dictionary: luna_pinyin
  prefix: "`"
  suffix: ";"
  tips: 〔普通話〕
  preedit_format:
    - xform/([nl])v/$1ü/
    - xform/([nl])ue/$1üe/
    - xform/([jqxy])v/$1u/

loengfan:
  tag: loengfan
  dictionary: loengfan
  prefix: "r"
  suffix: ";"
  tips: 〔粵語兩分〕

stroke:
  tag: stroke
  dictionary: stroke
  prefix: "x"
  suffix: ";"
  tips: 〔筆畫〕
  preedit_format:
    - xlit/hspnz/一丨丿丶乙/

cangjie5:
  tag: cangjie5
  dictionary: cangjie5
  enable_user_dict: false
  prefix: "v"
  suffix: ";"
  tips: 〔倉頡五代〕
  preedit_format:
    - 'xform/^([a-z]*)$/$1\t(\U$1\E)/'
    - "xlit|ABCDEFGHIJKLMNOPQRSTUVWXYZ|日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜符|"
  comment_format:
    - "xlit|abcdefghijklmnopqrstuvwxyz~|日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜符~|"
  disable_user_dict_for_patterns:
    - "^z.*$"
    - "^yyy.*$"

jyut6ping3_reverse_lookup:
  tags: [ luna_pinyin, loengfan, stroke, cangjie5 ]
  overwrite_comment: false
  dictionary: jyut6ping3

variants_hk:
  option_name: variants_hk
  opencc_config: t2hkf.json

trad_tw:
  option_name: trad_tw
  opencc_config: t2tw.json

emoji_suggestion:
  opencc_config: emoji.json
  option_name: emoji_suggestion
  tips: all

punctuator:
  import_preset: symbols_cantonese

key_binder:
  import_preset: default

recognizer:
  import_preset: default
  patterns:
    punct: "^/([0-9]0?|[a-z]+)$"
    luna_pinyin: "^`[a-z']*;?$"
    loengfan: "^r[a-z']*;?$"
    stroke: "^x[hspnz]*;?$"
    cangjie5: "^v[a-z]*;?$"

5、重新部署输入法

file

6、安装完成

file