__build_info:
  rime_version: 1.8.5
custom_phrase:
  db_class: stabledb
  dictionary: ""
  enable_completion: false
  enable_sentence: false
  initial_quality: 1
  user_dict: custom_phrase
engine:
  filters:
    - simplifier
    - uniquifier
  processors:
    - ascii_composer
    - recognizer
    - key_binder
    - speller
    - punctuator
    - selector
    - navigator
    - express_editor
  segmentors:
    - ascii_segmentor
    - matcher
    - abc_segmentor
    - punct_segmentor
    - fallback_segmentor
  translators:
    - punct_translator
    - "table_translator@custom_phrase"
    - reverse_lookup_translator
    - script_translator
key_binder:
  bindings:
    - {accept: "Control+p", send: Up, when: composing}
    - {accept: "Control+n", send: Down, when: composing}
    - {accept: "Control+b", send: Left, when: composing}
    - {accept: "Control+f", send: Right, when: composing}
    - {accept: "Control+a", send: Home, when: composing}
    - {accept: "Control+e", send: End, when: composing}
    - {accept: "Control+d", send: Delete, when: composing}
    - {accept: "Control+k", send: "Shift+Delete", when: composing}
    - {accept: "Control+h", send: BackSpace, when: composing}
    - {accept: "Control+g", send: Escape, when: composing}
    - {accept: "Control+bracketleft", send: Escape, when: composing}
    - {accept: "Control+y", send: Page_Up, when: composing}
    - {accept: "Alt+v", send: Page_Up, when: composing}
    - {accept: "Control+v", send: Page_Down, when: composing}
    - {accept: ISO_Left_Tab, send: "Shift+Left", when: composing}
    - {accept: "Shift+Tab", send: "Shift+Left", when: composing}
    - {accept: Tab, send: "Shift+Right", when: composing}
    - {accept: minus, send: Page_Up, when: has_menu}
    - {accept: equal, send: Page_Down, when: has_menu}
    - {accept: comma, send: Page_Up, when: paging}
    - {accept: period, send: Page_Down, when: has_menu}
    - {accept: "Control+Shift+1", select: .next, when: always}
    - {accept: "Control+Shift+2", toggle: ascii_mode, when: always}
    - {accept: "Control+Shift+3", toggle: full_shape, when: always}
    - {accept: "Control+Shift+4", toggle: simplification, when: always}
    - {accept: "Control+Shift+5", toggle: extended_charset, when: always}
    - {accept: "Control+Shift+exclam", select: .next, when: always}
    - {accept: "Control+Shift+at", toggle: ascii_mode, when: always}
    - {accept: "Control+Shift+numbersign", toggle: full_shape, when: always}
    - {accept: "Control+Shift+dollar", toggle: simplification, when: always}
    - {accept: "Control+Shift+percent", toggle: extended_charset, when: always}
    - {accept: minus, send: minus, when: has_menu}
    - {accept: minus, send: Page_Up, when: paging}
  import_preset: default
menu:
  page_size: 5
punctuator:
  full_shape:
    " ": {commit: "　"}
    "!": {commit: "！"}
    "\"": {pair: ["“", "”"]}
    "#": ["＃", "⌘"]
    "$": ["￥", "$", "€", "£", "¥", "¢", "¤"]
    "%": ["％", "°", "℃"]
    "&": "＆"
    "'": {pair: ["‘", "’"]}
    "(": "（"
    ")": "）"
    "*": ["＊", "·", "・", "×", "※", "❂"]
    "+": "＋"
    ",": {commit: "，"}
    "-": "－"
    .: {commit: "。"}
    "/": ["／", "÷"]
    ":": {commit: "："}
    ";": {commit: "；"}
    "<": ["《", "〈", "«", "‹"]
    "=": "＝"
    ">": ["》", "〉", "»", "›"]
    "?": {commit: "？"}
    "@": ["＠", "☯"]
    "[": ["「", "【", "〔", "［"]
    "\\": ["、", "＼"]
    "]": ["」", "】", "〕", "］"]
    "^": {commit: "……"}
    _: "——"
    "`": "｀"
    "{": ["『", "〖", "｛"]
    "|": ["·", "｜", "§", "¦"]
    "}": ["』", "〗", "｝"]
    "~": "～"
  half_shape:
    "!": {commit: "！"}
    "\"": {pair: ["“", "”"]}
    "#": "#"
    "$": ["￥", "$", "€", "£", "¥", "¢", "¤"]
    "%": ["%", "％", "°", "℃"]
    "&": "&"
    "'": {pair: ["‘", "’"]}
    "(": "（"
    ")": "）"
    "*": ["*", "＊", "·", "・", "×", "※", "❂"]
    "+": "+"
    ",": {commit: "，"}
    "-": "-"
    .: {commit: "。"}
    "/": ["、", "/", "／", "÷"]
    ":": {commit: "："}
    ";": {commit: "；"}
    "<": ["《", "〈", "«", "‹"]
    "=": "="
    ">": ["》", "〉", "»", "›"]
    "?": {commit: "？"}
    "@": "@"
    "[": ["「", "【", "〔", "［"]
    "\\": ["、", "\\", "＼"]
    "]": ["」", "】", "〕", "］"]
    "^": {commit: "……"}
    _: "——"
    "`": "`"
    "{": ["『", "〖", "｛"]
    "|": ["·", "|", "｜", "§", "¦"]
    "}": ["』", "〗", "｝"]
    "~": ["~", "～"]
  import_preset: default
recognizer:
  import_preset: default
  patterns:
    email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"
    reverse_lookup: "`[a-z]*'?$"
    uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"
    url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$"
