SYSFONT es un paquete pequeño que facilita la identificación de las fuentes instaladas. Es útil para enumerar las fuentes instaladas o para las fuentes coincidentes en función de las consultas de los usuarios. El proceso de correspondencia también sugiere alternativas de fuente viables.
El paquete utiliza una colección de fuentes estándar compiladas desde el proyecto OS-Font-List junto con el procesamiento de cadenas y las métricas de similitud para calificar coincidencias de fuentes, a fin de tener en cuenta las consultas de entrada parciales o inexactas.
La documentación completa se puede encontrar en: 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 )
}El proceso de correspondencia tiene tres pasos. La identificación de la mejor fuente instalada, según la consulta especificada, se intenta primero. Si no se encuentra una coincidencia cercana, se buscan fuentes alternativas. Si no se encuentra una fuente alternativa, se devuelve una fuente predeterminada adecuada.
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 )
}Producción:
Una prueba más completa realizada en Ubuntu:
Para más información, consulte:
Las contribuciones en forma de solicitudes de extracción, problemas o simplemente comentarios generales, siempre son bienvenidas.
Ver contribuyente. MD.
Copyright (c) 2019 Adrian-George Bostan.
Este proyecto tiene licencia bajo la licencia MIT. Vea la licencia para más detalles.