ConTeXt で Liberation フォントを使用するにはどうすればいいですか?

ConTeXt で Liberation フォントを使用するにはどうすればいいですか?

私は次のコードの一部を持っています

\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. それでもフォントがリストに表示されない場合は、OSFONTDIR使用の値を確認してください。

    mtxrun --expand-var OSFONTDIR
    

    検索パスを強制するには

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

関連情報