簡體   English   中英

為Qt創建位圖字體

[英]Creating a bitmap font for Qt

客戶端提供了詳細說明非常特定的LED設備的位圖字體的文件。 該設備的大小是已知的,不會改變。 另外,字符集很小(ASCII加一些圖形字符)。

現在我們已經有了使用標准Linux字體(Arial)在這些設備上呈現的軟件,其代碼如下:

m_font = new QFont("Arial", m_fontHeight);

因此,顯然,采用該代碼並簡單地用我們的字體名稱代替Arial會更容易,讓Qt自動選擇它。

因此,我的問題確實與如何在Linux中創建一個位圖字體有關,該字體將被該字體拾取。 對諸如FontForge(實際上是OTF / TTF文件格式)之類的工具的調查似乎表明,您需要根據矢量圖形而不是簡單的位圖來定義字體。

我看到該路徑充滿轉換問題,尤其是因為我們已經有了希望用於單個字符的位圖。

有沒有一種簡單的方法可以讓Qt(或底層的Linux字體引擎)選擇一個非常簡單的位圖類型的字體文件而不是矢量圖形文件?

BDF格式應適合您的需求。 它能夠存儲原始位圖,並且根據此處的文檔與Qt兼容。

Qt文檔

Qt使用FreeType 2字體引擎來生成字體輸出。

...

FreeType 2庫可以支持以下字體格式:

  • TrueType(TTF)
  • PostScript Type1(PFA / PFB)
  • 位圖分發格式(BDF)
  • CID鍵的Type1
  • 緊湊字體格式(CFF)
  • OpenType字體
  • 基於SFNT的位圖字體
  • 便攜式編譯格式(PCF)
  • Microsoft Windows字體文件格式(Windows FNT)
  • 便攜式字體資源(PFR)
  • 42型(有限支持)

位圖字體的未來是基於SFNT的位圖字體(基本上是與OpenType兼容的容器中的位圖字形)。 它應該在現代* nix系統,GTK和QT下按原樣工作(您可能需要確保目標系統上沒有fontconfig規則將位圖字體列入黑名單)。

現在,位圖字體的整個“未來”都是黯淡而有限的,我認為它們在HiDPi和4K屏幕上還無法幸存。 盡管SFNT位圖字體是您的最佳目標,但它的目標並不多,我懷疑位圖設備的市場是否足以支持健康的位圖字體軟件生態系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM