[SS名刺メーカー]縦中横に対応しました
疑問符・感嘆符の自動縦中横に対応しました。縦書き設定にしていて、本文に「!!」「!?」「?!」「??」の並びで出てくる場合に、自動的に二つ横並びで表示します。
※この改修に伴い、単体の「!」「?」が表示されないバグが一時的に発生していました。ご迷惑をおかけしました。
各フォントの感嘆符・疑問符の符号は全角のほうが整った形をしているのと、半角の符号は幅が狭くて縦書きでの見た目があまりきれいでないことから、同じマスに全角の符号を2つ重ね、それぞれ字の幅の1/4だけ左右にずらす……という並べ方にしています。「!?」「?!」で微妙にバランスが悪く見えるかもしれませんが、許容範囲としていただければ。
二字の場合にしか対応しませんので、たとえば「!!!」の場合、「!!」の下に「!」が来るという表示になります。
縦中横対応に伴い、字数カウントに微妙なズレが生じますが、よしとしてください。
javascript的な処理をざっくり解説すると、
for(var i=0; i<val.length; i++){
chr = val.charAt(i);
// 後略
}
とやってchrに1字ずつ文字を取得しているところを、chrが!か?と等しい場合にだけ
next = val.charAt(i+1);
で次の字を取得、次の字nextも!か?であれば縦中横にして、i++; して次の字の処理を飛ばす、みたいな感じです。
おひねり投げてくださったら嬉しいです