0 votos
392 visualizações

Estou tentando formatar um projeto interlinear. O texto base é grego, com glosas em urdu. A direção geral do layout será da esquerda para a direita, com as glosas em urdu destinadas a fluir completamente da direita para a esquerda abaixo das palavras gregas. Algumas das glosas em urdu incluem espaços.

Configurei um layout básico com sucesso. O texto em urdu (escrita árabe) flui da direita para a esquerda, como esperado. No entanto, não consigo encontrar uma maneira de forçar o fluxo completo da direita para a esquerda para todo o texto nas glosas. Quando ocorre um espaço, o layout parece reverter para a esquerda para a direita durante a duração do espaço. O texto em urdu após o espaço flui novamente da direita para a esquerda. O resultado são 2 ou 3 strings em urdu da direita para a esquerda em um layout geral da esquerda para a direita.

Pensei se poderia forçar a direcionalidade do estilo gloss|rb de alguma forma, mas não encontro uma opção para isso na configuração de fonte do estilo.

Então, pensei que talvez pudesse adicionar marcas da direita para a esquerda (U+200F) antes de todos os espaços (ou talvez de qualquer outro caractere que precise desse tratamento) no changes.txt, como:

in "\|.*?\\rb\*": " " > "\u200f "

Isso não tem nenhum efeito.

Sei que a expressão acima aplica uma mudança no local certo – porque, se eu imprimir um '_' (sublinhado) no lugar do espaço, o layout do texto em urdu fica bom (exceto pelo sublinhado!). Tentei usar caracteres de espaçamento alternativos, mas eles também reverteram para a esquerda para a direita (sem surpresa).

imagem

As strings acima deveriam fluir assim (usando o sublinhado como espaço)

imagem

Haveria alguma orientação de alguém que já tentou isso?

Jeff

Tradução automática de English
PTXprint por [Expert]
(290 pontos)
| 392 visualizações

6 Respostas

0 votos

Olá, Jeff,

Não precisei fazer isso eu mesmo, mas pensei em mais algumas coisas para tentar…

Você tentou TODOS os caracteres de espaçamento alternativos, incluindo espaços não separáveis? Não esqueça o 'ESPAÇO NÃO SEPARÁVEL ESTREITO' (U+202F).

Você tentou substituir o espaço por um não-união de largura zero? (U+200C) Não vai te dar exatamente o que você quer, mas pode estar mais perto do que você quer, ou ser parte de uma solução.

Fiz vários trabalhos com marcas RTL, e mesmo assim, muitas vezes fico surpreso quando tento aplicá-las, pois às vezes não as obtenho nos locais certos. (Talvez eu não ENTENDA MESMO as regras…) Então, recomendo tentar todas as outras combinações - na sua mudança acima, coloque o \u200f depois do espaço, coloque-o antes e depois do espaço, insira um logo após o \rb, antes do final do campo, etc. Pode ser que uma das combinações faça o que você quer. (E você não precisa entendê-lo se ele der o resultado desejado!)

Boa sorte…

Tradução automática de English
por (1,4k pontos)
0 votos

Provavelmente esta é a maneira errada de abordar isso, mas, quando estávamos lidando com algo como o que você descreve, propus usar um glifo que não está na ortografia árabe, mas que ainda é definido como RTL, em vez de tentar resolver a sequência adequada de glifos de anúncio direcional.

Ou seja, em vez de um espaço \u0020 entre as palavras árabes dentro de cada glosa, use algo com uma largura semelhante, mas definido como RTL no unicode… como um pasiq hebraico \u05c0, por exemplo. Isso torna a questão como ocultar a pontuação hebraica, o que é solucionável pintando-o de transparente.

No entanto, na instância à qual me refiro, a causa estava relacionada a dígitos dentro de texto árabe, que estávamos marcando como idioma “italiano” durante a conversão devido a algum problema de fonte. Esse “italiano para números” era um global que vinha com a fonte que usávamos, não especificamente para tiposet árabes. E essa mudança de idioma criou problemas com espaçamento e pontuação em proximidade. A solução naquele caso acabou sendo reclassificar os dígitos para outro idioma (mas ainda não árabe, se não me engano.) Mas isso é para sugerir que garantir que os idiomas estejam definidos corretamente no texto pode ter um impacto no arranjo dos glifos sem ter que recorrer a correções mais exóticas como a que proponho. Ou seja, o compositor parece estar interpretando os espaços como ltr, o que significa que ele acha que são gregos, não árabes. Se você tiver certeza de que o estilo de caractere usado para o texto da glosa está definindo todos os caracteres como idioma árabe, isso pode ser tudo o que você precisa fazer.

Tradução automática de English
por (108 pontos)
0 votos

Meu primeiro pensamento estava em linha com uma das sugestões de Jeff – minha aposta é que o marcador U+200F precisa vir logo antes da palavra, ou seja, depois do espaço, não antes.

Estou assumindo que a direção do texto na seção \rb é simplesmente definida pela direção geral do texto do idioma principal, e que para reverter isso será necessário que a equipe de desenvolvimento reprograma as coisas.

Uma última sugestão é tentar usar algo como um caractere de sublinhado, mas estilizado com uma cor que seja a mesma do fundo. Então, talvez algo como:
in "\|.*?\\rb\*": " " > "\\sc _\\sc\*"
e, em seguida, estilizar Small Caps com essa cor. Basicamente, pode ser qualquer estilo de caractere que você não esteja usando de outra forma.

Tradução automática de English
por (1,9k pontos)
reexibida
0 votos

Obrigado por essas ideias, pessoal.

Sim - eu tentei outros caracteres de espaçamento, que resultam em tamanhos diferentes de espaço, mas ainda invertem a direção. Tentei adicionar a marca RTL em qualquer lado do espaço ou em ambos (e, por causa de tentar tudo – antes de qualquer string).

Jeff - eu tentei o não-união de largura zero, e isso funciona OK! (mas não deixa nenhum espaço). Suponho que eu poderia tornar esse caractere ativo e então defini-lo como alguma quantidade de cola (espaço)? Meu TeX está muito enferrujado e não tenho certeza de como proceder. Tentei:

\catcode`\‌=\active
\def‌{\bgroup\hskip 0.25em\egroup}

(há um 200c lá depois de \catcode `\ e \def)

Isso funciona - mas dá o mesmo resultado que um espaço (o que não é surpresa, suponho, já que agora é uma quantidade de espaço).

Também tentei:

\catcode`\‌=\active
\def‌{\bgroup\beginR\hskip 0.25em\egroup}

que é um resultado diferente, mas ainda não está correto – e sei que estou procurando às cegas neste ponto.

Malachi - tentei sua sugestão, mas o resultado é um erro do TeX, que não vou colar aqui. Acho que o problema ali é que ele está inserindo marcação USFM na seção de atributos de \rb ...|...\rb*

Já que não posso adicionar marcação lá, gostaria de tentar colorir um caractere da direita para a esquerda no lugar do espaço (sugestão de Michael), mas não sei realmente o que estou fazendo. Tentei o seguinte com Paseq inserido no lugar dos espaços:

\catcode`\׀=\active
\def׀{\bgroup\color{white}׀\egroup}

mas recebo uma reclamação sobre ! Argument of \color has an extra }

Não sei como usar \color ou se ele está mesmo disponível assim, ou se é um problema de sintaxe. Estou ciente de que estou procurando às cegas neste ponto.

Sem a cor, o Paseq em si funciona bem! Eu gostaria que houvesse um caractere de espaço com a propriedade Right-To-Left definida.

Obrigado pelas respostas e ideias.

Jeff

Tradução automática de English
por [Expert]
(290 pontos)
0 votos

Anteriormente, impliquei que estávamos buscando uma solução de “anúncio direcional” antes de focarmos no idioma como a solução para fazer as vírgulas aparecerem 'DEPOIS' da palavra certa quando os dígitos estavam próximos (especificamente em faixas de versículos).

Os glifos de sobreposição LTR e RTL são fornecidos para forçar os compositores a interpretar os glifos seguintes de uma forma ou de outra. Mas eles afetam a exibição em qualquer lugar onde você os use (ou podem ou não afetar…), então ficam realmente divertidos de entender onde estão no fluxo de texto. E, no final, eles ainda não fizeram o que estava no rótulo no Indesign CS6 com alguns plugins de composição complexos em jogo, e uma fonte com 'recursos' opentype conhecidos que causavam problemas com a direcionalidade.

Mas, se você tiver a capacidade de alimentar regex PTX print unicode " \u glyphs, ou nomenclatura de entidade html &…; em vez do glifo real, os glifos de sobreposição direcional unicode podem funcionar. Eles podem funcionar neste caso, mesmo que você lide com o glifo em si, mas, novamente, esses glifos bagunçam a ordem de exibição dos glifos seguintes em praticamente qualquer lugar onde aparecem, então interpretar o que você realmente vê é complicado e leva rapidamente à análise do editor hexadecimal para recuperar seu arquivo e sua sanidade.

Tradução automática de English
por (108 pontos)
+1 voto

Parece que precisamos de um pouco de ajuda aqui. Adicionei suporte para ganchos de início e fim ao código de tratamento interlinear. Então, em teoria (tudo não testado), você deve ser capaz de adicionar uma linha como:

\sethook{start}{gloss|rb}{\beginR}

e tudo deve estar bom.

Acabei de commitar a mudança, então ela deve estar na próxima versão 2.2.46 ou posterior. Quanto a se precisamos de alguma GUI para isso, está aberto a uma solicitação da comunidade. É mais um botão de verificação. Queremos 'mais um botão de verificação'?

Tradução automática de English
por (658 pontos)

Obrigado por adicionar ajuda, Martin!

Instalei o 2.2.46 esta tarde e adicionei \sethook{start}{gloss|rb}{\beginR} ao ptxprint-mods.tex. Infelizmente - parece não ter nenhum efeito. A saída é a mesma de antes - incluindo tentar com U+200F ou U+202D adicionados antes dos espaços.

Tradução automática de English

Acabei de tentar isso novamente após atualizar para o 2.2.50, e a renderização RTL correta está funcionando agora nas glosas em urdu. Maravilhoso!

Tradução automática de English
Eu precisava desse botão! Meu apoiador encontrou este tópico de suporte e isso corrigiu o problema. Acho que provavelmente é necessário para qualquer pessoa que esteja fazendo um interlinear de texto bíblico com glosas em escrita árabe.
Tradução automática de English

Perguntas relacionadas

0 votos
2 respostas 104 visualizações
Um consultor deseja um PDF com o interlinear de um texto em uma coluna e o próprio texto em outra coluna. Como posso ... não sei como começar a fazer isso. Sei como fazer diglotos.
john_nystrom 312 perguntada Ago 14
+1 voto
0 respostas 132 visualizações
Se você está ansioso para testar novos recursos, talvez queira baixar a versão mais recente do PTXprint lançada hoje. As ... ao mesmo tempo. Mas esperamos corrigir isso em breve.
Mark P 3,2k perguntada Dez 23, 2020
0 votos
1 resposta 303 visualizações
O versículo parcial na parte inferior da coluna esquerda ocorre após uma lista marcada como tabela no ParaText.
anon180868 195 perguntada Jul 11, 2024
0 votos
1 resposta 41 visualizações
Olá! No PTXPrint, gostaria de usar a opção 'Números de Versos de Poesia Suspensos' (Hanging Poetry Verse ... confundir nossos leitores em alguns casos. Muito obrigado! Phil
anon913937 124 perguntada Nov 18, 2025
0 votos
10 respostas 604 visualizações
Estamos tendo alguns problemas com o layout de 2 colunas. Em um lugar, o número do capítulo está sobreposto ao texto ( ... ? Ou há um erro de programação que precisa ser corrigido?
rickarellanes 167 perguntada Ago 27, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
For where two or three gather in my name, there am I with them.
Matthew 18:20
3,049 perguntas
6,007 respostas
5,672 comentários
2,029 usuários