【问题标题】:How to write your own input tool software for windows for my language?如何为我的语言编写自己的 windows 输入工具软件?
【发布时间】:2016-05-04 11:10:53
【问题描述】:

我的语言 Kachhi 没有官方的 Unicode 支持,但我开发了自己的 ttf、otf、svg 等格式的字体。 我已经使用相同的字体运行了一个网站。

我希望用户能够使用我的字体以我的语言书写或输入 (最好在所有平台上,但如果不是,则主要在 Windows 上)

那么如何开发windows的输入工具软件呢? 输入为我的语言设计的自定义字体

任何人都可以通过指出如何构建您自己的 Windows IME 来提供帮助。链接到一些教程或书籍或任何东西?

【问题讨论】:

  • 很抱歉,这听起来有点傲慢,但您确定不支持 Unicode 吗? Kutchi 语言(这与“Kachhi”相同吗?)使用古吉拉特语脚本,该脚本以 Unicode 形式存在。
  • 是的,它是同一个 Kutchi,但我们没有正式的脚本,我们使用修改后的古吉拉特语脚本来适应不同的发音和辅音元音以及一些独特的喉音。问题是我们不想使用古吉拉特语,而是我们自己的脚本和自己的字体和输入工具
  • 我明白了。您的大部分问题将是如何在内存中表示脚本的字符,因为您的脚本不支持 Unicode。您的自定义字体中的字符是否映射到 Unicode 中的古吉拉特语代码?如果是这样,您可以在内部将您的语言中的字符串表示为古吉拉特语,然后使用您自己的字体以不同方式呈现它们。
  • 是的,古吉拉特语和 kachhi 之间的主要区别是 4 个全新的附加字形/字母,表示古吉拉特语 Unicode 中缺少的内爆音。那么你能指出我如何开始构建软件吗?
  • 你可能想试试Microsoft Keyboard Layout Creator 虽然我不确定它是否能适应你的语言。

标签: c++ windows input google-input-tools


【解决方案1】:

如果我误解了这个问题,我深表歉意 - 但我认为您可以考虑使用 Unicode private use area

Unicode 的这一部分的想法是完全允许这种情况 (I remember someone used it for the fictional Klingon language at one point)。

您可以使用 Unicode 表的这些区域,然后通过传统的 Unicode 方法提供输入/输出机制。

显然,如果没有自定义字体(例如您开发的字体),表格的这些部分就没有任何意义。

【讨论】:

  • 感谢一百万!我正在详细研究 Unicode PUA。但是如果我想为 Windows 制作输入工具软件,你能指出我应该从哪里开始以及使用哪种语言吗?我更喜欢c++
  • C++ 是一门很棒的语言,我通常将它用于这些功能。如果您在 windows 上工作,window 内置的 Unicode 支持将正常工作 - 对于跨平台开发,ICU 库 (site.icu-project.org) 是您最好的选择(并且被苹果使用,我相信 Linux)(windows API)msdn.microsoft.com/en-us/library/windows/desktop/… 我没有比这更好的了,因为 IME 是一个非常重要的话题。
  • 好的,非常感谢...我会详细检查它们...只是一厢情愿...没有教程教您如何从头开始构建 IME?
  • 不是我自己了解的~大多数windows用户只是简单地使用windows IME。也许这值得发布一个新问题?
【解决方案2】:

您的目标称为Input Method Editor。本质上,这是一个具有标准化界面的小程序,用于将用户输入转换为 Unicode 文本。

您几乎可以选择任何具有良好 Windows 支持的语言。 IOW,VC++。

【讨论】:

  • 谢谢!因为这就是我想要的...这是我从 MSDN 获得的参考:使用现有的文本服务框架 (TSF) 基础结构来实现您的 IME 逻辑和用于您的 UI 的 Windows 应用商店应用程序通用控件。创建拥有的窗口来托管您的 UI 所以我现在只需要弄清楚如何编写一个包含上述内容的软件。基本上它对我来说是非常先进的东西,因为我从来没有在 C++ 中走得这么远
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多