É possível usar codificação para fontes bitmap em dvips?

É possível usar codificação para fontes bitmap em dvips?

No processo de criação do .psarquivo, dvipslê-se ".nnnpk"fontes. Essas fontes não podem conter informações de codificação (em contraste com as fontes Type3 ou Type1). Mas em .maparquivos, informações de codificaçãopodeseja dado.

É possível usar .mapfile para associar .encarquivo a uma determinada fonte PK?

.maparquivos permitem o parâmetro "ReEncodeFont", algo como o seguinte:

lhr10 "Myenc ReEncodeFont" <my.enc

É possível usá-lo? Ou talvez algum outro método, como hackear .psarquivos diretamente? (a conversão de fontes PK para Type1 ou Type3 não deve ser considerada)

ATUALIZAR

A seguinte citação da página 12 do manual pdftex parece promissora:

A partir da versão 1.40.19, um arquivo de codificação também pode ser especificado para fontes bitmap pk. Neste caso, ele atribui os nomes dos glifos do vetor de codificação fornecido, que pode ser usado com a primitiva \pdfglyphtounicocode (qv). Por exemplo: ...

É possível usar truque semelhante para dvips?


Aqui está o exemplo completo de como usar a codificação para fontes PK em pdftex:

Copie tex256.encda distribuição para o diretório atual e altere a entrada /idieresis % 239para e /uni044F, em seguida, processe o seguinte arquivo com pdftex:

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

Depois disso, você obtém caracteres de bitmap copiáveis.

É possível fazer engenharia reversa do PDF criado e adicionar coisas semelhantes diretamente ao .psproduzido por dvips?


Parece que o seguinte código em PDF é responsável por associar a codificação ao arquivo PK:

/Type /Encoding
/Differences [239/uni044F]

Qual é o equivalente deste código em PostScript?

Responder1

Você está com sorte! O autor original de dvips, Tomas Rokicki, “saiu da aposentadoria” (por assim dizer – quero dizer, ele não estava trabalhando nisso dvipshá algum tempo) para mudar isso, e está dando uma palestra sobre isso no TUG 2019.

Você pode ver sua pré-impressãoaquie o repositório GitHub com o código-fonteaqui.

Você pode testar minhas alterações propostas nos dvipsarquivos de saída sem atualizar sua distribuição ou criar uma nova versão do dvips. O script Perl addencodings.pllê um arquivo PostScript gerado por dvipsuma entrada padrão e grava o arquivo PostScript que seria gerado por uma dvipssaída padrão modificada. Nenhum arquivo adicional é necessário para este teste; as codificações padrão para as fontes TEX Live padrão são incorporadas ao script Perl.

A versão mais recente addencodings.pléaqui(link permanente para as últimas informações de hoje:aqui).

informação relacionada