で、

一通り可読可能なレベルにまでソースコードを整理した。
今まではグローバル変数とか意味不明な変数名とかそれらを含むマクロとかが点在していて、どこから読み進めればいいのか全然わからなかったので。

おとなしく MFC でも使えと言われそうだけど、ちゃんとした印刷プレビューを作るには MFC じゃ役不足なわけで。

とりあえずメモ。


モニターのピクセル値 -> [mpx2dpx] -> デバイスピクセル
プリンタのピクセル値 -> [ppx2dpx] -> デバイスピクセル
mm -> [mm2dpx ] -> デバイスピクセル

ここで、「デバイス」とは「モニター」または「プリンタ」のこと。
つまり、印刷プレビューと実際の印刷とで同一のルーチンを通すために必要な変換関数群だということ。
基本的には mm2dpx だけで十分なんだけど、フォントサイズとかペーパーサイズとか mm で得られないデータがあるので。
あ、当然 mm <−> inch 変換も内部でやってます。

って、ずいぶん初歩的だな。俺は中学生かorz


さてさて、だいたい見通しは立った(つまりリハビリが終わった)ので、印刷機能の高度化に着手します。
いわゆる「単語カード」のようなものを自動的に出力できるところまで実装するのが今回の目標なので、まずは印刷項目の設定(オプション設定)を充実させる必要がありますね。
オプションは全部作り直すくらいの変更が必要になりそう。