¿Es posible utilizar codificación para fuentes de mapa de bits en dvips?

¿Es posible utilizar codificación para fuentes de mapa de bits en dvips?

En el proceso de creación del .psarchivo, dvipsse lee ".nnnpk"fuentes. Esas fuentes no pueden contener información de codificación (a diferencia de las fuentes Type3 o Type1). Pero en .maplos archivos, la información de codificaciónpoderser dado.

¿Es posible utilizar .mapun archivo para asociar .encun archivo con una fuente PK determinada?

.mapLos archivos permiten el parámetro "ReEncodeFont", algo como lo siguiente:

lhr10 "Myenc ReEncodeFont" <my.enc

¿Es posible usarlo? ¿O tal vez algún otro método, como piratear .psarchivos directamente? (No se debe considerar la conversión de fuentes PK a Type1 o Type3)

ACTUALIZAR

La siguiente cita de la página 12 del manual pdftex parece prometedora:

A partir de la versión 1.40.19, también se puede especificar un archivo de codificación para fuentes pk de mapa de bits. En este caso, asigna los nombres de los glifos del vector de codificación dado, que se pueden utilizar con la primitiva \pdfglyphtounicode (qv). Por ejemplo: ...

¿Es posible utilizar un truco similar para dvips?


Aquí está el ejemplo completo de cómo utilizar la codificación para fuentes PK en pdftex:

Copie tex256.encde la distribución al directorio actual y cambie la entrada /idieresis % 239a /uni044F, luego procese el siguiente archivo con pdftex:

\pdfcompresslevel=0 \pdfobjcompresslevel=0
\pdfmapline{lhr10 <tex256.enc}
\font\tenrm=lhr10 \tenrm
^^ef
\end

Después de esto, obtendrá un carácter de mapa de bits copiable.

¿Es posible aplicar ingeniería inversa al pdf creado y agregar elementos similares directamente al .psproducido por dvips?


Parece que el siguiente código en PDF es responsable de asociar la codificación con el archivo PK:

/Type /Encoding
/Differences [239/uni044F]

¿Cuál es el equivalente de este código en PostScript?

Respuesta1

¡Estás de suerte! El autor original de dvips, Tomas Rokicki, “salió de su retiro” (por así decirlo, solo quiero decir que no estuvo trabajando dvipspor un tiempo) para cambiar esto y dará una charla al respecto en TUG 2019.

Puedes ver su preimpresión.aquíy el repositorio de GitHub con el código fuenteaquí.

Puede probar mis cambios propuestos en los dvipsarchivos de salida sin actualizar su distribución o crear una nueva versión de dvips. El script Perl addencodings.pllee un archivo PostScript generado por dvipsuna entrada estándar y escribe el archivo PostScript que se generaría mediante una dvipssalida estándar modificada. No se requieren archivos adicionales para esta prueba; Las codificaciones predeterminadas para las fuentes TEX Live estándar están integradas en el script Perl.

La última versión de addencodings.plesaquí(enlace permanente a lo último a día de hoy:aquí).

información relacionada