一些使用hintfull提示方法的使用者可能已經注意到,從Pango版本1.43升級到1.44時 一些字體系列 或 .
問題是由庫引起的 不再使用 有關字體字距調整(字形之間的距離)的信息 ,後者的開發者決定 使用“hintfull”方法進行字體平滑。值得注意的是,在高像素密度(Hi-DPI)的螢幕上,使用「hintfull」以外的提示方法時不會出現顯示字型的問題。
HarfBuzz 開發者(Behdad Esfahbod)來自該問題的相應討論:
我嘗試使用 hintfull 以外的其他字體微調樣式,但只有 hintfull 才能提供接近 ClearType v2 的字體渲染效果。 Windows 7,在我看來,它是所有現有解決方案中渲染效果最好的。
正確的。因此,我們決定不再支持。您可以嘗試習慣肥皂渲染或嘗試尋找其他東西。你使用開源,懂嗎?
進一步討論後補充:
在隨後的評論中,開發者 ,FOSS 提供了選擇的機會,那些對現狀不滿意的人可以創建 Pango 的分支。 HarfBuzz 開發人員無法影響其維護和內部做出的決定。 Behdad Esfahbod 是 HarfBuzz 的現任維護者,在提交量方面位居第一
,提到他已經 10 多年沒有與 Red Hat 有任何關聯,也不是 Pango 的維護者。自 2010 年起,他轉投谷歌,目前只負責 HarfBuzz,這之前是他的個人專案。哈夫巴茲 渲染程序和 Pango 可以覆蓋其一側請求的提示模式。
另一位 HarfBuzz 開發者 ,問題出在 Pango 這邊,因為 HarfBuzz 不是字體渲染系統,並且不支援其架構的提示。如果 Pagno 需要保持提示,那麼切換到 HarfBuzz 並不是依賴其支援的選項。在 HarfBuzz 中未實現提示的原因是某些提示模式會導致初始字形寬度發生變化,而這種變化取決於像素大小。在此之前,Pango 透過支援提示的 FreeType 執行了類似的操作,但後來改用 HarfBuzz,無論字形大小都可以處理。因此,使用 Pango 時出現的任何問題均由 Pango 負責,而不是 HarfBuzz。
最終貝達德·埃斯法博德 字體堆疊發展歷程的大型回顧 Linux在他離開加入谷歌後,Pango 和 Cairo 庫幾乎被棄用並停滯不前。 HarfBuzz 專注於支援自適應可變字體(variable-font),而 Red Hat 則主要專注於 GTK 和 Glib。隨著時間的推移,可變字體的工作被移植到 FreeType、fontconfig 和 Cairo,但由於缺乏開發人員,Pango 中的相關工作仍未完成。 Pango 中新 API 的存取是透過 FontMap 抽象層提供的,並且僅支援基於 FreeType 的後端。 Windows и macOS 已獨自生活超過10年。
隨著行動裝置和瀏覽器的普及,微軟停止了… Windows 8 支援亞像素字體渲染和 GDI 風格繪圖。 macOS 它一直支援渲染,本文中稱之為「模糊渲染」。自 2018 年以來,一些 HarfBuzz 開發者嘗試將近年來 HarfBuzz 添加的功能移植到 Pango。同時,GTK4 的開發轉向了基於 OpenGL 的渲染,這意味著文字縮放是線性的,這加劇了像素渲染和可縮放佈局之間的矛盾。
LibreOffice、Chrome 和 Firefox 已轉而使用 HarfBuzz 作為其統一的塑造引擎,但代價是放棄對點陣字體和 Type1 格式的支援。對於光柵字體,需要的人可以將其轉換為 OpenType 容器。 Adobe 被要求為 HarfBuzz 實現 Type1,但他們回應說這樣做沒有意義,因為他們自己今年將終止對 Type1 的支援。
為了趕上已經超越的技術,Pango 庫也做出了類似的決定,改用 HarfBuzz。代價就是終止對 20 年前的一些舊技術的支援。值得注意的是,由於資源有限,開發人員沒有足夠的人手來處理所有事情,而有興趣保留舊技術的人可能會嘗試尋找願意支援他們所缺少的功能的人。以 GNOME3 為例,出現後,那些不滿意的人能夠在 Mate 和 Cinnamon 專案中繼續開發過時的 GNOME2 技術。 Pango 的情況也類似,但目前還沒有人購買。
來源: opennet.ru
