1

フォント プレビュー付きのフリー フォント Web サイトを構築しています。imagettftext() によって生成されたフォント文字の多くは、マップされていないため、正方形のボックスが表示されます。

dafont.com のようなサイトを見ると、すべてのフォントが正しくプレビューされます。彼らが各フォントを調べて、正しい文字が使用されていることを確認しているとは思えません。

だから私が持っている質問は、これを行うことができるPHPスクリプトまたは関数があるかということです:

1) ttf ファイルを開き、文字列に基づいてマップされた文字を見つけます。例: 「foobar」という名前をテキストとして imagettftext() に渡したいのですが、フォント foobar が大文字のみをマップする場合、FOOBAR を imagettftext() に渡す必要があります。

2) 返された文字列のいずれかの文字がフォントにマップされていない場合は、次のマップされた文字を見つけて、それに置き換えます。

基本的に、マップされていないすべてのフォント ボックスがサイトに表示されないようにしています。

みんな、ありがとう!

4

1 に答える 1

1

dafont.comのいくつかのフォントでテストしました。マップされていない文字は通常、 を使用して空白 (何もない) として表示されますimagettftext˰たとえば、次のように入力して、フォントの境界外の文字にアクセスしようとしました。ただし、dafont.comでも、これらの四角形を含むフォントがいくつかあります。たとえば、このフラワー オーナメント フォントこの 4yeo Sport フォントなどです。

私の推測では、これらの基本文字は必須であるため、空のボックスに置き換えられます。

絵文字とテキスト フォントに関する個人的な提案は次のとおりです。

  1. Dingbats : dingbats フォントの静的テキストを表示します。これは、dafont.comが行っていることです。サンプル テキストをどれだけ変更しても、フォント サンプルは同じままであるため、クリックしてマッピングの詳細を表示しない限り、これらのボックスは表示されません。

  2. テキスト フォント:フォントに標準的な英語のアルファベットが含まれていることが確実な場合は、テキスト フォントごとに「The quick brown fox jumps over the lazy dog」を出力します。これにより、ユーザーはアルファベットのすべての文字のデザインを知ることができます。

于 2011-12-17T21:23:29.840 に答える