viernes 18 de septiembre de 2009

Más ligaduras

A finales del XVIII la Universidad de Oxford encargó al gran tipógrafo John Baskerville el diseño y fundición de unos tipos griegos para una edición escolar del Nuevo Testamento. Hace unos años, Sophia Kalaitzidou hizo un estupendo trabajo de recreación digital de esa fuente para la Greek Font Society. La tecnología open type permite reproducir fielmente el gran número de ligaduras ideadas por Baskerville. Aquí les muestro un par de ejemplos de mi "work in progress" con el profesor Felipe Hernández Muñoz. En este caso es el comienzo de la edición crítica de un opúsculo del rétor Alejandro (s. II d. C.), fruto de sus clases de crítica textual en la Universidad Complutense de Madrid. Ambos ejemplos están compuestos en XeTeX, uno de los últimos avances en el sistema TeX. El segundo ejemplo, con todas las ligaduras open type activadas (un click en las imágenes para ampliar). Una muestra más de la potencia de TeX, a años luz de los sistemas de maquetación tradicionales. Espero que les guste.

18 ESCOLIOS:

Olga B. dijo...

Vaya, por mucho que me hables del tema sigue sonándome a griego;-)
No sé, es precioso. Y tanto tiempo y tanto trabajo. Muchísima suerte con ese "work in progress". La mereces.
Me dan ganas de volver a llamarte de usted, como la primera vez que me visitaste.
Besos.

Rosario Troncoso dijo...

Hola Juan Manuel. ¿Qué tal?
Acabo de descubrir tu blog. Me parece muy atractivo e interesante.
¿Me permitas que lo lea asiduamente?
Un beso.
Charo.

Antonio Serrano Cueto dijo...

Juan Manuel, me gusta el tipo, pero ¿parece cursiva o es cursiva?
Un abrazo.

Juan Manuel Macías dijo...

Gracias, Olga, me alegro de que te guste. Se trata de un experimento divulgativo que irá compuesto en varios tipos históricos. Nada, no me llames de usted, que, entre los tipos, soy de lo más normal y nada histórico.
Besos.

Juan Manuel Macías dijo...

Gracias, Rosario, bienvenida a este blog. Desde luego que lo puedes leer asiduamente, ya que es un lugar público. Entra cuando quieras.
Un beso

Juan Manuel Macías dijo...

Sí, Antonio, es una cursiva. De hecho, es un lejano descendiente de los Grecs du roi de Garamond y de toda esa familia de tipos griegos inspirada en la cursiva bizantina. Con los tipos griegos de Giambattista Bodoni (fundidos unos años después de la fuente de Baskerville) se inauguraría un estilo más "tipográfico", abandonando la inspiración de la caligrafía. Es el estilo actual en griego impreso al que estamos acostumbrados.
Un abrazo.

Pablo Rodríguez dijo...

Impresionante. Increíble. Además se ve que le sacas partido a XeLaTeX (supongo) a fondo. Quizá mostrar la fuente sería también interesante para el resto.

Un pequeño detalle que lo he detectado a los pocos segundos (perdón, pero creo que es mejor que lo sepas): no sé por qué extraña razón (será la tipografía, será la falta de espaciado horizontal, será el modo en que compones el carácter), en las vocales mayúsculas con marcas diacríticas que están al comienzo de la palabra (como no podría ser de otro modo) no hay espacio que las separe de la palabra anterior.

Un caso claro es en la primera imágen, linea 14 al final: «οἱἝλληνες» en vez de «οἱ Ἕλληνες» (o eso parece).

Por si sirve. Ahora, es una sugerencia de mejora, porque el texto es increíble (me dan ganas de terminar de aprender el griego que tengo a medias para leer textos tan bellamente compuestos).

Repito mi más sincera enhorabuena por tamaña maestría.

Pablo Rodríguez dijo...

Confirmado: es un error en la tipografía. Porque probándolo con GFS Didot funciona perfectamente bien. Perdón por no probar antes de decir nada.

Yo les escribiría informándoles del fallo (aquí está la dirección). Mi experiencia con ellos es que corrigen, de los fallos que he informado, los que realmente son graves. Creo que éste es grave (a no ser que se me escape algo más grave a mí).

Suerte y siempre puedes, legalmente, hacer tú las correcciones con FontForge.

Juan Manuel Macías dijo...

