0 votos
388 vistas

Estoy intentando formatear un proyecto interlineal. El texto base es griego con glosas en urdu. La dirección general del diseño será de izquierda a derecha, con las glosas en urdu destinadas a estar completamente de derecha a izquierda debajo de las palabras griegas. Algunas de las glosas en urdu incluyen espacios.

He configurado un diseño básico con éxito. El texto en urdu (escritura árabe) fluye de derecha a izquierda como se esperaba. Sin embargo, no puedo encontrar una manera de forzar el flujo completo de derecha a izquierda para todo el texto en las glosas. Cuando ocurre un espacio, el diseño parece revertir a izquierda a derecha durante la duración del espacio. El texto en urdu que sigue al espacio fluye de derecha a izquierda de nuevo. El resultado son 2 o 3 cadenas de urdu de derecha a izquierda en un diseño general de izquierda a derecha.

Me pregunté si podría forzar la direccionalidad de la clase gloss|rb de alguna manera, pero no encuentro una opción para esto en la configuración de fuente de la clase.

Luego pensé que quizás podría agregar marcas de derecha a izquierda (U+200F) antes de todos los espacios (o quizás cualquier otro carácter que necesite este tratamiento) en changes.txt, como:

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

Esto no tiene ningún efecto.

Sé que la expresión anterior aplica un cambio en la ubicación correcta, porque si imprimo un '_' (guion bajo) en lugar del espacio, entonces el diseño del texto en urdu es correcto (¡excepto por el guion bajo!). He intentado usar caracteres de espaciado alternativos, pero también revierten a izquierda a derecha (lo cual no sorprende).

imagen

Las cadenas de arriba deberían fluir así (usando el guion bajo como espacio)

imagen

¿Alguien más que haya intentado esto podría dar alguna dirección?

Jeff

Traducción automática desde English
PTXprint por [Expert]
(290 puntos)
| 388 vistas

6 Respuestas

0 votos

Hola Jeff,

No he tenido que hacer esto yo mismo, pero se me ocurrieron un par de cosas más para probar…

¿Probaste TODOS los caracteres de espaciado alternativos, incluidos los espacios no separables? No olvides el 'ESPACIO NO SEPARABLE ESTRECHO' (U+202F).

¿Probaste reemplazar el espacio con un no unidor de ancho cero? (U+200C) No te dará exactamente lo que quieres, pero puede estar más cerca de lo que quieres, o ser parte de una solución.

He hecho un número de trabajos con marcas RTL, y aun así, a menudo me sorprende cuando intento aplicarlas que a veces no las obtengo en las ubicaciones correctas. (Como si quizás no ENTENDIERA realmente las reglas…) Así que recomendaría probar todas las otras combinaciones: en tu cambio anterior, pon el \u200f después del espacio, ponlo tanto antes como después del espacio, insértalo justo después del \rb, antes del final del campo, etc. Puede que una de las combinaciones haga lo que quieres. (¡Y no tienes que entenderlo si da el resultado deseado!)

¡Buena suerte…

Traducción automática desde English
por (1,4k puntos)
0 votos

Probablemente esta sea la forma equivocada de abordar esto, pero cuando estábamos lidiando con algo similar a lo que describes, propuse usar un glifo que no está en la ortografía árabe, pero que aún se define como RTL, en lugar de intentar resolver la secuencia adecuada de glifos de anuncio direccional.

Es decir, en lugar de un espacio \u0020 entre las palabras árabes dentro de cada glosa, usa algo con un ancho similar, pero definido como RTL en unicode… como un paseq hebreo \u05c0 en su lugar. Esto convierte el problema en cómo ocultar la puntuación hebrea, lo cual es solucionable pintándolo de transparente.

