2010-07-25 24 views
2

我想知道是否有C語言中的任何庫可用於計算字體度量(基本上我想知道特定字體字符串的寬度)。 QT有QFontMetrics。有沒有什麼辦法可以在C中獲得類似的數據?字體指標在C

回答

1

我不會說只使用FreeType的,除非你是一個使用X作爲圖形顯示系統上。如果您使用的是Windows,請使用Windows API獲取字體指標信息,並在Mac上使用Cocoa提供的任何信息。

如果您告訴我們您正在嘗試做什麼,這也可能有所幫助。

編輯:由於您的庫的輸出旨在被特定的GUI應用程序使用,因此您可能希望使用相同的GUI庫來獲取應用程序正在使用的字體度量信息。更好的辦法是讓應用程序向庫提供度量信息,或者提供該信息的回調方法。然後,庫甚至不必知道字體度量如何派生,減少了不必要的依賴。這也意味着你可以在你的GUI應用程序中使用Qt(C++),但仍然使用C語言編寫你的庫,而不必從C中調用C++,這非常困難,特別是如果你正在嘗試使用它跨平臺的。

+0

實際上,我有一種報告生成器庫,它向基於GUI(基於QT)的應用程序提供報告。我應該提供報告,以便數據不應超過此處提供的文本框。所以我試圖根據字體大小和字體類型來查看是否可以截斷報表。 – hari 2010-07-26 05:36:49

+0

我根據你的評論更新了我的答案。 – siride 2010-07-26 14:53:48

+0

感謝您的回答。 我已經用QT QFontMetrics實現了類似的解決方案。 但想知道我是否可以在沒有QT支持的情況下做到這一點。 – hari 2010-07-27 04:55:38

1

C是(只是)一種編程語言。通過設計,C根本沒有嵌入式功能,即使對於文件I/O也沒有。

所以你必須指出你正在使用的圖形/ GUI平臺。