reverse_lookup:
  comment_format:
    - "xform ([aeiou])(ng?|r)([1234]) $1$3$2"
    - "xform ([aeo])([iuo])([1234]) $1$3$2"
    - "xform a1 ā"
    - "xform a2 á"
    - "xform a3 ǎ"
    - "xform a4 à"
    - "xform e1 ē"
    - "xform e2 é"
    - "xform e3 ě"
    - "xform e4 è"
    - "xform o1 ō"
    - "xform o2 ó"
    - "xform o3 ǒ"
    - "xform o4 ò"
    - "xform i1 ī"
    - "xform i2 í"
    - "xform i3 ǐ"
    - "xform i4 ì"
    - "xform u1 ū"
    - "xform u2 ú"
    - "xform u3 ǔ"
    - "xform u4 ù"
    - "xform v1 ǖ"
    - "xform v2 ǘ"
    - "xform v3 ǚ"
    - "xform v4 ǜ"
    - "xform/([nljqxy])v/$1ü/"
    - "xform/eh[0-5]?/ê/"
    - "xform/([a-z]+)[0-5]/$1/"
  dictionary: stroke
  enable_completion: true
  preedit_format:
    - "xlit/hspnz/一丨丿丶乙/"
  prefix: "`"
  suffix: "'"
  tips: "〔筆畫〕"
schema:
  author:
    - "佛振 <chen.sst@gmail.com>"
  dependencies:
    - stroke
  description: |
    「漢語拼音」，以符號按鍵 - / < \ 輸入四聲
    拼音碼表根據 CC-CEDICT 改編

  name: "地球拼音"
  schema_id: terra_pinyin
  version: 0.20
speller:
  algebra:
    - "xform/^r5$/er5/"
    - "abbrev/^([a-z]).+$/$1/"
    - "abbrev/^([zcs]h).+$/$1/"
    - "derive/^([nl])ve/$1ue/"
    - "derive/^([jqxy])u/$1v/"
    - "derive/([dtnlgkhrzcs])un/$1uen/"
    - "derive/ui/uei/"
    - "derive/iu/iou/"
    - "derive/ao/oa/"
    - "derive/([aeiou])ng/$1gn/"
    - "derive/([iu])a(o|ng?)/a$1$2/"
    - "derive/^([a-z]+)[0-5]$/$1/"
    - "derive/([dtngkhrzcs])o(u|ng)$/$1o/"
    - "derive/ong$/on/"
    - "erase/^.*5$/"
    - "xlit 1234 -/<\\"
    - "derive/^(.*)-$/$1;/"
    - "derive/^(.*)<$/$1,/"
    - "derive/^(.*)\\\\$/$1>/"
  alphabet: "zyxwvutsrqponmlkjihgfedcba-;/<,>\\"
  delimiter: " '"
  initials: zyxwvutsrqponmlkjihgfedcba
switches:
  - name: ascii_mode
    reset: 0
    states: ["中文", "西文"]
  - name: full_shape
    states: ["半角", "全角"]
  - name: simplification
    states: ["漢字", "汉字"]
  - name: ascii_punct
    states: ["。，", "．，"]
translator:
  comment_format:
    - "xform ([aeiou])(ng?|r)([1234]) $1$3$2"
    - "xform ([aeo])([iuo])([1234]) $1$3$2"
    - "xform a1 ā"
    - "xform a2 á"
    - "xform a3 ǎ"
    - "xform a4 à"
    - "xform e1 ē"
    - "xform e2 é"
    - "xform e3 ě"
    - "xform e4 è"
    - "xform o1 ō"
    - "xform o2 ó"
    - "xform o3 ǒ"
    - "xform o4 ò"
    - "xform i1 ī"
    - "xform i2 í"
    - "xform i3 ǐ"
    - "xform i4 ì"
    - "xform u1 ū"
    - "xform u2 ú"
    - "xform u3 ǔ"
    - "xform u4 ù"
    - "xform v1 ǖ"
    - "xform v2 ǘ"
    - "xform v3 ǚ"
    - "xform v4 ǜ"
    - "xform/([nljqxy])v/$1ü/"
    - "xform/eh[0-5]?/ê/"
    - "xform/([a-z]+)[0-5]/$1/"
  dictionary: terra_pinyin
  preedit_format:
    - "xform/([nl])v/$1ü/"
    - "xform/([nl])ue/$1üe/"
    - "xform/([nl])üen/$1uen/"
    - "xform/([jqxy])v/$1u/"
    - "xform/eh/ê/"
    - "xform ([aeiou])(ng?|r)([-;/<,>\\\\]) $1$3$2"
    - "xform ([aeo])([iuo])([-;/<,>\\\\]) $1$3$2"
    - "xform a[-;] ā"
    - "xform a/ á"
    - "xform a[<,] ǎ"
    - "xform a[>\\\\] à"
    - "xform e[-;] ē"
    - "xform e/ é"
    - "xform e[<,] ě"
    - "xform e[>\\\\] è"
    - "xform o[-;] ō"
    - "xform o/ ó"
    - "xform o[<,] ǒ"
    - "xform o[>\\\\] ò"
    - "xform i[-;] ī"
    - "xform i/ í"
    - "xform i[<,] ǐ"
    - "xform i[>\\\\] ì"
    - "xform u[-;] ū"
    - "xform u/ ú"
    - "xform u[<,] ǔ"
    - "xform u[>\\\\] ù"
    - "xform ü[-;] ǖ"
    - "xform ü/ ǘ"
    - "xform ü[<,] ǚ"
    - "xform ü[>\\\\] ǜ"
  spelling_hints: 5