2011-06-17 6 views
11

He estado escribiendo software para analizar el contenido de archivos PDF, específicamente el texto dividido en regiones. Para esto necesito métricas de fuentes como desplazamientos de glifos, ascenso de toda la fuente, descenso y cuadro delimitador de glifos, etc. En resumen, el tipo de métricas que deberían estar disponibles en el diccionario de FontDescriptor de una definición de fuente en un PDF.Métricas de fuente para las fuentes "base 14" en la especificación PDF

Lamentablemente, no es necesario incluir un FontDescriptor para las fuentes cuya fuente base es una de las fuentes estándar "base 14".

¿Dónde puedo encontrar o cómo puedo generar métricas de fuentes para las fuentes de base 14?

Respuesta

5

En Linux (y probablemente en Mac OS X también) puede usar fácilmente el script font2afm que crea archivos de métricas de fuentes PostScript o TrueType (.pfa, .pfb, .ttf, .otf).

Si no tiene disponible la base original , puede utilizar los clones proporcionados por Ghostscript. Estos clones pueden usar nombres de fuentes completamente diferentes, pero solo pueden ser clones usando las mismas métricas para cada glifo.

Aquí es una línea de comandos de Ghostscript, que enumera ti todas las base de 14 fontnames:

de Windows:

gswin32c.exe -q -dNODISPLAY -dSAFER -c "systemdict /.standardfonts get == quit" 

Linux/Unix/Mac:

gs -q -dNODISPLAY -dSAFER -c "systemdict /.standardfonts get == quit" 

En versiones recientes de Ghostscript, los nombres de archivo de las fuentes clonadas por lo general coinciden con el fontna del clon yo. Las versiones antiguas de GS pueden haber usado más convenciones de nombres crípticos. Aquí está la lista de asignaciones FontName a las fuentes clonados:

+===============+========================+==========================+ 
| Base 14 name | Ghostscript name  | Font filename (older GS) | 
+===============+========================+==========================+ 
| Courier  |      |       | 
| standard | NimbusMonL-Regu  | n022003l.pfb    | 
| bold  | NimbusMonL-Bold  | n022004l.pfb    | 
| italic  | NimbusMonL-ReguObli | n022023l.pfb    | 
| bolditalic | NimbusMonL-BoldObli | n022024l.pfb    | 
+---------------+------------------------+--------------------------+ 
| Helvetica  |      |       | 
| standard | NimbusSanL-Regu  | n019003l.pfb    | 
| bold  | NimbusSanL-Bold  | n019004l.pfb    | 
| italic  | NimbusSanL-ReguItal | n019023l.pfb    | 
| bolditalic | NimbusSanL-BoldItal | n019024l.pfb    | 
+---------------+------------------------+--------------------------+ 
| Times-Roman |      |       | 
| standard | NimbusRomNo9L-Regu  | n021003l.pfb    | 
| bold  | NimbusRomNo9L-Medi  | n021004l.pfb    | 
| italic  | NimbusRomNo9L-ReguItal | n021023l.pfb    | 
| bolditalic | NimbusRomNo9L-MediItal | n021024l.pfb    | 
+---------------+------------------------+--------------------------+ 
| Symbol  | StandardSymL   | s050000l.pfb    | 
+---------------+------------------------+--------------------------+ 
| ZapfDingbats | Dingbats    | d050000l.pfb    | 
+---------------+------------------------+--------------------------+ 

Puede descargar las fuentes Ghostscript desde muchos lugares en la 'red (F. E. de here). Luego ejecuta f.e. este comando:

font2afm StandardSymL.ttf 

y el archivo resultante, StandardSymL.afm deben contener las medidas de fuente para la fuente Symbol en formato estándar .afm ....

1

Estoy seguro de que las métricas de fuentes están ampliamente disponibles. Por ejemplo, en mi Ubuntu están en /usr/share/fonts/type1/gsfonts/ - tal vez no reconozca algunos de los nombres de las fuentes, pero son metricamente compatibles con Helvetica, etc.

Cuestiones relacionadas