Sin embargo, en la instancia a la que me refiero, la causa tenía que ver con dígitos dentro de texto árabe, que estábamos marcando como idioma “italiano” durante la conversión debido a algún problema de fuente. Este “italiano para cifras” era un global que iba con la fuente que usamos, no específicamente para maquetaciones en árabe. Y este cambio de idioma creó problemas con el espaciado y la puntuación en proximidad. La solución en ese caso finalmente resultó ser reclasificar los dígitos a otro idioma (pero aún no árabe, si recuerdo bien). Pero esto es para sugerir que asegurarse de que los idiomas estén configurados correctamente en el texto podría tener un impacto en la disposición de los glifos sin tener que recurrir a soluciones más exóticas como la que propongo. Es decir, el compositor parece estar interpretando los espacios como ltr, lo que significa que cree que son griegos, no árabes. Si te aseguras de que la clase de carácter usada para el texto de la glosa defina todos los caracteres como idioma árabe, eso podría ser todo lo que necesitas hacer.

Traducción automática desde English
por (108 puntos)
0 votos

Mi primer pensamiento fue en línea con una de las sugerencias de Jeff: mi suposición es que la marca U+200F necesita venir justo antes de la palabra, es decir, después del espacio, no antes.

Supongo que la dirección del texto en la sección \rb simplemente se establece por la dirección general del texto del idioma principal, y que para anular eso se necesitará que el equipo de desarrollo reprograma las cosas.

Una última sugerencia es intentar usar algo como un carácter de guion bajo, pero estilizarlo con un color que sea el mismo que el fondo. Así que quizás algo como:
in "\|.*?\\rb\*": " " > "\\sc _\\sc\*"
y luego estilizar Mayúsculas Pequeñas con ese color. Básicamente, puede ser cualquier clase de carácter que no estés usando de otra manera.

Traducción automática desde English
por (1,9k puntos)
mostrada de nuevo
0 votos

Gracias a todos por estas ideas.

Sí, probé otros caracteres de espaciado, que resultan en diferentes tamaños de espacio, pero aún cambian la dirección. Intenté agregar la marca RTL a un lado del espacio o a ambos (y por el bien de probar todo – antes de cualquier cadena en absoluto).

Jeff, intenté el no unidor de ancho cero, ¡y eso funciona bien! (pero no deja espacio). Supongo que podría hacer que ese carácter esté activo y luego definirlo como cierta cantidad de pegamento (espacio)? Mi TeX está muy muy oxidado y no estoy seguro de cómo abordar esto. Intenté:

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

(hay un 200c ahí después de \catcode `\ y \def)

Esto funciona, pero da el mismo resultado que un espacio (lo cual no sorprende, supongo, ya que ahora es una cantidad de espacio).

También intenté:

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

que es un resultado diferente, pero aún no es correcto – y sé que estoy buscando a ciegas en este punto.

Malachi, intenté tu sugerencia, pero el resultado es un error de TeX, que no pegaré aquí. Creo que el problema allí es que está insertando marcado USFM en la sección de atributos de \rb ...|...\rb*

Dado que no puedo agregar marcado allí, me gustaría intentar colorear un carácter de derecha a izquierda en lugar del espacio (la sugerencia de Michael), pero realmente no sé lo que estoy haciendo. Intenté lo siguiente con Paseq insertado en lugar de espacios:

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

pero obtengo una queja sobre ! Argument of \color has an extra }

No sé cómo usar \color o si siquiera está disponible de esta manera, o si es un problema de sintaxis. Soy consciente de que estoy buscando a ciegas en este punto.

Sin el color, el Paseq en sí mismo ¡funciona bien! Ojalá hubiera un carácter de espacio con la propiedad Right-To-Left establecida.

Gracias por las respuestas e ideas.

Jeff

Traducción automática desde English
por [Expert]
(290 puntos)
0 votos

Antes, insinué que estábamos buscando una solución de “anuncio direccional” antes de centrarnos en el idioma como la solución para hacer que las comas aparezcan 'DESPUÉS' de la palabra correcta cuando los dígitos estaban cerca (específicamente en rangos de versículos).

Los glifos de anulación LTR y RTL se proporcionan para forzar a los compositores a interpretar los glifos siguientes de una manera u otra. Pero afectan la visualización en cualquier lugar donde los uses (o quizás no los afecten…), así que se vuelven realmente divertidos de entender dónde están en el flujo de texto. Y al final, aún no hicieron lo que decía la etiqueta en Indesign CS6 con un par de plugins de composición complejos en juego, y una fuente con 'características' opentype conocidas que causaban problemas con la direccionalidad.

Pero si tienes la capacidad de alimentar a PTX print regex glifos unicode " \u, o la nomenclatura de entidad html &…; en lugar del glifo real, los glifos de anulación direccional unicode pueden funcionar. Pueden funcionar en este caso incluso si tratas con el glifo en sí, pero, de nuevo, estos glifos alteran el orden de visualización de los glifos siguientes en casi cualquier lugar donde aparezcan, por lo que interpretar lo que realmente ves es complicado y rápidamente lleva a un análisis del editor hexadecimal para recuperar tu archivo y tu cordura.

Traducción automática desde English
por (108 puntos)
+1 voto

Parece que necesitamos un poco de ayuda aquí. He agregado soporte para ganchos de inicio y fin al código de manejo interlineal. Así que, en teoría (todo sin probar), deberías poder agregar una línea como:

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

y todo debería estar bien.

Acabo de confirmar el cambio, por lo que debería estar en la próxima versión 2.2.46 o posterior. En cuanto a si necesitamos alguna interfaz gráfica para esto, está abierto a una solicitud de la comunidad. Es otro botón de verificación más. ¿Queremos 'otro botón de verificación más'?

Traducción automática desde English
por (658 puntos)

Gracias por agregar ayuda, ¡Martin!

Instalé 2.2.46 esta tarde y agregué \sethook{start}{gloss|rb}{\beginR} a ptxprint-mods.tex. Lamentablemente, parece que no hay efecto. La salida es la misma que antes, incluyendo intentar con U+200F o U+202D agregados antes de los espacios.

Traducción automática desde English

Acabo de intentar esto de nuevo después de actualizar a 2.2.50, y la renderización RTL correcta ahora funciona en las glosas en urdu. ¡Maravilloso!

Traducción automática desde English
¡Necesitaba este botón! Mi patrocinador encontró este hilo de soporte y esto lo arregló. Creo que probablemente sea necesario para cualquiera que haga un interlineal de texto bíblico con glosas en escritura árabe.
Traducción automática desde English

Preguntas relacionadas

0 votos
2 respuestas 104 vistas
Un consultor desea un PDF con el interlineal de un texto en una columna y el propio texto en otra columna. Cómo puedo ... no sé cómo empezar a lograrlo. Sí sé cómo hacer diglotos.
john_nystrom 312 preguntada ago 14
+1 voto
0 respuestas 132 vistas
Si tiene ganas de probar las nuevas funciones, quizás desee descargar la última versión de PTXprint lanzada hoy. ... funcionan al mismo tiempo. Pero esperamos corregir eso pronto.
Mark P 3,2k preguntada dic 23, 2020
0 votos
1 respuesta 303 vistas
El versículo parcial en la parte inferior de la columna izquierda aparece después de una lista marcada como tabla en ParaText.
anon180868 195 preguntada jul 11, 2024
0 votos
1 respuesta 41 vistas
Hola! En PTXPrint me gustaría usar la opción 'Números de versículo colgantes para poesía' (Hanging Poetry Verse ... a nuestros lectores en algunos casos. Muchas gracias! Phil
anon913937 124 preguntada nov 18, 2025
0 votos
10 respuestas 604 vistas
Estamos teniendo algunos problemas con el diseño de 2 columnas. En un lugar, el número del capítulo se superpone sobre el ... ? O hay un error de programación que debe corregirse?
rickarellanes 167 preguntada ago 27, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
If anyone destroys God’s temple, God will destroy that person; for God’s temple is sacred, and you together are that temple.
1 Corinthians 3:17
3,049 preguntas
6,007 respuestas
5,672 comentarios
2,029 usuarios