
У меня есть следующий фрагмент кода
\usemodule [simplefonts][size=12pt]
\setmainfont[DejaVu Sans]
\starttext
Test text
Тестовый текст
\stoptext
И это отлично работает. ConTeXt компилирует его и шрифт правильный. Но если я изменю шрифт на
\usemodule [simplefonts][size=12pt]
\setmainfont[Liberation Sans]
\starttext
Test text
Тестовый текст
\stoptext
то результатом будет неправильный шрифт и русский текст не будет отображен.
Названия шрифтов взяты из вывода fc-list
программы (Linux). ConTeXt установлен с texlive, версия
mtx-context | ConTeXt Process Management 0.60
mtx-context |
mtx-context | main context file: /usr/share/texmf-dist/tex/context/base/context.mkiv
mtx-context | current version: 2013.05.28 00:36
решение1
ConTeXt MkIV не использует системный механизм шрифтов для получения имени шрифта. Поэтому возвращаемая информация fc-cache
бесполезна. Вместо этого используйте mtx-fonts
скрипт для поиска имени шрифта.
Бегать
mtxrun --script fonts --list --pattern=liberation --all
который дает
liberationmono liberationmono LiberationMono-Regular.ttf liberationmonobold liberationmonobold LiberationMono-Bold.ttf liberationmonobolditalic liberationmonobolditalic LiberationMono-BoldItalic.ttf liberationmonoitalic liberationmonoitalic LiberationMono-Italic.ttf liberationmononormal liberationmono LiberationMono-Regular.ttf liberationsans liberationsans LiberationSans-Regular.ttf liberationsansbold liberationsansbold LiberationSans-Bold.ttf liberationsansbolditalic liberationsansbolditalic LiberationSans-BoldItalic.ttf liberationsansitalic liberationsansitalic LiberationSans-Italic.ttf liberationsansnarrow liberationsansnarrow LiberationSansNarrow-Regular.ttf liberationsansnarrowbold liberationsansnarrowbold LiberationSansNarrow-Bold.ttf liberationsansnarrowbolditalic liberationsansnarrowbolditalic LiberationSansNarrow-BoldItalic.ttf liberationsansnarrowitalic liberationsansnarrowitalic LiberationSansNarrow-Italic.ttf liberationsansnarrownormal liberationsansnarrowitalic LiberationSansNarrow-Italic.ttf liberationsansnormal liberationsans LiberationSans-Regular.ttf liberationserif liberationserif LiberationSerif-Regular.ttf liberationserifbold liberationserifbold LiberationSerif-Bold.ttf liberationserifbolditalic liberationserifbolditalic LiberationSerif-BoldItalic.ttf liberationserifitalic liberationserifitalic LiberationSerif-Italic.ttf liberationserifnormal liberationserifitalic LiberationSerif-Italic.ttf
Если в списке выше нет шрифтов, пересоздайте базу данных шрифтов.
mtxrun --script font --reload --force
Если шрифты по-прежнему не указаны, проверьте значение
OSFONTDIR
usingmtxrun --expand-var OSFONTDIR
Вы можете принудительно указать путь поиска, используя
OSFONTDIR=/path/to/font mtxrun --script font --reload --force