Perpustakaan Python untuk Membaca Fon
API Python Sumber Terbuka yang Memberi Kuasa kepada Pembangun Perisian dan Pereka untuk memanipulasi, menyunting, dan menganalisis fon dengan mudah.
FontTools memainkan peranan penting dalam reka bentuk, penjenamaan, dan komunikasi, dan fon merupakan blok binaan estetika visual. Dalam era digital, pengurusan dan manipulasi fon semakin menjadi penting. Salah satu alat yang berkuasa yang telah mendapat populariti di kalangan pemaju dan pereka ialah perpustakaan FontTools. FontTools adalah perpustakaan Python sumber terbuka yang serba boleh yang menyediakan set lengkap alat untuk bekerja dengan fon dan telah muncul sebagai alat yang berkuasa untuk peminat fon, pereka, pemaju, dan tipografer. Set ciri yang luas, digabungkan dengan antara muka berasaskan Python, menjadikannya pilihan yang cemerlang untuk tugas dan projek berkaitan fon.
FontTools ialah perpustakaan sumber terbuka yang membolehkan pemaju perisian berinteraksi dengan fail fon secara programatik. Ia menawarkan pelbagai fungsi untuk manipulasi, penyuntingan, dan analisis fon. Ia menyokong ciri-ciri seperti memanipulasi fon dalam pelbagai cara, operasi penyuntingan glif asas, penggabungan fon yang dipertingkatkan, membuang glif tunggal, sokongan jadual SFNT, mengenal pasti dan melaksanakan pelbagai nilai SFNT, mengubah kontur glif, menyesuaikan metrik fon, menukar pengekodan fon, menambah atau membuang jadual, menukar definisi susun atur antara sistem susun atur yang berbeza, mencari dan menyunting rentetan nama, dan sebagainya.
Perpustakaan FontTools memberi kuasa kepada pengaturcara perisian untuk mengakses, menyunting, dan menganalisis pelbagai aspek fail fon secara programatik. Ia menyokong beberapa format fon, termasuk TrueType (TTF), OpenType (OTF), AFM, sebahagiannya Type 1, dan beberapa format khusus Mac, menjadikannya pilihan serbaguna untuk bekerja dengan pelbagai jenis fon. FontTools mendapat manfaat daripada komuniti yang dinamik dan menyokong. Projek ini bersifat sumber terbuka dan diselenggara secara aktif, dengan kemas kini berkala serta pembaikan pepijat. Sama ada anda mengautomasi manipulasi fon, menala tipografi, atau menjalankan analisis fon terperinci, FontTools menyediakan alat dan fleksibiliti yang diperlukan untuk mencapai matlamat anda dengan cekap.
Mula Menggunakan FontTools
FontTools memerlukan Python 3.8 atau lebih baru. Cara yang disyorkan untuk memasang FontTools ialah menggunakan PyPI. Sila gunakan perintah berikut untuk pemasangan yang lancar.
Pasang FontTools melalui NuGet
pip install fonttools Anda juga boleh memasangnya secara manual; muat turun fail pelepasan terkini secara langsung dari GitHub repository.
Penyuntingan & Manipulasi Fon melalui API Python
Perpustakaan FontTools terbuka sangat mudah digunakan dan telah menyertakan beberapa ciri penting yang memberi kuasa kepada pemaju perisian untuk memanipulasi fon dalam pelbagai cara di dalam aplikasi Python mereka. Ia membolehkan mereka mengekstrak maklumat daripada fail fon, mengubah suai kontur glif, memanipulasi metrik, dan bahkan mencipta fon baru dari awal, mengautomasikan tugas berulang berkaitan fon dan sebagainya. Dengan menggunakan perpustakaan FontTools, pemaju perisian juga boleh mengubah suai kontur glif, menyesuaikan metrik, menukar pengekodan, dan menambah atau membuang jadual. Fleksibiliti ini membolehkan pereka menala fon mengikut keperluan khusus atau mencipta versi tersuai untuk projek mereka.
Bagaimana Mengubah Laluan 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 Glif melalui API Python
Perpustakaan FontTools sumber terbuka memudahkan pembangun perisian untuk memanipulasi glif individu secara programatik. Ia menyediakan kaedah untuk mengakses dan mengubah kontur glif, metrik, dan atribut, memberikan pengguna fleksibiliti untuk menyesuaikan fon mengikut keperluan khusus mereka. Sama ada menyesuaikan pasangan kerning, mengubah bentuk glif, menambah ligatur, atau membandingkan kontur glif, FontTools mempermudah proses manipulasi glif. Contoh berikut menunjukkan cara membandingkan kontur dua glif dan memaparkan hasilnya menggunakan kod Python.
Bagaimana Membandingkan Kontur Dua Glif 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)
Penjanaan dan Penukaran Fon melalui API Python
Perpustakaan FontTools sumber terbuka menawarkan fungsi untuk menjana fail fon baru atau menukar yang sedia ada ke dalam format yang berbeza. Ciri ini sangat berguna bagi pereka dan pembangun yang perlu mencipta fon khusus atau menyesuaikan fon untuk platform tertentu. Dengan FontTools, pengguna dapat menjana contoh fon dengan berat, gaya, dan variasi yang berbeza, atau menukar fon antara format TrueType dan OpenType dengan lancar. Contoh berikut menunjukkan cara menukar Format CFF ke Format CFF2 menggunakan arahan Python.