SetStructElemWritingMode
PDF balisé, accessibilité
Description
Définit l’attribut /WritingMode (propriétaire Layout) sur l’élément ouvert. Il déclare la direction principale du texte et affecte l’interprétation de l’ordre de lecture. Équivaut à AddTagAttribute avec Owner=Layout, Name=WritingMode et le nom de mode comme valeur
Syntaxe
Delphi
Function TPDFlib.SetStructElemWritingMode(Const WritingMode: WideString): Integer;
ActiveX
Function PDFlib::SetStructElemWritingMode(WritingMode As String) As Long
DLL
int DLSetStructElemWritingMode(int InstanceID, const wchar_t * WritingMode);
Paramètres
| WritingMode | Direction d’écriture de l’élément. Valeurs possibles, sensibles à la casse : LrTb — gauche à droite, haut en bas (défaut ; latin, cyrillique, grec et la plupart des écritures) RlTb — droite à gauche, haut en bas (arabe, hébreu) TbRl — haut en bas, droite à gauche (texte CJK vertical traditionnel) |
|---|
Valeur de retour
Renvoie 1 en cas de réussite Renvoie 0 si aucun document n'est ouvert ou si aucune balise n'est actuellement ouverte sur la pile de balises
Remarques
Appelez cette fonction après BeginTag ou BeginTagEx et avant EndTag. L’attribut /WritingMode est défini dans ISO 32000-1 §14.8.5.4.2 (propriétaire d’attribut Layout, tableau 340)
Si un document utilise partout la même direction d’écriture, il n’est pas nécessaire de définir /WritingMode sur chaque élément : LrTb s’applique par défaut. Définissez l’attribut sur les blocs dont la direction diffère du contenu voisin, par exemple une citation hébraïque dans un paragraphe anglais
PDF/UA-1 (ISO 14289-1 §7.2) exige que la langue naturelle de chaque texte soit déterminable sans ambiguïté. /WritingMode complète /Lang (SetStructElemLang) : /Lang déclare la langue parlée et /WritingMode la direction physique à utiliser pour la présentation
Exemple
// Arabic paragraph — right-to-left writing direction
PDFlib.BeginTagEx('P', '', '', 'ar-SA');
PDFlib.SetStructElemWritingMode('RlTb');
PDFlib.DrawText('...Arabic text...', 450, 700);
PDFlib.EndTag;
// Vertical CJK heading
PDFlib.BeginTagEx('H1', '', '', 'zh-TW');
PDFlib.SetStructElemWritingMode('TbRl');
PDFlib.DrawText('...CJK vertical text...', 500, 700);
PDFlib.EndTag;Voir aussi
SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag