91.71 Wxt

wxt 出力形式は、個々のウィンドウへの出力を生成します。ウィンドウは wxWidgets ライブラリで生成されます (これが wxt の名前の由来です)。実 際の描画は、2D グラフィックライブラリ cairo と、文字列配置/レンダリン グライブラリ pango が処理します。

書式:

       set term wxt {<n>}
                    {size <width>,<height>} {background <rgb_color>}
                    {{no}enhanced}
                    {font <font>} {fontscale <scale>}
                    {title "title"}
                    {dashed|solid} {dashlength <dl>}
                    {{no}persist}
                    {{no}raise}
                    {{no}ctrl}
                    {close}

複数の描画ウィンドウもサポートしていて、set terminal wxt < n> とすれば 番号 n の描画ウィンドウへ出力します。

デフォルトのウィンドウタイトルは、このウィンドウ番号に基づいています。 そのタイトルは "title" キーワードでも指定できます。

描画ウィンドウは、gnuplot の出力形式を別なものに変更しても残ったまま になります。それを閉じるには、そのウィンドウに入力フォーカスがある状態 で 'q' を入力するか、ウィンドウマネージャのメニューで close を選択す るか、set term wxt < n> close としてください。

描画領域のサイズはピクセル単位で与えます。デフォルトは 640x384 です。 それに加えて、ウィンドウの実際のサイズには、ツールバーやステータスバー 用のスペースも追加されます。 ウィンドウのサイズを変更すると、描画グラフもウィンドウの新しいサイズに ぴったり合うようにすぐに伸縮されます。他の対話型出力形式と違い、wxt 出力形式はフォント、線幅も含めて描画全体を伸縮しますが、全体のアスペク ト比は一定に保って、空いたスペースは灰色で塗り潰します。その後 replot とタイプするかターミナルツールバーの replot アイコンをクリックするか 新たに plot コマンドを入力すると、その新しい描画では完全にそのウィン ドウに合わせられますが、フォントサイズや線幅はそれぞれのデフォルトにリ セットされます。

現在の描画ウィンドウ (set term wxt < n> で選択されたもの) は対話的で その挙動は、他の出力形式と共通です。詳細は、以下参照: mouse (81.40)。それに は追加のアイコンもいくつかついていますが、それらはそれ自体が説明的なも のになっているはずです。

この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に 埋め込むことができます。拡張文字列処理モードの書式は他の gnuplot の出 力形式と共通です。詳細は、以下参照: enhanced (12)

< font> "FontFace,FontSize" の形式で、FontFace と FontSize とをコ ンマで分離して一つの文字列として書きます。FontFace は、'Arial' のよ うな通常のフォント名です。FontFace を与えない場合は、wxt 出力形式は 'Sans' を使用します。FontSize は、ポイント単位のフォントサイズです。 FontSize を与えない場合は、wxt 出力形式は 10 ポイントを使用します。

  例:
     set term wxt font "Arial,12"
     set term wxt font "Arial" # フォント名のみ変更
     set term wxt font ",12" # フォントサイズのみ変更
     set term wxt font "" # フォント名、フォントサイズをリセット

フォントは通常のフォントサブシステムから取得します。MS-Windows 上では コントロールパネルの "Fonts" エントリで検索されるので、そこに設定し ます。Unix 上では、フォントは "fontconfig" が処理します。

文字列のレイアウトに使用される pango ライブラリは utf-8 を基本としてい ますので、wxt 出力形式ではエンコーディングを utf-8 にする必要がありま す。デフォルトの入力エンコーディングは、システムの 'locale' によりま す。他のエンコーディングを使用したい場合は、それを gnuplot に知らせる 必要があります。詳細は、以下参照: encoding (81.20)

pango は、unicode マッピングでないフォントに対しては予期せぬ結果を与え るかもしれません。例えば Symbol フォントに対しては、wxt 出力形式は、文 字コードを unicode に変換するために http://www.unicode.org/ で提供され るマッピングを利用します。pango は、その文字を含むフォントを見つけるた めにあなたの Symbol フォントを検索し、そして DejaVu フォントのように、 幅広く unicode をカバーする他のフォントを探す、といった最善の作業を行 おうとします。なお、"the Symbol font" は、Acrobat Reader と一緒に "SY______.PFB" として配布されている Adobe Symbol フォントであると解 釈されることに注意してください。この代わりに、OpenOffice.org と一緒に "opens___.ttf" として配布される OpenSymbol フォントが同じ文字を提供 しています。Microsoft も Symbol フォント ("symbol.ttf") を配布してい ますが、これは異なる文字セットになっていて、いくつかは欠けていますし、 いくつかは数式記号に変わってしまっています。あなたのデフォルトの設定で なんらかの問題が起きた場合 (例えばデモスクリプト enhancedtext.dem がち ゃんと表示されないといった場合) は、Adobe か OpenOffice の Symbol フォ ントをインストールして、Microsoft の Symbol フォントを削除しないといけ ないかもしれません。 "windings" のような他の非標準のフォントでも動作することが報告されて います。

描画のレンダリングは、ツールバーで対話的に変更できます。可能な限り最も 良い出力を生成するためにこのレンダリングは、アンチエイリアス、オーバー サンプリング、ヒンティングの 3 つの機構を持っています。 アンチエイリアスは、水平や垂直でない線の滑らかな表示を可能にします。 オーバーサンプリングは、アンチエイリアスと組でピクセルよりも小さいサイ ズでの精度を提供し、gnuplot が非整数座標の直線を書けるようになります。 これは、対角方向の直線 (例えば 'plot x') が左右に揺れるのを避けます。 ヒンティングは、オーバーサンプリングによって引き起こされる水平、垂直方 向の線分のぼかしを避けます。この出力形式は、これらの直線を整数座標に揃 え、それにより、1 ピクセル幅の直線は本当に 1 つ (1 つより多くも少なく もない) のピクセルで描画します。

デフォルトでは、描画が行われたときにウィンドウはデスクトップの一番上 (最前面) に表示されます。これは、キーワード "raise" で制御できます。 キーワード "persist" は、すべての描画ウインドウを明示的に閉じない間 は、gnuplot が終了しないようにします。 最後に、デフォルトでは < space> キーは gnuplot コンソールウィンドウを上 に上げ、'q' は描画ウィンドウを閉じます。キーワード "ctrl" は、それら のキー割り当てを、それぞれ < ctrl> +< space> < ctrl> +'q' に変更します。 これらの 3 つのキーワード (raise, persist, ctrl) は、設定ダイアログ上 のやりとりでも設定し、記憶させることができます。

竹野茂治@新潟工科大学
2014年2月25日