aar
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Хочу использовать в документе шрифт FranklinGothicBookC RAR ~ 43 Kb со следующими свойствами: Family name FranklinGothicBookC Full name FranklinGothicBookC PostScript name FranklinGothicBookC AFMFRG55__C.AFM INFFRG55__C.INF PFBFRG55__C.PFB PFMFRG55__C.PFM и получать PDF-файл в MiKTeX 2.1 по цепочке tex--dvi--ps--pdf. Все файлы, включая файлы шрифта, в одном архиве RAR ~ 140 Kb. По пунктам мои действия таковы. ---01--- Создал временную директорию, в которую поместил 4 файла, относящиеся к шрифту, файл кодировки t2a.enc из пакета pscyr, находящийся у меня в директории D:\texmf\dvips\base\, и создал пока пустой файл myfonts.map. ---02--- Получил tfm-файл шрифта путем выполнения команды D:\texmf\miktex\bin\afm2tfm.exe FRG55__C.AFM -T t2a.enc, в результате чего создается сам файл метрик FRG55__C.tfm, а также выводится строчка FRG55__C FranklinGothicBookC " T2AEncoding ReEncodeFont " <t2a.enc. ---03--- Записал эту строчку в файл myfonts.map, немного изменив ее, приведя к виду FRG55__C FranklinGothicBookC "T2AEncoding ReEncodeFont" <t2a.enc <FRG55__C.pfb. ---04--- Создаю файл testFG.tex со следующим содержимым: \documentclass[a4paper, 12pt]{article} \usepackage[T2A]{fontenc} \usepackage[cp1251]{inputenc} \usepackage[russian]{babel} \renewcommand{\rmdefault}{FRG55__C} \begin{document} Просто обыкновенный текст для пробы пера. Кернинг Гу. AV \end{document} ---05--- Добавляю в конец файла D:\texmf\pdftex\config\pdftex.cfg строчку map +myfonts.map, а сам файл myfonts.map копирую на всякий пожарный в ту же папку D:\texmf\pdftex\config\. Потом создаю во вновь созданной директории D:\texmf\tex\latex\myfonts\ файл t2aFRG55__C.fd со следующим содержимым: \ProvidesFile{t2aFRG55__C.fd}[FranklinGothicBookC Font] \DeclareFontFamily{T2A}{FRG55__C}{} \DeclareFontShape{T2A}{FRG55__C}{m}{n}{ <-> FRG55__C}{} после чего обновляю базы MiKTeX Options--Refresh Now. ---06--- Компилирую testFG.tex командой D:\texmf\miktex\bin\pdflatex.exe "testFG.tex", после чего на выходе получаю нормальный PDF-файл testFG.pdf; листинг при обработке: This is pdfTeX, Version 3.14159-14f-released-20000525 (MiKTeX 2.1) (testFG.tex{pdftex.cfg} LaTeX2e <2001/06/01> Babel <v3.8a> and hyphenation patterns for english, russian, loaded. (d:\texmf\tex\latex\base\article.cls Document Class: article 2001/04/21 v1.4e Standard LaTeX document class (d:\texmf\tex\latex\base\size12.clo)) (d:\texmf\tex\latex\base\fontenc.sty (d:\texmf\tex\latex\cyrillic\t2aenc.def) (d:\texmf\tex\latex\cyrillic\t2acmr.fd )) (d:\texmf\tex\latex\base\inputenc.sty (d:\texmf\tex\latex\cyrillic\cp1251.def)) (d:\texmf\tex\generic\babel\babel.sty (d:\texmf\tex\generic\babel\russianb.ldf (d:\texmf\tex\generic\babel\babel.def) )) (testFG.aux) (d:\texmf\tex\latex\myfonts\t2afrg55__c.fd) [1{myfonts.map}] (testFG.aux LaTeX Font Warning: Font shape `OT1/FRG55__C/m/n' undefined (Font) using `OT1/cmr/m/n' instead on input line 3. ) LaTeX Font Warning: Some font shapes were not available, defaults substituted. ){t2a.enc}<FRG55__C.pfb> Output written on testFG.pdf (1 page, 11812 bytes). Transcript written on testFG.log. ---07--- Компилирую этот же файл командой D:\texmf\miktex\bin\latex.exe "testFG.tex", и получаю dvi-файл testFG.dvi с точно такой ошибкой о шрифте, как и в предыдущем листинге. При просмотре через Yap видны точки и латиница, а вместо русских символов пустое место. ---08--- Добавляю в файл D:\texmf\dvips\config\config.ps строчку p +myfonts.map, а сам файл myfonts.map копирую на всякий пожарный в ту же папку D:\texmf\dvips\config\. ---09--- Обрабатываю этот dvi-файл утилитой dvips dvips.exe -j0 "testFG.dvi", и не получаю ничего путного: This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) ' TeX output 2005.02.23:1420' -> testFG.ps - miktex_make_pk_font (FRG55__C, 720, 600, ljfour) name: FRG55__C, dpi=720, bdpi=600, mag=magstep(1.0), mode=ljfour makemf --verbose FRG55__C cannot find FRG55__C source file. ttf2pk -q -n FRG55__C 720 hbf2gf -q -p FRG55__C 720 Consulting d:\texmf\miktex\config\config.makepk... Consulting d:\texmf\dvips\config\config.ps... makepk: don't know how to make FRG55__C.pk! dvips.exe: Font FRG55__C.720pk not found, characters will be left blank. <texc.pro>. [1] ---10--- Тот же самый dvi-файл обрабатываю утилитой dvipdfm dvipdfm.exe "testFG.dvi", и на выходе получается замечательно выглядящий PDF-файл testFGm.pdf. ---11--- В директориях для шрифтов создаю папки с названием \myfonts: D:\texmf\fonts\afm\public\myfonts <- сюда кладется FRG55__C.AFM D:\texmf\fonts\tfm\public\myfonts <- сюда кладется FRG55__C.tfm D:\texmf\fonts\type1\public\myfonts <- сюда кладется FRG55__C.pfb и на всякий случай опять MiKTeX Options--Refresh Now. ---12--- Делаю вывод, что при использовании средств, сразу преобразующих tex-файл или dvi-файл в PDF, получается нужный результат, а вот с dvips появляются проблемы. ---Вопрос к знатокам--- Что нужно сделать, что можно было с успехом воспользоваться dvips? ---P.S.--- После того, как описал всю эту богадельню по шагам и порядком устав, решил прочесть документацию по dvips и обнаружил, что необходимо еще создавать vf-файл. Проделал следующее. Выполнил команду afm2tfm FRG55__C.AFM -T t2a.enc -v FRG55__C FRG55__C, и получил 2 файла – один FRG55__C.tfm, другой FRG55__C.vpl, а затем выполнил команду vptovf FRG55__C.vpl FRG55__C.vf FRG55__C.tfm и получил файлы FRG55__C.tfm (2-й раз и большего, чем ранее, размера) и FRG55__C.vf. Вот после этого ни один из работавших до этого методов не срабатывает – выдается ошибка о переполнении стека. Если удалить файл FRG55__C.vf, то опять все работает, кроме того же пресловутого dvips. В-общем, вопрос для меня остался темным.
| Всего записей: 7080 | Зарегистр. 20-11-2003 | Отправлено: 11:43 24-02-2005 | Исправлено: aar, 11:57 24-02-2005 |
|