我想写Translit.net但在自动热键上。所以我成功地完成了只有一个字母的部分:
:*:a::а
:*:b::б
:*:v::в
:*:g::г
:*:d::д
...
但现在我在将“shh”翻译为“щ”以及其他“二对一”字符翻译时遇到问题。当我开始输入 shh 时,我会得到 схх,但我想要得到 щ。我能做什么?
我当前的想法:当我按下一个键时,它应该记下该字母并将未翻译的字母添加到 3 元素数组中,并检查数组元素是否创建 shh ,ch、sh 或任何其他大于 1 的组合。然后我可以删除最后 3 或 2 个输入的字母并发送我需要的俄语字母。也许有人知道一种更简单的方法来做到这一点。我希望我的脚本能够像我发布的页面一样工作。用 C 或 C# 代替 AutoHotkey 的解决方案也会对我有帮助。
最佳答案
我在使用 Autohotkey 的 unicode 版本时遇到同样的问题,但前提是文件以 UTF-8 格式保存,无 BOM 格式。
将文件保存为 UNICODE(UCS-2,必须是 Little Endian)可以解决该问题。
它还可以使用带 BOM 的 UTF-8,因此显然 autohotkey 无法自行确定字节顺序。
关于c# - 类似 translit.net 但在 autohotkey 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36090635/