Hola Pablo, me alegro de volver a verte por aquí, y muchas gracias por tus palabras. Para mí fue un gran descubrimiento comprobar que XeTeX puede trabajar con las open type features a través de Fontspec. La documentación de Fontspec es bastante prolija al respecto. El único "problemilla" es que no todas las fuentes open type siguen el estandar de Adobe a la hora de nombrar las características. Por ejemplo, la fuente que aquí muestro, si la usas tal cual en XeLaTeX, aparecerá con las ligauras activadas. Eso sucede porque nombra las ligaduras con la etiqueta "Common", cuando en esta etiqueta deberían incluirse sólo las ligaduras latinas tipo "fi" o "fl". Para desactivarla, bastaría con poner algo así como:

\newfontfamily\greekfont[Ligatures=NoCommon]{GFS Baskerville}

Igualmente, hay fuentes que usan nombres arbitrarios para etiquetar sus características. En la documentación de Fontspec viene cómo adaptar estas particularidades. Y, para saber cuáles y cómo se llaman las características open type de una fuente determinada, he encontrado extremadamente útil un visor de fuentes para Linux llamado Fontmatrix.

En cuanto al problema de los diacríticos solapados en esta fuente, es verdad, ya lo había notado. Pero sospecho que no es un error. Me explico. Algunas fuentes griegas sacan el diacrítico fuera de la caja del glifo para poder reproducir esa convención tipográfica griega de "colgar" los diacríticos fuera del margen izquierdo, para que la mayúscula quede perfectamente alineada con el resto de letras. Según Haralambous, dicha convención (hoy en día casi en desuso) se aplicaba sólo a la poesía. Me temo que en este tipo de fuentes habrá que añadirle un espacio extra antes de cada mayúscula, o retocar las letras una a una desde el Fontforge, como bien dices.
Un saludo.

Pablo Rodríguez dijo...

Hola, Juan Manuel, un placer seguirte y disfrutar de tu buen hacer.

Siento no ser positivo con el gran trabajo que hacen los de la Greek Font Society, pero me parece, que sin ser yo tipógrafo, no es una solución buena (los espaciados horizontales en GFS Didot en el alfabeto latino, por ejemplo, la hacen inútil para cualquier trabajo serio [yo me la pensé como posible para la tesis]).

Yo también había pensado en lo que tú dices del colgado de diacríticos. No conozco bien las posibilidades de propiedades y etiquetado de OpenType, pero seguro que habría alguna mejor. Lo que parece que han hecho es sencillamente, quitar del margen izquierdo los diacríticos, lo que es una mala solución, porque en poesía puede ser muy útil y bello, pero en prosa, la primera palabra de un párrafo no puede tener los diacríticos retrocedidos, y más si no estuviese sangrado el párrafo.

La solución de paso (implementable por ellos también) es sencillamente establecer un espaciado horizontal, volado (kerning) con el espacio que anule el retroceso del margen izquierdo de los diacríticos.

La solución sería buscar cuál es la etiqueta correcta para meter esa propiedad. Pero eso, no para ti, por supuesto, sino para las personas de la Greek Font Society.

Juan Manuel Macías dijo...

Completamente de acuerdo, Pablo. Ese artificio de los diacríticos sólo contentaría a medias a los usuarios de Word. Pero crea más problemas de los que soluciona, y todo por satisfacer una convención que apenas se usa. Creo que esta crítica constructiva a los de la GFS es necesaria. Hacen un trabajo espléndido, que no nos cansaremos de elogiar, pero aún tienen que mejorar en muchos aspectos, como bien apuntas. ¡La oferta de fuentes griegas libre con algo de calidad es tan limitada!. En el otro extremo, están los tipos de Monotype, maravillosos pero restringidos y limitados.
Ignoro si hay alguna etiqueta open type para la convención mencionada. Tal vez, será cosa de investigar, que me ha picado la curiosidad. Había un paquete para pdftex (no recuerdo cómo se llamaba) que permitía, entre otras florituras, reproducir esto de los diacríticos colgados al margen.
¿Por qué fuente te decantaste al final para la tesis?
Un saludo.

Pablo Rodríguez dijo...

Pues comentando al revés. Al final fueron Computer Modern para latín, griego y cirílico (también conocidas como CM-LGC). En el 2003, que fue cuando tuve que tomar esa decisión, XeTeX no existía para Linux (o yo no lo conocía), LuaTeX ni estaba en proyecto, y Λ/Ω se me quedaban muy grandes después de haber hecho todo en pdfLaTeX. Me decanté por esas, que aunque no fuesen Unicode, tenían menos tamaño que usar CM-super y el alfabeto griego de Claudio Beccari (en realidad son esos glifos, pero en PDF final era más pequeño y no sé si evitaba también otros problemas).

