fdiff是一種用於評估字體文件之間Opentype表數據中粒度差異的Python命令行比較工具。該工具提供了MACOS,Windows和GNU/Linux系統的本地和遠程字體差異的跨平台支持,並提供了Python v3.7+解釋器。
尋找Opentype表差的高級概述,而不是低級更改?只需查看Van Rossum的fbdiff工具即可。
--include或--exclude選項過濾Opentype表-l或--lines選項中差異中顯示的上下文行的數量--head選項的DIFF輸出的第一行--tail選項顯示DIFF輸出的最後N行--external選項使用外部差異工具執行差異運行fdiff --help以查看所有可用選項。
fdiff需要一個Python 3.7+解釋器。
建議在Python3虛擬環境中安裝。
使用以下任何安裝方法:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install -r requirements.txt .
以下方法安裝了項目和相關的可選開發人員依賴性,因此無需重新安裝而可以使用源更改。
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
$ fdiff [OPTIONS] [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
fdiff支持獲取可公開訪問的遠程字體文件的請求。用URL替換文件路徑參數:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
fdiff可與本地和遠程字體文件的任何組合一起使用。例如,要將本地Post Font文件與遠程字體文件進行比較,以評估以前已將其推向遠程的字體文件評估本地更改,請使用以下語法:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
提示:遠程GIT存儲庫託管服務(例如GitHub)支持URL不同GIT分支上的文件訪問。使用這些存儲庫分支URL比較存儲庫中的git分支的字體。
要在差異中僅包含指定的表,請使用與逗號分隔的表名稱列表的--include選項:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
要在差異中排除指定的表,請使用與逗號分隔的表名稱: --exclude選項:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
在逗號分隔的表名稱值之間不包括空格!
要更改具有差異的上下文上下文的線路數,請使用帶有整數值的-l或--lines選項,用於所需的線數。以下命令將上下文信息減少到上面和下方的一行,差異為差異:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
使用--head選項,然後使用一個整數,用於輸出開始時的線數。例如,以下命令顯示差異的前20行:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
使用--tail選項,然後使用一個整數,用於輸出末端的線數。例如,以下命令顯示diff的最後20行:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
請注意:此功能尚未在所有受支持的平台上進行測試。請報告您在項目問題跟踪器上遇到的任何問題。
默認情況下,FDIFF用Python源執行差異。如果您遇到了這種方法的性能問題,則可以使用平台上可用的DIFF可執行文件。 FDIFF將轉儲TTX文件,並運行您在命令行上提供的命令,傳遞前字體和後字體TTX轉儲文件路徑作為命令的第一個和第二個位置參數。
例如,您可以在gnu/linux上運行diff -u命令,也可以按照這樣的macOS運行:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
FDIFF支持內置的顏色格式和Opentype表濾波,與外部DIFF工具一起使用。使用外部DIFF工具不支持上下文線,頭部和尾部選項。
ANSI逃生代碼彩色差異是在終端環境中默認執行的。
要查看終端中沒有ANSI逃生代碼的diff,請在您的命令中包含--nocolor選項:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
使用fdiff -h查看所有可用選項。
請報告有關項目問題跟踪器的問題。
貢獻受到熱烈歡迎。開發依賴環境可以在上面的開發人員安裝文檔中以可編輯模式安裝。
請使用標準的GitHub拉請求方法提出源更改。
Python源文件用flake8凸起。有關詳細信息,請參見Makefile test-lint目標。
該項目與pytest工具鏈上的GitHub Action Service進行了連續的集成測試。測試模塊位於存儲庫的tests目錄中。
可以使用從存儲庫的根執行以下命令來執行Python解釋器版本的本地測試:
$ tox -e [PYTHON INTERPRETER VERSION]
請參閱tox文檔以獲取更多詳細信息。
使用coverage工具執行單位測試覆蓋範圍。有關詳細信息,請參見Makefile test-coverage目標。
fdiff是由Fontant fonttools免費軟件庫構建的,並使用Fonttools庫中定義的TTX Opentype表數據序列化格式執行二進製字體文件的文本差異。
版權所有2019 Source Foundry作者和貢獻者
根據Apache許可證(版本2.0(“許可”)獲得許可;除了符合許可外,您不得使用此文件。您可以在
http://www.apache.org/licenses/license-2.0
除非適用法律要求或以書面形式同意,否則根據許可證分配的軟件是按照“原樣”分發的,沒有任何明示或暗示的保證或條件。請參閱許可證,以獲取執行許可條款和限制的特定語言。