SetStructElemWritingMode

PDF marcado, Acessibilidade

Descrição

Define o atributo /WritingMode (owner de atributos Layout) no elemento de estrutura aberto no topo da pilha de tags. O writing mode declara a direção principal de escrita do texto dentro do elemento e afeta como a tecnologia assistiva interpreta a ordem de leitura. Equivale a chamar AddTagAttribute com Owner=Layout, Name=WritingMode e o nome do modo como valor.

Sintaxe

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

Parâmetros

WritingModeA direção de escrita do elemento. Deve ser um dos seguintes valores (diferenciam maiúsculas de minúsculas):

LrTb — da esquerda para a direita, de cima para baixo (padrão; scripts latinos, cirílicos, gregos e a maioria dos demais)
RlTb — da direita para a esquerda, de cima para baixo (árabe, hebraico)
TbRl — de cima para baixo, da direita para a esquerda (texto vertical CJK tradicional)

Valor de retorno

Retorna 1 em caso de sucesso. Retorna 0 se nenhum documento estiver aberto ou nenhuma tag estiver aberta na pilha de tags

Observações

Chame esta função depois de BeginTag ou BeginTagEx e antes de EndTag. O atributo /WritingMode é definido na ISO 32000-1 §14.8.5.4.2 (Layout attribute owner, Tabela 340).

Quando o documento usa uma direção de escrita consistente do início ao fim, não é necessário definir /WritingMode em cada elemento — o padrão LrTb vale quando o atributo está ausente. Defina o atributo explicitamente em elementos de bloco cuja direção de escrita difere do conteúdo ao redor, por exemplo uma citação em hebraico embutida em um parágrafo em inglês.

O PDF/UA-1 (ISO 14289-1 §7.2) exige que o idioma natural de cada trecho de texto possa ser determinado sem ambiguidade. /WritingMode complementa o atributo /Lang (SetStructElemLang): /Lang declara qual idioma é falado, enquanto /WritingMode declara a direção física de escrita que a tecnologia assistiva deve usar para apresentação.

Exemplo

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

Veja também

SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag