sysfont
1.0.0
Sysfont是一个小包装,可轻松识别已安装的字体。它对于列出已安装的字体或基于用户查询的字体匹配非常有用。匹配过程还提出了可行的字体替代方案。
该软件包使用从OS-FONT列表项目中编制的标准字体的集合以及字符串处理和相似性指标来评分字体匹配,以说明部分或不精确输入查询。
完整文档可以在以下网址找到: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 )
}匹配过程有三个步骤。首先尝试根据指定的查询识别最佳匹配的已安装字体。如果找不到密切匹配,则搜索替代字体。如果找不到其他字体,则返回合适的默认字体。
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 )
}输出:
对Ubuntu进行的更全面的测试:
有关更多信息,请参见:
总是欢迎以拉动请求,问题或一般反馈形式的贡献。
参见贡献。
版权(C)2019 Adrian-George Bostan。
该项目已根据MIT许可获得许可。有关更多详细信息,请参见许可证。