Ich benutze PHPWord Vorlagenprozessor, um etwas Text in eine Vorlage einzufügen.Einfügen RTL-Text korrekt in PHPWord Vorlage
Die Wortvorlage ist LTR formatiert, da alle Beschriftungen Englisch sind. Hier
ist die Zeile in der Word-Vorlage:
User Name: ${name}
Hier ist die PHP-Linie, die den Wert ersetzt:
$template->setValue('name', $user->name);
Der Satz ist bidirektional. Das Label ist Englisch (LTR) und der Benutzername ist immer Arabisch (RTL). Hier
ist der erzeugte Code-Zeile in document.xml, nach der Word-Datei entpacken:
<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>
Der ersetzte Text korrekt RTL in Libreoffice erscheint, erscheint aber LTR (umgekehrt) in Microsoft Word.
Was kann ich tun, damit es in Microsoft Word korrekt angezeigt wird (RTL)?
Ich denke, es sollte eine ' ' nach der zweiten '', die nicht vorhanden ist sein. –
revo
http://stackoverflow.com/questions/14491325/fix-a-bi-lingual-wrong-right-to-left-text könnte möglicherweise helfen – MifReal
ich nehme an, dass Sie dies bereits getan haben: http://stackoverflow.com/questions/13967229/phpword-creating-a-arabic-rechts-nach-links-Word-Dokument –