fdiff adalah alat perbandingan baris perintah Python untuk penilaian perbedaan granular dalam data tabel OpenType antara file font. Alat ini menyediakan dukungan lintas platform untuk font lokal dan jarak jauh pada sistem MacOS, Windows, dan GNU/Linux dengan interpreter Python v3.7+.
Mencari tinjauan tingkat tinggi dari perbedaan tabel openType daripada perubahan tingkat rendah? Lihat Just Van Rossum's fbdiff Tool.
--include atau --exclude-l atau --lines--head--tail--external Jalankan fdiff --help untuk melihat semua opsi yang tersedia.
fdiff membutuhkan interpreter Python 3.7+.
Instalasi di lingkungan virtual Python3 direkomendasikan.
Gunakan salah satu pendekatan instalasi berikut:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install -r requirements.txt .
Pendekatan berikut menginstal proyek dan dependensi pengembang opsional terkait, sehingga perubahan sumber tersedia tanpa perlu instalasi ulang.
$ 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 mendukung permintaan untuk file font jarak jauh yang dapat diakses secara publik. Ganti argumen jalur file dengan URL:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
fdiff bekerja dengan kombinasi file font lokal dan jarak jauh. Misalnya, untuk membandingkan file font pos lokal dengan file font pre font jarak jauh untuk menilai perubahan lokal terhadap file font yang sebelumnya didorong ke remote, gunakan sintaks berikut:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
Tip : Layanan Hosting Repositori Remote Git (seperti GitHub) mendukung akses ke file di berbagai cabang git berdasarkan URL. Gunakan URL cabang repositori ini untuk membandingkan font di cabang git di repositori Anda.
Untuk memasukkan hanya tabel yang ditentukan dalam diff Anda, gunakan opsi --include dengan daftar nama tabel yang dipisahkan koma:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Untuk mengecualikan tabel yang ditentukan di Diff Anda, gunakan opsi --exclude dengan daftar nama tabel yang dipisahkan koma:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Jangan termasuk spasi antara nilai nama tabel yang dipisahkan koma!
Untuk mengubah jumlah baris konteks di atas/di bawah garis yang memiliki perbedaan, gunakan opsi -l atau --lines dengan nilai integer untuk jumlah baris yang diinginkan. Perintah berikut mengurangi informasi kontekstual ke satu baris di atas dan di bawah baris dengan perbedaan:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Gunakan opsi --head diikuti oleh integer untuk jumlah baris di awal output. Misalnya, perintah berikut menampilkan 20 baris pertama diff:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Gunakan opsi --tail diikuti oleh integer untuk jumlah baris di akhir output. Misalnya, perintah berikut menampilkan 20 baris terakhir dari Diff:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Harap dicatat : Fitur ini belum diuji di semua platform yang didukung. Harap laporkan masalah apa pun yang Anda temui pada pelacak masalah proyek.
Secara default, FDIFF melakukan differ dengan sumber Python. Jika Anda mengalami masalah kinerja dengan pendekatan ini, Anda dapat menggunakan executable diff kompilasi yang tersedia di platform Anda. FDIFF akan membuang file TTX dan menjalankan perintah yang Anda berikan pada baris perintah yang melewati jalur file dump pra dan postx ttx sebagai argumen posisi pertama dan kedua ke perintah Anda.
Misalnya, Anda dapat menjalankan perintah diff -u pada GNU/Linux atau macOS seperti ini:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
FDIFF mendukung pemformatan warna bawaan dan penyaringan tabel openType bila digunakan dengan alat diff eksternal. Opsi garis konteks, kepala, dan ekor tidak didukung dengan penggunaan alat diff eksternal.
Kode Escape ANSI diff berwarna dilakukan secara default di lingkungan terminal.
Untuk melihat diff tanpa kode pelarian ANSI di terminal Anda, sertakan -opsi --nocolor dalam perintah Anda:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Gunakan fdiff -h untuk melihat semua opsi yang tersedia.
Harap laporkan masalah tentang pelacak masalah proyek.
Kontribusi disambut dengan hangat. Lingkungan ketergantungan pengembangan dapat diinstal dalam mode yang dapat diedit dengan dokumentasi instalasi pengembang di atas.
Harap gunakan pendekatan permintaan tarik GitHub standar untuk mengusulkan perubahan sumber.
File Sumber Python dililitkan dengan flake8 . Lihat target test-lint makefile untuk detailnya.
Proyek ini menjalankan pengujian integrasi berkelanjutan pada layanan tindakan GitHub dengan pytest toolchain. Modul uji terletak di direktori tests repositori.
Pengujian lokal oleh versi interpreter Python dapat dilakukan dengan perintah berikut yang dieksekusi dari akar repositori:
$ tox -e [PYTHON INTERPRETER VERSION]
Silakan lihat dokumentasi tox untuk detail tambahan.
Cakupan uji unit dijalankan dengan alat coverage . Lihat target test-coverage Makefile untuk detailnya.
fdiff dibangun dengan pustaka perangkat lunak gratis fonttools yang fantastis dan melakukan diff teks file font biner menggunakan dumps dari format serialisasi data tabel tabel TTX OpenType sebagaimana didefinisikan dalam pustaka FontTools.
Hak Cipta 2019 Sumber Penulis dan Kontributor Pengecoran 2019
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di
http://www.apache.org/licenses/license-2.0
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.