Sysfont est un petit package qui facilite l'identification des polices installées. Il est utile pour la liste des polices installées ou pour les polices correspondantes en fonction des requêtes utilisateur. Le processus d'appariement suggère également des alternatives de police viables.
Le package utilise une collection de polices standard compilées à partir du projet de liste OS-Font ainsi que des métriques de traitement des chaînes et de similitude pour les correspondances de polices de notation, afin de tenir compte des requêtes d'entrée partielles ou inexact.
La documentation complète peut être trouvée sur: 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 )
}Le processus de correspondance a trois étapes. L'identification de la meilleure police installée correspondante, basée sur la requête spécifiée, est d'abord tentée. Si aucune correspondance rapprochée n'est trouvée, des polices alternatives sont recherchées. Si aucune police alternative n'est trouvée, une police par défaut appropriée n'est renvoyée.
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 )
}Sortir:
Un test plus complet effectué sur Ubuntu:
Pour plus d'informations, voir:
Les contributions sous forme de demandes de traction, de problèmes ou simplement des commentaires générales sont toujours les bienvenues.
Voir contribution.md.
Copyright (C) 2019 Adrian-George Bostan.
Ce projet est autorisé sous la licence du MIT. Voir la licence pour plus de détails.