2

我在我的 Windows 8 系统中安装了一个 Bramm TTF 文件。通过windows字符映射,我能够找到单个字符代码。附在地图截图下方。我们可以在右下角看到“!”的字符代码 是 0x21。同样,我可以找到所有其他字母的所有字符代码。

Bramma TTF 的字符映射

现在,我使用基于美国的键盘布局为该字体定义了一个字符映射。例如,我将键盘中的物理字符“a”映射到第 3 行第 1 列中显示的字符。[每当我从键盘上按“a”时,必须显示相应的字符]

我想编写一个后台 C 程序,以便它监听键盘敲击,并且根据我之前定义的字符映射,我的 C 程序应该输出该映射字符。即,当我从键盘点击字符“a”时,它应该返回映射的字符。

任何人都可以帮助我解决这个问题,或者只是给我一个解决方案的线索。

4

4 回答 4

2

我对这些字体有点熟悉,它们出现在 SO 的其他问题中。试图处理使用这种字体的后果的用户提出的问题。他们比较严重。

最大的问题是这种字体不兼容 Unicode。呈现到屏幕上的文本的实际字符串非常不同,包含来自 ANSI 字符集的字符。可怕错误是当显示这些字符串的程序保存数据时。数据文件包含原始字符串,一个很好的例子是 Excel 电子表格。当任何其他程序读取此电子表格时,它只会包含乱码。当被另一台没有安装相同字体的机器上的程序读取时尤其糟糕。非常非常痛苦。

实际上,您甚至破坏了键盘到 ANSI 字符之间的法线映射,从而使这个问题变得更糟。第 3 行中的第一个字符是通过在键盘上键入大写 I(眼睛)产生的。

信息很明确:不要这样做。Windows 很好地支持带有印度脚本的 Unicode 兼容字体,如 Sylfaen、Mangal、Latha 等字体。所有这些都在我的 Windows 8 机器上可用,距离它们通常使用的地方大约一万英里。它还在语言小程序下提供了印度语键盘布局,我只是选择了一个作为示例:

在此处输入图像描述

好吧,这是你的葬礼。您不必编写 C 程序来翻译这些击键,您需要自定义键盘布局。它是一个 DLL。您通常需要 DDK 来构建它们,但有一些简单的工具可用于自动生成它们。没有比使用 MKLC(Microsoft 键盘布局创建器)更容易的了。网页和下载链接在这里

于 2013-02-27T17:07:32.803 回答
0

Google 的虚拟键盘(也适用于您的物理键盘)

https://code.google.com/apis/ajax/playground/#virtual_keyboard
于 2013-03-05T23:29:44.987 回答
0

http://www.tavultesoft.com/允许您为 MSWindows 和网络创建键盘。随时提供超过 1000 个键盘。有开发者版本和用户版本。使用开发人员版本,您可以创建安装程序来安装字体、键盘、键盘映射和文档。

于 2013-03-06T08:12:58.233 回答
0

可能你应该使用autohotkey。使用此应用程序,您可以收听一组键,然后发送一组不同的键。

这可以用作“自动更正”的实现

例如

:*:btw::By the way `

将自动更正btwBy the way.

autohotkey 支持相当复杂的脚本,并且许多脚本已经在线可用。

另一方面,如果您只想用英文键盘打印马拉雅拉姆语 unicode 字符,您可能还会想到一个名为baraha的流行软件

于 2013-02-28T14:46:28.273 回答