Capítulo 3

Antecedentes I: Estado del arte

3.1. El documento electrónico

Con la llegada de la era de la tecnología digital y la extensión masiva del uso de redes informáticas tanto en el ámbito de negocio como el particular, el papel ha sido relegado como método por excelencia para el almacenamiento y transmisión de la información para dar paso al documento electrónico [41].

Según Michael Buckland 1, un documento se define como un contenedor de información [39], es decir, todo aquello que permite organizar, presentar y gestionar información relativa a una temática determinada. Así, un documento se califica como electrónico si se encuentra físicamente almacenado en un dispositivo electrónico o unidad externa de un dispositivo de este tipo, comprensible sin ningún procesamiento adicional, excepto la representación de las propias páginas.

Hoy en día es más que habitual que cualquier tipo de documento (cartas, facturas, libros, etc.) tenga su origen en un medio informático previo a su impresión y que se haga llegar, gracias a su formato digital, a través de la red telemática a múltiples destinatarios en un tiempo muy reducido, empleando por ejemplo el correo electrónico o e-mail. La ubicuidad de este tipo de documentos provoca que cada vez sean más numerosas las técnicas para la gestión de documentos electrónicos y que la demanda de calidad sea más exigente.

Los documentos electrónicos pueden agruparse en dos grandes bloques: los de formato de texto y los de formato de audio. En este estudio nos centraremos en el primero de estos grupos, si bien es cierto que los avances en la tecnología hacen que cada vez más se diluyan las fronteras entre ambos en el llamado formato multimedia.

En general, los documentos electrónicos con formato de texto más habituales usan códigos de 8 bits ya sean ASCII o ANSI/ISO y se dividen a su vez en dos categorías: de texto plano y texto estructurado [17]:

1Licenciado en computación. Profesor Instructor de la Universidad de Berkeley.

12 CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 13

Documentos de texto plano Los textos generados por las aplicaciones procesadoras de texto más corrientes como Block de notas, WordPerfect o Microsoft Word, se presentan en texto plano. Entre sus inconvenientes destacan su limitada capacidad para navegar entre los elementos del texto y su estructura diseñada para la lectura secuencial, dado que las posibles marcas que puedan contener no sirven para indicar la estructura conceptual del documento. Todas estas características y el hecho de que no se ha llegado a desarrollar un estándar sobre las marcas de formato a usar y que además, son textos generados por aplicaciones propietarias, los hacen no adecuados para la publicación digital. Así, los formatos RTF (Rich Text Format) y DOC del MS Word se crean con aplicaciones concretas y por lo tanto, no tienen la universalidad que se requiere en el mercado actual.

Documentos de texto estructurado Los textos estructurados, a diferencia de los textos planos, contienen datos que per- miten su manipulación automática, es decir, su transformación con distintos fines, como por ejemplo visualización en pantalla, impresión, traducción a otro idioma, lec- tura en voz sintética o incluso su conversión a Braille. Para afrontar estos objetivos, los textos estructurados añaden "marcas" o "etiquetas" que aportan información más allá del propio contenido. Estas marcas informan de la función de un determinado fragmento dentro del documento como por ejemplo título, autor, párrafo, elemento de una lista, nota a pie de página, etc. Como es comprensible, las marcas pueden ser de múltiples tipos en función del objetivo que se le destine al documento y de ahí que se hayan desarrollado diversos sistemas. Entre estos sistemas destacan PDF y SGML (XML, HTML y XHTML) que se han impuesto en la publicación electrónica actual.

• SGML (Standard Generalized Markup Language) SGML es un estándar ISO que surgió en 1986 [40]. Presenta dos características fundamentales: ◦ Se define como un meta lenguaje. Esto es, es un lenguaje que describe la sintaxis para los distintos tipos de marcado o etiquetado que se necesiten y no un lenguaje de marcado único para cualquier tipo de texto. Así, el meta lenguaje se emplea para definir cada uno de los lenguajes dentro de SGML. Esta descripción de cada lenguaje se llama DTD (Document Type Definition) y debe ser conocida por las aplicaciones que manipulen documentos SGML para tener conocimiento de las etiquetas a reconocer y las normas a seguir para el marcado. El marcado flexible de SGML es una gran ventaja sobre el rígido, dado que permite el uso de lenguajes muy simples para documentos con estructura sencilla y lenguajes complejos para documentos más compli- cados.

◦ Define la separación de la estructura del documento de su representación en cada dispositivo. Los aspectos relacionados con la representación del docu- mento no deben definirse en la DTD puesto que el dispositivo final que el usuario emplee para acceder al documento es desconocido a priori. Así, si se desea alterar la presentación por defecto, se deben emplear "hojas de estilo" cuyos estándares no se engloban dentro de SGML. Estas características han provocado que SGML haya triunfado a nivel empresari- al, académico y militar. Entre sus aplicaciones destaca World Wide Web (WWW) CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 14

que constituye la causa primera del éxito de Internet. Para la creación de páginas Web se emplea el lenguaje de marcado HTML (HyperText Markup Language) que es una variante especial de SGML. Se dice que es una variante especial porque no cumple con algunas de las características más importantes de SGML. La razón tiene su raíz en los orígenes de HTML, cuando los creadores de WWW y HTML (hoy agrupados en el consorcio WWW o W3 Consortium [13]) evitaron el uso de DTD s y hojas de estilo para conseguir la mayor simplificación posible. Así, los estándares de HTML desde las versiones 1.0 a 4.0 permiten el etiquetado de tanto información estructural como de estilo, lo que viola uno de los principios fundamentales de SGML. Sin embargo, HTML se ha consagrado como el formato principal para textos digitales. Para conseguir recuperar las cualidades de SGML y sin perder la compatibili- dad con los contenidos ya existentes en WWW, W3 desarrolló XML (eXtensible Markup Language) [14]. Desde este momento, los navegadores o programas que manipulen documentos XML deben validar la corrección de su sintaxis, emplean- do la DTD del lenguaje 2 si es necesario, y presentar los contenidos siguiendo las hojas de estilo. Entorno a XML surgen el lenguaje XSL (eXtensible Stylesheet Language) para la definición de estas hojas de estilo y CSS (Cascading Style Sheets) u hojas de estilo en cascada, con las que se puede mantener la compati- bilidad con las viejas normas HTML. La versión de HTML 5.0, XHTML, se define usando ya XML. Dentro de la familia XML han surgido múltiples lenguajes, entre los que señalam- os Open-eBook y DAISY [15].

• PDF (Portable Document Format) Portable Document Format es el formato creado por Adobe System para el inter- cambio de documentos en 1993 [7, 18]. Adobe constituye una de empresas más importantes en la provisión de en el mercado editorial. Su principal éxito consiste en haber conseguido que sus formatos se hayan erigido como estándares de hecho en todo el mundo. En primer lugar, PostScript se impuso como formato de impresión en papel de alta calidad y posteriormente PDF, que abarca la impre- sión en papel y la visualización de documentos en cualquier dispositivo sin variar sus características visuales, de ahí que se le denomine como formato "portable". PDF proporciona la capacidad para poder visualizar cualquier documento de la misma forma que si se hubiera empleado una impresora de alta calidad y además, su definición como portable, indica su independencia de dispositivo, propio de los formatos multiplataforma. Dado que este proyecto se centra en este formato de documento electrónico en concreto, se le dedica una sección especial a continuación.

3.2. La tecnología PDF

Una vez que hemos situado PDF dentro del campo de los documentos electrónicos, se pasa a analizar su tecnología y su estado actual en el mercado.

2Para poder ser publicados en WWW todas los lenguajes deben encontrarse definidos mediante su DTD. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 15

La incorporación de PDF como formato competitivo fue un proceso lento. A principio de los años 90 tanto las herramientas de creación de PDF y las aplicaciones de visualización e im- presión no se podían adquirir de forma gratuita. Además, PDF no soportaba los hiperenlaces externos al documento, lo que reducía de forma considerable su utilidad en la Word Wide Web, y el tamaño adicional de los documentos PDF en comparación con los textos planos significaban tiempos de descarga considerablemente mayores y lentitud en la representación en los dispositivos. Por otro lado, en el mercado existían formatos competitivos como Envoy, Common Ground Digital Paper y el propio antecesor de PDF, el formato PostScript. Sin embargo, con la libre distribución de Acrobat Reader (ahora Adobe Reader), el manten- imiento de la compatibilidad hacia atrás con el formato PDF original y los grandes avances realizados en su tecnología, Portable Document Format es hoy por hoy, indiscutiblemente el estándar de facto por excelencia para documentos imprimibles.

3.2.1. Las capacidades de PDF

Entre las características de PDF se encuentran [18]:

Multiplataforma e independiente de dispositivo. PDF puede visualizarse e imprimirse en cualquier plataforma: , , Unix y otras plataformas móviles. Extensible Más de 1.800 vendedores en todo el mundo ofrecen soluciones basadas en PDF como la creación, plug-in, etc. Fiable y de uso extendido La existencia de más de 200 millones de documentos en la red actualmente, prueban el gran número de usuarios y organizaciones que confían en PDF para el intercambio de documentos. Mantiene la integridad de la información Un archivo PDF se muestra exactamente igual que el documento PDF original y preser- va la información de la fuente como el texto, los gráficos, etc., independientemente de la aplicación que se use para crearlos 3. Seguridad en el mantenimiento de la información y restricciones de uso La firma digital o la protección mediante password son métodos de consecución de seguridad en PDF. Entre las técnicas permitidas se encuentran además, la encriptación de 40 y 128 bits, ambas empleando sistemas complejos de RC4 y MD5, restricciones DRM para la limitación y control de copiado, edición e impresión, y autenticación y limitación de tiempo de acceso mediante las técnicas descritas en LiveCycle Policy Server. Navegable Gran capacidad de búsqueda en documentos para la localización de palabras, book- marks y campos de datos.

3Este proyecto se basa en la consecución estricta de esta propiedad al respecto de las fuentes o . CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 16

Accesible Los documentos PDF cooperan con las tecnologías de asistencia para hacer accesible la información a las personas con discapacidades. Así, los archivos PDF actuales pueden incluir etiquetas (XML), descripciones de audio, etc.

Multimedia Los documentos PDF admiten elementos multimedia (vídeos o sonidos), enlaces de hipertexto (vínculos, marcadores y direcciones de correo) e incluir pequeñas miniaturas de las distintas páginas. Compactos Mediante una serie de mecanismos y algoritmos de comprensión y gracias a su estruc- tura ingeniosa, se reduce el tamaño de los documentos PDF al mínimo.

En cuanto a las tecnologías implicadas en PDF, cabe destacar lo siguiente. PDF combina tres tecnologías:

Un subconjunto del lenguaje de programación de descripción de página PostScript.

Un sistema de incrustación de fuentes ( -embedding ) que permite a las fuentes viajar dentro de los documentos.

Un sistema de almacenamiento estructurado para la incorporación de todos los ele- mentos auxiliares y contenidos en un único archivo, con compresión de datos.

Al respecto estas características se deben realizar una serie de comentarios.

PostScript es un lenguaje de descripción de página que se ejecuta en un intérprete para generar una imagen y que necesita de varios recursos para dicho proceso. Sin embargo, PDF es un formato de fichero, no un lenguaje de programación, aunque conserve los comandos gráficos de PostScript.

PDF soporta la incrustación de fuentes. No es una capacidad obligatoria pero si de- seable si se desea cumplir rigurosamente con su principio de mantenimiento de la integridad. Un fichero PDF debe visualizarse en cualquier equipo manteniéndose in- variables las propiedades con que fue generado, incluido el tipo de letra con que se presentan los textos. Así, si las fuentes no se encuentran incrustadas dentro de un fichero PDF, la visualización de los textos depende de la disponibilidad de dichas fuentes en el equipo, lo que constituye una falta de precisión importante para el es- tándar para el intercambio de documentos más importante de la actualidad. Como se analiza a continuación, existen múltiples aplicaciones propietarias con opciones de incrustación de fuentes, como Adobe Distiller. Sin embargo, las soluciones en software libre a este respecto son muy limitadas. Este proyecto proporciona una herramienta alternativa open source para la solución de este problema. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 17

3.2.2. El proceso de estandarización de PDF

En la actualidad, el formato PDF es un estándar abierto que se encuentra en vías es- tandarización ISO, el denominado ISO 32000 [42]. Hoy en día, las aplicaciones pueden crear y leer archivos PDF sin tener que pagar royalties a Adobe Systems. Además, aunque Adobe mantiene sus patentes sobre el formato, permite el desarrollo de software que se ajuste a la especificación PDF. El formato PDF ha cambiado en ocho ocasiones: 1.0 (1993), 1.1 (1994), 1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), 1.6 (2005) y 1.7 (2006), que se corresponden en el tiempo con las ocho versiones de Acrobat 1.0 a 8.0.

Sin embargo, desde comienzos de 2007, la situación de PDF está destinada a cambiar. El 29 de enero de 2007 Adobe anunció su intención de liberar la especificación de Portable Docu- ment Format 1.7 a AIIM (Enterprise Content Management Association), con el propósito de ser publicado por International Organization for Standarization (ISO). Así, como parte de este proceso, en la primavera de 2007 los expertos de Adobe en PDF han convertido la ref- erencia PDF 1.7 Reference en otro documento de Adobe, el ISO Draft o borrador ISO. Este borrador se basa en la plantilla de ISO y contempla los cambios que hacen que la referencia de PDF sea conforme a las reglas de documentación ISO para los estándares internacionales.

Por otro lado, otros subconjuntos de PDF se encuentran en proceso o ya estandarizados por ISO:

PDF/X para la impresión y las artes gráficas, se estandariza como ISO 15930 (en proceso por ISO TC130). PDF/A para el archivado de documentos en ambientes gubernamentales, corpora- tivista y de biblioteconomía, se estandariza como ISO 19005 (realizado por ISO TC171).

PDF/E para el intercambio de gráficos de ingeniería (realizado por ISO TC171).

PDF/UA para el acceso universal de los archivos PDF.

Además, una variante para fines sanitarios, PDF/H (PDF for Healthcare), se encuentra también en vías de desarrollo.

Sin duda, el proceso de estandarización ISO de PDF impulsará todavía más el desarrollo de aplicaciones y el empleo de este formato en todo el mundo.

3.3. Tipos y formatos de archivos de fuentes

Previo al análisis de la gestión de fuentes de PDF, es necesario realizar una breve descripción y clasificación de las fuentes en el mundo de la computación actual. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 18

3.3.1. Clasificación de archivos de fuentes

Lejos ya del antiguo término que relacionaba las fuentes con elementos mecánicos, una fuente se define como un archivo de datos electrónicos que contiene un conjunto de glifos, caracteres o símbolos. En la actualidad se definen tres grandes grupos de formatos de archivos de fuentes para dispositivos electrónicos [44]:

Fuentes Bitmap Las fuentes bitmap consisten en un conjunto de puntos y píxeles que representan la imagen de un glifo para cada vista y tamaño. Sus ventajas principales se resumen en:

• Su representación es extremadamente simple y rápida. • Sus fuentes no escaladas dan siempre como resultado exactamente la misma sal- ida. • Creación muy sencilla frente a sus competidoras.

El inconveniente principal que se le asocia a las fuentes bitmap es que su calidad desciende de forma considerable cuando son escaladas o transformadas, comparado con sus competidoras de tipos outlines y stroke que estudiaremos a continuación. Su uso fue exclusivo en los primeros sistemas de computación por la limitación en po- tencia de procesado y memoria de éstos en sus comienzos. En la actualidad se pueden encontrar en la consola de , la consola de recuperación de Windows y sistemas in- tegrados. Entre sus formatos de fuentes se encuentran Portable Compiled Font (PCF), Glyph Bitmap Distribution Format (BDF), Server Normal Format (SNF), DECWin- dows Font (DWF), Sun X11/NeWS format (BF) , Microsoft Windows bitmapped font (FON) , Amiga Font, ColorFont, AnimFont y ByteMap Font (BMF).

