Linux控制台中的字符集/字体

Modified on: Sat, 30 Jun 2018 08:07:30 +0800

我想写一个在终端上运行的游戏。我做了一些终端着色,并希望使用一些unicode字符为漂亮的ascii艺术“图形”。但是linux终端不支持很多unicode字符(非X终端,我不知道你怎么称呼它... VT100?我的意思是终端使用文本模式输出,没有图形模式,因此使用与bios相同的字体来显示文本。)

例如,我想使用“半块”字符U + 2580(▀)和U + 2584()绘制半字符“像素”,但终端不支持这些字符。 (这些只是示例 - 我想使用更多特殊字符......)

此字体支持哪些字符?是否有列出这些字符的文件或表格?这是依赖于设备还是有“标准”?

作者:Anthon,leemes

最佳答案

该终端称为Linux控制台,有时称为“vt”(虚拟终端的缩写)。术语可能令人困惑,特别是因为它使用不一致且有时不正确。您可以通过阅读'终端','外壳','tty'和'控制台'之间的确切区别是什么?

Linux控制台支持用户配置的字体,因此您的问题的答案是“无论用户设置什么”。更改字体的实用程序是consolechars,它是Linux控制台工具的一部分。硬件仅支持8位字体,但您可以通过支持unicode编码输出来部分解决此问题,但只有256个字形(忽略其他字符)。阅读lct文档(在撰写本文时,它应该包含在您的发行版中)包)获取更多信息。

如果您使用Linux framebuffer,您可以直接或直接获得正确的unicode支持通过fbterm

半块字符包含在IBM代码页437中,受支持ROM大多数PC视频适配器。根据您需要的字符,这可能就足够了。

请注意,目前很少有人使用Linux控制台。有些人由于各种原因不能使用它(不运行Linux,在远程X终端上运行,有文本模式有问题的视频适配器,......)。我不建议花很多精力支持它。

作者:Community,Gilles

相关问答

添加新评论