Skip to content

Bug: Generated Rime config replaces Luna Pinyin speller/algebra, disabling upstream spelling corrections such as yv #2287

Description

@hikikomomidori-ux

Reproduction steps

  1. Enable Chinese QWERTY input in FUTO Keyboard and select Full Pinyin.
  2. Type yu: Chinese candidates appear normally.
  3. Type yv: no Chinese conversion candidates appear.
  4. The same behavior can be checked with jv, qv, and xv versus ju, qu, and xu.

Actual result

yv is not accepted as an alternative spelling for yu.

This differs from current upstream Rime Luna Pinyin behavior. FUTO's generated customization file appears to replace Luna Pinyin's existing speller/algebra with only the fuzzy-Pinyin rules selected in FUTO.

Expected result

FUTO should preserve Luna Pinyin's upstream speller/algebra rules while adding FUTO's configurable fuzzy-Pinyin rules.

Upstream luna_pinyin.schema.yaml loads:

  • pinyin:/abbreviation
  • pinyin:/spelling_correction
  • pinyin:/key_correction

and upstream pinyin:/spelling_correction contains:
derive/^([jqxy])u/$1v/correction

So yv should be accepted as a correction spelling for yu.

In current FUTO source, ChineseIME.writeCustomizationFile() emits a replacement speller/algebra: node. Please consider merging/appending FUTO fuzzy rules instead of replacing the upstream algebra, and add regression tests for yu/yv, ju/jv, qu/qv, and xu/xv.

Keyboard Version

0.1.30

Which android version are you using?

Not provided; this appears reproducible at the Rime configuration layer rather than being Android-version specific.

Which device are you using?

iQOO 13

Which operating system are you using?

vivo/iQOO stock OS; exact version not provided.

References

Related issues:

Relevant source:

The suspected cause is that FUTO writes speller/algebra: directly in the generated custom YAML, which can replace Luna Pinyin's upstream algebra instead of extending it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't workingLanguage SpecificRegarding a specific language

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions