sysfont
1.0.0
Sysfontは、インストールされているフォントを簡単に識別できる小さなパッケージです。インストールされたフォントをリストしたり、ユーザークエリに基づいてフォントを一致させるのに役立ちます。一致するプロセスは、実行可能なフォントの代替案も示唆しています。
パッケージは、部分的または不正確な入力クエリを考慮するために、フォントマッチをスコアリングするための文字列処理と類似性メトリックとともに、OS-Font-Listプロジェクトからコンパイルされた標準のフォントのコレクションを使用します。
完全なドキュメントは、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 )
}マッチングプロセスには3つのステップがあります。指定されたクエリに基づいて、最高のマッチングインストールされたフォントの識別が最初に試みられます。近い一致が見つからない場合、代替フォントが検索されます。代替フォントが見つからない場合、適切なデフォルトフォントが返されます。
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で行われたより包括的なテスト:
詳細については、以下を参照してください。
プルリクエスト、問題、または一般的なフィードバックの形での貢献はいつでも歓迎されます。
Convributing.mdを参照してください。
Copyright(c)2019 Adrian-George Bostan。
このプロジェクトは、MITライセンスの下でライセンスされています。詳細については、ライセンスを参照してください。