dvips でビットマップ フォントのエンコーディングを使用することは可能ですか?

dvips でビットマップ フォントのエンコーディングを使用することは可能ですか?

.psファイルの作成プロセスでは、 dvips.んんんpk「フォント」は、Type3やType1フォントとは異なり、エンコーディング情報を保持できません。しかし、.mapファイルにはエンコーディング情報できる与えられる。

.mapファイルを使用して、.encファイルを特定の PK フォントに関連付けることは可能ですか?

.mapファイルでは、次のような「ReEncodeFont」パラメータが許可されます。

lhr10 "Myenc ReEncodeFont" <my.enc

それを使用することは可能ですか? または、.psファイルを直接ハッキングするなど、他の方法があるでしょうか? (PK フォントを Type1 または Type3 に変換することは考慮されません)

アップデート

pdftex マニュアルの 12 ページからの次の引用は有望に思えます:

バージョン 1.40.19 以降では、ビットマップ pk フォントに対してもエンコーディング ファイルを指定できます。この場合、指定されたエンコーディング ベクトルからグリフ名が割り当てられます。このエンコーディング ベクトルは、\pdfglyphtounicode プリミティブ (qv) で使用できます。例: ...

同様のトリックを使用することは可能ですかdvips?


以下は、pdftex で PK フォントのエンコーディングを使用する方法の完全な例です。

tex256.encディストリビューションから現在のディレクトリにコピーし、エントリ/idieresis % 239を に変更して/uni044Fから、次のファイルを で処理しますpdftex

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

その後、コピー可能なビットマップ文字が得られます。

.ps作成された PDF をリバース エンジニアリングして、生成されたものに同様のものを直接追加することは可能ですかdvips?


PDF 内の次のコードは、エンコーディングを PK ファイルに関連付ける役割を担っているようです。

/Type /Encoding
/Differences [239/uni044F]

このコードに相当する PostScript は何ですか?

答え1

あなたはラッキーです! の原作者であるdvipsTomas Rokicki 氏が、この状況を変えるために「引退から復帰」(いわば、dvipsしばらく に取り組んでいなかったという意味です)し、TUG 2019 でそれについて講演する予定です。

彼のプレプリントを見ることができますここ、ソースコードを含むGitHubリポジトリここ

dvipsディストリビューションを更新したり、 の新しいバージョンをビルドしたりしなくても、出力ファイルに対する私の提案する変更をテストできますdvips。 Perl スクリプトはaddencodings.pl、 によって生成された PostScript ファイルをdvips標準入力で読み取り、変更された によって生成される PostScript ファイルをdvips標準出力に書き込みます。 このテストには追加のファイルは必要ありません。標準の TEX Live フォントのデフォルトのエンコーディングは、Perl スクリプトに組み込まれています。

の最新バージョンaddencodings.plここ(本日の最新情報への永久リンク:ここ)。

関連情報