12.1.3 writer インタフェース

writer を作成するためのインタフェースは、インスタンス化しようと する個々の writer クラスに依存します。以下で解説するのは、 インスタンス化された全ての writer がサポートしなければならない インタフェースです。 ほとんどのアプリケーションでは AbstractFormatter クラスを formatter として使うことができますが、通常 writer はアプリケーション 側で与えなければならないので注意してください。

flush( )
バッファに蓄積されている出力データやデバイス制御イベントを フラッシュします。

new_alignment( align)
字揃えのスタイルを設定します。align の値は任意のオブジェクト を取りえますが、慣習的な値は文字列または None で、 None は writer の ``好む'' 字揃えを使うことを表します。 慣習的な align の値は 'left''center''right'、および 'justify' です。

new_font( font)
フォントスタイルを設定します。font は、デバイスの標準のフォント が使われることを示す None か、 (size, italic, bold,teletype) の形式をとるタプルになります。size はフォントサイズを示す文字列 になります; 特定の文字列やその解釈はアプリケーション側で定義します。 italicbold、および teletype といった値は ブール値で、それらの属性を使うかどうかを指定します。

new_margin( margin, level)
マージンレベルを整数値 level に設定し、論理タグ (logical tag) を margin に設定します。論理タグの解釈は writer の判断に 任されます; 論理タグの値に対する唯一の制限は level が 非ゼロの値の際に偽であってはならないということです。

new_spacing( spacing)
割り付けスタイル (spacing style) を spacing に設定します。 Set the spacing style to spacing.

new_styles( styles)
追加のスタイルを設定します。styles の値は任意の値からなる タプルです; AS_IS 値は無視されます。 styles タプルはアプリケーションや writer の実装上の都合に より、集合としても、スタックとしても解釈され得ます。

send_line_break( )
現在の行を改行します。

send_paragraph( blankline)
少なくとも blankline 空行分の間隔か、空行そのもので段落を 分割します。blankline の値は整数になります。 writer の実装では、改行を行う必要がある場合、このメソッドの呼び出しに 先立って send_line_break() の呼び出しを受ける必要あります; このメソッドには段落の最後の行を閉じる機能は含まれておらず、 段落間に垂直スペースを空ける役割しかありません。

send_hor_rule( *args, **kw)
水平罫線を出力デバイスに表示します。このメソッドへの引数は 全てアプリケーションおよび writer 特有のものなので、注意して 解釈する必要があります。このメソッドの実装では、すでに改行が send_line_break() によってなされているものと仮定しています。

send_flowing_data( data)
行端が折り返され、必要に応じて再割り付け解析を行った (re-flowed) 文字データを出力します。このメソッドを連続して呼び出す上では、 writer は複数の空白文字は単一のスペース文字に縮約されていると 仮定することがあります。

send_literal_data( data)
すでに表示用に書式化された文字データを出力します。 これは通常、改行文字で表された改行を保存し、新たに改行を持ち込 まないことを意味します。 send_formatted_data() インタフェースと違って、 データには改行やタブ文字が埋め込まれていてもかまいません。

send_label_data( data)
可能ならば、data を現在の左マージンの左側に設定します。 data の値には制限がありません; 文字列でない値の扱い方は アプリケーションや writer に完全に依存します。このメソッドは 行の先頭でのみ呼び出されます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。