Оцените этот текст:


Оригинал этого документа расположен на
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/

На ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/ выложены Type1 ps-фонты
в koi8 и koi8-r кодировках, предназначенные для печати в gs-эмуляторе
postscript-принтера. С их помощью мне удалось добиться вывода на печать
кириллицы из Netscape Navigator и русифицировать StarOffice.

Файл gs-type1_koi8_fonts.tgz содержит:
- ERKurier KOI8-R фонты, конвертированные из ttf-формата ((c) Gavin Helf,
  1995. Changes (c) 1996 by Andrey A. Chernov).
- 3 семейства фонтов ArialCyrMT, CourierCyrPS и TimesNRCyrMT ((c) Monotype
  Corporation 1990-1992), полученные конвертированием соответствующих ttf-
  фонтов. Псевдографика отсутствует.

ERKurier и CurierCyr являются monospaced фонтами. ERKurier включает в себя
псевдографику в соответствии с RFC 1489. ArialCyr (который imho допустимо
использовать в качестве замены Helvetica) и TimesNRCyr - proportional фонты.




Чтобы установить данные шрифты в ghostscript - следует, забрав файлы
  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
проделать следующее (с привилегиями root):

$: cd /fonts/
$: tar xzf {путь_к_файлу}/gs-type1_koi8_fonts.tgz
$: cd ../<номер_версии_gs>/
$: cp Fontmap Fontmap.orig
$: zcat {путь_к_файлу}/gs-Fontmap.add.gz >> Fontmap

( определяется во время генерации ghostscript, по умолчанию это
/usr/local/share/ghostscript).

Фонты были сгенерены в pfb-формате, метрика - в pfm-формате. Если для
работы каких-либо приложений Вам необходимо иметь метрику в afm-формате,
Вам следует забрать файл
  ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/gs-type1_koi8_afm.tgz
и также разархивировать его в /fonts/.

Фонты в формате pfa, если это необходимо, можно получить из соответствующих
pfb-файлов с помощью утилиты pfb2pfa либо pfbtops.

Для того, чтобы иметь возможность работать в gs с фонтами Courier, Times
и Helvetica в koi8 кодировке, необходимо в Fontmap поменять алиасы на них:
закомментировать стоящие по умолчанию и раскомментировать добавленные из
gs-Fontmap.add. Какой из двух monospaced фонтов будет у Вас называться
Courier - решайте сами. А вот кириллические добавки к 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	;
---------------------------------------------------------------
Во избежание подмены ghostscript'ом установленных koi8-фонтов другими
(нескалируемыми X-фонтами), gs следует запускать с ключем -dNOPLATFONTS.



     В  качестве  примера  ниже приводятся проверенные в работе
фильтры эмуляции postscript-принтера  для  epson  lq-100  и  hp
laserjet  и  hp lj4 (фильтр должен быть прописан в printcap как
опция "if" в entry для postcript-печати)

---cut here (begin print filter)---
#!/bin/sh
#
# Printer Postscript emulation
#
DEVICE=ljet4           # ljet2p   # epson
RESOLUTION=600x600     # 300x300  # 360x180
PAPERSIZE=a4

# -Z проверить тип файла и если не PS то сконвертировать в PS
# -B Turns off page titles. Заголовок страницы пожирает 2 строки.
        nenscript -TA4 -ZB -p- |\
	gs -q -sDEVICE=$DEVICE \
		-r$RESOLUTION \
		-sPAPERSIZE=$PAPERSIZE \
                -dNOPLATFONTS \
		-dNOPAUSE \
		-dSAFER \
		-sOutputFile=- -

---cut here (end ps filter)---

     Для  предварительного  просмотра  на  экране  распечатки с
кириллицей (например, перенаправленного в файл вывода печати из
X-приложения), утилиту ghostview (либо gv) необходимо запускать
с ключами
  -arguments -dNOPLATFONTS.
     Или  завести  переменную GS_OPTIONS со значением
-dNOPLATFONTS.



 /* Этот метод предложил Максим Мошков */
       Чтоб  делать  выборочную  печать  из  netscape, сделайте
командный файл netscapeprint, и исправьте в конце  свого  файла
~/.netscape/preferences параметры:
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) &
---------------------------------------------------------------

 /* Этот метод предложил Максим Мошков */
---------------------------------------------------------------
#!/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

( # сами определим тип печатаемого файла (сохраним его 4 байта)
dd of=$TMP count=1 bs=4 2> /dev/null
cat $TMP -
) | if grep '%!' $TMP > /dev/null ;
# а mpage   не умеет сдваивать постскрипт вышедший из nenscript
then mpage     -A   $COLUMNS     -P-
# nenscript не притрагивается к постскриптовскому файлу
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
# на нелокальный принтер пересылаем lpr -l ("as is with control characters")
exit 0
---------------------------------------------------------------



Забрав с
 ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
файл XFree86-Type1_fonts.dir.scale.gz, проделайте следующую процедуру (с
привилегиями 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

По сравнению с оригинальными fonts.*, здесь добавлены описания koi8 фонтов
и изменена первая строка (количество доступных фонтов). Сами описанные в
fonts.dir файлы *.pfb также должны находиться в этом каталоге (можно их
слинковать из /fonts/).

Проведя необходимые манипуляции, введите команду 'xset fp rehash' (с
правами авторизованного пользователя x-консоли). После этого фонты "kurier
cyr", "arial cyr", "courier cyr" и "times cyr" станут доступны в X11-
приложениях, запущенных из этого же окна xterm. (Для того, чтобы изменения
в fontpath стали постоянно доступны из любого приложения, следует
перезапустить xdm или startx).

К сожалению, не все X-приложения могут полноценно использовать скалируемые
Type1-фонты. Кроме того, даже те из них (например StarOffice), которые
способны производить масштабирование отображаемых шрифтов, затрачивают на
это заметное время. Поэтому, возможно, Вы найдете полезным установить в
XFree86 также нескалируемые фонты, которые можно сгенерить после того,
как установленные pfb-фонты станут доступны в XWindow.

Для этого, забрав файл
 ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/XFree86-xfonts.unscaled.tgz
и запустив (с правами root) 'xfs&', проделайте следующее:

$: tar xzvf XFree86-xfonts.unscaled.tgz
$: cd xfonts.unscaled/75dpi
$: ../create_fonts < fonts.dir
$: cd ../100dpi
$: ../create_fonts < fonts.dir

Скрипт create_fonts использует утилиты fstobdf и bdftopcf, проверьте
предварительно их наличие на Вашей системе.

	Возможно, перед тем, как сгенерить нескалируемые фонты, Вы сочтете
необходимым отредактировать файлы xfonts.unscaled/*/fonts.dir, добавив
или убрав какие-либо размеры или фонты. Не забудьте при этом изменить
первую строку в соответствующем fonts.dir (количество фонтов), которую
использует скрипт create_fonts.

Полученные файлы xfonts.unscaled/*/*.pcf.Z следует перенести в каталог(и)
/usr/X11R6/lib/X11/fonts/cyrillic/[*dpi/], который(ые) у Вас уже наверняка
существует(ют), и добавить соответствующие строки в файл(ы) fonts.dir.
В общем, действия аналогичны тем, что уже были проделаны при установке
фонтов в /usr/X11R6/lib/X11/fonts/Type1/.




Для  этого  достаточно  русифицировать gs (п.1). Полный WYSIWYG
установкой  соответствующих  koi8-шрифтов  в  X11   все   равно
получить  не  удастся. Независимо от выбранных Вами фонтов и их
размеров для отображения  текста  в  окне  мозиллы,  NN  всегда
использует  для вывода на postscript-принтер только два шрифта:
Courier в качестве monospaced шрифта и Times - в качестве  pro­
portional.  Размер шрифтов при этом также жестко задан.

Кроме того, мне так и не удалось найти возможность подсунуть NN
3.01 метрику  используемых  в  gs  фонтов.  Netscape  Navigator
использует  "зашитые"  в  него метрики для Times и Courier, и в
результате "промахивается" при расстановке  символов.  Особенно
это  заметно  при  печати  таблиц или текста с выделенными (как
bold и/или italic) словами.




Здесь  не  обязатьельно  русифицировать  gs  (п.1), так как при
выводе  на  печать  нестандартные   фонты   инкапсулируются   в
postscript-текст, однако необходимо выполнить п.2.

Кроме того, следует
- Положить pfb-файлы из gs-type1_koi8_fonts.tgz в $XPPATH/pssoftfonts/
  (можно слинковать их из /usr/X11R6/lib/X11/fonts/Type1/)
- Положить afm-файлы из gs-type1_koi8_afm.tgz в $XPPATH/fontmetrics/afm/
- Добавить в файл $XPPATH/psstd.fonts описания фонтов (файл
  ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/so-psstd.fonts.add.gz)
  командой
    'zcat so-psstd.fonts.add.gz >> $XPPATH/psstd.fonts'

(Переменная XPPATH у Вас, вероятно, есть /usr/local/StarOffice-3.1/xp3).

После этого, при выборе в StarOffice-приложении в качестве принтера по
умолчанию какого-либо postscript-принтера, Вам станут доступными шрифты
"kurier cyr", "arial cyr", "courier cyr" и "times cyr".




ВНИМАНИЕ тем, кто забирал файлы
  XFree86-Type1_fonts.dir.scale.gz и
  gs-type1_koi8_afm.tgz
до 08.08.97.
   --------
Эти файлы были изменены, и Вам придется скачать их еще раз. Причина
изменения XFree86-Type1_fonts.dir.scale.gz - необходимость модифицировать
имена X-фонтов, чтобы в StarOffice можно было различать кириллические и
некириллические фонты (например, "times cyr" и "times"). В
gs-type1_koi8_afm.tgz все файлы *.afm были слегка подредактированы, так
как в их первозданном виде swriter3 не хотел их признавать.


============

Описанные процедуры были проверены на системах:
 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, с эмуляцией Linux под FreeBSD 2.2.2-R

Замеченные недостатки:
- Символы 0x80-0x9f в X-приложениях не отображаются, а расположение
 символов в диапазоне 0xa1-0xdf не полностью соответствует заданному
 в фонтах. Символ 0xa0 в некоторых X-приложениях отображается как пробел.
 К счастью, это касается только символов псевдографики в koi8-r (и,
 соответственно, семейства ERKurier). При выводе на печать из Netscape
 ситуация с псевдографикой аналогичная... :-(


============

Просьба все замечания, предложения и пожелания по поводу выложенных
ps-фонтов и данного readme направлять Евгению Демидову по адресу
jack@gpi.ru

Last-modified: Wed, 02 Sep 1998 05:30:04 GMT
Оцените этот текст: