2013-03-13 47 views
1

這三個開源庫很經常在android中使用。我只知道這些庫是用來處理字體的。 我在想這些圖書館有什麼區別,它們與每個圖書館都有關係嗎?或者他們可以互相替代。icu4c opentype之間的區別harfbuzz

回答

9

OpenType不是圖書館,它是「智能」字體的標準,它是用於高級版式和支持複雜書寫系統的最廣泛使用的格式。

ICU是一個支持Unicode的庫,它提供了許多功能,如Unicode字符屬性,Unicode雙向算法實現,編碼轉換等等。 ICU還提供了一個OpenType實現ICU LayoutEngine,但它並未被Android AFAIK使用,它也未被維護,並且在某些時候將被HarfBuzz取代。

HarfBuzz是塑造庫中的文本,總之它需要一種字體,文本字符串和一些屬性(文字,語言,可選的OpenType功能),並返回字體字形ID,一個渲染引擎將繪製它們的序列屏幕。它主要是一個OpenType實現,但可以支持其他字體技術。它是一個低級庫,需要對字體和文本渲染有一些理解才能正確使用。