对于一个程序,我需要将盲文字符输出到控制台。
我找到了一种使用如下代码输出 unicode 字符的方法:
#include <iostream>
#include "fcntl.h"
#include "io.h"
using namespace std;
int main() {
_setmode(_fileno(stdout), _O_U16TEXT);
wcout<<L"ĐĄßĞ"<<endl;
return 0;
}
并将 cmd 字体更改为 Lucida Console。
然而,这样存在盲文字符不显示的问题。实际上,我什至无法将它们复制并粘贴到代码中,因为它们显示为空白。在Linux中一切正常(我可以看到、复制和粘贴这些字符),但我需要Windows应用程序。
我想有一些可能使用这个字符的代码,我尝试过这种方式,但没有成功。
有人可以帮我完成这项任务吗?
-
您需要安装支持 Unicode 的等宽字体。为了尝试这个,我使用了 FreeMono.ttfhttp://www.wazu.jp/gallery/Fonts_Braille.html http://www.wazu.jp/gallery/Fonts_Braille.html.
-
安装字体后,编辑注册表以将字体添加到控制台的字体列表中:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont。应该有一个0
and 00
Lucida Console 和 Consolas 的条目。为您想要的每种字体的值名称添加另一个零。我添加了000
并设置为FreeMono
.
-
重新启动控制台,然后编辑其属性以选择字体。在 Windows 10 上,您可能必须在控制台属性中启用“传统模式”并重新启动控制台,然后字体才会显示。选择它后,您可以再次关闭传统模式。
这是我使用的代码:
#include <iostream>
#include "fcntl.h"
#include "io.h"
using namespace std;
int main() {
_setmode(_fileno(stdout), _O_U16TEXT);
wcout<<L"\u2876\u2877\u2878"<<endl;
return 0;
}
输出(截图):
注意:我选择的字体不能很好地显示 ASCII,所以我不推荐它,但盲文很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)