如何将 .c 或 .bmp 更改为 .ttf

How to change .c or .bmp to .ttf

由于我的无知,我使用 BitFontCreator 为 unicode 字符创建了我可爱的字体。我计划将它用于在 WinApi 上输出的文本。经过长时间的制作,我发现它只能导出.c、.bin和.bmp文件。但是这些不是WinApi可用的字体文件,我被迫使用PutPixel功能,但是输出太慢了!我应该做些什么?我想出了一个解决方案:将.c或.bmp更改为.ttf,但是如何?(还有其他方法吗?)谢谢。

你通常不能,bitfontcreator 是一个位图字体制作器,它实际上只是一个位图绘图,与 "Fonts" 无关,直到你将图像加载到可以将其分割成的程序中有意义 "letter 'W' is found at x/y/w/h values: ...."。

另一方面,OpenType 字体(其中 TTF 是两种内部风格之一)是矢量轮廓真实字体格式(因为它具有权威和详尽的规范),并且几乎是最流行的字体之一现有的复杂软件 =)

可以做的是将每个字母导入到一个程序中,该程序可以在为字母导入位图时进行矢量抽象,例如 HighLogic 的 FontCreator,这样你就结束了了解位图的矢量近似值。然后您将花费大量时间来修复抽象错误,但至少在那之后您将拥有真正的现代字体。

无需将像素数据转换为 "real" 字体。 PutPixel 非常慢,不应该用于这样的目的。

一个半途而废的解决方案是将您的每个角色放入单个位图中并绘制它们。

一个完整、快速的解决方案是在位图中抓取 window,将您的角色绘制到其中,然后再次在您的 window 中绘制修改后的位图。这可以通过完整 window(如果您需要完全重绘所有文本)或更精细的粒度来完成,例如一次一行。