テーマを変更中で、表示が崩れているところがあります…!

【Bubble】文字の横幅をどうにかしたい。文字数の取得?

.bubble
.bubble

8月にアップしようとしていた内容なので、内容若干古いです。。

事象

以前開発したお客様のシステムで、

エクセルで作った表のように、セル内の文字が横幅に足りない場合は折り返し、または文字を自動的に小さくしたい

というご要望がありました。

しかしながら、Bubbleは文字幅に合わせて横幅を調整することができないです。なので文字数に応じて横幅を取得することができないです。

やろうと思えばCSSを個別に設定してもよいかもしれませんが…せっかくのNoCodeツールなのでコードは書かないでどうにかしたいですよね。

:number of characters 文字数の取得

通常は :number of characters を利用するかと思います。

通常の設定

これで実行すると、半角英数はこんな感じ。

半角英数の文字数

全角が混ざってもこんな感じ。

全角が混ざった文字

これでは文字サイズと文字間サイズから横幅を計算したくても、横幅が計算できないですよね。。

この状態で「x 文字以上の場合に FontSize = 12px」と設定しても、半角のときと全角のときで横幅が揃わず、なんともしっくりきません。

:extract with Regexで文字数の取得

ということで前回:extract with Regex を応用して「全角」での文字数を計算しました。

正規表現で文字数検索

半角文字数、全角文字数を検索し、半角文字数/2 + 全角文字数 で計算したものが全角換算した文字数=3となっています。

全てが日本語で入力される想定のシステムならいいですけど、英数字と全角が混ざる場合も多々あると思うので、設置したTextエレメントに全角文字が何文字入るかチェックしておくとやりやすいです。

もちろん文字間のスペースもあるので必ず全角文字で検索すればOKなわけではありませんが、これである程度揃うようになります。

タイトルとURLをコピーしました