lee*_*mes 5 linux fonts unicode console
我想编写一个在终端中运行的游戏。我做了一些终端着色,并想使用一些 unicode 字符来制作漂亮的 ascii 艺术“图形”。但是linux终端不支持很多unicode字符(非X终端,我不知道你怎么称呼它...VT100?我的意思是使用文本模式输出的终端,没有图形模式,因此使用与 bios 中相同的字体来显示文本。)
例如,我想使用“半块”字符 U+2580 (?) 和 U+2584 (?) 绘制半个字符“像素”,但终端不支持这些字符。(这些只是示例 - 我想使用更多特殊字符......)
此字体支持哪些字符?有没有列出这些字符的文件或表格?这是依赖于设备还是有任何“标准”?
该终端称为 Linux 控制台,有时也称为“vt”(虚拟终端的缩写)。术语可能会令人困惑,特别是因为它的使用不一致,有时甚至不正确。您可以通过阅读“终端”、“外壳”、“tty”和“控制台”之间的确切区别是什么来找到有关术语的更多信息?.
Linux 控制台支持用户配置的字体,因此您的问题的答案是“无论用户设置什么”。改变字体的效用是consolechars,部分Linux控制台工具。硬件仅支持 8 位字体,尽管您可以通过支持 unicode 编码输出但只有 256 个字形(其他字符被忽略)来部分解决此问题。阅读lct 文档(在撰写本文时在线,它应该包含在您的分发包中)以获取更多信息。
如果您使用 Linux framebuffer,则可以直接或通过fbterm获得适当的 unicode 支持。
半块字符包含在IBM 代码页 437 中,大多数 PC 视频适配器的 ROM 都支持该代码页。根据您需要的字符,这可能就足够了。
请注意,如今很少有人使用 Linux 控制台。有些人由于各种原因不能使用它(不运行 Linux,在远程 X 终端上运行,有一个文本模式有问题的视频适配器,......)。我不建议在支持它上花费太多精力。
| 归档时间: |
|
| 查看次数: |
5148 次 |
| 最近记录: |