lotem / rimeime

Legacy codebase of Rime, automatically exported from code.google.com/p/rimeime
48 stars 23 forks source link

注音模式無法字母選字 #278

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
首先標準注音裏陰平聲不是不打,而是空格鍵。
其次在小狼毫輸入了注音和聲調後想選字時,會直接開始打��
�一個字的注音,而不是確認一個字。
修改建議:在新酷音裏是打完一串完整帶聲調的注音後空格��
�屏,再選字。不然就只好用上下鍵來選字了……

請提供以下信息,幫我們定位問題。

1. 輸入法的款式:(請選擇)小狼毫
   輸入法版本號:(請填寫)09151

2. 操作系統類型:(請選擇)Windows
   操作系統版本:(請填寫)XP SP3

3. 輸入方案名稱:(如果問題涉及交互方式、輸入效果等
,請填寫)注音

問題發現的歷程:
注音比全拼重碼少。但大千鍵位痛苦,我用的是倚天。另外��
�個問題是鍵長不固定,不夠完美。
我想改成雙拼+dfjkl聲調+空格上屏+asdfghjkl選字,這樣鍵長適中
,還解放了數字鍵,純 26 
字母打字(這絕對是嘗試過形碼的注音用戶看到雙拼後一定��
�想到的方案)。還可以 asdfghjklqwertyuiopzxcvbnm 
選字,候選項目 26 個,再也不用翻頁了哦也(好變態)。
結果用 bopomofo.schema.yaml 
改了半天,不知道為什麼,總是會變成普通的雙拼。文檔裏��
�能abc雙拼的修改解釋沒有涉及地球拼音部分,玩不轉。然後�
��出注音來看了一下,發現和新酷音不大一樣。

附我的失敗嘗試:
# Rime schema
# vim: set sw=2 sts=2 et:
# encoding: utf-8

schema:
  schema_id: fly
  name: 小鶴三拼
  version: "0.1"
  author:
    - 
  description: |
    帶聲調的雙拼。小鶴雙拼,聲調爲dfjkl,選字用asdfghjkl;

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: simplification
    states: [ 漢字, 汉字 ]

engine:
  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
    - r10n_translator
    - reverse_lookup_translator
  filters:
    - simplifier
    - uniquifier

menu:
  alternative_select_keys: "ASDFGHJKLQWERTYUIOPZXCVBNM"

speller:
  alphabet: 'zyxwvutsrqponmlkjihgfedcba'
  delimiter: " '"
  algebra:
    - erase/^xx$/
    - derive/^([jqxy])u$/$1v/
    - derive/^([aoe])([ioun])$/$1$1$2/
    - xform/^([aoe])(ng)?$/$1$1$2/
    - xform/iu$/Q/
    - xform/(.)ei$/$1W/
    - xform/uan$/R/
    - xform/[uv]e$/T/
    - xform/un$/Y/
    - xform/^sh/U/
    - xform/^ch/I/
    - xform/^zh/V/
    - xform/uo$/O/
    - xform/ie$/P/
    - xform/i?ong$/S/
    - xform/ing$|uai$/K/
    - xform/(.)ai$/$1D/
    - xform/(.)en$/$1F/
    - xform/(.)eng$/$1G/
    - xform/[iu]ang$/L/
    - xform/(.)ang$/$1H/
    - xform/ian$/M/
    - xform/(.)an$/$1J/
    - xform/(.)ou$/$1Z/
    - xform/[iu]a$/X/
    - xform/iao$/N/
    - xform/(.)ao$/$1C/
    - xform/ui$/V/
    - xform/in$/B/
    - 'xlit|QWRTYUIOPSDFGHJKLZXCVBNM12345|qwrtyuiopsdfghjklzxcvbnmdfjkl|'

translator:
  dictionary: terra_pinyin
  prism: fly
  preedit_format:

reverse_lookup:
  dictionary: cangjie5
  enable_completion: true
  prefix: "`"
  tips: 〔倉頡〕
  preedit_format:
    - "xlit|abcdefghijklmnopqrstuvwxyz|日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜符|"
  comment_format:

punctuator:
  import_preset: default

key_binder:
  import_preset: default

recognizer:
  import_preset: default
  patterns:
    reverse_lookup: "`[a-z]*$"

Original issue reported on code.google.com by ForesterLian on 5 Oct 2012 at 12:28

GoogleCodeExporter commented 9 years ago
該死,這個帖我是在文本編輯器下寫的,全局替換的時候和��
�一個文檔搞錯了,不是「空格上屏」,是「空格叫出選字列�
��」

Original comment by ForesterLian on 5 Oct 2012 at 12:35

GoogleCodeExporter commented 9 years ago
RIME 0.9 
目前尚未實現「空格調出選字列表」的邏輯,即不支持輸入��
�碼和選字分離的模式。
因此,只能按照與拼音輸入法一致的交互方式設計輸入方案��
�這要求輸入碼與選字按鍵無有交集。

傳統的注音輸入法使用空格作爲第一聲的音節結束碼,是輸��
�法的一種安排,卻不是注音裏固有的符號。bopomofo 
輸入方案對第一聲的處理方式,已在 ibus-bopomofo 
和一些手機輸入法中應用,並無明顯缺陷。採用了這種設計��
�出發點是與其他輸入方案的邏輯保持一致,不必開發專門的�
��序。

Original comment by chen....@gmail.com on 5 Oct 2012 at 1:15

GoogleCodeExporter commented 9 years ago
拼寫運算部分,xform/in$/B/ 
之類的式子無法匹配碼表中帶有聲調的音節,應改爲 
xform/in(\d)$/B$1/ 

Original comment by chen....@gmail.com on 5 Oct 2012 at 1:20

GoogleCodeExporter commented 9 years ago
哦,因看看到說明裏寫到注音是大千,因為大千確實是空格��
�示陰平的。我自己設置的時候也不用,但是普遍資料上指出�
��加空格,覺得那個是標準。既然現在標準變了,忽略好了。
手機上雖然陰平不在碼表標出來,其實還是要有輸入動作的��
�一般是按 * 或者 0 
。第幾聲就按幾下,陰平按一下,但碼表不會寫。這樣的作��
�是表示一個字輸完了。由於手機上是逐字輸入,然後智能上�
��文組詞的,本質上還是逐字輸入, * 或 0 
所表示的聲調在一定程度上表示選字行動的開始,也可以說��
� * 或者 0 
來「調出選自列表」。最新開發的極簡注音之類,也要求按��
�下某個鍵來表示陰平。所以,請不要被碼表顯示迷惑,手機�
��面來講,那個鍵他真的存在。
對電腦上長串的輸入,由於沒有「調出選字列表」(空格較��
�用,所以很多人會設為空格,設為空格後,空格表示陰平會�
��動作廢,因為確實也不需要了),程序無法判斷輸入完一個
注音後,接下來輸入的那個字母或數字究竟是選字還是注音��
�號。如果要選字,必須通過修改 yaml 
定義一些邊邊角角的符號來完成選字,或者放棄大千這種浪��
�按鍵的輸入法,改用倚天或徐氏的英文鍵盤,然後數字選字�
��由於現在 bopomofo 的 yaml 是 abcdefghij 
選字,所以無法正常輸入。
結論:如果要改成與拼音一致的交互方式,那個空格表示陰��
�就不能省略。如果要符合注音的常見碼表,即省略掉陰平的�
��鍵,就需要一個「空格調出選字列表」的邏輯。

Original comment by ForesterLian on 5 Oct 2012 at 7:48

GoogleCodeExporter commented 9 years ago

Original comment by chen....@gmail.com on 20 Oct 2012 at 12:59