Luego, para la edición electrónica de la Universidad, pues hice mis primeros pinitos con Λ y dvipdfmx. Milagrosamente, conseguí aclararme y funcionó con Gentium (gracias a FontForge que editaba los mapeados de las tipografías TrueType para Ω).

Ahora que recuerdo, en a comienzos del 2005, la Greek Font Society no había hecho su oferta libre de tipografías, ni su aparición en internet (que yo recuerde). Gentium fue una buena opción para lo que había.

Por eso, estuve a punto del éxtasis cuando vi por primera vez XeTeX.

Por cierto, muchas gracias por la referencia de Fontspec (pensé que te referías al principio al paquete de XeLaTeX).

En su momento yo les propuse a los de la Greek Font Society bastantes correcciones y mejoras para sus tipografías. No sé por qué motivo (falta de tiempo, mala organización, falta de comunicación entre las personas), no todas prosperaron. Y entendí que debía dedicarme a otras cosas o no molestar (vamos a decirlo así). Hay que reconocerles que parte de los espaciados horizontales a mí me salían con pares en alemán, no en español, pero vamos, mi tesis era sobre Hans-Georg Gadamer (y un tal Platón, si se me permite evitar la Wikipedia ;-)).

Luego, en el peor de los casos, FontForge puede ser programable en Python. En principio, aunque yo no sé cómo hacerlo, no debería ser muy difícil escribir el programilla que le diga que en un determinado rango tome todas los caracteres que tengan el LBearing negativo y que añada un par de volado con el espacio que sea exactamente de la cantidad negativa, con lo que el problema se evitaría. En la lista de FontForge puede que sepan cómo hacerlo.

También allí se les puede ocurrir qué etiqueta sería la ideal para el colgado de diacríticos (supongo que será del grupo GPOS). También sería fácil de corregir si la Greek Font Society quiere, porque Fontlab también es programable con Python.

Y después de echar un vistazo rápido a la lista de propiedades OpenType, lo más cercano me parece la alineación visual (optical bounds, con su etiqueta 'opbd'). El ejemplo creo que describe justo eso, aunque sí, no hable de diacríticos en griego politónico.

Juan Manuel Macías dijo...

Disculpa la tradanza en contestarte, Pablo. Sí, las CM-LGC son una estupenda opción. Si mal no recuerdo, fue Alexej Krykov su responsable, modificando efectivamente, los tipos de Beccari. Sirven tanto para TeX como para Omega, yo las usé mucho en Omega para textos "de batalla", porque nunca me acabó de convencer la Omega Times que el sistema de Haralambous y Plaice usaba por defecto. Kryukov también fue el autor de ese parche para Omega (una especie de emulación del paquete Babel) llamado Antomega, gracias al cual Omega se convirtió en "usable" e incluso "amigable" para documentos cotidianos. No sé si lo llegaste a probar. Todavía sigue en el TeX Live, pero los responsables de la distribución no lo han colocado correctamente y da problemas. Si quieres probarlo, te puedo contar cómo se repara. La verdad es que estaba muy bien, y se podían controlar un gran número de variables de tipografía griega. En el fondo, no era más que una colección de archivos OTP/OCP, que vienen a hacer algo parecido (en el ámbito de Omega) a lo que hacen las características open type, pero con mayor alcance, al ser una propiedad del compilador y al no depender de la fuente de turno. Como la asignación de etiquetas open type está algo verde aún en las fuentes griegas, es evidente que los resultados de un texto giego con el tandem omega (o aleph) + antomega y las fuentes de que disponemos pueden ser más refinados que los que entrega XeLaTeX. Naturalmente, no es culpa de XeLaTeX, sino de las deficiencias en dichas fuentes. El sistema OTP de Omega suponía un gran poder de control y haríamos mal, en mi opinión, releándolo al olvido. Por eso me hizo ilusión eso que dijo Javier Bezos en un hilo de Es-TeX donde creo que también estabas tú, lo de que LuaTeX incorporaba los OTP desde el principio. ¡Habrá que meterse en serio con el LuaTeX! Pero, caray, al menos a mí me da respetillo, pues todavía se mueve en la órbita de los gurús :-)

