Tategaki力をちょっとだけ上げたAcme::Tategaki
こんな感じで地道にがんばってます。
sub _convert_vertical { my @text = @_; @text = map { [ split //, $_ ] } @text; @text = transpose_ragged( \@text ); @text = map { [ map {$_ || ' ' } @$_ ] } @text; @text = map { join ' ', reverse @$_ } @text; for (@text) { $_ =~ tr//‥−-─ー「」→↑←↓==,、。〖〗【】…/\:||||¬∟↓→↑←॥॥︐︑︒︗︘︗︘︙/; $_ =~ s/〜/∫ /g; $_ =~ s/『/ ┓/g; $_ =~ s/』/┗ /g; $_ =~ s/[/┌┐/g; $_ =~ s/]/└┘/g; $_ =~ s/\[/┌┐/g; $_ =~ s/\]/└┘/g; $_ =~ s/</∧ /g; $_ =~ s/>/∨ /g; $_ =~ s/</∧ /g; $_ =~ s/>/∨ /g; $_ =~ s/《/∧ /g; $_ =~ s/》/∨ /g; } return join "\n", @text; }
いろんな鍵括弧へも対応してます。
「〜」な伸ばし棒にも対応しました。
なのですが丸括弧への対応が全然できてません。
p-r待ってます。
kazuph/Acme-Tategaki · GitHub
Acme::Tategaki - This Module makes a text vertically. - metacpan.org