![dvips でビットマップ フォントのエンコーディングを使用することは可能ですか?](https://rvso.com/image/399840/dvips%20%E3%81%A7%E3%83%93%E3%83%83%E3%83%88%E3%83%9E%E3%83%83%E3%83%97%20%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
.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
あなたはラッキーです! の原作者であるdvips
Tomas Rokicki 氏が、この状況を変えるために「引退から復帰」(いわば、dvips
しばらく に取り組んでいなかったという意味です)し、TUG 2019 でそれについて講演する予定です。
彼のプレプリントを見ることができますここ、ソースコードを含むGitHubリポジトリここ。
dvips
ディストリビューションを更新したり、 の新しいバージョンをビルドしたりしなくても、出力ファイルに対する私の提案する変更をテストできますdvips
。 Perl スクリプトはaddencodings.pl
、 によって生成された PostScript ファイルをdvips
標準入力で読み取り、変更された によって生成される PostScript ファイルをdvips
標準出力に書き込みます。 このテストには追加のファイルは必要ありません。標準の TEX Live フォントのデフォルトのエンコーディングは、Perl スクリプトに組み込まれています。