Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typofix: Condidiate -> Candidate. #657

Merged
merged 1 commit into from
Jul 27, 2022
Merged

Typofix: Condidiate -> Candidate. #657

merged 1 commit into from
Jul 27, 2022

Conversation

ShikiSuen
Copy link
Contributor

@ShikiSuen ShikiSuen commented Jul 27, 2022

這個 PR 只修錯別字。

下一個 PR 會給 preedit 當中顯示的每個漢字的注音符號引入聲介韻順序自動糾正機制。
原理很簡單:針對單個漢字的注音符號字串本身排序即可,因為它們的 unicode 排序本來就是按照聲介韻排序的。

@LEOYoon-Tsaw
Copy link
Member

「聲介韻順序自動糾正」用正則不就完了,有必要改程序?

@ShikiSuen
Copy link
Contributor Author

@LEOYoon-Tsaw 正因為我不懂屁眼語言所以才要改 ObjC 啊。
「用正則不就完了」這一句看似輕鬆,但對方完全無法因為這句而搞懂任何事情。

@ShikiSuen
Copy link
Contributor Author

單個漢字的注音聲介韻順序糾正 這種事情 完全用不上 Regex。
針對整個 inline composition display text 的操作是否可以受益於 Regex 的話,我就不清楚了。

@LEOYoon-Tsaw
Copy link
Member

用不上正則,所以用得上改代碼?真是優秀呢

@ShikiSuen
Copy link
Contributor Author

你這樣酸下去,那我也酸你把 candidate 敲成 condidate?這樣互相酸下去有什麼好處?
我只是指出你某些無效溝通方式,你就炸毛成這樣。

@ShikiSuen
Copy link
Contributor Author

@lotem 這個 PR 只是修錯別字而已,您看要不要先給過了?

@lotem
Copy link
Member

lotem commented Jul 27, 2022

只改显示不妥吧。显示要与实际输入顺序一致,才能保证退格键删除的是用户看到的最后一字。

@lotem lotem merged commit fb7e36d into rime:master Jul 27, 2022
@ShikiSuen
Copy link
Contributor Author

@lotem 那要不要考慮往 libRime 引入我這個模組?
https://github.com/vChewing/TekkonCC
這個模組可以將使用者敲入的注音以注音的形式管理、但卻能夠以拼音的形式輸出。這樣就能與 Rime 的地球拼音的讀音索引鍵對應上了。

P.S.: 要求 C++17。一開始是針對 C++20 的,後來才降級到 17 的(依賴其 inline 特性)。

@lotem
Copy link
Member

lotem commented Jul 27, 2022

@lotem 那要不要考慮往 libRime 引入我這個模組?

不要。
我也写过这段逻辑,代码应该没这么复杂。如果需要,你可以把这些代码包装成Rime插件,实现并注册一个rime::Processor,就能在方案里调用了。

@ShikiSuen
Copy link
Contributor Author

@lotem
OK. 其實,只支援大千聲韻並擊的話,500 行以內的 swift 就可以搞定(我先寫 Swift 版之後才出的 C# 與 C++ 版)。

我這倉庫搞這麼大,因為有漢語拼音到注音的轉換、還有對通用拼音、耶魯拼音、國音二式、華羅拼音的輸入支援所致。各種轉換表與轉換函數都需要篇幅。此外,倚天忘形26鍵、許氏鍵盤、酷音大千26鍵的處理邏輯佔據的篇幅非常大,且常見的注音符號輸入錯誤搭配糾正也佔了一點小篇幅。

當然篇幅最大的是單元測試,光是測試倚天忘形26鍵與許氏鍵盤的單元測試就三千行左右。

@ShikiSuen ShikiSuen deleted the typoFix branch July 28, 2022 00:05
@lotem
Copy link
Member

lotem commented Jul 28, 2022

不管。

这不是通用的逻辑。比如定义什么是声母、界音、韵母、声调、空格代表第一声等等,这属于实现具体方案的代码。就别提交到librime了。

@ShikiSuen
Copy link
Contributor Author

@lotem 好的。
请问 rime::Processor 有没有相关的开发文档?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants