Это команда afm2pl, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
afm2pl - конвертировать метрики шрифта AFM в метрики шрифта TeX pl
СИНТАКСИС
афм2пл [-p файл_кодирования] [-o] [-e Extension_factor] [-s наклонный_фактор]
[-f font_dimensions] [-k] [-m Межбуквенное расстояние] [-l ligkern_spec] [-L ligkern_spec]
[-n] входной_файл [.afm] [выходной_файл [.pl]]
афм2пл [--help] | [--версия]
ОПИСАНИЕ
afm2pl преобразует файл afm (Adobe Font Metric) в файл pl (Property List), который в
его, в свою очередь, можно преобразовать в файл tfm (TeX Font Metric). Обычно он сохраняет керны и
лигатуры, но также предлагает дополнительный контроль над ними.
afm2pl предназначен для частичной замены afm2tfm, на котором он основан. С участием
afm2tfm, сохранение кернов и лигатур возможно только окольным путем, а обработка
из них зашита.
Для текстовых шрифтов, Y&Y texnansi - хорошая кодировка для использования с afm2pl. Его характер
набор включает все символы с диакритическими знаками, которые могут потребоваться для западных языков, а также
множество типографских символов, без необходимости использования виртуальных шрифтов или отдельного текста
сопутствующий шрифт.
Полная поддержка LaTeX для этой кодировки доступна в виде пакета texnansi,
который уже является частью TeX Live и teTeX. Эти дистрибутивы также содержат кодировку
файл texnansi.enc.
Дистрибутив содержит версии texnansi в верхнем и нижнем регистре, а именно. Texnanuc
и texnanlc, чтобы разрешить использование верхнего и нижнего регистра на основе шрифтов, а не макросов, и
знакомая старая кодировка ot1 плюс некоторые вариации в формате PostScript .enc (я включил
это потому, что кажется, что они отсутствуют в teTeX / TeX Live). Однако проверьте свои файлы карт, если
у вас есть старые шрифты, созданные с помощью afm2pl.
Возвращаемое значение: 0, если ошибок нет; отрицательное число, указывающее количество отсутствующих глифов, если
В остальном преобразование было успешным, но символы отсутствуют, а в случае ошибки - 1.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-p файл_кодирования
По умолчанию используется кодировка, указанная в файле afm, которая лучше соответствует
кодировка в файле шрифтов (pfa или pfb). Если существует afm2pl-name.enc, afm2pl будет использовать этот
file вместо name.enc, если не задана опция -n. Созданная запись файла карты
(см. ниже) указывает pdftex или драйверу dvi перекодировать шрифт на лету.
Перекодирование на лету не требует виртуальных шрифтов.
-o
Используйте восьмеричный код для всех кодов символов в файле pl.
-e extension_factor
Расширенные или узкие символы extension_factor. По умолчанию 1.0 (естественная ширина). Нет
рекомендуется [1].
-s наклонный_фактор
Косые (наклонные) символы по наклонный_фактор. Тоже не рекомендуется.
-f font_dimensions
Значением является либо ключевое слово afm2tfm, либо список, разделенный запятыми, до пяти
целые числа. Параметры перечислены ниже с их значениями по умолчанию и их значениями, когда
указано ключевое слово afm2tfm. "Пробел" означает ширину пробела в мишени.
шрифт, кроме, конечно, последней строки. Имейте в виду, что размер дизайна - 1000, и
что все числа должны быть неотрицательными целыми числами.
┌───────────────┬────────────────────────┬────────── ──────────────┐
│шрифт измерение │ По умолчанию ценностное │ афм2тфм ценностное │
├───────────────┼────────────────────────┼────────── ──────────────┤
│растягивать │ пробел div 2 │ 300 × extension_factor │
├───────────────┼────────────────────────┼────────── ──────────────┤
│сокращаться │ пробел div 3 │ 100 × extension_factor │
├───────────────┼────────────────────────┼────────── ──────────────┤
│дополнительно космосе │ пробел div 3 │ отсутствует │
├───────────────┼────────────────────────┼────────── ──────────────┤
│четырехъядерных │ 2 × ширина 0 │ 1000 × extension_factor │
├───────────────┼────────────────────────┼────────── ──────────────┤
│космосе │ (космический исходный шрифт) × │ (космический исходный шрифт) × │
│ │ extension_factor │ extension_factor │
└───────────────┴────────────────────────┴────────── ──────────────┘
Для шрифтов с фиксированным шагом применяются другие значения:
┌───────────────┬────────────────────────────────── ────────────┐
│шрифт измерение │ По умолчанию ценностное │ афм2тфм ценностное │
├───────────────┼────────────────────────────────── ───────────
│растягивать │ 0 │ 0 │
├───────────────┼────────────────────────────────── ───────────
│сокращаться │ 0 │ 0 │
├───────────────┼────────────────────────────────── ───────────
│дополнительно космосе │ пробел │ отсутствует │
├───────────────┼────────────────────────────────── ───────────
│четырехъядерных │ 2 × ширина символа │ 1000 × extension_factor │
├───────────────┼────────────────────────────────── ───────────
│космосе │ ширина символа │ ширина символа │
└───────────────┴────────────────────────────────── ───────────
Укажите только нестандартное растяжение и сжатие, например, 150,70 и просто нестандартное
дополнительное место с ,, 10.
-k
Сохраните оригинальные лигатуры. Этот параметр действует только в сочетании с положительным
Межбуквенное расстояние; см. раздел о расстоянии между буквами и дополнительной информации о ligkern.
-m Межбуквенное расстояние
Letterspace - пользователем Межбуквенное расстояние/ 1000 em (целое число). Это полезно для создания заглавных букв
верстка выглядит лучше. Попробуйте указать значение, например, 50 или 100. Но см. Раздел, посвященный
расстояние между буквами и дополнительная информация о ligkern. Однако лучшая альтернатива - это
позволяя pdftex определять расстояние между буквами. Пакет microtype дает пользователям LaTeX доступ к
эта особенность.
-l ligkern_spec, -L ligkern_spec
Подробности смотрите в разделе о дополнительной информации о ligkern.
-n
Без префикса. Для файлов .enc- и .lig программа обычно сначала добавляет к имени префикс
`afm2pl-´. Только если имя файла с префиксом не найдено, он будет искать исходный
имя файла. Эта опция предотвращает поиск имени файла с префиксом.
-V
Подробный. Если он включен, он сообщает количество отсутствующих глифов в stderr и их
имена в стандартный вывод.
--Помогите
Отображение короткого сообщения об использовании.
--версия
Отобразите номер версии afm2pl.
МАПФАЙЛ ЗАЯВКИ
afm2pl записывает запись файла карты в файл с тем же базовым именем, что и выходной файл pl, но
с расширением .map. Его можно использовать для файла карты dvips и файла карты pdftex. Это
Предполагается, что файл pfb имеет то же базовое имя, что и файл afm, и его необходимо загрузить.
май встали на сторону в ручное редактирование этой записи.
Вы можете настроить dvips и pdftex для чтения этого дополнительного файла карты или иным образом добавить
запись в существующий файл карты.
Проверка карты! Чтобы уменьшить вероятность конфликтов имен, файлы .enc, которые
являются частью afm2pl (ot1, ot1csc, ot1ital, ot1tt, texnanlc и texnanuc) в настоящее время
с добавлением afm2pl-. На файлы .enc есть ссылки в файлах карты. Если у вас старый
сгенерированные afm2pl файлы .tfm с их использованием, затем вам следует обновить их фрагменты файла карты.
и повторно запустите updmap или updmap-sys. Или вы можете скопировать соответствующие файлы enc в свой личный или
локальное дерево texmf под своими предыдущими именами без префикса.
ЭКСТРА ЛИГКЕРН ИНФОРМАЦИЯ
Лучшее пользователей хорошо осведомленный в оставлять этой беспорядок в одиночестве и в принимать по умолчанию поведение.
Лигатуры и керны, присутствующие в файле afm, можно изменять различными способами. Дефолт,
файл кодировки сканируется на предмет дополнительных спецификаций ligkern, формат которых будет
описано ниже. Если в файле кодировки нет спецификаций ligkern, то дополнительные
Спецификации ligkern будут прочитаны из файла [afm2pl-] default.lig. Значение 0 для
ligkern_spec означает, что лигатуры и керны из файла afm не будут изменены
а значение 1 указывает поведение по умолчанию. Также можно указать список, разделенный запятыми
файлов с дополнительными спецификациями ligkerns.
Если afm2pl скомпилирован с библиотекой kpathsea, то в этих файлах будет выполняться поиск
в $ TEXMF / fonts / lig.
Внимание который лигатуры и керны подсказки для наборный приложение; там is нет
в скачать этой информация в принтер or в сделать it доступен в a дви Водитель.
Синтаксический анализатор информации ligkern унаследован от afm2tfm практически без изменений. А
Спецификация ligkern может иметь одну из следующих форм:
имя_глифа1 имя_глифа2 lig_op имя_глифа3 ;
Это определяет лигатуру. Возможные значения для lig_op являются = :, | = :, | =:>, =: |, =: |>, | =: |,
| =: |> и | =: | >>. Они соответствуют LIG, / LIG, / LIG>, LIG /, LIG />, / LIG /, / LIG />,
/ LIG / >> в синтаксисе .pl; см. документацию по pltotf и файлы .lig в
распределение.
имя_глифа1 <> имя_глифа2 ;
Ядро имя_глифа1 as имя_глифа2.
имя_глифа1 {} имя_глифа2 ;
Удалите ядро между имя_глифа1 и имя_глифа2. Значение * для любого имени глифа равно
интерпретируется как подстановочный знак.
|| знак равно глиф ;
Установите (правый) граничный символ на глиф. глиф может быть либо именем глифа, либо слотом в
вектор кодирования. Выбор глифа, которого нет в выходной кодировке, является
эквивалентно тому, чтобы вообще не указывать граничный символ. Можно выбрать закодированное имя глифа.
чего не происходит в AFM. Фактически, это то, что делает default.lig: || = cwm;.
Вы можете скопировать ядра незакодированного символа в граничный символ. Ниже пробел
незакодированный символ:
|| <> пробел;
Эта спецификация ligkern должна быть перед спецификацией, удаляющей керны пространства.
Спецификация ligkern должна содержаться в одной строке. В одной строке может быть несколько
ligkern, разделенные пробелами. Обратите внимание, что ; (пробел с точкой с запятой) - это
считается частью спецификации ligkern. См. Файлы lig, включенные в этот
распределение. Пример:
один {} * ; * {} один ; два {} * ; * {} два ;
Строки со спецификациями ligkern внутри файла кодирования должны начинаться с% LIGKERN.
Спецификации Ligkern в файле lig могут при желании начинаться таким образом.
МЕЖБУКВЕННОЕ РАССТОЯНИЕ И ЭКСТРА ЛИГКЕРН ИНФОРМАЦИЯ
Межбуквенный интервал имеет различные побочные эффекты для информации ligkern. Вместо того, чтобы просто применять
дополнительная информация о ligkern (см. предыдущий раздел), выполняется следующее:
1. В случае положительного межбуквенного интервала родные лигатуры удаляются, если не указано -k
опция указана.
2. Дополнительная информация ligkern применяется как обычно, за исключением случаев положительного результата.
между буквами применяются разные значения по умолчанию: -l 0 незаметно игнорируется, комментарии ligkern
в файле кодировки игнорируются, и вместо default.lig читается defpre.lig.
3. Используется межбуквенный интервал. Это добавляет много ядер и изменяет существующие керны.
4. Применяется дополнительная информация ligkern, указанная с -L. Единственные спецификации ligkern, которые
здесь разрешены удаления пар кернинга (с помощью оператора {}). Значения 0
и 1 имеют то же значение, что и параметр -l. Команда TFM формат и комната для
Важно в отношении 180x180 лигатуры и кернинг пар. Этого достаточно для кодировки OT1,
но для кодирования texnansi необходимо удалить довольно много спецификаций ligkern.
Программа pltotf удалит ВСЕ информация ligkern, если слишком много лигатур и кернов
оставаться. Файл lig по умолчанию - defpost.lig. Этот файл выкидывает пары кернинга
которые вряд ли будут задействованы в межбуквенном расстоянии, например керны с диакритическими знаками
или керны с символом пунктуации или правой квадратной скобкой слева. Это не добавляет
межбуквенные керны, включающие граничные символы. Вместо этого пространство шрифтов увеличивается на
вдвое больший интервал между буквами. defpost.lig выбрасывает достаточно ядер в случае texnansi
кодирование. С другими кодировками вам, возможно, придется выбросить дополнительные пары кернинга.
НА ОСНОВЕ ШРИФТА ВЕРХНИЙ И НИЗКИЙ
В дистрибутив входят векторы кодирования texnanuc.enc и texnanlc.enc, которые производят
все заглавные и все строчные шрифты
Основное использование шрифта, состоящего только из прописных букв, - это заголовки страниц и заголовки разделов. Если эти
содержат математику, тогда верхний регистр на основе макросов вызовет неприятные сложности. Пример:
afm2pl -p texnanuc ptmr8a ptmup8y
pltotf ptmup8y
Для достижения наилучших результатов вам следует добавить несколько интервалов между буквами. В LaTeX это лучше всего делать с
упаковка микротипа; см. документацию к этому пакету. Но это также можно сделать с помощью
афм2пл:
afm2pl -p texnanuc -m 100 ptmr8a ptmup8y
Это требует осторожности; см. выше.
Вы можете использовать этот новый шрифт в контексте выбора шрифта LaTeX следующим образом:
\ makeatletter
{\ nfss @ catcodes
\ DeclareFontShape {LY1} {ptm} {m} {upp} {<-> ptmup8y} {}}
\ makeatother
...
\ Begin {документ}
...
{\ fontshape {upp} \ selectfont в верхнем регистре}
Обратите внимание, что upp - это просто новое название формы.
Команда sz лигатура ß
Обратите внимание, что кодировка texnanuc не предоставляет глифа для лигатуры sz ß; ты либо
необходимо заменить ss или предоставить решение на основе макросов. В следующем коде используется либо
обычный глиф или заменяет буквы ss, в зависимости от того, существует ли глиф в
текущий шрифт:
\ def \ ss {%
\ setbox0 \ hbox {\ char25}%
\ ifnum \ wd0 = 0 сс \ else \ box0 \ fi
}
В LaTeX этот код работает достаточно хорошо, хотя иногда может потребоваться
вставить \ защитить. Лучшее решение могло бы включать шестой параметр
\ DeclareFontShape, но мне не удалось заставить его работать.
АФМ2ПЛ, ФОНТИНСТ И ИСКУССТВЕННЫЙ МАЛЕНЧАТКИ
Afm2pl не делает виртуальных шрифтов. Это означает, что для таких вещей, как искусственные колпачки
вам нужно обратиться в другое место, например, к пакету fontinst, который является частью любого основного потока
Распределение TeX.
Поищите в texmf / tex / fontinst файлы поддержки fontinst, которые позволяют вам сгенерировать
шрифт smallcaps (файлы tfm и vf) из tfm-файла, созданного afm2pl. Только этот пакет
поддерживает кодировку Texnansi.
Сделать то же самое для кодировки OT1 не должно быть серьезных проблем. Однако есть
несколько вариантов кодировки OT1, о которых нужно позаботиться. Кроме того, насколько я знаю, есть
нет официально санкционированных имен PostScript для всех вариантов кодировки OT1; в
Имена fontinst содержат пробелы и поэтому не могут использоваться в качестве имен PostScript.
ИЗМЕНИТЬ IN Версия 0.7.1
Во избежание конфликтов имен файлы .enc- и .lig, распространяемые с afm2pl, получили
afm2pl- добавляется к их имени. Сама программа теперь сначала ищет таким образом
добавленное имя. Если файл .enc- или .lig не найден, он будет искать исходный.
имя файла. Переименование файлов afm2pl .enc может потребовать модификации некоторых файлов карты.
URL-адреса
Домашняя страница afm2pl http://tex.aanhet.net/afm2pl/.
Бумаги шрифт установка мелкий путь[2] (Протоколы EuroTeX 2006, опубликованные как
буксирное судно[3] вопрос 27.1) иллюстрирует использование afm2pl.
ПРИМЕЧАНИЯ
1. За исключением того, что, возможно, зауженный Courier менее раздражает, чем Courier во всю ширину,
при использовании в сочетании с обычным пропорциональным шрифтом. Для Courier выберите от 833 до
соответствовать ширине cmtt. А еще лучше вообще не использовать Courier; большинство дистрибутивов TeX
предложить различные хорошие замены.
2. Установка шрифта неглубоким способом
http://www.tug.org/TUGboat/Articles/tb27-1/tb86kroonenberg-fonts.pdf
3. Буксир
http://www.tug.org/TUGboat/
Май 2009 АФМ2ПЛ(1)
Используйте afm2pl онлайн с помощью сервисов onworks.net