La Gentium es una muy buena fuente, de mis preferidas. Es muy parecida a la Minion Pro de Adobe. No sé si has llegado a probar la Titus Ciberbit...

Ahora que mencionas lo del alineamiento óptico de caracteres, me parece recordar que el InDesign (hijo "bastardo" de TeX :-) incluía esa propiedad. Una vez más, hablo de memoria, pues sólo trasteé con este programa unos días.

En fin, no sé si me dejo cosas en el tintero...

Saludos

Juan Manuel Macías dijo...

Ah, que se me olvidaba. Estoy de acuerdo, si no llega a ser por el Font Forge, yo ya habría desistido de Omega casi a los dos días de probarlo. Era prácticamente imposible crear un ofm de una fuente por el sistema manual-mortificante que se proponía en algunos tutoriales, ya que el ovp2ovf (aplicación indispensable en el proceso) que venía con Omega estaba roto y nadie (que yo sepa) lo reparó. Qué tiempos!

Al Font Forge habría que levantarle un monumento.

Pablo Rodríguez dijo...

Gracias por la respuesta, Juan Manuel.

Si no llega a ser por antomega, yo no hubiese usado ni de casualidad Λ ni Ω. Reconozco que los ΩTP y ΩCP superan mi limitada inteligencia. Leí cosas, pero no entendía nada (o, sobre todo, no tenía el marco general del asunto y me perdía con facilidad).

Sí, el ovp2ovf, recuerdo vagamente, no servía y yo no entendía nada, porque no había manera de conseguir que nadie arreglase eso (y prometo que busqué). Yo le pedí a George Williams, el desarrollador principal de FontForge, que si podía hacer que generase los corespondientes mapas para Ω, y él incorporó la funcionalidad. A George Williams habría que hacerle una estatua.

Titus Cyberbit la ví, pero que yo recuerde tenía dos problemas: sólo tenía tipo normal (ni cursiva siquiera, ya no negrita o negrita cursiva) y el tipo era demasiado parecido a Times New Roman (tipo que no está mal para lo que se creó, para ser legible en un periódico con tamaño pequeño, pero que no tiene que estar en todo tipo de escrito).

LuaTeX supongo que es el futuro, pero de momento el problema es que LuaLaTeX no sé si está siquiera operativo para no desarrolladores.

Si quieres, lo que puedo hacer en unos días que voy a tener tiempo libre es ponerme en contacto con los de FontForge (para ver si es la etiqueta y propiedad correcta) y los de la Greek Font Society (para ver si corrigen la tipografía). Y a ver qué pasa. Por lo menos espero conseguir el programilla para FontForge. Pero vamos, ya me dirás si quieres.

Juan Manuel Macías dijo...

Pablo, disculpa una vez más mi demora en contestar tu último comentario. Así que a ti se debe, en última instancia, lo de que Font forge pueda generar ofm. Pues habría que erigirte también un monumento junto al del artífice George Williams :-) Gracias.
El asunto del ovp2ovf me trajo un par de semanas por la calle de la amargura. No recuerdo haber juntado en tan poco tiempo tanta información inútil u obsoleta. Cada vez que creía dar un paso adelante, zas, una nueva decepción.
En cuanto a lo de los otp, bien, la sintaxis, para conseguir ciertos objetivos, no es demasiado difícil. Yo escribí dos otp para trabajar con grafía transliterada de gótico y antiguo indio, y que apareciera en la compilación el resultado con alfabeto "exótico" (el alfabeto gótico de úlfilas o el devanagari, según el caso) más algunos ajustes extras de espacio entre glifos.

En cuanto a lo que me comentas de escribir a los desarrolladores de Font forge y GFS acerca de esas propiedades open type de que hablamos, por mí adelante. Si te parece, podemos seguir manteniendo esta conversación por mail, a ver si llega algún progreso.

Abrazos

Pablo Rodríguez dijo...

En fin, para pública vergüenza por tratar de atribuirme méritos ajenos (por pura falta de memoria, puesto que ocurrió en 2005 y la vida me ha cambiado mucho desde entonces), quién pidió la funcionalidad fue Idris Samawi Hamid (que es uno de los desarrolladores de Oriental TeX. Contribuí a la discusión, pero eso fue todo (me acuerdo porque lo he buscado, como puede verse ;-)).

Y sí, seguimos por correo electrónico, mejor.

lau dijo...

Bonito como todo lo \TeX y amigos....
pero dond esta el codigo \ldots ?