Що потрібно мати
- Встановлений і працює teTeX. Розповідь про версію 0.9. Якщо у вас 0.4, все практично так само. Можуть трохи відрізнятися шляху до файлів, ну, і PDFTE X у вас відсутній.
- Шрифти, які будемо встановлювати :-) Самі шрифти бувають в файлах .pfa або .pfb. Це абсолютно один і той же. Відомі мені безкоштовні російські шрифти формату Type 1 перераховані на моїй TE X-сторінці.
- Метрики шрифтів. Для кожного шрифту повинен бути файл з метриками (.afm). Якщо .afm у вас немає, можна їх згенерувати з шрифту, наприклад, за допомогою Ghostscript (див. Скрипт printafm). Але це позбавить вас інформації про кернінг, так що краще шукайте справжні .afm. Всі комерційні шрифти повинні мати метрики в комплекті.
позначення
Далі під $ TEXMF розуміється каталог, в який у вас встановлений teTeX. Це може бути / usr / lib / texmf. / Usr / local / teTeX і т.п.
Що ми будемо робити
Кінцева мета нашої праці - створення стильового пакету, який можна підключити командою, наприклад,
і отримати в результаті текст, набраний Type 1 (POSTSCRIPT) шрифтами. При цьому команди \ textrm. \ Textsf. \ Textit. \ Texttt і т.д. будуть працювати як і раніше, але вибиратися будуть Type1 шрифти. Для цього нам потрібно мати три шрифтових гарнітури: нормальну, без зарубок і моноширинний. Кожна повинна включати в себе кілька шрифтів: прямий, похилий, курсив, напівжирний, жирний і їх поєднання. Якщо ваш шрифт не включає всі можливі варіанти - великої біди в цьому не буде, можна буде використовувати підстановки. Скажімо, якщо деякий шрифт є тільки в прямому, похилому, і прямому напівжирному зображенні - то замість курсиву можна буде підставити похилий, замість похилого напівжирного - прямий напівжирний або похилий світлий. В такому дусі.
Використання Type 1 шрифтів дозволить вам:- використовувати безліч доступних на ринку шрифтів, а не тільки сімейство LH;
- отримувати POST SCRIPT файли набагато меншого розміру, так як в них будуть використовуватися нормальні шрифти, а не растрові зображення букв;
- отримувати вихідні файли в форматі PDF.
Будемо підключати три шрифту: College в якості основного (roman), Textbook як шрифту без зарубок (sans serif), Courier як моноширинного шрифту (typewriter). Складаємо табличку відповідності імен файлів і назв шрифтів:
як встановлювати
- Придумуємо назву постачальника шрифтів. Нехай буде local.
- Створюємо каталоги: $ TEXMF / fonts // і розкладаємо туди файли .pfb і .afm. відповідно.
- Створюємо вектор кодування шрифтів. Справа ця тоскне, але, по-перше, нескладне, по-друге, робиться тільки один раз, а використовується цей для всіх шрифтів з однаковою назвою символів. Створюємо каталог $ TEXMF / dvips / local і кладемо туди файли adobe2alt.enc. iso2alt.enc. Перший вектор я робив для Adobe Standard Cyrillic Font Specification. Другий - для дикого, але не рідкісного випадку, коли в шрифті російські літери називаються іменами відповідних букв Latin-1.
У отримані файли .vpl дописуємо лігатури <<,>>, - і --- (крім шрифту "друкарської машинки", тобто, Courier). Робиться так. Шукаємо секцію LIGTABLE, і робимо її виглядає (для альтернативної внутрішньої кодування TE X'а) так:
Вона означає:- символи <<(восьмеричный код 74, символ "less" в векторе кодировки adobe2alt.enc ) дают символ левой кавычки-"елочки" (восьмеричный код 363, символ "guillemotleft");
- Символи >> (76, "greater") дають праву кавичку- "ялинку" (364, "guillemotright");
- Символи - (55, "hyphen") дають коротке тире (173, "endash");
- Символи --- (173, "endash" плюс 55, "hyphen") дають довге тире (174, "emdash").
(Для деяких шрифтів замість "<файл.pfb" может понадобиться "<<файл.pfb", чтобы они корректно вставлялись в PDF. По умолчанию в PDF вставляются только используемые символы, "<<" вставляет шрифт целиком.)
У tetex.map можуть вже бути визначення для ваших шрифтів. Ретельно їх звідти видаліть і додайте вищевказані.
Формат цих рядків, з README від PDFTE X'a:
Each line in this file should contain these fields in fixed order:
`Tex_name base_name flags fname encoding_file '
`Tex_name 'is the TFM name
`Flags 'is the font flags (see PDF manual for details how to specify it)
`Fname 'is the file name of Type1 / TrueType font. If starts by character `<' it means this font should be embbed, otherwise only the font parametrs are extracted to generating FontDescriptor. Font names with suffix `.ttf'/`.TTF' mean TrueType fonts, others mean Type1 fonts. 'encoding_file' is the file that defines new encoding for this font. It should work for 'standard' encoding files DC.enc, CMtext.enc. The first line in encoding file which starts by other character than `%' should contain only the name of the encoding (which will be ignored). A line with prefix `] def' signs the end of the encoding.
Тут все зрозуміло, крім font flags. Їх можна знайти в PDF manual. а можна повірити мені на слово: