0

私はいたるところを見てきましたが、なぜこの問題に直面しているのか理解できません。

phpThumbを使用して、写真にテキスト(透かし)を追加しています。問題は、ノルウェーの特殊文字(æøå)を使用する必要があることです。これらはImageTTFtextではあまりうまく機能しません。

ここに画像の説明を入力してください

上の画像にはæのコードが含まれており、(ドキュメントによると)正しいはずです。ここで見つけたいくつかの関数もスタックで試しましたが、すべて同じものが返されます。表示しようとしている実際の文字ではなく、コードを出力するのはなぜですか?

これは古いバージョンのソフトウェアか何かによるものですか?

バージョン:

PHP 5.3.2
ImageMagick 6.5.7
GD: 2.0

編集:明確にするために、私はドキュメントに従って「正しい」方法でテキストを渡します。utf_encode('€')引数として渡すことは機能する必要があります。

4

2 に答える 2

0

のテキストパラメータimagettftextが気になります。ドキュメントを確認しましょう:

UTF-8エンコーディングのテキスト文字列。

€位置127を超えるフォントの文字にアクセスするために、10進数字参照(形式:[€])を含めることができます。16進形式( ©[©]など)がサポートされています。UTF-8エンコーディングの文字列は直接渡すことができます。

あなたの質問では、使用しているコードを投稿しておらず、使用いるリテラル文字列を指定していません。たとえば、文字列を渡すと、 "î"îが表示されます。したがって、質問に追加したディスプレイ自体は、問題として経験していることを示している可能性がありますが、ディスプレイ自体はその原因とはまったく関係がない可能性があります。その場合、原因は文字列になります。

その隣にある関数は、ImageMagickではなくgd拡張機能の一部です。

PHPバージョン5.3.2も古くなっていますが、説明した内容と一致するエラーがある場合は、その変更ログ(または使用しているGDライブラリバージョン)をスキャンしていません。しかし、それは可能のようです。

いずれの場合もimagettftext、テキストを正しく表示する必要があります。キャラクターが見つからなくても、何か違うものが見えます。

フォントでサポートされていない文字が文字列で使用されている場合、中空の長方形が文字に置き換わります。パラメータの説明から:

その関数に渡す文字列の16進ダンプを提供し、それを質問に追加します。

于 2012-10-30T20:57:22.390 に答える
0

私と同じ問題に直面している人が解決策を見つけることができるように、これに答えます。

GDの「組み込み」フォントは私の特殊文字をサポートしていなかったことがわかりました。独自のフォントをアップロードして関数で使用すると、機能するはずです。

于 2012-10-30T20:58:09.037 に答える