Fuentes Ouline Las fuentes outlines emplean las curvas de Bézier y representan cada glifo mediante instrucciones y fórmulas matemáticas que permiten el escalado a cualquier tamaño. Su ventaja fundamental se encuentra en su gran capacidad de transformación. Los caracteres de las fuentes outlines pueden escalarse a cualquier tamaño con resultados de mayor calidad a los que se consiguen con fuentes de bitmap, dado que no se produce pixelación. Sin embargo, su tiempo de procesado es mucho mayor y pueden obtenerse interpretaciones no deseadas o rendering mistakes dependiendo de la fuente, software de representación y tamaño de salida. En sus comienzos, estos tipos de fuentes también llamados vectoriales, se emplearon en monitores y plotters de vector, que utilizaban sus propias fuentes internas. Más adelante, surge la necesidad de unificar las fuentes con la interfaz de usuario en los primeros Macintosh e impresoras láser, lo que da lugar a la aparición de la tecnología WYSIWYG (What You See Is What You Get). El estándar universal era y sigue siendo Adobe PostScript con sus formatos Type1 y Type3 , y los formatos posteriores TrueType (creado por Apple Computer) y OpenType (Microsoft & Adobe). La tecnología PDF de Adobe se ampara en estos formatos y por lo tanto, centrarán nuestra atención de aquí en adelante. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 19

Fuentes Stroke Emplean un conjunto de líneas determinadas e información adicional que define un perfil, tamaño y forma de la línea para cada tamaño y vista. Estos dos elementos se unen para describir la apariencia del glifo. Sus ventajas fundamentales sobre las fuentes outlines consisten en el número reducido de vértices para la definición de glifos y su diseño más sencillo y menos propenso a errores que el de las fuentes outlines. Son fuentes de gran éxito en los mercados del este asiático para el uso en sistemas integrados. Entre sus desarrolladores se encuentran Fontworks (Gaiji Master), Agfa Monotype (iType), Font Fusion (FFS), btX2 y Type Solutions, Inc. (perteneciente a Bitstream Inc.) .

3.3.2. Las fuentes en PDF

Como se indicó en al sección anterior, nuestro interés se centra en las fuentes que se emplean en PDF: Las fuentes Type1, MMType1, Type3, TrueType, OpenType y CIDfonts. Previo a al estudio de estas fuentes 4 dentro de PDF (integración, uso y estructura), se introducen muy brevemente:

Las fuentes Type1

Las fuentes Type 1 o PostScript [1] constituyen una simplificación del lenguaje Post-Script como en el caso de PDF, en esta ocasión para permitir el almacenamiento de información de representación de glifos. Así, su tecnología se basa en el uso de las curvas cúbicas de Bézier y se engloba dentro de los formatos de archivos de fuentes outlines. Es un formato de fuente que soporta procesos de hinting.

Su costosa licencia y monopolio del mercado, propició la aparición de otro formato de fuente entorno a 1991 que alcanzaría gran importancia, el formato True Type de Apple. En ese momento, Adobe publicaría la especificación del formato de fuente Type 1 y distribuiría gratuitamente alguna de sus fuentes para mantener su competitividad.

Las fuentes Type 3

Las fuentes Type 3 [7] surgieron como una simplificación menos costosa de las fuentes Type 1, que seguía empleando toda la potencia del formato PostScript pero sin definir procesos estandarizados para hinting. Las fuentes Type 3 definen glifos utilizando todo y no un subconjunto del lenguaje PostScript, como en el caso de las fuentes Type 1. De ahí, que las fuentes Type 3 presenten posibilidades de definición de forma, color y patrones de relleno que no son posibles en Type 1, a pesar de no soportar hinting.

4Se dedica el capítulo 5 Fundamentos de la gestión de fuentes en PDF. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 20

Las fuentes True Type

Las fuentes True Type [4] desarrolladas de forma original por Apple Computer a finales de los años 80, surgieron como respuesta al formato privativo Type 1. Su tecnología se basa fundamentalmente en las curvas cuadráticas de Bézier que son matematicamente más simples que la cúbicas que se emplean en el formato Type 1 y que proporcionan un procesado más eficiente. Por otro lado, los sistemas True Type incorporan una máquina virtual que ejecutan programas dentro de la propia fuente para el procesado de los hints de los glifos. De esta manera se consigue la distorsión de los puntos de control que definen el contorno de cada glifo, logrando reducir las características indeseables que introducen los rasterizers en el despliegue en pantalla o en la impresión, mejorando así la legibilidad.

True Type 5 ha sido durante mucho tiempo el formato de fuente empleado en los sistemas operativos Mac OS y Windows, aunque ambos soporten también el formato Adobe Type 1 y la extensión de la fuentes True Type, llamada Open Type, de gran relevancia en la actualidad (desde Mac OS X 10.0 y Windows 2000). Por otro lado, muchas de las distribuciones de Linux incorporan el llamado formato FreeType. El formato FreeType de David Turner surge como un intento de crear una implementación independiente de True Type. Sin embargo, debido a importantes violaciones de la patente de Apple al respecto de la máquina virtual de hinting, se dio paso a FreeType2 que intenta salvar el inconveniente de su predecesor pero que aún no ha conseguido constituir un formato eficiente en muchos aspectos.

