Giter VIP home page Giter VIP logo

Comments (8)

lotem avatar lotem commented on August 10, 2024 1

不顯示拼音比較簡單,就刪除這裏列出的轉寫規則:

改成同時顯示按鍵和拼音需要一些技巧。類似做法有:
https://github.com/rime/rime-cangjie/blob/d0f6f521ec049166ada29085434126be175f6439/cangjie5.schema.yaml#L68
簡單地說就是在拼寫運算規則裏先複寫輸入碼,然後轉換其中一份,另一份保持原樣。

from rime-double-pinyin.

 avatar commented on August 10, 2024 1

@lotem 感谢🙏🏻,使用下面的配置,现在能同时显示拼音和按键了:

  translator:
    dictionary: luna_pinyin
    preedit_format:
      - 'xform/^([a-z ]*)$/$1\t (\U$1\E)/'  # 显示大写按键,不能使用\L替换\U,否则会被下面的正则给改掉
      - "xform/([bpmfdtnljqx])n/$1iao/"
      - "xform/(\\w)g/$1eng/"
      - "xform/(\\w)q/$1iu/"
      - "xform/(\\w)w/$1ei/"
      - "xform/([dtnlgkhjqxyvuirzcs])r/$1uan/"
      - "xform/(\\w)t/$1ve/"
      - "xform/(\\w)y/$1un/"
      - "xform/([dtnlgkhvuirzcs])o/$1uo/"
      - "xform/(\\w)p/$1ie/"
      - "xform/([jqx])s/$1iong/"
      - "xform/(\\w)s/$1ong/"
      - "xform/(\\w)d/$1ai/"
      - "xform/(\\w)f/$1en/"
      - "xform/(\\w)h/$1ang/"
      - "xform/(\\w)j/$1an/"
      - "xform/([gkhvuirzcs])k/$1uai/"
      - "xform/(\\w)k/$1ing/"
      - "xform/([jqxnl])l/$1iang/"
      - "xform/(\\w)l/$1uang/"
      - "xform/(\\w)z/$1ou/"
      - "xform/([gkhvuirzcs])x/$1ua/"
      - "xform/(\\w)x/$1ia/"
      - "xform/(\\w)c/$1ao/"
      - "xform/([dtgkhvuirzcs])v/$1ui/"
      - "xform/(\\w)b/$1in/"
      - "xform/(\\w)m/$1ian/"
      - "xform/([aoe])\\1(\\w)/$1$2/"
      - "xform/(^|[ '])v/$1zh/"
      - "xform/(^|[ '])i/$1ch/"
      - "xform/(^|[ '])u/$1sh/"
      - "xform/([jqxy])v/$1u/"
      - "xform/([nl])v/$1ü/"
      - 'xform/(\([A-Z ]*\))$/\L$1\E/'  # 把大写转换成小写
    prism: double_pinyin_flypy

如果需要显示大写的按键,把prism: double_pinyin_flypy 的上一行删掉即可。

from rime-double-pinyin.

 avatar commented on August 10, 2024 1

明白了,修改配置如下,实现双拼在前,拼音在后,使用|分隔。

  translator:
    dictionary: luna_pinyin
    preedit_format:
      - 'xform/^(.*)$/\U$1\E\t | $1/'
      - "xform/([bpmfdtnljqx])n/$1iao/"
      - "xform/(\\w)g/$1eng/"
      - "xform/(\\w)q/$1iu/"
      - "xform/(\\w)w/$1ei/"
      - "xform/([dtnlgkhjqxyvuirzcs])r/$1uan/"
      - "xform/(\\w)t/$1ve/"
      - "xform/(\\w)y/$1un/"
      - "xform/([dtnlgkhvuirzcs])o/$1uo/"
      - "xform/(\\w)p/$1ie/"
      - "xform/([jqx])s/$1iong/"
      - "xform/(\\w)s/$1ong/"
      - "xform/(\\w)d/$1ai/"
      - "xform/(\\w)f/$1en/"
      - "xform/(\\w)h/$1ang/"
      - "xform/(\\w)j/$1an/"
      - "xform/([gkhvuirzcs])k/$1uai/"
      - "xform/(\\w)k/$1ing/"
      - "xform/([jqxnl])l/$1iang/"
      - "xform/(\\w)l/$1uang/"
      - "xform/(\\w)z/$1ou/"
      - "xform/([gkhvuirzcs])x/$1ua/"
      - "xform/(\\w)x/$1ia/"
      - "xform/(\\w)c/$1ao/"
      - "xform/([dtgkhvuirzcs])v/$1ui/"
      - "xform/(\\w)b/$1in/"
      - "xform/(\\w)m/$1ian/"
      - "xform/([aoe])\\1(\\w)/$1$2/"
      - "xform/(^|[ '])v/$1zh/"
      - "xform/(^|[ '])i/$1ch/"
      - "xform/(^|[ '])u/$1sh/"
      - "xform/([jqxy])v/$1u/"
      - "xform/([nl])v/$1ü/"
      - 'xform/([^|]*)/\L$1\E/'
    prism: double_pinyin_flypy

from rime-double-pinyin.

lotem avatar lotem commented on August 10, 2024

有。

from rime-double-pinyin.

 avatar commented on August 10, 2024

发现一个小问题,上面的配置文件在输入是合法的双拼的时候能正常工作,但是当输入不是合法的双拼时就不显示按键了。

例如依次按下host四个键,ho是合法的双拼,对应拼音huo,而st不是合法的双拼,此时整体就 只会显示 huost。好像在输入不是合法双拼的时候,preedit_format下面的规则就没有全部执行?

from rime-double-pinyin.

lotem avatar lotem commented on August 10, 2024

會全部執行。注意這些規則不是對全部輸入碼的轉換,是對當前中文候選所對應的輸入碼區間的變換。非中文輸入的部分原樣顯示。
輸出格式中的\t表示插入點/光標位置,允許在光標之後添加提示。僅當插入點位於整個輸入串末尾時纔會顯示光標之後的部分。

從直觀角度,最好把格式改成輸入碼在前,拼音標註在光標位置(\t)後面。

from rime-double-pinyin.

lotem avatar lotem commented on August 10, 2024

明白了,修改配置如下,实现双拼在前,拼音在后,使用|分隔。

如果這樣改,我反而覺得雙拼輸入碼在後面比較好,和不構成拼音的輸入碼連在一起。
看錯了,代碼裏仍然用了 \t 分隔兩部分。可以。

from rime-double-pinyin.

rockbenben avatar rockbenben commented on August 10, 2024

被困扰很久,终于解决了。

能不能集成在默认配置里,非常有用。

from rime-double-pinyin.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.