Evgenij Demidov. Rusifikaciya pechati na PS-printere i v Unix Netscape
Original etogo dokumenta raspolozhen na
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
---------------------------------------------------------------
File README in this directory contains description of
uploaded koi8 ps-fonts and installation instrictions
(in koi8 encoding)
it was last modified on Fri Aug 8 12:01:37 1997
---------------------------------------------------------------
FTP Directory: ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
Parent Directory
.message . . . . . . . . . . . . [Apr 15 14:18] 1k
README . . . . . . . . . . . . . [Aug 8 08:01] 9k
XFree86-Type1_fonts.dir.scale.g> [Aug 7 07:14] 1k
XFree86-xfonts.unscaled.tgz. . . [Aug 7 10:32] 2k
gs-Fontmap.add.gz. . . . . . . . [Apr 15 14:08] 1k
gs-type1_koi8_afm.tgz. . . . . . [Aug 7 07:18] 29k
gs-type1_koi8_fonts.tgz. . . . . [Apr 15 14:08] 627k
so-psstd.fonts.add.gz. . . . . . [Aug 7 07:22] 1k
README file from ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
Na ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/ vylozheny Type1 ps-fonty
v koi8 i koi8-r kodirovkah, prednaznachennye dlya pechati v gs-emulyatore
postscript-printera. S ih pomoshch'yu mne udalos' dobit'sya vyvoda na pechat'
kirillicy iz Netscape Navigator i rusificirovat' StarOffice.
Fajl gs-type1_koi8_fonts.tgz soderzhit:
- ERKurier KOI8-R fonty, konvertirovannye iz ttf-formata ((c) Gavin Helf,
1995. Changes (c) 1996 by Andrey A. Chernov).
- 3 semejstva fontov ArialCyrMT, CourierCyrPS i TimesNRCyrMT ((c) Monotype
Corporation 1990-1992), poluchennye konvertirovaniem sootvetstvuyushchih ttf-
fontov. Psevdografika otsutstvuet.
ERKurier i CurierCyr yavlyayutsya monospaced fontami. ERKurier vklyuchaet v sebya
psevdografiku v sootvetstvii s RFC 1489. ArialCyr (kotoryj imho dopustimo
ispol'zovat' v kachestve zameny Helvetica) i TimesNRCyr - proportional fonty.
1.Rusifikaciya Ghostscript
CHtoby ustanovit' dannye shrifty v ghostscript - sleduet, zabrav fajly
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/gs-type1_koi8_fonts.tgz
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/gs-Fontmap.add.gz
prodelat' sleduyushchee (s privilegiyami root):
$: cd /fonts/
$: tar xzf {put'_k_fajlu}/gs-type1_koi8_fonts.tgz
$: cd ..//
$: cp Fontmap Fontmap.orig
$: zcat {put'_k_fajlu}/gs-Fontmap.add.gz >> Fontmap
( opredelyaetsya vo vremya generacii ghostscript, po umolchaniyu eto
/usr/local/share/ghostscript).
Fonty byli sgenereny v pfb-formate, metrika - v pfm-formate. Esli dlya
raboty kakih-libo prilozhenij Vam neobhodimo imet' metriku v afm-formate,
Vam sleduet zabrat' fajl
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/gs-type1_koi8_afm.tgz
i takzhe razarhivirovat' ego v /fonts/.
Fonty v formate pfa, esli eto neobhodimo, mozhno poluchit' iz sootvetstvuyushchih
pfb-fajlov s pomoshch'yu utility pfb2pfa libo pfbtops.
Dlya togo, chtoby imet' vozmozhnost' rabotat' v gs s fontami Courier, Times
i Helvetica v koi8 kodirovke, neobhodimo v Fontmap pomenyat' aliasy na nih:
zakommentirovat' stoyashchie po umolchaniyu i raskommentirovat' dobavlennye iz
gs-Fontmap.add. Kakoj iz dvuh monospaced fontov budet u Vas nazyvat'sya
Courier - reshajte sami. A vot kirillicheskie dobavki k Fontmap
---------------------------------------------------------------
% Cyrrillic koi8 fonts/aliases
/ArialCyrMT (arial8.pfb) ;
/Arial /ArialCyrMT ;
% /Helvetica /ArialCyrMT ;
/ArialCyrMT-Bold (arialbd8.pfb) ;
/Arial-Bold /ArialCyrMT-Bold ;
% /Helvetica-Bold /ArialCyrMT-Bold ;
/ArialCyrMT-Italic (ariali8.pfb) ;
/Arial-Italic /ArialCyrMT-Italic ;
% /Helvetica-Oblique /ArialCyrMT-Italic ;
/ArialCyrMT-BoldItalic (arialbi8.pfb) ;
/Arial-BoldItalic /ArialCyrMT-BoldItalic ;
% /Helvetica-BoldOblique /ArialCyrMT-BoldItalic ;
/CourierCyrPS (cour8.pfb) ;
% /Courier /CourierCyrPS ;
/CourierCyrPS-Bold (courbd8.pfb) ;
% /Courier-Bold /CourierCyrPS-Bold ;
/CourierCyrPS-Inclined (couri8.pfb) ;
% /Courier-Oblique /CourierCyrPS-Inclined ;
/CourierCyrPS-BoldInclined (courbi8.pfb) ;
% /Courier-BoldOblique /CourierCyrPS-BoldInclined ;
/TimesNRCyrMT (times8.pfb) ;
% /Times-Roman /TimesNRCyrMT ;
/TimesNRCyrMT-Bold (timesbd8.pfb) ;
% /Times-Bold /TimesNRCyrMT-Bold ;
/TimesNRCyrMT-Inclined (timesi8.pfb) ;
% /Times-Italic /TimesNRCyrMT-Inclined ;
/TimesNRCyrMT-BoldInclined (timesbi8.pfb) ;
% /Times-BoldItalic /TimesNRCyrMT-BoldInclined ;
/ERKurierKOI8RRegular (cokoi8n.pfb) ;
% /Courier /ERKurierKOI8RRegular ;
/ERKurierKOI8RBold (cokoi8b.pfb) ;
% /Courier-Bold /ERKurierKOI8RBold ;
/ERKurierKOI8RItalic (cokoi8i.pfb) ;
% /Courier-Oblique /ERKurierKOI8RItalic ;
/ERKurierKOI8RBoldItalic (cokoi8bi.pfb) ;
% /Courier-BoldOblique /ERKurierKOI8RBoldItalic ;
---------------------------------------------------------------
Vo izbezhanie podmeny ghostscript'om ustanovlennyh koi8-fontov drugimi
(neskaliruemymi X-fontami), gs sleduet zapuskat' s klyuchem -dNOPLATFONTS.
V kachestve primera nizhe privodyatsya proverennye v rabote
fil'try emulyacii postscript-printera dlya epson lq-100 i hp
laserjet i hp lj4 (fil'tr dolzhen byt' propisan v printcap kak
opciya "if" v entry dlya postcript-pechati)
---cut here (begin print filter)---
#!/bin/sh
#
# Printer Postscript emulation
#
DEVICE=ljet4 # ljet2p # epson
RESOLUTION=600x600 # 300x300 # 360x180
PAPERSIZE=a4
# -Z proverit' tip fajla i esli ne PS to skonvertirovat' v PS
# -B Turns off page titles. Zagolovok stranicy pozhiraet 2 stroki.
nenscript -TA4 -ZB -p- |\
gs -q -sDEVICE=$DEVICE \
-r$RESOLUTION \
-sPAPERSIZE=$PAPERSIZE \
-dNOPLATFONTS \
-dNOPAUSE \
-dSAFER \
-sOutputFile=- -
---cut here (end ps filter)---
Dlya predvaritel'nogo prosmotra na ekrane raspechatki s
kirillicej (naprimer, perenapravlennogo v fajl vyvoda pechati iz
X-prilozheniya), utilitu ghostview (libo gv) neobhodimo zapuskat'
s klyuchami
-arguments -dNOPLATFONTS.
Ili zavesti peremennuyu GS_OPTIONS so znacheniem
-dNOPLATFONTS.
Dlya vyborochnoj pechati iz netscape
/* |tot metod predlozhil Maksim Moshkov */
CHtob delat' vyborochnuyu pechat' iz netscape, sdelajte
komandnyj fajl netscapeprint, i isprav'te v konce svogo fajla
~/.netscape/preferences parametry:
PRINT_COMMAND: netscapeprint
PRINT_PAPER: 3
---------------------------------------------------------------
#!/bin/sh
TMP=/tmp/net$$.ps
cat $@ > $TMP
# PRINTER=lp export PRINTER
( trap "rm -f $TMP" 0 1 2 3 9 10 15
ghostview -arguments -dNOPLATFONTS $TMP 2> /dev/null) &
---------------------------------------------------------------
Fil'tr dlya pechati v dve kolonki
/* |tot metod predlozhil Maksim Moshkov */
---------------------------------------------------------------
#!/bin/sh
DEVICE=ljet4
RESOLUTION=600x600
PAPERSIZE=a4
COLUMNS="-2"
TMP=/tmp/lp$$type
trap "rm -f $TMP" 0 1 2 3 9 10 15
( # sami opredelim tip pechataemogo fajla (sohranim ego 4 bajta)
dd of=$TMP count=1 bs=4 2> /dev/null
cat $TMP -
) | if grep '%!' $TMP > /dev/null ;
# a mpage ne umeet sdvaivat' postskript vyshedshij iz nenscript
then mpage -A $COLUMNS -P-
# nenscript ne pritragivaetsya k postskriptovskomu fajlu
else nenscript -TA4 $COLUMNS -ZB -p-
fi | if [ "$DEVICE" = "PostScript" ]; then
cat -
else
gs -q -sDEVICE=$DEVICE \
-r$RESOLUTION \
-sPAPERSIZE=$PAPERSIZE \
-dNOPLATFONTS \
-dNOPAUSE \
-dSAFER \
-sOutputFile=- -
fi
# fi | lpr -l -P otherljprintername
# na nelokal'nyj printer peresylaem lpr -l ("as is with control characters")
exit 0
---------------------------------------------------------------
2.Ustanovka Type1-fontov v XFree86
Zabrav s
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
fajl XFree86-Type1_fonts.dir.scale.gz, prodelajte sleduyushchuyu proceduru (s
privilegiyami root):
$: cd /usr/X11R6/lib/X11/fonts/Type1/
$: mv fonts.dir fonts.dir.orig
$: mv fonts.scale fonts.scale.orig
$: zcat /XFree86-Type1_fonts.dir.scale.gz > fonts.dir
$: cp fonts.dir fonts.scale
Po sravneniyu s original'nymi fonts.*, zdes' dobavleny opisaniya koi8 fontov
i izmenena pervaya stroka (kolichestvo dostupnyh fontov). Sami opisannye v
fonts.dir fajly *.pfb takzhe dolzhny nahodit'sya v etom kataloge (mozhno ih
slinkovat' iz /fonts/).
Provedya neobhodimye manipulyacii, vvedite komandu 'xset fp rehash' (s
pravami avtorizovannogo pol'zovatelya x-konsoli). Posle etogo fonty "kurier
cyr", "arial cyr", "courier cyr" i "times cyr" stanut dostupny v X11-
prilozheniyah, zapushchennyh iz etogo zhe okna xterm. (Dlya togo, chtoby izmeneniya
v fontpath stali postoyanno dostupny iz lyubogo prilozheniya, sleduet
perezapustit' xdm ili startx).
K sozhaleniyu, ne vse X-prilozheniya mogut polnocenno ispol'zovat' skaliruemye
Type1-fonty. Krome togo, dazhe te iz nih (naprimer StarOffice), kotorye
sposobny proizvodit' masshtabirovanie otobrazhaemyh shriftov, zatrachivayut na
eto zametnoe vremya. Poetomu, vozmozhno, Vy najdete poleznym ustanovit' v
XFree86 takzhe neskaliruemye fonty, kotorye mozhno sgenerit' posle togo,
kak ustanovlennye pfb-fonty stanut dostupny v XWindow.
Dlya etogo, zabrav fajl
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/XFree86-xfonts.unscaled.tgz
i zapustiv (s pravami root) 'xfs&', prodelajte sleduyushchee:
$: tar xzvf XFree86-xfonts.unscaled.tgz
$: cd xfonts.unscaled/75dpi
$: ../create_fonts < fonts.dir
$: cd ../100dpi
$: ../create_fonts < fonts.dir
Skript create_fonts ispol'zuet utility fstobdf i bdftopcf, prover'te
predvaritel'no ih nalichie na Vashej sisteme.
Vozmozhno, pered tem, kak sgenerit' neskaliruemye fonty, Vy sochtete
neobhodimym otredaktirovat' fajly xfonts.unscaled/*/fonts.dir, dobaviv
ili ubrav kakie-libo razmery ili fonty. Ne zabud'te pri etom izmenit'
pervuyu stroku v sootvetstvuyushchem fonts.dir (kolichestvo fontov), kotoruyu
ispol'zuet skript create_fonts.
Poluchennye fajly xfonts.unscaled/*/*.pcf.Z sleduet perenesti v katalog(i)
/usr/X11R6/lib/X11/fonts/cyrillic/[*dpi/], kotoryj(ye) u Vas uzhe navernyaka
sushchestvuet(yut), i dobavit' sootvetstvuyushchie stroki v fajl(y) fonts.dir.
V obshchem, dejstviya analogichny tem, chto uzhe byli prodelany pri ustanovke
fontov v /usr/X11R6/lib/X11/fonts/Type1/.
3.Rusifikaciya pechati iz Netscape Navigator
Dlya etogo dostatochno rusificirovat' gs (p.1). Polnyj WYSIWYG
ustanovkoj sootvetstvuyushchih koi8-shriftov v X11 vse ravno
poluchit' ne udastsya. Nezavisimo ot vybrannyh Vami fontov i ih
razmerov dlya otobrazheniya teksta v okne mozilly, NN vsegda
ispol'zuet dlya vyvoda na postscript-printer tol'ko dva shrifta:
Courier v kachestve monospaced shrifta i Times - v kachestve pro
portional. Razmer shriftov pri etom takzhe zhestko zadan.
Krome togo, mne tak i ne udalos' najti vozmozhnost' podsunut' NN
3.01 metriku ispol'zuemyh v gs fontov. Netscape Navigator
ispol'zuet "zashitye" v nego metriki dlya Times i Courier, i v
rezul'tate "promahivaetsya" pri rasstanovke simvolov. Osobenno
eto zametno pri pechati tablic ili teksta s vydelennymi (kak
bold i/ili italic) slovami.
4.Rusifikaciya StarOffice
Zdes' ne obyazat'el'no rusificirovat' gs (p.1), tak kak pri
vyvode na pechat' nestandartnye fonty inkapsuliruyutsya v
postscript-tekst, odnako neobhodimo vypolnit' p.2.
Krome togo, sleduet
- Polozhit' pfb-fajly iz gs-type1_koi8_fonts.tgz v $XPPATH/pssoftfonts/
(mozhno slinkovat' ih iz /usr/X11R6/lib/X11/fonts/Type1/)
- Polozhit' afm-fajly iz gs-type1_koi8_afm.tgz v $XPPATH/fontmetrics/afm/
- Dobavit' v fajl $XPPATH/psstd.fonts opisaniya fontov (fajl
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/so-psstd.fonts.add.gz)
komandoj
'zcat so-psstd.fonts.add.gz >> $XPPATH/psstd.fonts'
(Peremennaya XPPATH u Vas, veroyatno, est' /usr/local/StarOffice-3.1/xp3).
Posle etogo, pri vybore v StarOffice-prilozhenii v kachestve printera po
umolchaniyu kakogo-libo postscript-printera, Vam stanut dostupnymi shrifty
"kurier cyr", "arial cyr", "courier cyr" i "times cyr".
VNIMANIE tem, kto zabiral fajly
XFree86-Type1_fonts.dir.scale.gz i
gs-type1_koi8_afm.tgz
do 08.08.97.
--------
|ti fajly byli izmeneny, i Vam pridetsya skachat' ih eshche raz. Prichina
izmeneniya XFree86-Type1_fonts.dir.scale.gz - neobhodimost' modificirovat'
imena X-fontov, chtoby v StarOffice mozhno bylo razlichat' kirillicheskie i
nekirillicheskie fonty (naprimer, "times cyr" i "times"). V
gs-type1_koi8_afm.tgz vse fajly *.afm byli slegka podredaktirovany, tak
kak v ih pervozdannom vide swriter3 ne hotel ih priznavat'.
============
Opisannye procedury byli provereny na sistemah:
FreeBSD 2.1.5-R, 2.2.1-R, 2.2.2-R
XFree86 3.1.2, 3.2, 3.3
Ghostscript 4.03
Netscape 3.01 Gold
StarOffice 3.1 for Linux, s emulyaciej Linux pod FreeBSD 2.2.2-R
Zamechennye nedostatki:
- Simvoly 0x80-0x9f v X-prilozheniyah ne otobrazhayutsya, a raspolozhenie
simvolov v diapazone 0xa1-0xdf ne polnost'yu sootvetstvuet zadannomu
v fontah. Simvol 0xa0 v nekotoryh X-prilozheniyah otobrazhaetsya kak probel.
K schast'yu, eto kasaetsya tol'ko simvolov psevdografiki v koi8-r (i,
sootvetstvenno, semejstva ERKurier). Pri vyvode na pechat' iz Netscape
situaciya s psevdografikoj analogichnaya... :-(
============
Pros'ba vse zamechaniya, predlozheniya i pozhelaniya po povodu vylozhennyh
ps-fontov i dannogo readme napravlyat' Evgeniyu Demidovu po adresu
jack@gpi.ru
Last-modified: Wed, 02 Sep 1998 05:30:04 GMT