编码和字体有什么不同?

问题描述 投票:0回答:1

编码是为字符或符号赋予唯一值的映射。

如果编码中不存在某个字符,无论您使用什么字体,都不会显示正确的字体 像 Lucida 控制台、arial 或终端

但问题是终端字体显示画线字符,但其他字体不显示画线字符

我的问题是为什么终端的行为与其他字体不同

请注意 Windows 7的 语言环境 英语

encoding fonts language-agnostic
1个回答
1
投票

对于不耐烦的人,相关链接位于此答案的底部。

编码是为字符或符号赋予唯一值的映射。

不,这是字符集的细节,它将某些字符映射到代码点(使用 Unicode 术语)。现在让我们忽略上面的内容。

如果编码中不存在某个字符,无论您使用什么字体,都不会显示正确的字体,例如 Lucida 控制台、arial 或终端

字体格式将 Unicode 代码点映射到字形。并非所有代码点都可以映射为特定字体 - 必须有人创建所有这些符号。再次,让我们忽略这一点。

并非所有二进制编码都可以映射到特定字符集中的代码点;这可能就是你的意思。

但问题是终端字体显示画线字符,但其他字体不显示画线字符

您的终端似乎在不同的字符集上运行,可能是“OEM”或“IBM PC”字符集,而不是兼容 Unicode 的字符集或 Windows-1252 / ISO 8859-1 / Latin。

如果是后者,那么你就不走运了,除非你可以将输出终端设置为另一个字符集,因为 Windows-1252 根本不支持方框绘制字符。

解决方案:

  • 如果可能,尝试将输出设置为 OEM / IBM PC 字符集。

  • 如果是 Unicode,您可以尝试将输出转换为 Unicode:使用 OEM 字符集读入(解码),然后使用 box 绘图子集重新编码。

© www.soinside.com 2019 - 2024. All rights reserved.