Las fuentes MMType1

Las fuentes Multiple Master [45] son una extensión de las fuentes Type 1 de PostScript que han sido reemplazadas en la actualidad por el formato Open Type. Su tecnología se basa en la interpolación a lo largo de un conjunto de ejes determinados, de una serie de fuentes llamadas maestras para conseguir de esta forma una gran gama de estilos, manteniendo la integridad de los glifos.

Las fuentes Multiple Master soportan un conjunto de variables de entre estas cuatro:

Weight o peso (próximo al concepto de negrita)

Width o compresión Optical size o tamaño óptico Style o estilo

En la actualidad estas fuentes se encuentran obsoletas y las aplicaciones que las soportan son muy escasas.

5El llamado outline de True Type dentro de las fuentes PostScript, se define como Type 42 y Type 11 para las fuentes CID. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 21

Las fuentes Open Type

Open Type es el formato de fuente desarrollado por Microsoft y posteriormente por Adobe para ser el sucesor de las fuentes True Type por su tecnología tipográfica más avanzada [46]. Las fuentes OpenType incorporan opciones de smartfont que permiten un soporte tipográfico de idioma más avanzado. Entre sus ventajas además, destaca su codificación basada en Unicode y su compatibilidad con la mayoría de sistemas Windows, Mac OS y Unix. Las descripciones de glifo en esta tecnología pueden encontrarse tanto el formato True Type como en PostScript (siguiendo el Formato de Fuente Compacto CFF propio de las fuente Type 2). Esta posibilidad en la variedad del formato es de gran importancia para el desarrollo de este proyecto como se explicará en el capítulo 6 de Métodos y fases de desarrollo, para la incrustación de las fuentes compuestas CIDFontType0 (derivadas de Type 1).

Las fuentes CID

CID o CID-keyed es un formato PostScript Type 0 6 multibyte que permite el uso de conjun- tos de glifos muy extensos. Surgió principalmente con la idea de proporcionar soporte a los mercados asiáticos cuyos idiomas emplean un número de caracteres muy superior al de los lenguajes occidentales [7, 45]. Con el formato CID se pretendía alcanzar mejores rendimien- tos y una mayor flexibilidad de lo que se había conseguido con el formato Original Composite Font (OCF) en un primer acercamiento a las codificaciones complejas y amplios conjuntos de caracteres de los lenguajes asiáticos (CKJ).

El formato CID-keyed en PDF puede emplearse en conjunción con el formato Type 1 (u OpenType con PostScript outlines), formando las denominadas CIDFontType0 y con el formato True Type (u Open Type en su variante True Type) constituyendo las fuentes CIDFontType2.

La integración y cooperación de PDF con estas fuentes para la representación de textos forma parte del núcleo central de este proyecto. Así, todas las fuentes que se han presenta- do se analizarán en profundidad dentro del contexto y las estructuras propias de PDF en capítulos posteriores. En cuanto al copyright de las fuentes y la incrustación, cabe decir que nuestro software NO se responsabiliza del uso de fuentes que no permitan la incrustación 7. El usuario debe conocer la licencia con que se distribuye una fuente de que dispone y emplearla con este software siempre y cuando sea permitido dicho proceso. En cualquier caso, la may- oría de las fuentes con licencias privativas permiten su incrustación SÓLO para una mayor eficiencia en la lectura e impresión de los documentos, es decir, admiten la incrustación de la fuente para impresión y previsualización pero no para edición, coincidiendo con el objetivo que se persigue con este Proyecto Fin de Carrera.

6Una fuente Type 0 es una fuente compuesta según se define en PostScript Language Reference Manual, 2ª Edición. 7El copyright y las licencias de distribución de fuentes, son susceptibles a un análisis más profundo que se escapa de los objetivos de este proyecto. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 22 3.4. Software de modificación de PDF

Son múltiples las herramientas capaces de visualizar y crear tanto en software de tipo privativo como libre, sin embargo, la modificación de los documentos es una capacidad escasa de las aplicaciones de gestión PDF, especialmente en las open source . En esta sección vamos a analizar las librerías y aplicaciones de tipo comercial y libre que permiten la alteración de documentos PDF, centrándonos en concreto en aquéllas que permiten la incrustación de fuentes, dado el objetivo de este proyecto.

En primer lugar analizaremos el módulo de Perl PDF::API2, por constituir la base sobre la que se desarrolla la aplicación.

3.4.1. El módulo PDF::API2

PDF::API2 de Alfred Reibenschuh [28] es un módulo en lenguaje Perl muy extenso que permite la modificación y creación de documentos PDF. Los primeros pasos en la creación de este módulo se fundamentaron en PDFlib-0.6 (AFLP)[27]. Posteriormente evolucionó como Text::PDF::API hasta convertirse en un módulo orientado a objetos y con licencia LGPL denominado PDF::API2. Para el desarrollo de este PFC se emplea su versión PDF::API2- 0.65.

Figura 3.1: Logo de PDF::API2

Entre sus características destacamos las siguientes [26]:

Se presenta al usuario mediante una API orientada a objetos. Permite la creación y modificación de documentos PDF. Importación de páginas. Empleo de fuentes incrustadas para fuentes Type 1 y CIDFont basadas en TrueType (mediante el uso de ficheros de fuentes con extensión .pfb, .pfa, .ttf y otf 8).

8En el caso de las fuentes Type1 es necesario también el empleo de ficheros de métricas .afm. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 23

Permite el empleo de las llamadas 14 fuentes estándar y un subconjunto de las fuentes CKJ. Sin embargo, dichas fuentes no se incrustan en el fichero PDF. Admite los archivos de imágenes (.jpeg,.png,.gif,.tiff y .pbm/pgm/ppm).

En cuanto a requerimientos, se caracteriza por su reducido número de exigencias. Se presen- tan únicamente tres:

1. Se necesita una versión de Perl superior a 5.8.x 9.

2. Instalación del módulo Encode para la gestión de la codificación de las fuentes.

3. Instalación del módulo Compress::Zlib para la compresión de los objetos de flujo u object stream s de PDF.

Los módulos relacionados con la gestión de fuentes de PDF::API2 que se han estudiado para desarrollo de este proyecto son:

PDF::API2::Resource::CIDFont::CJKFont

PDF::API2::Resource::CIDFont::TrueType PDF::API2::Resource::CIDFont::TrueType::FontFile

PDF:: API2:: Resource:: Font:: PostScript PDF::API2::Resource::Font

PDF::API2::Resource::Font::CoreFont

El uso o descarte de cada uno de estos módulos se explicará a lo largo del capítulo 6 Métodos y fases del desarrollo. Sus distintos métodos y el resto de módulos pueden consultarse en http://search.cpan.org/dist/PDF-API2/ .

3.4.2. Alternativas en software libre para PDF

A continuación se presentan las principales alternativas en software libre que compiten con PDF::API2 para la creación y modificación de ficheros PDF.

9En este proyecto se desarrolla con Perl 5.8.3. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 24

Perl

PDF.pm [30] El objetivo de esta librería es facilitar clases y funciones que permitan el acceso y manipulación de ficheros PDF con Perl. Se encuentra divida en dos secciones funda- mentales. • PDF:: Core que contiene funciones para el acceso a estructuras de datos, con- structores y funciones de bajo nivel como la extracción de objetos. • PDF:: Parse está orientado a la extracción de información entorno a un documento PDF. Sin embargo, no se proporcionan herramientas para la gestión de fuentes de forma directa, por lo que no resulta muy competitivo frente a PDF:: API2 para el objetivo que nos ocupa. Text:: PDF [29] Módulo de Perl para la modificación y creación de documentos PDF. Las características que le hacen competitivo frente a PDF:: API en la gestión de fuentes y textos en PDF son: • Permite el trabajo simultáneo con más de un fichero PDF. • Soporta las fuentes True Type (Text::PDF::TTF) y de fuentes True Type Type0 (Text::PDF::TTFont0). Permite la incrustación del éstas e incluso el subsetting. • Soporta las 14 fuentes estándar (Text::PDF::SFont). Sin embargo, el inconveniente fundamental de Text:: PDF es que por el momento no soporta las fuentes en formato PostScript Type 1, Type 3, MMType1 o Type0 con PostScript outlines.

Python

ReportLab [31] La librería ReportLab Open Source PDF es una de las soluciones para la creación de PDF de mayor implantación entre los desarrolladores web y profesionales del dis- eño para la generación de reporting systems . Se caracteriza especialmente por su gran flexibilidad para la construcción de componentes como vectores gráficos, tablas, pár- rafos, imágenes bitmap y fuentes. Al respecto de éstas hay que indicar que soporta la incrustación de fuentes Type 1 y asiáticas además del uso de las 14 fuentes PostScript.

JAVA

iText [32] iText es una librería Java que permite a los desarrolladores extender las capacidades de sus servidores (servidores web) con la creación de documentos PDF dinámicos. En cuanto a la gestión de textos permite el empleo de las 14 fuentes estándar (no se ofrece la posibilidad de incrustación), fuentes True Type o TTF, colecciones TrueType o TTC, fuentes Open Type OTF, fuentes PostScript mediante ficheros PFB y AFM y fuentes CID. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 25

Otros

Panda [33] Panda es una librería en código C con licencia GPL y LGPL para la creación de documentos PDF. Al respecto del uso de fuentes destaca por los esfuerzos que se están realizando para la incorporación del formato FreeType. Sin embargo, por el momento (hasta su versión 0.5.4 ), no incorpora capacidades de incrustación de fuentes. FPDF [34] FPDF es una clase open source escrita en PHP para la creación de documentos PDF de forma directa desde PHP (sin necesidad de PDFlib). Su eficiencia en cuanto a velocidad es menor que con PDFlib. Sin embargo, dado que PDFlib es de carácter privativo, resulta una buena alternativa siempre que los documentos no sean muy extensos. Admite fuentes True Type y Type 1. Pdftk [35] Pdftk es una herramienta de línea de comandos con licencia GPL para sistemas Win- dows, Mac OS X, FreeBDS y Solaris. Entre sus funciones principales destacan:

• Unión y separación de páginas de documentos • Encriptación • Relleno de formularios • Actualización de meta datos (autor, título, palabras claves, etc) • Compresión y descompresión • Reparación de PDF corruptos

