Allsorts是一種字體解析器,塑造引擎和子集,用於Opentype,Woff和Woff2完全用Rust寫成。它是從Prince中提取的,Prince是一種題材和將HTML和CSS文檔列入PDF的工具。
Allsorts塑造引擎是與Opentype塑料規範共同開發的,該規範旨在指定Opentype字體成型行為。
glyf , CFF , CFF2 ),Woff和Woff2文件。字體塑形是以Unicode編碼點和字體形式獲取文本的過程,並根據文本從字體上鋪設字形。這涉及紀念字體指定的kerning,結紮和替換。對於某些語言,這相對簡單。對於其他人來說,例如指示腳本,它非常複雜。塑造後,另一個圖書館(例如Pathfinder或Freetype)負責渲染字形。要了解有關文本渲染的更多信息,Andrea Cognolato對Linux上的現代字體呈現有很好的概述。這些概念在其他平台上仍然相似。
請參閱Allsorts工具存儲庫的一組工具,這些工具可以鍛煉Allsorts字體解析,塑造和子集。
我們目前不支持:
已知限制:
Allsorts仍處於積極的發展,但在2019年將其包含在Prince 13中。
當前,字體解析代碼是手寫的。計劃最終通過我們的聲明數據定義語言項目將機器生成的代碼替換。
Allsorts CI在Linux,MacOS和Windows上運行測試。通過Prince,它也是為FreeBSD建造的。
最低支持的銹版本: 1.66.0
要構建板條箱,請確保您的生鏽1.66.0或安裝了更新的箱子。
使用cargo build並通過cargo test進行測試。
| 特徵 | 描述 | 默認啟用 | 額外的依賴性 |
|---|---|---|---|
outline | 啟用用於訪問字形大綱的代碼 | ✅ | |
flate2_zlib | 使用Zlib後端進行Flate2 | ✅ | zlib |
flate2_rust | 用銹後端飛行2 | miniz_oxide | |
prince | 啟用王子特定的測試和代碼 | ||
specimen | 啟用用於生成HTML字體樣品的模塊 | upon , unicode-blocks |
注意:在我們的測試中, zlib flate2後端更快,但是在編譯WASM或類似的情況下,您可能更喜歡Rust後端作為純生鏽解決方案。
歡迎捐款,請參閱貢獻文件以獲取更多詳細信息。
我們旨在維護生鏽社區標準:
無論性別,性取向,殘疾,種族,宗教或類似的個人特徵,我們都致力於為所有人提供一個友好,安全和熱情的環境。
我們遵循鏽蝕守則。
Allsorts根據Apache許可證(版本2.0)的條款分發。
有關詳細信息,請參見許可證。