プログラムな日常>C#>
ページの自由なデザイン
(designing page rules originally --- C#)

前回から引き続き、印刷を工夫しています。今回は、

  1. (の一部)データをファイルから読む。
  2. 所定の枠に収まるように文をレイアウトする。
について、対処してみました。これに続く、文の編集までの課題は、過去のページで扱っています。 そちらは本当に複雑なプログラムで、メンテも大変なものでした。 弄ろうとすると、作ったときのことをまず思い出さなければいけません。 ですので、本当に利用価値のある目的以外は、あまりに高度な機能をつけるのは考え物です。

今回のは、編集機能がありません。それでどうするかと言うと、テキストエディタを使います。 必要なフォーマットのコードを決めておいて、それをプログラムで解釈するわけです。 HTML みたいな感じで、つまりは、wysiwyg ではありません。 小規模なプログラムはこういうのからで良いのではないでしょうか? 具体的には、ショートメールやLINEのような表示の形式を今回は目指してみました。

このソフトを動かしたところです。


印刷(この場合PDFへ)したページです。

白い紙なので、色地の上に置きました。


【文のレイアウトの留意点】

末尾のプログラムを見て頂くのが一番です。最後の MyDocument というクラスがあり、前回からの変更はほぼここに限られます(他の変更もゼロではないですが)。


【原稿のフォーマット】

まずは原稿をご覧下さい。

ここで、"\L"または"\l"は左配置、"\C"または"\c"は中央配置、"\R"または"\r"は右配置、"\U"または"\u"は行幅一ぱいの配置になります。 各大文字は枠付き、小文字は枠なしです。"\"はエスケープ文字で、"\"自体を入れたいときは、"\\"と重ねます。

あと、改ページは"\P"で、積極的にこれを入れないと、ページいっぱいになっても改ページしません。 もちろん、工夫は可能なので、考えてみてください。


LineSimulator.cs