El punto alto griego, Unicode y LuaTeX
El punto alto es un signo prosódico específico de la escritura griega, cuyo uso vendría a ser equivalente al del punto y
coma en la puntuación latina. El estándar Unicode lo tiene codificado en la posición U+0387
, y lo nombra (como en el
caso del resto de caracteres de todo el rango Unicode que afecta al griego) con el término empleado en griego actual:
ano teleía. El signo, pues, estaría bien definido de cara al diseño de fuentes y la correcta representación
tipográfica de la lengua griega. Pero el problema viene, como suele ser demasiado frecuente en Unicode, por la
duplicidad de caracteres. Tal es así, que el carácter que nos ocupa no pocas veces se confunde con el del punto medio
(middle dot: U+00B7
). La contaminación ya se remonta a antes de Unicode, aunque parece que en estos últimos tiempos
digitales el punto medio va ganando la partida. Sin ir más lejos, la distribución de teclado que uso en Linux para
escribir en griego tiene mapeado por defecto este punto a costa del correcto ano teleía. Vemos, por tanto, que el
problema del punto alto resulta ser al cabo un problema de altura. Se viene a unir al juego, además, otra anomalía
habitual, y es que algunas fuentes, aun disponiendo de los dos caracteres, igualan la altura del ano teleía con la del
punto medio, con lo cual ambos signos son indistinguibles. Probablemente los diseñadores de tipos se dejan llevar por
esta tendencia a la baja de nuestro punto griego. O, en el fondo, no hay un consenso total y la cuestión ha de quedar
abierta sine die. En mi opinión, el punto alto debe ser eso: un punto alto. ¿A qué altura? Lo más razonable sería no
muy lejos de la altura x de la fuente, como se ve en estos dos ejemplos tomados de las Platonis Opera de Oxford
(fig. 1) y el Dionisio de Halicarnaso de Teubner (fig. 2).
Figura 1: El punto correctamente alto en las Platonis Opera de Oxford
Figura 2: Y en Teubner
La excelente y siempre recomendable fuente Old Standard de Alexey Kryukov distingue claramente el punto medio del punto
alto (aunque este último, curiosamente, es de un peso algo mayor, como se aprecia en la fig. 3). Es más,
incluye la etiqueta Open Type locl
(sustitución de formas locales para un sistema de escritura determinado), gracias a
la cual nos aseguraremos de que todo punto medio en nuestro texto griego a procesar sea sustituido por el ano teleía:
siempre y cuando, claro, tengamos activada dicha marca y el script
para griego.
Figura 3: Contraste de punto alto y punto medio en la fuente Old Standard
En otras fuentes que dispongan de ambos caracteres bien diferenciados, pero que carezcan de esa característica Open
Type, podremos añadirla con un software editor de fuentes (Fontforge es aquí siempre el recomendado). La otra
posibilidad, si usamos Lua(La)TeX, es aplicarla al vuelo, sin necesidad de editar nuestra fuente, gracias a la función
Lua fonts.handlers.otf.addfeature
dentro de una orden directlua
. Añadiríamos esto en el preámbulo:
\directlua{
fonts.handlers.otf.addfeature{
name = "substest",
type = "substitution",
data = {
periodcentered = "anoteleia",
},
}
}
La etiqueta, que hemos llamado (por ejemplo) substest
, podemos activarla o desactivarla a discreción mediante un
RawFeature={+substest}
o RawFeature={-substest}
, respectivamente.
Podemos también realizar esta sustitución de forma nativa a TeX, mediante la modificación de los catcodes. Tocar los catcodes siempre es delicado y puede traer consecuencias inesperadas en nuestra compilación. La forma correcta de hacerlo sería algo así como esto:
\begingroup \catcode`\^^^^00b7=\active \protected\gdef^^^^00b7{\string ^^^^0387}% \endgroup \AtBeginDocument{% \catcode`\^^^^00b7=\active }
En otros contextos, tal vez queramos componer en una fuente griega que, si bien tiene definido el carácter del ano teleia, éste se ubica (como es habitual, ya dijimos) o bien más bajo de lo deseable o exactamente a la misma altura que el punto medio. Vamos, que el diseñador de fuentes ha hecho un simple «copia y pega» de glifos y no se ha complicado la vida. ¿Cómo lo arreglamos? Podemos, en principio, editar la fuente con Fontforge, y así modificar la altura de nuestro signo. Pero en LuaTeX nos vuelve a ayudar un poco de código Lua para el preprocesado, de tal modo que nos ahorramos el andar editando y renombrando fuentes. De nuevo, un método simple, limpio y no destructivo (para con la fuente original).
Supongamos, entonces, que queremos componer con Minion Pro, cuyo punto alto luce así de mal colocado cuando nos viene «de fábrica» (fig. fig:minion).
Figura 4: El remiso punto alto de la Minion Pro
definimos una simple función en Lua que nos reemplace tanto el punto medio como el punto alto (así nos aseguramos de que
la corrección será global) por el propio punto alto, que habremos (eso sí) encerrado en una \raisebox
para elevarlo.
Por ejemplo, declarando este comando:
\def\puntoalto{\raisebox{0.3ex}{\char"0387}}
Conviene usar, por cierto, una magnitud relativa como ex
y no absoluta (puntos, milímetros, etc). Así el punto se
ubicará siempre igual independientemente del cuerpo de letra empleado.
Nuestra función en Lua la podemos encerrar en un entorno luacode
, proporcionado por el paquete del mismo nombre:
\begin{luacode} function cambiar_puntoalto ( texto ) texto = string.gsub ( texto, "·", "\\puntoalto" ) -- sustituye punto medio texto = string.gsub ( texto, "·", "\\puntoalto" ) -- sustituye punto alto original return texto end \end{luacode}
Y en lo que hace a la parte LaTeX, un par de comandos que active o desactive la función:
\newcommand\anoteleia{\directlua{luatexbase.add_to_callback ( "process_input_buffer" , cambiar_puntoalto , "cambiar_puntoalto" )}} \newcommand\middledot{\directlua{luatexbase.remove_from_callback ( "process_input_buffer" , "cambiar_puntoalto" )}}
Y, por último, nuestro mínimo ejemplo funcional (resultado de la compilación en la fig. 5):
\begin{document} πέπονθα· (con punto alto original) \anoteleia % Sustituye los 2 puntos a nuestro punto alto, pero alto de verdad ;-) πέπονθα· / πέπονθα· (con punto medio / punto alto original) \middledot % Deja las cosas como estaban πέπονθα· (con punto medio) \end{document}
Figura 5: Compilación del ejemplo
Y estrambote: En este vídeo muestro un ejemplo real (esta vez con la fuente Linux Libertine), dentro de un libro que compuse recientemente.
Corrección de la altura del punto alto griego en LuaTeX from Juan Manuel Macías Chaín on Vimeo.
∞
Publicado: 03/09/19 - 20:37
Última actualización: 03/09/19 - 20:38
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial 4.0 Internacional.