2017-10-11 12 views
0

私はimagettftextにRTLモードで書く必要があります。「原因のアラビア語はこのようにしています。文字を元に戻すことを意味するわけではありません。RTL(方向:rtl)右...どうすればいいですか?imagettextとアラビア語:どのようにRTLモードで記述できますか?

私の簡単なコード:

require('static/I18N/Arabic.php'); 
$Arabic = new I18N_Arabic('Glyphs'); 
$font="static/ArabicModern-Light.ttf"; 
$testo=$Arabic->utf8Glyphs($testo); 
imagettftext($im, 26, 0, 560, 345, $textcolor, $font, "\"".$testo."\""); 

ありがとう!最終的に発見し、私はアラビア語を使用するには、この答えを更新しましたAr-PHP 4.0をダウンロードした後

enter image description here

答えて

-1

。私はアラビア語を理解していないので、私はArabic Wikipedia pageのテキスト 'العربية'を使用しました。

出典:

<?php 

require_once('./Arabic.php'); 

$iw = 300; // image width. 
$ih = 150; // image height. 

$size = 40; 
$angle = 0; 
$font = 'arial'; 
$text = 'العَرَبِيَّة'; 

$obj = new I18N_Arabic('Glyphs'); 
$text = $obj->utf8Glyphs($text); 

$box = imagettfbbox($size, $angle, $font, $text); 
$tw = abs($box[6] - $box[4]); // text width. 
$th = abs($box[7] - $box[1]); // text height. 

$im = imagecreatetruecolor($iw, $ih); 
imagefill($im, 0, 0, 0x00c0c0c0); // set a grey background. 

// left aligned. 
imagettftext($im, $size, $angle, 0, $th, 0x00000000, $font, $text); 

// centre aligned. 
imagettftext($im, $size, $angle, ($iw/2) - ($tw/2), $th * 2, 0x00000000, $font, $text); 

// right aligned. 
imagettftext($im, $size, $angle, $iw - $tw, $th * 3, 0x00000000, $font, $text); 

header('Content-Type: image/png'); 
imagepng($im); 
imagedestroy($im); 

結果(PHP 7.1で生成された):ウィキペディアから

enter image description here

参考画像:

enter image description here


編集:以下(複数行を処理するために、いくつかのマイナーな変更を明らかに)私は上記の書いたコードを実行して、あなたのcomment内へtext you linkedから最初の5行の比較であります:

オリジナル画像(切り抜かれた画像)が左側に、生成された画像が右側に表示されます。別にそれは試合だ正しく揃えないから

enter image description hereenter image description here

+0

いいえ、これは私の質問に対する答えではありません。これはテキスト全体の位置であり、RTLのCSSのようなものではありません...ご存じのように、アラビア語はフラッグ・アローです – Zak

+0

私は私は – Zak

+0

@ザックが必要ですあなたの質問は明確ではありません。あなたは明示的に "私はRTLのようなcssのようなものを意味します。テキストの整列はここで示したものです。あなたが望む結果を表示するためにあなたの質問を編集していただきありがとうございます、あなたは現在の問題を表示して編集してください。 – timclutton

関連する問題