Sysfont ist ein kleines Paket, mit dem installierte Schriftarten einfach identifiziert werden können. Es ist nützlich, um installierte Schriftarten aufzulisten oder Schriftarten basierend auf Benutzeranfragen zu entsprechen. Der Übereinstimmungsprozess schlägt auch praktikable Schriftalternativen vor.
Das Paket verwendet eine Sammlung von Standard-Schriftarten, die aus dem OS-Font-List-Projekt zusammen mit String-Verarbeitungsmetriken und Ähnlichkeitsmetriken für Bewertungs-Schriftzüge zusammengestellt wurden, um partielle oder ungenaue Eingabebrüstung zu berücksichtigen.
Vollständige Dokumentation finden Sie unter: 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 )
}Der Übereinstimmungsprozess hat drei Schritte. Die Identifizierung der am besten montierenden installierten Schriftart, die auf der angegebenen Abfrage basiert, wird zuerst versucht. Wenn keine enge Übereinstimmung gefunden wird, werden alternative Schriftarten durchsucht. Wenn keine alternative Schriftart gefunden wird, wird eine geeignete Standard -Schriftart zurückgegeben.
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 )
}Ausgabe:
Ein umfassenderer Test über Ubuntu:
Weitere Informationen finden Sie unter:
Beiträge in Form von Pull -Anfragen, Problemen oder einfach allgemeinem Feedback sind immer willkommen.
Siehe Beitrag.md.
Copyright (C) 2019 Adrian-George Bostan.
Dieses Projekt ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie unter Lizenz.