1

(Кому лень много читать -- мои вопросы в конце. default/wink)

Моя борьба с Lout.

Искал я недавно небольшую систему подготовки документов под Win32 (то бишь typesetting system, не знаю как это одним словом перевести). Мой любимый TeX увы слишком большой и для этой цели не подошел. Troff (nroff, groff и т.д.), имхо, устарели и держутся исключительно благодаря man-страницам. Да и язык какой-то маразматический.

А вот описание (и размеры) системы Lout (преемник scribus) мне понравилось. Его преимущества:
- исполняемый файл после того, как я его почистил при помощи stripe и сжал upx'ом, стал занимать 175 кБ, вся система полностью (включая макропакеты и ) -- мегабайта полтора.
- довольно сносный язык, хотя до TeX'а по читабельности не дотягивает (тех -- лучше всех! default/smile),
- читабельные (!), внятно составленные (!!) и комментированные (!!!) конфиги и макросы,
- заявленная интернационализация, включающая русский язык,
- на выходе дает PostScript или PDF.

Однако, установив эту чудесную систему, я столкнулся с массой проблем, ибо многое там было сделано через одно интересное место.

1. Русификация.

1.1. Про перевод терминов достаточно, думаю, было бы сказать, что слово "Index" было переведено как "Индекс", а "Abstract" -- как (о ужас!) "Абстракт". Благо, движок полностью от настроек и шрифтов отделен.

1.2. Из кодировок можно было использовать только koi8-r (но зато аж в 3-х инкарнациях). У меня было два пути, один из которых -- постоянно использовать перекодировку в конвейере. Но я не ищу легких путей и написал map-файл для cp1251. Сказать, что вообружившись табличками с кодировкой Adobe и koi8-r вбивать все эти afii10054 да еще и для каждой буквы указывать код строчного/прописного написания не так интересно, как может показаться.

1.3. Самое главное -- шрифты. Я включил русский язык, написал проверочный текст, получил постскриптовый файл и тут оказалось, что в таблице шрифтов всюду прописана кодировка Latin-1. Причем жестко. Тоже мне i18n, блин! Ну, разумеется, я это исправил. Но, результат все равно не выводился.

Как выяснилось, хоть Lout совершенно не интересуется глифами шрифтов, но (и это естественно) он все же использует afm-метрики от используемых шрифтов с размерами символов и указаниями о кернинге. Но эти шрифты русских букв не предусматривали.

Ну, взял я утилиту ttf2afm и сделал ему для использумых шрифтов описания. PDF файлы стали нормально просматриваться (Acrobat и Foxit все равно используют системные шрифты). Однако, GhostScript показывать PostScript отказался -- в стандартной поставке, видимо, тоже шрифты без русских символов. Раньше я это не замечал, так как работал в основном с результатами работы dvips, а тот, наверное, шрифты внедряет (все же ComputerModern -- это только для TeX'а стандарт).

Поискал я в интернете русификацию. Нашел какие-то шрифты и инструкцию по подключению к GhostScript. Ерунда полная!!! Там в шрифтах русские буквы не по названиям вставлены, а по коду, причем в кодировке koi8r. Вернее, по названиям, но для соответствующих символов из Latin-1. Это все равно что рубанком бриться! Так что пришлось взять виндосовский TimesNR и конвертировать его в Type 1. Только тогда появился нормальный результат.

Впрочем, сказать, что я нормально локализовал Lout нельзя. Осталась жесткая привязка к cp1251. Впрочем, меня это не огорчает. default/smile

2. Прочее. Тут особо ругаться не буду. Видно, что автор старался.

2.1. Однако ввод формул а-ля OpenOffice (или наоборот, в OpenOffice ввод формул а-ля Lout default/smile) -- огромная трата букв. Ну, в самом деле, что удобнее и понятнее: "x^2" или "x sup 2". А уж длинные формулы разрастаются неимоверно.

2.2. Кстати, меня позабавил способ, при помощи которого автор создавал математические символы. Волнистая стрелка, например, -- это гибрид тильды и простой стрелки. Автор впал в зависимость от стандартных шрифтов. Причем, судя по тому, что результат удивительно похож на то, что выдает Microsoft Equation, эта метода пользуется популярностью. Видимо, придется переписывать макрос и добавлять шрифты из TeX'а. Ибо корявый интеграл с корявыми индексами (как в Lout, так и в MS Equation) портит мне аппетит.

2.3. Вводить каждый раз между параграфами @PP раздражает. Да и вообще, @ -- не самый удачный управляющий символ (кстати, в Lout очень интересная ситуация с пробелами). К счастью, я вручную на нем ничего писать не собираюсь: система нужна лишь как промежуточное звено.

Вопросы
- Кто-нибудь занимался русификацией GhostScript?
- Как конвертировать TTF в Type 1 с сохранением хинтов? Есть ли какая-нибудь маленькая утилитка? ttf2pfb (из MikTeX) вроде хинты не сохраняет. А пользоваться FontLab для конвертирования не так удобно (кстати, а он сохраняет? default/smile).
- (!) Есть ли какая-нибудь небольшая утилита для внедрения шрифтов в PDF (или хоть PostScript)? Как это сделать вручную?
- Как Acrobat ищет шрифты? Если в PDF указан какой-то экзотический шрифт, отутствующий в системе, но, например, из семейства Times, подставит ли Acrobat имеющийся шрифт из того же семейства если в ps-файле нет таблицы подстановки?
- (!) Какие шрифты считаются более-менее стандартными и их можно не внедрять? (Ну, например, Times-Roman вроде считается таким.)
- Есть ли небольшая утилита для сжатия PDF? (GhostScript я небольшой утилитой не считаю. default/smile)
- Кто нибудь портировал Lout под Win32? VC его откомпилирует, или нужен MinGW? А то бинарник под Win32 собран с не самыми лучшими опциями.
- Где можно почитать про алгоритм переносов, используемый в TeX (и Lout)?

P.S. Кому нужен обработанный мной Lout версии 3.30 -- обращайтесь. default/smile

masai пишет:

Какие шрифты считаются более-менее стандартными и их можно не внедрять?

"...шрифты считаются более-менее стандартными" - убить тебя мало, чесслово

masai пишет:

- (!) Какие шрифты считаются более-менее стандартными и их можно не внедрять? (Ну, например, Times-Roman вроде считается таким.)

Times, Arial, Courier

4

Механик пишет:
masai пишет:

Какие шрифты считаются более-менее стандартными и их можно не внедрять?

"...шрифты считаются более-менее стандартными" - убить тебя мало, чесслово

Я слышал, что есть какой-то набор (вроде там Times, Helvetica, Courier, AvantGarde и еще что-то), которые внедрять не обязательно -- смотрелка либо сама эти семейства знает, либо у нее есть таблица подстановок. Я в этом усомнился (ведь метрики-то разные получаются), потому и спрашиваю.

5 Отредактировано masai (19.04.2006 23:01:28)

zverek пишет:
masai пишет:

- (!) Какие шрифты считаются более-менее стандартными и их можно не внедрять? (Ну, например, Times-Roman вроде считается таким.)

Times, Arial, Courier

В Windows будет работать 100%, но я боюсь, что могут быть проблемы в линуксе. Пока что я так и поступил -- сделал метрики для самых используемых шрифтов из папки windows/fonts

Кошерными принято полагать шрифты, корректно растрируемые процессорами на основе ядра Adobe CPSI...

И не полоскайтесь хуйней... Вот ссылка на ведущего производителя (Paratype) кошерных кириллических шрифтов, там же найдете примеры начертаний, названия шрифтов и их синонимы от других производителей (AG, Double Alex)

masai пишет:

Я слышал, что есть какой-то набор (вроде там Times, Helvetica, Courier, AvantGarde и еще что-то), которые внедрять не обязательно -- смотрелка либо сама эти семейства знает, либо у нее есть таблица подстановок. Я в этом усомнился (ведь метрики-то разные получаются), потому и спрашиваю.

Это она в юникоде расставит. Если нет - то только при наличии Adobe Type Manager в полный профиль (ATM Delux)

8

Механик пишет:

Кошерными принято полагать шрифты, корректно растрируемые процессорами на основе ядра Adobe CPSI...

Какие семейства эти замечательные процессоры корректно растрируют?

Механик пишет:

И не полоскайтесь хуйней... Вот ссылка на ведущего производителя (Paratype) кошерных кириллических шрифтов, там же найдете примеры начертаний, названия шрифтов и их синонимы от других производителей (AG, Double Alex)

Да мне сами шрифты не нужны. Сами они и у меня есть. default/smile Нужно ли их внедрять в postscript/pdf постоянно?

9

Механик пишет:
masai пишет:

Я слышал, что есть какой-то набор (вроде там Times, Helvetica, Courier, AvantGarde и еще что-то), которые внедрять не обязательно -- смотрелка либо сама эти семейства знает, либо у нее есть таблица подстановок. Я в этом усомнился (ведь метрики-то разные получаются), потому и спрашиваю.

Это она в юникоде расставит. Если нет - то только при наличии Adobe Type Manager в полный профиль (ATM Delux)

Какой юникод? Type 1 же не поддерживает его?

К тому же ATM встроен в Win2000/XP. Да и мне это не нужно: это проблема Acrobat'а, как там у меня шрифты в системе хранятся.

10

masai пишет:

Нужно ли их внедрять в postscript/pdf постоянно?

Да, если лишних денег не имеешь
Загружать твои шрифты в свой RIP за красивые глаза никто не станет...

11

masai пишет:

Какой юникод? Type 1 же не поддерживает его?

Смотря у кого...

К тому же ATM встроен в Win2000/XP.

Нет...


Да и мне это не нужно: это проблема Acrobat'а, как там у меня шрифты в системе хранятся.

Если шрифт not embedded (не встроен) - это проблема твоя, а не Acrobat'а

12

Механик пишет:
masai пишет:

Нужно ли их внедрять в postscript/pdf постоянно?

Да, если лишних денег не имеешь
Загружать твои шрифты в свой RIP за красивые глаза никто не станет...

Так к чему я и клоню! Какие шрифты есть во всех RIP'ах?

13

Механик пишет:
masai пишет:

Какой юникод? Type 1 же не поддерживает его?

Смотря у кого...

А у кого Type 1 поддерживает больше 220 символов?

14

И еще, pdf'ка с какими семействами шрифтов будет читаться всеми (ну хотя бы распространенными) читалками pdf?

P.S. У меня в первом посте, кстати, еще интересные вопросы есть. default/smile

15

masai пишет:

Так к чему я и клоню! Какие шрифты есть во всех RIP'ах?

RIP всех известных Механику производителей в случае not embedded (not found) используют один и тот же шрифт - IBM Courier, который "зашит аппаратно" и не имеет кириллического начертания
Прочие шрифты - либо подгружаемы (download) либо встроены в исходный файл PS (PDF)

16

masai пишет:
Механик пишет:
masai пишет:

Какой юникод? Type 1 же не поддерживает его?

Смотря у кого...

А у кого Type 1 поддерживает больше 220 символов?

В MacOS X 10.3 и выше, и с соответствующими менеджерами шрифтов

17

masai пишет:

И еще, pdf'ка с какими семействами шрифтов будет читаться всеми (ну хотя бы распространенными) читалками pdf?

C кошерными (!) шрифтами, встроенными (embedded) в документ...

18

Механик пишет:
masai пишет:

И еще, pdf'ка с какими семействами шрифтов будет читаться всеми (ну хотя бы распространенными) читалками pdf?

C кошерными (!) шрифтами, встроенными (embedded) в документ...

Ясно, будем внедрять.

19

masai пишет:

Какие семейства эти замечательные процессоры корректно растрируют?

Речь не о "семействах", а о производителях шрифтов...
Коллекции Paratype, Type Market, AG, Double Alex, растрируются корректно, если никто над ними не успел злостно надругаться, что иногда случается...

20

Механик пишет:
masai пишет:

Какие семейства эти замечательные процессоры корректно растрируют?

Речь не о "семействах", а о производителях шрифтов...
Коллекции Paratype, Type Market, AG, Double Alex, растрируются корректно, если никто над ними не успел злостно надругаться, что иногда случается...

Ясно. Но у меня такой проблемы нет. Меня интересовало, внедрять или не внедрять.