Loading...

社内システム開発日記:その92

前書き

お疲れ様です!
小手投げです。

自衛隊の匍匐前進には5段階あるって知っていますか?
ザックリ言うと中腰、横座り、低い四つん這い、両肘だけ立てた状態、全部伏せの状態、があります。
危険度が上がるにつれて後ろの段階へと使い分けをしていきます。

今回は日記です。

日記

長くなっていたメソッドをいくつかに分割
メソッドごとに初期化する変数が結構な量あるのでそれだけで行数がかかる
多値代入で横に並べて行数を抑える

ヘッダー書き出しからロゴの書き出しを分離
割とシンプルなので特に問題なし

エンジニア情報書き出しからコンフィグ設定×2、
枠線・見出し・内容書き出しを分離
枠線と住所、最寄り駅がずれる
置換を忘れていたところと初期化を忘れていたところ
変数が色々なところで使われているのでややこしい

プロジェクト情報書き出しからコンフィグ設定、
見出し枠線・見出し内容・本文枠線・本文内容書き出しを分離
上手くいった

残っていたマジックナンバーをconstに
文字の位置がずれている
定数が0になっている
float64型を指定してやる→ダメ
.0を追加→OK

ブログの執筆公開

単体テスト
lを大量に並べると半分を超えた時点で改行されるが、Hを大量に並べると枠を突き抜ける
今までは半角英数と全角を1:2として幅を数えていたが、正確な文字幅を取得しなくては

調べたらgolangではtruetypeというパッケージがあった
そもそも.ttfがTrueTypeFontの略だ
.ttfを開いてバイト配列化してパース
メソッドで横幅と前の文字との間隔が出る
Int26_6というInt型が謎

係数を調整して表示を確認
できた

後書き

行数が膨れてきて分割するだけで思ったよりも時間がかかりました。

文字列が枠に合わせて自動で折り返してくれないのはなんとかならないものかと思います。

ではまた次回。

情報戦略テクノロジー