El Unified Font Object ( UFO ) es un formato de archivo fuente basado en XML para fuentes digitales . Fue creado por Tal Leming, Just van Rossum y Erik van Blokland . [1] Entre los colaboradores del formato se incluyen también Ben Kiel y Frederik Berlaen. [1] Según sus creadores, el UFO es un formato abierto " a prueba de futuro " que está diseñado para ser " independiente de la aplicación ", " legible y editable por humanos". [2]
La primera versión del formato UFO se creó en 2003. [3] La versión más reciente, UFO 3, se lanzó en 2012. [2]
La idea del Unified Font Object se originó con una versión personalizada del editor de fuentes Fontographer 3.5. [4] Petr van Blokland , junto con Just van Rossum y Erik van Blokland , y con la ayuda de David Berlow y Steven Paul de Font Bureau , crearon y distribuyeron por suscripción una versión personalizada de Fontographer llamada RoboFog en 1996. [4] [5] RoboFog permitía a los usuarios escribir scripts en Python , un lenguaje que el hermano de Just, Guido van Rossum, inventó dos años antes en 1994. [4] [5] [6] La herramienta se volvió muy popular entre los diseñadores tipográficos debido a su capacidad para automatizar tareas. [5]
En 1998, FontLab , el desarrollador del editor de fuentes rival de Fontographer (entonces propiedad de Macromedia ), agregó Python a la versión 2.0 de su aplicación, en parte debido a la popularidad de RoboFog. [4] El 24 de marzo de 2001, Apple lanzó Mac OS X 10.0 , una importante reescritura del sistema operativo Mac. [7] Para entonces, Fontographer era demasiado antiguo para ser portado a Mac OS X, por lo que los desarrolladores de RoboFog dirigieron su atención a FontLab. [5]
En febrero de 2003, en la conferencia TypoTechnica en Heidelberg , van Rossum, van Blokland y el diseñador tipográfico Tal Leming, con sede en Baltimore, combinaron sus scripts de API de FontLab existentes en un módulo de Python llamado RoboFab. [6] [3] El grupo comenzó a llamarse "The RoboFab Consortium". [6] Con RoboFab surgió la necesidad de un formato de archivo de intercambio para transferir datos de fuentes entre RoboFog y FontLab. [4] En abril de 2003, van Rossum comenzó a trabajar en un formato de archivo basado en XML para datos de glifos llamado Glyph Interchange Format (GLIF). [3] En julio de 2003, el grupo comenzó a trabajar en el primer formato de archivo UFO (más tarde conocido como "UFO 1"), que usaba "GLIF para información de glifos y .plist de Apple (también basado en XML y completamente multiplataforma) para cualquier otro dato como listados, índices, etc." [3] El grupo tenía la intención de presentarlo en la conferencia RoboThon de 2003, pero su lanzamiento se retrasó hasta el 14 de marzo de 2004. [6] [3]
El grupo presentó el OVNI con el siguiente manifiesto: [4]
En opinión del consorcio, los datos de fuentes deberían ser independientes de los editores de fuentes para evitar problemas como la descomposición del software , a la que el campo del diseño tipográfico es particularmente propenso, debido al largo período de tiempo que lleva desarrollar las fuentes y la relativa falta de variedad en las aplicaciones de edición de fuentes. [6]
En 2009, se anunció la versión 2 de UFO en RoboThon 2009, que trajo consigo cambios menores al formato. [8] En esta época, se empezaron a escribir diversas aplicaciones fuera de FontLab que utilizaban el formato UFO, como la aplicación de kerning de Leming , MetricsMachine, la aplicación de interpolación de van Blokland, Superpolator, y la aplicación de diseño paramétrico de Frederik Berlaen , KalliCulator. [4] [9]
A petición de David Berlow y Petr van Blokland, Frederik Berlaen comenzó a trabajar en 2009 en un editor de fuentes que utilizaba el formato UFO como formato nativo. [4] Debido a la red de aplicaciones que se utilizan ahora en el "flujo de trabajo UFO", "la dependencia de FontLab como entorno de dibujo central había creado un cuello de botella", en su opinión. [10] Berlaen presentó su editor de fuentes RoboFont en ATypI 2011 en Reykjavík , [10] y le dio el eslogan "El editor de fuentes UFO que faltaba". [11]
En RoboThon 2012, se anunció UFO 3 y Tal Leming fue nombrado “ dictador benévolo de por vida ” del formato UFO. [11] Los cambios principales en UFO incluyen una reestructuración de cómo el formato organiza las capas de diseño y una introducción de un formato comprimido en ZIP, “UFOZ”. [12]
Poco después, otros programas de edición de fuentes, como Glyphs, [11] [13] FontLab [14] y FontForge [15] comenzaron a admitir UFO como formato de intercambio.
La cuarta versión del formato, "UFO 4", se encuentra actualmente en la fase de concepto. [16]
UFO es un paquete ; un directorio del sistema de archivos que se presenta como un solo archivo en MacOS . En Windows y otros sistemas operativos sin soporte para paquetes, aparece como un directorio del sistema de archivos normal con la extensión ".ufo". [17]
Los OVNIS se organizan con archivos de lista de propiedades basados en XML en el directorio principal del sistema de archivos OVNIS, que describen metadatos de toda la fuente, como el nombre y el peso de la fuente, así como interacciones entre glifos, como grupos de glifos y kerning. [17]
Los archivos que contienen datos de contorno de glifos se encuentran en un directorio de un nivel inferior, un archivo por glifo. [17] Estos archivos terminan en ".glif" y están en un formato basado en XML llamado "Formato de intercambio de glifos (GLIF)". [18] Los archivos GLIF pueden describir curvas de Bézier de glifos en formatos cúbicos o cuadráticos. [19]
Las características OpenType en la sintaxis de características AFDKO se almacenan en un archivo de texto sin formato en el directorio principal del sistema de archivos UFO, con la extensión de nombre de archivo ".fea". [20]
Una crítica común al formato es que su estructura (a veces de cientos de archivos GLIF) no funciona bien con servicios de alojamiento de archivos en línea como Dropbox . [21] Esta crítica llevó a la propuesta y adopción del formato "UFOZ", que es un UFO (versión 3 y superiores) comprimido en un archivo ZIP . [12]
Otra crítica al UFO es que no existe una forma normalizada , ya que el orden de los elementos en sus archivos y los estándares de sangría se dejan en manos del editor. [17] Esto llevó a la creación de algunos "Normalizadores UFO", como el comando "psfnormalize" en el proyecto "pysilfont" de SIL International , [17] y el proyecto "ufonormalizer" de Tal Leming. [22]
Las siguientes son algunas aplicaciones que admiten el formato UFO de forma nativa o como formato de intercambio admitido oficialmente.
El formato UFO es una opción popular entre los proyectos de fuentes de código abierto porque el formato de archivos múltiples basado en XML es compatible con sistemas de control de versiones colaborativos como Git . [29] SIL International recomienda UFO como formato para nuevos proyectos de fuentes. [17]
El formato de archivo UFO se traduce fácilmente a una representación basada en objetos [33] en código. Además de RoboFab, el proyecto que originó el formato UFO, muchos proyectos de código abierto y cerrado leen y escriben UFO, por ejemplo, Adobe Font Development Kit para OpenType . [17]