1. Produk
  2.   Font
  3.   Python
  4.   FontTools
 
  

Pustaka Python untuk Membaca Font

API Python Open Source yang Memberdayakan Pengembang Perangkat Lunak dan Desainer untuk memanipulasi, menyunting, dan menganalisis font dengan mudah.

FontTools memainkan peran penting dalam desain, merek, dan komunikasi, serta font adalah blok bangunan estetika visual. Di era digital, manajemen dan manipulasi font menjadi semakin penting. Salah satu alat yang kuat dan telah mendapatkan popularitas di antara pengembang dan desainer adalah perpustakaan FontTools. FontTools adalah perpustakaan Python sumber terbuka yang serbaguna, menyediakan rangkaian lengkap alat untuk bekerja dengan font dan telah menjadi alat yang kuat bagi para penggemar font, desainer, pengembang, serta tipografer. Set fitur yang luas, dipadukan dengan antarmuka berbasis Python, menjadikannya pilihan yang sangat baik untuk tugas dan proyek terkait font.

FontTools adalah perpustakaan sumber terbuka yang memungkinkan pengembang perangkat lunak berinteraksi dengan file font secara programatis. Ia menawarkan berbagai fungsi untuk manipulasi, penyuntingan, dan analisis font. Ia mendukung fitur seperti memanipulasi font dengan berbagai cara, operasi penyuntingan glif dasar, penggabungan font yang ditingkatkan, menghapus glif tunggal, dukungan tabel SFNT, mengidentifikasi dan menerapkan berbagai nilai SFNT, memodifikasi kontur glif, menyesuaikan metrik font, mengubah enkoding font, menambah atau menghapus tabel, mengonversi definisi tata letak antar sistem tata letak yang berbeda, menemukan dan menyunting string nama, dan sebagainya.

Pustaka FontTools memberdayakan programmer perangkat lunak untuk secara programatis mengakses, mengedit, dan menganalisis berbagai aspek berkas font. Ini mendukung beberapa format font, termasuk TrueType (TTF), OpenType (OTF), AFM, sebagian Type 1, dan beberapa format khusus Mac, menjadikannya pilihan serbaguna untuk bekerja dengan berbagai jenis font. FontTools mendapat manfaat dari komunitas yang dinamis dan mendukung. Proyek ini bersifat sumber terbuka dan aktif dipelihara, dengan pembaruan rutin serta perbaikan bug. Baik Anda mengotomatisasi manipulasi font, menyempurnakan tipe huruf, atau melakukan analisis font yang mendetail, FontTools menyediakan alat dan fleksibilitas yang diperlukan untuk mencapai tujuan Anda secara efisien.

Previous Next

Memulai dengan FontTools

FontTools memerlukan Python 3.8 atau lebih baru. Cara yang direkomendasikan untuk menginstal FontTools adalah menggunakan PyPI. Silakan gunakan perintah berikut untuk instalasi yang lancar.

Instal FontTools melalui NuGet

 pip install fonttools 

Anda juga dapat menginstalnya secara manual; unduh berkas rilis terbaru langsung dari GitHub repositori.

Pengeditan & Manipulasi Font melalui API Python

Perpustakaan FontTools yang terbuka sangat mudah digunakan dan telah menyertakan beberapa fitur penting yang memberdayakan pengembang perangkat lunak untuk memanipulasi font dalam berbagai cara di dalam aplikasi Python mereka. Ini memungkinkan mereka mengekstrak informasi dari file font, memodifikasi kontur glyph, memanipulasi metrik, dan bahkan membuat font baru dari awal, mengotomatiskan tugas‑tugas berulang terkait font, dan sebagainya. Dengan menggunakan perpustakaan FontTools, pengembang perangkat lunak juga dapat memodifikasi kontur glyph, menyesuaikan metrik, mengubah enkoding, dan menambah atau menghapus tabel. Fleksibilitas ini memungkinkan desainer menyempurnakan font sesuai kebutuhan spesifik atau membuat versi yang disesuaikan untuk proyek mereka.

Bagaimana Memodifikasi Jalur Kontur melalui API Python?

path_orig = get_outline(font, "a")
startdraw(200,200)

paths = []
for i in path_orig:
    if i[0] == 'moveTo':
        path = draw.BezierPath()
        path.moveTo((i[1][0]))
    if i[0] == 'lineTo':
        path.lineTo((i[1][0]))
    if i[0] == 'qCurveTo':
        path.qCurveTo(*(i[1]))
    if i[0] == 'closePath':
        path.closePath()
        paths.append(path)

finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()

Manipulasi Glyph melalui API Python

Perpustakaan FontTools sumber terbuka memudahkan pengembang perangkat lunak untuk memanipulasi glif individu secara programatis. Ia menyediakan metode untuk mengakses dan memodifikasi kontur glif, metrik, dan atribut, memberikan fleksibilitas kepada pengguna untuk menyesuaikan font sesuai kebutuhan spesifik mereka. Baik itu menyesuaikan pasangan kerning, mengubah bentuk glif, menambahkan ligatur, atau membandingkan kontur glif, FontTools menyederhanakan proses manipulasi glif. Contoh berikut menunjukkan cara membandingkan kontur dua glif dan menampilkan hasilnya menggunakan kode Python.

Bagaimana Membandingkan Kontur Dua Glyph menggunakan API Python?

from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen

font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()

g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]

p1 = RecordingPen()
p2 = RecordingPen()

g1.draw(p1)
g2.draw(p2)

print(p1.value == p2.value)

Pembuatan dan Konversi Font melalui API Python

Perpustakaan FontTools sumber terbuka menawarkan fungsionalitas untuk menghasilkan file font baru atau mengonversi yang sudah ada ke format yang berbeda. Fitur ini sangat berguna bagi desainer dan pengembang yang perlu membuat font khusus atau menyesuaikan font untuk platform tertentu. Dengan FontTools, pengguna dapat menghasilkan instance font dengan berat, gaya, dan variasi yang berbeda, atau mengonversi font antara format TrueType dan OpenType secara mulus. Contoh berikut menunjukkan cara mengonversi Format CFF ke Format CFF2 menggunakan perintah Python.

 Indonesia