これはあなたの請求書に合うかもしれないし、合わないかもしれませんが、私が書いたインタープリター ( xpost ) は、show
. したがって、カイロが提供するサポートが何であれ、xpost が邪魔になることはありません。しかし、興奮しすぎる前に、これは 1 人のプロジェクトであり、完全な Level-1 Postscript をまだ提供していません。
編集:最新バージョンはこれをサポートしていません。これが最後に実行されたバージョンです (リスト)。
これは、show オペレーター自体の C コードです。
OPFN_ void show(state *st, object s) {
char str[s.u.c.n+1];
memcpy(str, STR(s), s.u.c.n); str[s.u.c.n] = '\0';
//printf("showing (%s)\n", str);
if (st->cr) {
cairo_show_text(st->cr, str);
cairo_surface_flush(st->surface);
XFlush(st->dis);
}
}
そしてカイロのドキュメントから:
cairo_show_text ()
void cairo_show_text (cairo_t *cr,
const char *utf8);
現在の font_face、font_size (font_matrix)、および font_options に従ってレンダリングされた、UTF-8 文字のストリングから形状を生成する描画オペレーター。
この関数は、最初にテキスト文字列のグリフのセットを計算します。最初のグリフは、その原点が現在のポイントになるように配置されます。後続の各グリフの原点は、前のグリフのアドバンス値によって、前のグリフの原点からオフセットされます。
この呼び出しの後、現在のポイントは、この同じ進行で次のグリフが配置される場所の原点に移動されます。つまり、現在のポイントは、その事前値によってオフセットされた最終グリフの原点になります。これにより、cairo_show_text() を複数回呼び出して単一の論理文字列を簡単に表示できます。
注: cairo_show_text() 関数呼び出しは、カイロの設計者が「おもちゃ」テキスト API と呼んでいるものの一部です。短いデモや単純なプログラムには便利ですが、本格的なテキストを使用するアプリケーションには適していません。cairo の「実際の」テキスト表示 API については、cairo_show_glyphs() を参照してください。
http://www.cairographics.org/manual/cairo-text.html#cairo-show-text
つまり、Postscript では UTF-8 です。:)