ホームページ  >  記事  >  バックエンド開発  >  コードはフォント ファイルをロードする必要があります。ビルドされたバイナリにフォント ファイルを埋め込む方法

コードはフォント ファイルをロードする必要があります。ビルドされたバイナリにフォント ファイルを埋め込む方法

WBOY
WBOY転載
2024-02-09 17:27:08415ブラウズ

コードはフォント ファイルをロードする必要があります。ビルドされたバイナリにフォント ファイルを埋め込む方法

PHP 開発では、フォント ファイルの読み込みが一般的な要件です。ただし、フォント ファイルの可用性と利便性を確保するために、ビルドされたバイナリにフォント ファイルを埋め込むことを検討する場合があります。このようにして、外部フォント ファイルに依存する必要がなくなり、埋め込みフォントをコード内で直接使用できるようになります。では、フォントファイルを埋め込むにはどうすればよいでしょうか?この記事では詳細な答えを提供します。

質問の内容

Go パッケージにこのコードがあります。 cmr10.ttf フォント ファイルをロードする必要があります。したがって、フォント ファイルは、このパッケージを使用するすべての実行可能ファイルの隣に配置する必要があります。

リーリー ###質問###

このパッケージを使用して、実行可能ファイルの隣に

cmr10.ttf

フォント ファイルをコピーすることを回避する方法はありますか? たとえば、ビルドされたバイナリにフォント ファイルを埋め込みます。可能であれば、具体的にどのようにして?

他に試してみるアイデアはありますか?

解決策

go 1.16 以降、go ツールは静的ファイルを実行可能バイナリに直接埋め込むことをサポートしています。

//go:embed

ディレクティブを使用してフォント ファイルのバイナリ データを埋め込むことができます: リーリー

cmr10.ttf

の内容は、コンパイラによって cmr10fontdata 変数に挿入されます。他のオプションについては、「Go プログラムに静的リソースをバンドルする最良の方法は何ですか?」を参照してください。 github.com/deadsy/sdfx/sdf

sdf.loadfont(fname) ヘルパー関数のみを提供するため、 を使用する必要があります。 github.com/golang/freetype/truetype フォント データを解析します。 sdf.loadfont() もこのメソッドをバックグラウンドで使用し、フォント ファイルのバイナリ データを使用して truetype.parse() を呼び出すことに注意してください。 # リーリー

以上がコードはフォント ファイルをロードする必要があります。ビルドされたバイナリにフォント ファイルを埋め込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。