====== Использование TTF шрифтов в LaTeX (MikTeX и TeTex). ====== **[ladserg]**. Здесь я опишу создание dvi и pdf файлов с использованием обычных TTF шрифтов. Источники, которые я использовал: * [[http://www.radamir.com/tex/ttf-tex.htm]] * [[http://linuxportal.ru/entry.php/P1003_0_3_0/]] 1. Берёте файл с TTF шрифтом, например georgia.ttf из каталога шрифтов MS Windows, создаёте отдельную папку для вашего проекта и копируете туда свой файл шрифта. 2. Извлекаем метрику шрифта: ttf2afm -e t2a.enc -o georgia.afm georgia.ttf где: * t2a.enc -- файл с описанием перекодировки, он находится в стандартных каталогах TeX, и его копировать в вашу папку не надо, TeX найдёт его сам. * georgia.afm -- файл с метриками, который будет создан. * georgia.ttf -- ваш шрифт. 3. Создаём TFM файл: afm2tfm georgia.afm -T t2a.enc > myfonts.map После чего будут созданы два файла: georgia.tfm и myfonts.map. myfonts.map -- этот файл мы подключим потом к pdflatex, в нём pdflatex узнает о нашем шрифте. Как и во втором пункте t2a.enc программа найдёт сама сама в стандартном каталоге. Откроем myfonts.map и увидим строку вида: georgia Georgia " T2AAdobeEncoding ReEncodeFont " Добавим в конец строки информацию о файле шрифта < georgia.ttf , так что бы получилась следующая строка: georgia Georgia " T2AAdobeEncoding ReEncodeFont " < georgia.ttf 4. Теперь создадим файл ttfonts.map в который занесём следующую строку: georgia georgia.ttf Encoding=t2a.enc Где слово georgia можете заменить на название своего шрифта, а кусок: Encoding=t2a.enc нужен обязательно, если вы без этой части создадите DVI или PDF файл, то у вас не будут работать буквы, а в MikTeX придётся ещё и папку localtexmf чистить, т.к. он в дальнейшем, даже после исправления ошибки и перекомпиляции tex файла, всё равно будет показывать вместо русских букв закорючки (да и английские он тоже неверно будет отбражать). 5. Обычным поиском ищете в каталоге TeX'а файл pdftex.cfg и копируете его в свой каталог, и в конец файла добавляете строку: map +myfonts.map Можете его не копировать, но тогда pdflatex в tetex вам такого наврёт, на всякий случай приведу содержимое получившегося файла pdftex.cfg: output_format 1 compress_level 9 decimal_digits 3 page_width 210 true mm page_height 297 true mm horigin 1 true in vorigin 1 true in pk_resolution 600 pdf_minorversion 4 map pdftex.map map +myfonts.map 6. Создадим файл с названием t2a<имяшрифта>.fd, для georgia это t2ageorgia.fd, и поместим туда информацию о нашем шрифте: \ProvidesFile{t2ageorgia.fd}[Georgia Font] \DeclareFontFamily{T2A}{georgia}{} \DeclareFontShape{T2A}{georgia}{m}{n}{ <-> georgia}{} Где слово georgia просто изменяем на название нашего шрифта. 7. Собственно используем наш шрифт, для этого в том же каталоге создаём файл, скажем test.tex, и заносим туда документ, например: \documentclass[a4paper,12pt]{article} \usepackage{latexsym} \usepackage{mathtext} \usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[russian]{babel} \begin{document} Это просто текст, который выводится LaTeX с помощью шрифта по умолчанию.\\ {\font\Georgia georgia at40pt \Georgia А это текст, который выводится при помощи шрифта Georgia.}\\ Опять просто текст, который выводится LaTeX с помощью шрифта по умолчанию.\\ \end{document} где \font\Georgia georgia at40pt \Georgia и есть использование нашего шрифта. 8. Ну и компилируем наш файл: latex test.tex pdflatex test.tex 9. Если надо подключить ещё один шрифт, например Tahoma, то точно так же копируете файл tahoma.ttf в папку с вашим проектом, генерируете нужные файлы: ttf2afm -e t2a.enc -o tahoma.afm tahoma.ttf afm2tfm tahoma.afm -T t2a.enc >> myfonts.map Правим myfonts.map так, что бы получилось следующее: georgia Georgia " T2AAdobeEncoding ReEncodeFont " < georgia.ttf В ttfonts.map добавляем строку: tahoma tahoma.ttf Encoding=t2a.enc Создаём файл t2atahoma.fd с содержимым: \ProvidesFile{t2ageorgia.fd}[Tahoma Font] \DeclareFontFamily{T2A}{tahoma}{} \DeclareFontShape{T2A}{tahoma}{m}{n}{ <-> tahoma}{} Открываем наш tex-файл и используем шрифт Tahoma, например, его содержимое может быть таким: \documentclass[a4paper,12pt]{article} \usepackage{latexsym} \usepackage{mathtext} \usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[russian]{babel} \begin{document} Это просто текст, который выводится LaTeX с помощью шрифта по умолчанию.\\ {\font\Georgia georgia at40pt \Georgia А это текст, который выводится при помощи шрифта Georgia.}\\ Опять просто текст, который выводится LaTeX с помощью шрифта по умолчанию.\\ {\font\Tahoma tahoma at25pt \Tahoma А это текст, который выводится при помощи шрифта Tahoma.} \end{document} Ну и конечно: latex test.tex pdflatex test.tex 10. Что бы другие средствами MikTeX или TeTex могли скомпилировать выше описанный пример без всякой возни, то им надо отдать следующие файлы: georgia.afm georgia.tfm georgia.ttf myfonts.map pdftex.cfg t2ageorgia.fd t2atahoma.fd tahoma.afm tahoma.tfm tahoma.ttf test.tex ttfonts.map Все они должны находиться в одном каталоге.