SetStructElemWritingMode
Tagged PDF, Dostępność
Opis
Ustawia atrybut /WritingMode (właściciel atrybutów Layout) w elemencie struktury aktualnie otwartym na stosie tagów. Tryb pisania deklaruje główny kierunek tekstu w elemencie i wpływa na interpretację kolejności odczytu przez technologię asystującą. Odpowiada wywołaniu AddTagAttribute z Owner=Layout, Name=WritingMode i nazwą trybu jako wartością
Składnia
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);
Parametry
| WritingMode | Kierunek pisania elementu. Musi być jedną z poniższych wartości (z rozróżnianiem wielkości liter): LrTb — od lewej do prawej, od góry do dołu (domyślnie; alfabet łaciński, cyrylica, greka i większość pism) RlTb — od prawej do lewej, od góry do dołu (arabski, hebrajski) TbRl — od góry do dołu, od prawej do lewej (tradycyjny pionowy tekst CJK) |
|---|
Wartość zwracana
Zwraca 1 w przypadku powodzenia. Zwraca 0, jeżeli żaden dokument nie jest otwarty albo stos znaczników nie zawiera obecnie otwartego znacznika
Uwagi
Wywołaj tę funkcję po BeginTag lub BeginTagEx, a przed EndTag. Atrybut /WritingMode zdefiniowano w ISO 32000-1 §14.8.5.4.2 (właściciel atrybutów Layout, tabela 340)
Gdy cały dokument używa spójnego kierunku pisania, ustawianie /WritingMode w każdym elemencie nie jest konieczne — przy braku atrybutu obowiązuje domyślny LrTb. Ustaw atrybut jawnie w elementach blokowych, których kierunek pisania różni się od otaczającej zawartości, na przykład dla hebrajskiego cytatu osadzonego w angielskim akapicie
PDF/UA-1 (ISO 14289-1 §7.2) wymaga, aby język naturalny każdej części tekstu można było jednoznacznie ustalić. /WritingMode uzupełnia atrybut /Lang (SetStructElemLang): /Lang deklaruje używany język, a /WritingMode — fizyczny kierunek pisania, który technologia asystująca powinna stosować podczas prezentacji
Przykład
// 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;Zobacz również
SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag