Times を Linux で印刷するにはどうすればよいですか? debian wheezy linux、ghostscript、cups、mscorefonts がインストールされています。しかし、印刷すると、Windows 1 と比較してタイムズが広すぎます。文字間隔が広すぎます。
その問題を解決する方法はありますか?
同じ Java アプレットから Win と Lin で印刷。Lin バリアントの Postscript は Times フォントを使用し、Win バリアントの Postscript は TimesNewRomanPSMT フォントを使用します。フォント名を置き換えるだけで変更されますが、出力は何も変更されません。
=================
Debian Wheezy、Debian Squeeze、Ubuntu Natty は Linux としてチェックされます。ほとんどのチェックは Debian Wheezy で行われました。
ghostscript: インストール済み: 9.02~dfsg-2 sun-java6-jre: インストール済み: 6.26-1 cups-pdf プリンター。
PPD は PDF.ppd です。
*PCFileName: "CUPS-PDF.PPD"
*Manufacturer: "Generic"
*Product: "(CUPS v1.1)"
*ModelName: "Generic CUPS-PDF Printer"
*ShortNickName: "Generic CUPS-PDF Printer"
*NickName: "Generic CUPS-PDF Printer"
*1284DeviceID: "MFG:Generic;MDL:CUPS-PDF Printer;DES:Generic CUPS-PDF Printer;CLS:PRINTER;CMD:POSTSCRIPT;"
印刷結果の比較: http://piccy.info/code2/1652248/4b2c3b10f5316f9836496af5501892d1/
Linux システムには Times New Roman フォントがあります。Windows 用の PDF は、Windows マシンで生成されたポストスクリプト ソースから Linux ゴーストスクリプトを使用して Linux で生成されました。
たとえば、0401060 と書かれている右上隅を見てください。Windows ポストスクリプト コード:
%%IncludeResource: font TimesNewRomanPS-BoldMT
F /F1 0 /256 T /TimesNewRomanPS-BoldMT mF
/F1S53 F1 [83 0 0 -83 0 0 ] mFS
F1S53 Ji
4292 333 M (0401060)[42 42 42 42 42 42 0]xS
N 367 367 M 1192 367 I K
N 1667 367 M 2492 367 I K
51282 VM?
Linux ポストスクリプト コード:
10.0 29 F
<303430313036> 37.44 526.0 52.0 S
10.0 29 F
<30> 6.24 541.0 62.0 S
N
ご覧のとおり、サイズ 10.0 のフォント #29 が選択されています。フォント #29 は /Times-Bold ISOF です
そして、最悪の場合、すでに 2 行が書き込まれているため、問題は java<=>cups コネクタのどこかにあります。
================== 「同じJavaアプレット」はネットバンクアプリiBank2です。
「Times」は、Ghostscript によって、TimesNewRoman ではなく、Nimbus に置き換えられます。
./Init/Fontmap.GS:/Times-Roman /NimbusRomNo9L-Regu ;
./Init/Fontmap.GS:/Times-Italic /NimbusRomNo9L-ReguItal ;
./Init/Fontmap.GS:/Times-Bold /NimbusRomNo9L-Medi ;
./Init/Fontmap.GS:/Times-BoldItalic /NimbusRomNo9L-MediItal ;
./Init/Fontmap.GS:/TimesNewRoman /TimesNewRomanPSMT ;
./Init/Fontmap.GS:/TimesNewRoman,Bold /TimesNewRomanPS-BoldMT ;
./Init/Fontmap.GS:/TimesNewRoman,Italic /TimesNewRomanPS-ItalicMT ;
./Init/Fontmap.GS:/TimesNewRoman,BoldItalic /TimesNewRomanPS-BoldItalicMT ;
(ところで、WindowsでGhostscriptをまったく使用していますか、それともネイティブプリンタードライバーを介して印刷していますか?)Windowsでは、PostScriptネイティブドライバーから.psファイルに印刷しています。
したがって、Ghostscript 自体の問題ではありませんが、Win/Lin システムの異なる Java バージョン + 構成に起因する可能性があります。印刷時に Java の問題のように見えますが、それは Java のバージョンに依存しません。どちらも最新の Java6 がインストールされています。
PostScript は Java アプレットによって生成される可能性が最も高く、Ghostscript は印刷プロセスを通過するときにそれを消費するだけです。通常、Nimbus ではなく、Times one に TimesNewRoman フォントが使用されていることを確認したいだけです。そして、私はこれを作るのに失敗しました。
印刷によって生成される ISOF マクロは次のとおりです。
/ISOF {
dup findfont dup length 1 add dict begin {
1 index /FID eq {pop pop} {D} ifelse
} forall /Encoding ISOLatin1Encoding D
currentdict end definefont
} BD
これは開始ファイルの一部であり、生成された結果の PDF です: http://datacompboy.ru/u/smpl.tar.bz2
その場合は、Windows フォント ファイルを Linux にコピーします。
それはすでにWindowsファイルのコピーです。msttcorefonts は、windows で配布されているものと同じです。
生成された postscript ファイルではすでに 0401060 が 2 行に分割されているため、その Java アプレットは印刷中にそのフォントが広すぎることがわかり、生成時に分割されます... 問題は、システムで Times フォントを置き換える方法、その Java印刷すると Nimbus ではなく TimesNewRoman が検出され、正しい出力が生成されますか?