SetStructElemWritingMode

Pažymėtas PDF, pritaikymas neįgaliesiems

Aprašymas

Nustato /WritingMode atributą (Layout atributų savininką) struktūros elementui, šiuo metu atvertam žymų dėklyje. Rašymo režimas deklaruoja pagrindinę teksto rašymo kryptį elemento viduje ir veikia tai, kaip pagalbinė technologija aiškina skaitymo tvarką. Lygi AddTagAttribute iškvietimui su Owner=Layout, Name=WritingMode ir režimo pavadinimu kaip reikšme

Sintaksė

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);

Parametrai

WritingModeElemento rašymo kryptis. Turi būti viena iš šių reikšmių (skiriant raidžių dydį):

LrTb — iš kairės į dešinę, iš viršaus į apačią (numatytasis; lotynų, kirilica, graikų ir dauguma raštų)
RlTb — iš dešinės į kairę, iš viršaus į apačią (arabų, hebrajų)
TbRl — iš viršaus į apačią, iš dešinės į kairę (tradicinis CJK vertikalusis tekstas)

Grąžinama reikšmė

Sėkmės atveju grąžina 1. Grąžina 0, jei neatvertas dokumentas arba žymų dėkle šiuo metu neatverta jokia žymė

Pastabos

Šią funkciją iškvieskite po BeginTag arba BeginTagEx ir prieš EndTag. /WritingMode atributas apibrėžtas ISO 32000-1 §14.8.5.4.2 (maketo atributų savininkas, 340 lentelė).

Kai dokumentas naudoja vienodą rašymo kryptį visur, /WritingMode nustatyti kiekvienam elementui nereikia – nesant atributo taikomas numatytasis LrTb. Atributą aiškiai nustatykite blokiniams elementams, kurių rašymo kryptis skiriasi nuo aplinkinio turinio, pvz., hebrajų citata anglų pastraipoje.

PDF/UA-1 (ISO 14289-1 §7.2) reikalauja, kad kiekvieno teksto gabalo natūrali kalba būtų vienareikšmiškai nustatoma. /WritingMode papildo /Lang atributą (SetStructElemLang): /Lang deklaruoja, kokia kalba skaitoma, o /WritingMode – fizinę rašymo kryptį, kurios pagalbinė technologija turėtų laikytis pateikdama.

Pavyzdys

// 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;

Taip pat žiūrėkite

SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag