Re: Хочу браузер
On 2002.08.30 at 07:59:38 +0300, Kolgaa@mail.iae.lt wrote:
> > > А не поделитесь опытом настройки Mozilla на русскую печать, какие шрифты
> > > установлены и т.п.?
> > >
> >
> > http://bass.edinstvo.com/rus.htm
>
> Спасибо за ссылку, но все равно чего-то еще не хватает. Mozilla не хочет
> печатать ни в какую, gv - тоже, хотя страница, распечатанная из броузера в
> файл *.ps, открывается в gv нормально. Может проблема в драйвере принтера
> или нехватке фильтра? Используется lpr-ppd + gpr + hp lj1200.
>
А у меня после прочтения оной ссылки и вставания волос дыбом на тему
"какой же бред там написан" все запечатало. Именно на lj1200.
Правда, я использую самописыные фильтры, фактически сводящиеся к команде
cat. Потому что LJ1200 сам умеет Postscript, и нафига я буду процессор
нагружать.
Ход мыслей был следующий:
1. Из переписки в debian-russian следует, что Мозилла генерит
Postscript, который в принципе корректен.
2. Она делает неправильное (по крайней мере для lj1200) предположение,
что шрифты Times-Roman, Helvetica и Courier содержат руские буквы с
правильными именами глифов.
3. Следовательно, надо поменять имена шрифтов в мозилловском postscript
на такие, где русские буквы действительно есть, например sharatype.
4. Поскольку эти шрифты в принтер не встроены, их надо не забыть
встроить в сам Postscript-файл.,
Результатом этих мыслей явился приаттаченный перловый скрипт, который
используется следующим образом:
1. Убеждаемся что a2ps печатает нормально. Т.е. в файле
/usr/share/a2ps/encodings/koi8.edf описаны правильные substitutions,
в /usr/share/a2ps/afm/fonts.map этим шрифтам соответствуют некоторые
имена файлов и в /usr/share/a2ps/fonts соответствующие pfa-файлы есть.
Правильные файлы для a2ps можно взять из архива sharatype.
2. В мозилле открывается диалог печати. Нажимается кнопка proprieties
и вместо команды lpr указывается patchps|lpr
Параметры у lpr которые там стоят (использование переменной среды
MOZ_PRINTER_NAME) можно оставить. Они не мешают.
В следующую версию sharatype я этот скриптик вместе с соттветствующими
инструкциями включу.
--
Victor Wagner vitus@ice.ru
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
#!/usr/bin/perl
my $substfile = '/usr/share/a2ps/encoding/koi8.edf';
my $pfamap='/usr/share/a2ps/afm/fonts.map';
my $pfadir = '/usr/share/a2ps/fonts';
open F,$substfile or die "Cannot open font substitution file ($substfile): $!\n";
my (%fontsubst,%needed,$oldfont,$newfont);
while (<F>) {
next unless /^Substitute:/;
(undef,$oldfont,$newfont) = split /\s+/;
$fontsubst{$oldfont}=$newfont;
$needed{$newfont}=1;
}
open F,$pfamap or die "Cannot open font map ($pfamap): $!\n";
my @fonts;
while (<F>) {
next if /^#/;
my ($font,$file) = split /\s+/;
push @fonts,$pfadir . "/" . $file . ".pfa" if exists $needed{$font};
}
close F;
while (<>) {
if (/^\%\%BeginProlog/) {
print;
for my $file (@fonts) {
open F,$file and print STDERR "dumping $file\n";
while ($file_line=<F>) {
print $file_line;
}
close F;
}
} else {
if (/^\s+\/([-a-zA-Z0-9_]+)\s+findfont/ && exists $fontsubst{$1}) {
$_="\t/$fontsubst{$1} findfont\n";
}
print;
}
}
Reply to: