我需要在C ++中定义一个字符集。我已经检查了文件here,但我正在寻找的是更广泛的范围。例如,我有this之类的字母。
要输入这些字符,我将制作一个虚拟键盘。我假设我已经为每个角色提供了一个代码。我有这个字符集的字体。问题是,当我从虚拟键盘敲击键时,它会将键写为例如'q'。在文本字段中,它看起来像我展示的照片中的一个字母,但在背景中,实际的字母是'q'。当我把那封信复制到其他地方时,它会写'q'字母。 Example Image
虽然我无意在其他地方复制这些字母,但我想给他们一个代码,当我写的时候,它会与'q'不同。
如果我不使用至少两种古老的语言,那么用'q'代表那封信就不会有问题。 (古希腊语,古土耳其语)
它将类似于ASCII编码,但与程序外部隔离。
我希望我能很好地描述我的问题。
答案 0 :(得分:1)
好的,让我们来回答一下。
首先,不要打扰狭隘的角色。这只是一种痛苦。使用wchar_t
。其次,在相关系统上wchar_t
映射到某种形式的Unicode,而Unicode具有私有使用区域(PUA)。为每个角色分配PUA值。这会处理文本的二进制表示。
其次,您需要一种输入法。这是特定于操作系统的,您还没有指定哪个操作系统。而且我们不知道你有什么脚本,所以我们不知道字符的键是1对1映射还是更复杂。
最后,您需要一种显示这些脚本的方法。这可以通过两种方式解决。您可以为操作系统提供字体,让操作系统使用该字体呈现您的文本,或者您自己接管渲染。两者都不容易,而且都是针对特定操作系统的(我们仍然不知道)。