我希望能够在 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:
这是我在 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 意识到这一点。