支持 Win32 控制台整个字符集的 Wine 字体?

支持 Win32 控制台整个字符集的 Wine 字体?

我希望能够在 Wine 控制台中显示 Win32 控制台可以显示的所有字符。我编写了一个小测试程序来打印出所有 8 位字符:

#include <stdio.h>

int main(int argc, char *argv[]) {
  int i, j;
  for (i = 0; i <= 0xF0; i+=0x10) {
    for (j = i; j <= i + 0x0F; ++j)
      printf("%2x:%c", j, (char)j);
    printf("\n");
  }

  getchar();
  return 0;
}

在 Wine 下,到目前为止我能做的最好的就是使用 Andale Mono:

Wine 控制台上显示的字符集的屏幕截图

这是我在 Windows Server 2008 上看到的:

Windows Server 2008 上显示的字符集的屏幕截图

有没有什么地方可以合法下载字体,使我能够在 Wine 下查看所有这些字符?

编辑我发现一组 DOS 字体其中包括CP437字体,应该涵盖我感兴趣的字符集。但是,即使我安装了这个字体,wineconsole似乎也无法识别它。有什么方法可以wineconsole使用这个字体,或者将这个字体转换为可以使用的格式wineconsole?或者有什么方法可以从中提取字体剂量测定用于 Wine 吗?

哦,我可能应该提到我在 Mac OS X 10.6.2 上,通过 MacPorts 安装 Wine,并使用该wine-devel软件包。

更多信息

我尝试安装一些控制台字体,这些字体应该可以覆盖 Mac OS X 字体的完整字符集(例如上面列出的 NewDOS 字体,以及我尝试从 DOSEMU 提供的字体转换的字体)。Wine 似乎无法识别 Mac OS X 中安装的新字体。有没有办法用 Wine 注册我安装的新字体?手动编辑system.reg似乎包含字体映射的文件是否可行,还是我需要做其他事情?

赏金即将结束,我仍在寻找答案。有人使用 Wine 控制台来处理复杂的文本用户界面吗?

答案1

Lucida Console 字体是 Windows 附带的两种字体之一,可在 Windows Console 中选择,支持上面演示的完整字符集(以及许多其他带重音符号的拉丁字符)。它可以从 Ascender 购买,价格为 30 美元

这可能可以满足我的需要,但我不想花 30 美元买字体,所以我仍在寻找是否有人可以提供免费的替代品。

答案2

从我在网上找到的信息来看,Wine 不支持 FON 位图字体格式。不过,你应该能够将它们转换为 TTF,尽管这似乎是一个有点繁琐的过程。Wine wiki 引用了此页面:

http://wiki.jswindle.com/index.php/Fonts#Converting_Fonts

这又引用了 Wine 文档的旧版本。该链接已损坏,但它与此页面相同:

http://www.sdconsult.no/linux/wine-doc/fonts.html

这围绕着 fnt2bdf 工具,它可能是 Wine 的一部分,否则你必须自己编译。你可以找到更多关于它的讨论这里这里

要从 bdf 再次转换为 ttf(如果有必要的话,我不确定),你应该能够使用FontForge。顺便说一句,这些 DOSEMU 字体也是 BDF 格式,并且是DOSEMU 源,因此大概您也可以将它们转换为 TTF。

答案3

嗯,我倾向于使用统一字体对于很多事情。我有一个TTF 的略微修改版本——我基本上在元数据中翻转了一点,让 PuTTY 将其识别为固定宽度的字体。

但我不知道如何让 Wine 意识到这一点。

相关内容