Es un software potente de propósito general, sin embargo, no contempla la incrustación de fuentes. Ghostscript [36] Ghostscript, con licencia GPL, es uno de los programas intérprete de documentos en PostScript y PDF más importantes. Su cobertura de las especificaciones de PostScript es extraordinaria. Sin embargo, su código es muy complejo y extenso y esto constituye una de sus desventajas principales en la gestión de documentos PDF. Para interpretar documentos PDF no es necesario toda la complejidad que GhostScript incorpora para la interpretación eficiente de PostScript. Así, para el manejo de documentos PDF se prefieren intérpretes más ligeros. La versión 6.0 de Ghostscript incluye como base 35 fuentes PostScript Type 1. Además implementa fuentes True Type.

PDFT EX [37] PDFT EX, con licencia GNU General Public Licence, es una variante del programa Tex A que se incluye en la mayoría de distribuciones de L TEX y ConT EXt. La diferencia fun- A damental entre T EX y PDFL TEX es que T EX da como salida ficheros DVI mientras que A PDFL TEX puede generar ficheros PDF de una forma directa incluyendo características como enlaces de hipertexto, tablas de contenidos y referencias cruzadas. En cuanto al uso que da a las fuentes, cabe destacar que permite de forma nativa la incrustación de fuentes Type 1 y True Type. Para el paso a PDF de la memoria de este proyecto se ha empleado esta herramienta desde la aplicación open source LYX. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 26

Además existen otras alternativas de gran interés que no se detallan como:

Apache-FOP: http://xmlgraphics.apache.org/fop/ : http://poppler.freedesktop.org/

MuPDF+Fitz: http://ccxvii.net/apparition/

PDFedit: http://pdfedit.petricek.net/index_e.html

3.4.3. Alternativas en software privativo para PDF

Las aplicaciones y SDK que se pueden encontrar de licencias propietarias con posibilidad de incrustar algunos de los tipos de fuentes que admite PDF, son bastante numerosas, pero las licencias de la mayoría de ellas resultan privativas para gran parte de los usuarios.

Adobe 10 . Acrobat Family [18] Las opciones de modificación de documentos PDF es realmente muy extensa mediante 8.0. Sus herramientas permiten tanto la edición de textos como de objetos.

Análisis- Capacidades más destacadas entorno a la modificación de textos:

• Edición de texto 11 • Agregar texto nuevo • Generación y relleno de formularios con la herramienta Typewriter • Incrustar fuentes mediante la herramienta Retocar Texto . Se presentan las siguientes opciones a este respecto: 1. Fuente disponible e incrustable. Se puede incrustar la fuente con dos posibil- idades, incrustar y subconjunto. Es decir, incrustando toda la fuente o sólo el conjunto de caracteres de la fuente que se emplea. 2. Fuente disponible pero incrustable con restricciones. Sólo puede incrustar un subconjunto de la misma. Se permite incrustar la fuente para impresión y previsualización pero no para edición. 3. Fuente disponible pero no incrustable. No se puede incrustar la fuente: ni la de incrustación ni la de subconjunto. 4. No hay ninguna fuente del sistema disponible por tanto, no está disponible ninguna opción; ni la de incrustación ni la de subconjunto.

10 Adobe dispone además de servicios online para la conversión de documentos a PDF como Create Adobe PDF Online. 11 Si las modificaciones son sustanciales se recomienda realizar los cambios en el documento original y generar de nuevo el PDF, dado que la edición no es uno de los fundamentos en los que se basa PDF y se presentan muchas limitaciones. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 27

Conclusión- Sin duda alguna, Adobe Acrobat 8 conforma el software más completo para la incrustación de fuentes en PDF. Sin embargo, su carácter es privativo y el coste a día de hoy para su adquisición se sitúa entorno a los 600 € y para su actualización alrededor de 250 €.

PDFlib [38] PDFlib es una herramienta completa de desarrollo para la creación de documentos PDF. Está enfocada principalmente a la generación de PDF "on the fly" en servidores. Análisis- Capacidades más destacadas entorno a la modificación de textos: Sus posibilidades para la gestión de fuentes son muy potentes: destaca el soporte que ofrece para las fuentes CJK, fuentes Type 3 y su capacidad de incrustación mediante subsetting para la reducción del tamaño final de los documentos PDF.

Conclusión- Herramienta con excelentes propiedades y cualidades. Desafortunada- mente, sólo una versión muy limitada (y con la adición de marcas de agua en todas las páginas) se encuentra disponible de forma gratuita.

Adult PDF [19] El software Adult PDF se especializa en la conversión de documentos a PDF. Entre sus herramientas se destaca Ap Document to PDF Converter v3.0 por sus opciones de transformación de formatos como doc, xls, ppt, txt, y el propio PDF hacia sofisticados PDF.

Análisis- Capacidades más destacadas entorno a la modificación de textos:

• Soporta la modificación la inclusión de marcas de agua y sellos específicos del autor • Adición de hipervínculos a elementos de texto • Creación de estructura jerárquica a partir del texto: creación de bookmarks • Soporte de la incrustación de fuentes

Conclusión- AdultPDF no se especializa en la modificación de ficheros PDF sino en la creación a partir de otros formatos. Sin embargo, permite la incrustación de fuentes. Su carácter es privativo y su uso se restringe para sistemas opera- tivosWindows2000/XP/2003. Se encuentra disponible por un precio entorno a los 25 €.

Apago [20] El software de Apago se especializa en la manipulación y optimización de ficheros PDF. En concreto nos centramos en su herramienta PDF Enhancer.

Análisis- Capacidades más destacadas entorno a la modificación de textos:

• Soporta la incrustación de fuentes en modo subsetting • Soporte de la incrustación de fuentes completas CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 28

Conclusión- PDF Enhancer es una herramienta completa para conseguir PDF con tamaños lo más reducidos posibles, de gran calidad y fiabilidad (incrustación de fuentes). El inconveniente fundamental se encuentra en su licencia privativa que puede alcanza los 200 € para desktops y llegar a los 2000 € para servidores avanzados. Se encuentra disponible para Windows NT/2000/XP/2003 y Mac OS X.

Arts PDF Crackerjack [21] Plug-in de Adobe para la impresión profesional de documentos PDF.

Análisis- Capacidades más destacadas entorno a la modificación de textos: Antes de la impresión, procede al análisis de las fuentes en el documento, si su opción de chequeo de fuentes no incrustadas está activada. Si encuentra que una fuente en el fichero PDF no está incrustada, pero existe en el sistema, imprimirá el documento incluyendo dicha fuente pero no incrustando la fuente en el fichero PDF . En caso contrario, interrumpe el proceso para interrogar al usuario. Conclusión- Arts PDF Crackerjack es una herramienta enfocada a la impresión de documentos PDF en alta calidad pero no para la visualización. Se encuentra disponible para las plataformas Windows y Macintosh en su versión 5.1.2 con licencia propietaria con y sin mantenimiento. Una licencia sin mantenimiento tiene un coste entorno a 495 €.

Nitro PDF [22] Nitro PDF Professional es una herramienta PDF dirigida fundamentalmente a la mod- ificación de documentos para la actualización de contenidos. Permite la edición de tex- tos, imágenes, páginas, seguridad, enlaces y bookmarks permitiendo la optimización de los ficheros PDF para su distribución.

Análisis- Capacidades más destacadas entorno a la modificación de textos: Nitro PDF ofrece un control total sobre las fuentes en los documentos PDF. Se pueden añadir o eliminar fuentes incrustadas en un PDF ya existente y decidir la gestión de fuentes para los nuevos documentos. Conclusión- Es una herramienta muy especializada en la modificación de contenidos PDF y permite una total personalización en el uso de las fuentes. Disponible para Windows 2000, XP Home, XP Professional o Vista (XP Professional 64, no se soporta Vista 64) con un coste próximo a los 100$ en su versión profesional.

Broadgun Software Pty Ltd.: pdfMachine [23] PdfMachine de Broadgun Software es un kit de desarrollo software (SDK) para la conversión y manipulación de documentos PDF en alta calidad en sistemas Windows. Se presenta con interfaz en línea de comandos y COM API.

Análisis- Capacidades más destacadas entorno a la modificación de textos: Únicamente soporta la incrustación de fuentes True Type. Conclusión- Las posibilidades de incrustación de fuentes en pdfMachine son muy lim- itadas. Su carácter es privativo y su uso está limitado para Windows NT/2000/XP /2003/Vista. El coste por servidor es de 450$ según se fija en su página oficial. CAPÍTULO 3. ANTECEDENTES I: ESTADO DEL ARTE 29

Enfocus Software: PitStop Professional 7 [24] PitStop Professional es una herramienta muy potente para la modificación de doc- umentos PDF. Permite seleccionar y editar textos, objetos vector, imágenes raster, opciones de color y corregir errores típicos de impresión según una serie de plantillas predeterminadas.

Análisis- Capacidades más destacadas entorno a la modificación de textos: Permite el cambio de muchas propiedades de texto como fuentes, incrustación de fuentes y outlining, tamaños y posición en el documento. Conclusión- Este software profesional al constituir un plug-in de Adobe Acrobat, permite la modificación de PDFs sin necesidad de cambiar la familiar interfaz de Acrobat. Disponible para Mac OS y Windows en su versión 7.51 con un coste entorno a 600 €.

FinePrint Software: pdfFactory [25] Herramienta de propósito general de PDF. Permite la creación, visualización, mod- ificación y envío de documentos. Realiza tareas de previsualización, encriptación y control de acceso.

Análisis- Capacidades más destacadas entorno a la modificación de textos: Asegura que las fuentes que se usan en un documento son las originales, pese a su indisponibilidad en el sistema, dado que prevee la incrustación de fuentes. Conclusión- Sólo disponible para Windows Vista, XP, 2000, NT, 98, 95 con un precio aproximado de 100 €.

Además se deben citar las siguientes herramientas dentro de esta sección por su potencial y extensión en el mercado actual:

PDF Editor de Company: http://www.foxitsoftware.com/ Jaws PDF Software: http://www.jawspdf.com/

PDF Tools AG: http://www.pdf-tools.com/

PDFTron: http://www.pdftron.com/

WebSuperGoo, AbcPDF e ImageGlue: http://www.websupergoo.com/

Como se puede deducir de este análisis, las aplicaciones de modificación de fuentes en PDF de carácter libre son practicamente inexistentes. Este proyecto pretende colaborar para el progreso del software libre entorno a PDF y en concreto proporcionar una herramienta para la incrustación de fuentes, en un tipo de documento cuyo dominio sobre el mercado actual de la documentación electrónica, no cesa su crecimiento.