12.1.3 writer インタフェース
writer を作成するためのインタフェースは、インスタンス化しようと
する個々の writer クラスに依存します。以下で解説するのは、
インスタンス化された全ての writer がサポートしなければならない
インタフェースです。
ほとんどのアプリケーションでは AbstractFormatter クラスを
formatter として使うことができますが、通常 writer はアプリケーション
側で与えなければならないので注意してください。
-
バッファに蓄積されている出力データやデバイス制御イベントを
フラッシュします。
-
字揃えのスタイルを設定します。align の値は任意のオブジェクト
を取りえますが、慣習的な値は文字列または
None
で、
None
は writer の ``好む'' 字揃えを使うことを表します。
慣習的な align の値は 'left'
、 'center'
、
'right'
、および 'justify'
です。
-
フォントスタイルを設定します。font は、デバイスの標準のフォント
が使われることを示す
None
か、
(
size, italic, bold,teletype)
の形式をとるタプルになります。size はフォントサイズを示す文字列
になります; 特定の文字列やその解釈はアプリケーション側で定義します。
italic、bold、および teletype といった値は
ブール値で、それらの属性を使うかどうかを指定します。
new_margin( |
margin, level) |
-
マージンレベルを整数値 level に設定し、論理タグ (logical tag)
を margin に設定します。論理タグの解釈は writer の判断に
任されます; 論理タグの値に対する唯一の制限は level が
非ゼロの値の際に偽であってはならないということです。
-
割り付けスタイル (spacing style) を spacing に設定します。
Set the spacing style to spacing.
-
追加のスタイルを設定します。styles の値は任意の値からなる
タプルです; AS_IS 値は無視されます。
styles タプルはアプリケーションや writer の実装上の都合に
より、集合としても、スタックとしても解釈され得ます。
-
現在の行を改行します。
send_paragraph( |
blankline) |
-
少なくとも blankline 空行分の間隔か、空行そのもので段落を
分割します。blankline の値は整数になります。
writer の実装では、改行を行う必要がある場合、このメソッドの呼び出しに
先立って send_line_break() の呼び出しを受ける必要あります;
このメソッドには段落の最後の行を閉じる機能は含まれておらず、
段落間に垂直スペースを空ける役割しかありません。
send_hor_rule( |
*args, **kw) |
-
水平罫線を出力デバイスに表示します。このメソッドへの引数は
全てアプリケーションおよび writer 特有のものなので、注意して
解釈する必要があります。このメソッドの実装では、すでに改行が
send_line_break() によってなされているものと仮定しています。
-
行端が折り返され、必要に応じて再割り付け解析を行った (re-flowed)
文字データを出力します。このメソッドを連続して呼び出す上では、
writer は複数の空白文字は単一のスペース文字に縮約されていると
仮定することがあります。
-
すでに表示用に書式化された文字データを出力します。
これは通常、改行文字で表された改行を保存し、新たに改行を持ち込
まないことを意味します。
send_formatted_data() インタフェースと違って、
データには改行やタブ文字が埋め込まれていてもかまいません。
-
可能ならば、data を現在の左マージンの左側に設定します。
data の値には制限がありません; 文字列でない値の扱い方は
アプリケーションや writer に完全に依存します。このメソッドは
行の先頭でのみ呼び出されます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。