Stringの文字列を縦書きに変換するメソッド

JavaFXで、そのままでは縦書きが実現できなかったので、仕方なく作ったやつ。

public class TateGakiConverter { 
    private static String convert(String inputString) {
        // まず、入力文字列を"\n"(改行文字)で分解する
        String[] eachLineBefore = inputString.split("\n");
        
        // 変換後の文字列の行数・列数を計算する
        int colSizeAfter = eachLineBefore.length;
        int rowSizeAfter = Integer.MIN_VALUE;
        for (int i = 0; i < eachLineBefore.length; i++) {
            if (eachLineBefore[i].length() > rowSizeAfter) {
                rowSizeAfter = eachLineBefore[i].length();
            }
        }
        
        // 変換処理
        StringBuilder outputString = new StringBuilder();
        for (int row = 0; row < rowSizeAfter; row++) {
            for (int col = 0; col < colSizeAfter; col++) {
                int index = (colSizeAfter - 1) - col;
                if (row < eachLineBefore[index].length()) {
                    outputString.append(eachLineBefore[index].charAt(row));
                } else {
                    outputString.append(" ");
                }
            }
            outputString.append("\n");
        }
        
        return outputString.toString();
    }
    public static void main(String[] args) {
        String str = "いろはにほへと\n"
                    + "ちりぬるを\n"
                    + "わかよたれそ\n"
                    + "つねならむ\n"
                    + "うゐのおくやま\n"
                    + "けふこえて\n"
                    + "あさきゆめみし\n"
                    + "へゐもせすん\n";
        System.out.println(convert(str));
    }
}

output:

へあけうつわちい
ゐさふゐねかりろ
もきこのなよぬは
せゆえおらたるに
すめてくむれをほ
んみ や そ へ
 し ま   と