インスタンスを生成された特別なwriterクラスに依存するwriterを生成するためのインタフェースです。
以下に記述されているインタフェースは必要なインタフェースです。
全てのwriterは一度初期化されたインタフェースに対応します。
ほとんどのアプリケーションはformatterとしてAbstractFormatterクラスを利用できますj。
writerはアプリケーションによってきまったとおりに提供されなくてはなりません。
- flush ()
-
バッファリングされた出力およびデバイスイベントを強制的に出力します。
- new_alignment (align)
-
アラインメントの型を設定する。引数の値はどんなオブジェクトにもあって、
通常文字列かNoneです。
ここでいうNoneの場合とは使っているwriterの"prefferd"を示しています。
通常のアラインメントの値は、'left', 'center', 'roght' と'justify'です。
- new_font (font)
-
フォントの型を設定する。デバイスのデフォルトのフォントとして使用されているものの
あるいはform (size, italic, bold, teletype)のタプルの
指定はなくてもよい。
- new_margin (margin, level)
-
整数のlevelにマージンレベルをそしてmarginに論理タグを設定します。
論理タグのインタプリタはwriterの判断によります。つまり、論理タグの値の制限だけでは
0でない値レベルに対して偽にはならない。
- new_spacing (spacing)
-
スペースの型をspacingに設定する。
- new_styles (styles)
-
追加の型を設定する。stylesの値はタプルの任意の値である。つまり、AS_ISの値は無視される。
stylesタプルはアプリケーションとwriterのインプリメントの要求に
依存するスタックまたは1組のものと解釈されます。
- send_line_break ()
-
現在の行をブレークする。
- send_paragraph (blankline)
-
少なくとも引数blankline分の空行あるいはそれと同等のものでパラグラフの区切る。
引数blanklineは整数でなくてはならない。
- send_hor_rule (*args, **kw)
-
出力デバイスの水平方向のルール(ルーラー?)を表示します。
このメソッドの引数は全てのアプリケーションとwriterに限定されるもので注意して逐次実行します。
メソッドのインプリメントではsend_break_line ()からすでにでているline breakであると仮定しています。
- send_flowing_data (data)
-
文字データを出力します。これは必要に応じて単語に含まれたり、再処理されたりします。
このメソッドを呼び出す順番にはwriterは複数のwhitespace文字からなる間は
ひとつのスペース文字に置き換える。
- send_literal_data (data)
-
文字データを出力します。これは表示のために書式化されているものです。
これが意味するものを次のように逐次実行していきます。
一般に、改行文字で表されるline breakは保存され、新しいline breakは続きません。
データには埋め込みの改行やタブ文字や
send_formatted_data()インタフェースに渡されるものとは異なるものがあります。
- send_label_data (data)
-
可能なら現在の左のマージンの左に引数dataを設定します。
データの値に制限はありません。
非文字列の値の扱いは完全にアプリケーションやwriterに依存します。
このメソッドはラインのはじまりだけで呼び出します。
guido@python.org