Sysfont adalah paket kecil yang memudahkan untuk mengidentifikasi font yang diinstal. Ini berguna untuk mendaftar font yang diinstal atau untuk pencocokan font berdasarkan kueri pengguna. Proses pencocokan juga menunjukkan alternatif font yang layak.
Paket ini menggunakan kumpulan font standar yang dikumpulkan dari proyek OS-Font-List bersama dengan pemrosesan string dan metrik kesamaan untuk mencetak kecocokan font, untuk memperhitungkan kueri input parsial atau tidak tepat.
Dokumentasi lengkap dapat ditemukan di: https://pkg.go.dev/github.com/adrg/sysfont.
go get github.com/adrg/sysfont
finder := sysfont . NewFinder ( nil )
for _ , font := range finder . List () {
fmt . Println ( font . Family , font . Name , font . Filename )
}Proses pencocokan memiliki tiga langkah. Identifikasi font terpasang yang paling cocok, berdasarkan kueri yang ditentukan, dicoba terlebih dahulu. Jika tidak ada pertandingan dekat yang ditemukan, font alternatif dicari. Jika tidak ada font alternatif yang ditemukan, font default yang sesuai dikembalikan.
finder := sysfont . NewFinder ( nil )
terms := [] string {
"AmericanTypewriter" ,
"AmericanTypewriter-Bold" ,
"Andale" ,
"Arial" ,
"Arial Bold" ,
"Arial-BoldItalicMT" ,
"ArialMT" ,
"Baskerville" ,
"Candara" ,
"Corbel" ,
"Gill Sans" ,
"Hoefler Text Bold" ,
"Impact" ,
"Palatino" ,
"Symbol" ,
"Tahoma" ,
"Times" ,
"Times Bold" ,
"Times BoldItalic" ,
"Times Italic Bold" ,
"Times Roman" ,
"Verdana" ,
"Verdana-Italic" ,
"Webdings" ,
"ZapfDingbats" ,
}
for _ , term := range terms {
font := finder . Match ( term )
fmt . Printf ( "%-30s -> %-30s (%s) n " , term , font . Name , font . Filename )
}Keluaran:
Tes yang lebih komprehensif yang dibuat di Ubuntu:
Untuk informasi lebih lanjut lihat:
Kontribusi dalam bentuk permintaan tarik, masalah atau hanya umpan balik umum, selalu diterima.
Lihat Contributing.md.
Hak Cipta (C) 2019 Adrian-George Bostan.
Proyek ini dilisensikan di bawah lisensi MIT. Lihat lisensi untuk detail lebih lanjut.