Как использовать шрифты Liberation в ConTeXt?

Как использовать шрифты Liberation в ConTeXt?

У меня есть следующий фрагмент кода

\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скрипт для поиска имени шрифта.

  1. Бегать

    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
    
  2. Если в списке выше нет шрифтов, пересоздайте базу данных шрифтов.

     mtxrun --script font --reload --force
    
  3. Если шрифты по-прежнему не указаны, проверьте значение OSFONTDIRusing

    mtxrun --expand-var OSFONTDIR
    

    Вы можете принудительно указать путь поиска, используя

     OSFONTDIR=/path/to/font mtxrun --script font --reload --force
    

Связанный контент