PHPWordテンプレートプロセッサを使用して、テンプレートにテキストを挿入しています。PHPWordテンプレートにRTLテキストを正しく挿入してください
すべてのラベルが英語であるため、テンプレートという語はLTRでフォーマットされています。ここで
は、Wordテンプレートの行です:
$template->setValue('name', $user->name);
文が双方向である:ここでは
User Name: ${name}
は値を置き換えPHPラインです。ラベルは英語(LTR)で、ユーザー名は常にアラビア語(RTL)です。
<w:r><w:rPr><w:b/><w:bCs/><w:lang w:val="en-US" w:bidi="ar-EG"/></w:rPr><w:t>User Name:</w:t></w:r><w:r><w:rPr><w:lang w:val="en-US" w:bidi="ar-EG"/></w:rPr><w:t xml:space="preserve"> عمرو هشام</w:t><w:tab/></w:r>
置き換えテキストはLibreOfficeの中で正しくRTLを表示されますが、Microsoft Wordで(逆に)LTRを表示されます。ここでは
は、ワードファイルを解凍した後、document.xml内のコードの生成行です。Microsoft Wordで正しく表示されるようにするにはどうすればよいですか?
2番目の「」の直後に「 」が存在するはずです。 –
revo
http://stackoverflow.com/questions/14491325/fix-a-bi-lingual-wrong-right-to-left-textおそらく助けることがあります – MifReal
私はこれを前に行ったと推測します:http://stackoverflow.com/questions/13967229/phpword-a-arabic-right-to-left-word-document –