martes, 17 de junio de 2008

Artículos: Fuentes personalizadas

Como sabeis, hace tiempo pusimos la aplicación FontSwap para poder modificar la fuente (estilo de letra) a nusetro iPod. El problema que tiene esta aplicación es que si se utiliza de forma erronea puede llevar a darnos dolor de cabeza y algunos cuelges muy bonitos, por eso su creador la quitó de su repositorio (por eso lo añadí yo al mío). Una de las mejoras que su autor quiso implementar fue la posibilidad de añadir otras fuentes.

FontSwap nos permite alternar entre una fuente u otra, pero siempre dentro de las que está en el mismo dispositivo, y lo ideal claro está es añadir las fuentes que deseemos nosotros mismos.

El único problema del proceso es que si la fuente copiada no es renderizada en una máquina MAC nuestro dispositivo se va a colgar. Como podemos saber si la fuente que queremos añadir es soportada? no lo sabemos, prueba error. La mayoría usamos máquinas windows. O podemos buscar por google fuentes para mac, y así nos curamos en salud.

Aviso que no me hago responsable de ningún cuelge. Si queremos curarnos en salud, lo mejor será hacer antes una copia de seguridad de los archivos q vamos a modificar y si algo no funciona bien, podremos entrar aun así por SCP o SSH y restaurar los originales, así podremos "jugar" todo lo que queramos de forma segura.

El proceso será simple:

1º. Buscaremos por inet, PC la fuente que queramos añadir y si podemos asegurarnos de que la fuente es legible por MAC mejor que mejor. (Más que nada porque windows suele usar fuentes tipo OpenFont y MAC TrueType).

2º. Una vez encontrada la/s fuentes que deseemos las copiaremos por SCP al iPod Touch/iPhone en /System/Library/Fonts/Cache

3º. Modificaremos el archivo CGFontCache.plist que está en /System/Library/Fonts/Cache. Este archivo contiene el listado de fuentes definidas en nuestro dispositivo, con lo que tendremos que añadir nuesrtas fuentes a este archivo. Este archivo es crucial, si la fuente que estamos añadiendo no es soportada, al aplciarla con FontSwap (por comodidad) tendremos una "rueda de la muerte". Aun así podremos acceder por SCP o SSH y restaurar este archivo, con lo que es crucial mantener una copia original de este archivo.

Como vamos a modificar este archivo? muy simple. Este archivo se divide en dos partes. La primera simplemente nombra cada fuente, y la segunda la define:

.Helvetica LT MM
/System/Library/Fonts/Cache/HelveLTMM.ps
.Times LT MM
/System/Library/Fonts/Cache/TimesLTMM.ps

Como podemos ver en esta parte tan solo lista las fuentes. Aquí es donde tendremos que añadir nuestra fuente. Por ejemplo si quisieramos añadir una fuente llamada "rune.ttf" tendríamos que añadir las siguientes lineas EN ESTA PARTE, NO EN LA OTRA:

Runas
/System/Library/Fonts/Cache/rune.ttf

Y guardaríamso el archivo.

La otra parte del archivo son las definiciones de cada tipo de fuente, diciendo que clase de fuente es, si está en negrita, cursiva... esa parte no será necesaria de cambiarla, puesto que es la parte que se encargará de modificar FontSwap, así que no vamos a hacer las cosas por duplicado. Podríamos definirla en ese listado también y consegiríamos que cualquier aplicación , pero no nos sería nada util, ya que las aplicaciones de Apple aunque podrían perfectamente establecer esa fuente, evidentemente no se hacen pensando que algunos usuarios tienen más fuentes instaladas. Luego es un poco inutil declararlas. Las declaraciones estan en la otra parte del archivo y son de este tipo:


Bold
ArialBold
Bold-Italic
ArialBoldItalic
Italic
ArialItalic
Plain
Arial


Como hemos dicho, podríamos declarar la nuetra, pero no es necesario


4º. Una vez tengamos realizado la copia de las fuentes y la modificación del archivo, tan solo queda añadir la fuente en el FontSwap. FontSwap lo único que hace es editar el archivo que hemos editado con anterioridad, y cambia en la definición de las fuentes la fuente a usar. Por ejemplo:

Sabemos que la fuente Helvética es la que usa todo el sistema. Si en la declaración de al fuente helvética le decimos que la fuente a usar sea Runas, el sistema irá preparado para cargar helvética, pero premio!! como fontswap lo ha modificado, no cargará helvetica, cargará Runas.

Como hemos dicho tendremos que modificar dos archivos de la aplicación FontSwap. En realidad es hacer básicamente lo mismo que hemos realizado en el archivo antes editado. Los dos archivos a editar en FontSwap están en /Applications/FontSwap.app/files

traitMapNames.plist lo editaremos para añadir nuestra fuente exactamente igual que hicimos en el archivo "CGFontCache.plist", solo que no tendremos que poner ya la ruta de la fuente, puesto que esa tarea ya la realizamos. Este archivo es necesario editarlo porque será el q nos liste nuestra fuente en el FontSwap

traitMapDefs.plist lo editaremos para definir nuestra fuente. Es la parte que no cambiamos en el archivo CGFontCache.plist y que si modificaremos aquí. La sintaxis es muy simple, el nombre acompañado del tipo de fuente que es, en el caso de que tengamos por ejemplo: runebold.ttf runecorsive.ttf... sabremos por ejemplo que una es la usada para negrita y la otra para curvisa. De todos modos la mayoría de las fuentes no tienen diferentes tipos, luego lo más normal es que tan solo tengamos que añadirla en la parte de plain:

Ejemplo de fuente de varios tipos:

American Typewriter

Bold
AmericanTypewriterCondensedBold
Plain
AmericanTypewriter


Ejemplo de nuestra fuente añadida:

Runas

Plain
Runas


Y listo. Hemos acabado

Abriremos FontSwap y podremos seleccionar nuestra nueva fuente, hacemos un respring y si la fuente es soportada como hemos dicho desde un principio, tendremos la nueva fuente instalada y funcionando.

No hay comentarios:

 
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.