2

我想知道 C 中是否有任何库可用于计算字体度量(基本上我想知道特定字体字符串的宽度)。QT 有 QFontMetrics。有什么办法可以在C中获得类似的数据。

4

4 回答 4

1

C 是(只是)一种编程语言。按照设计,C 根本没有嵌入式函数,甚至对于文件 I/O 也没有。

因此,您必须指出您正在使用的图形/GUI 平台。

于 2010-07-25T16:10:10.803 回答
1

您可以使用 freetype2:http ://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_Glyph_Metrics

于 2010-07-25T16:23:25.007 回答
1

我不会说只使用 FreeType,除非您在使用 X 作为图形显示的系统上。如果您在 Windows 上,请使用 Windows API 获取字体指标信息,在 Mac 上使用 Cocoa 提供的任何内容。

如果您告诉我们您正在尝试做什么,这也可能会有所帮助。

编辑:由于您的库的输出旨在由特定的 GUI 应用程序使用,您可能希望使用相同的 GUI 库来获取应用程序使用的字体度量信息。更好的是让应用程序向库提供指标信息,或者可以提供该信息的回调方法。然后库甚至不必知道字体度量是如何派生的,从而减少了不必要的依赖。这也意味着您可以在您的 GUI 应用程序中使用 Qt (C++),但仍然用 C 编写您的库,而不必想办法从 C 中调用 C++,这非常困难,特别是如果您正在尝试实现它跨平台。

于 2010-07-25T16:31:55.120 回答
0

查看 FreeType: http: //freetype.sourceforge.net/freetype2/docs/tutorial/step2.html

于 2010-07-25T16:21:12.487 回答