$ZWidth()

指定された文字列を画面またはプリンタに表示するために必要な列の数を返します。$ZWIDTH() 関数の書式は次のとおりです:

$ZW[IDTH] (expr)
[注意] 注意

"NOBADCHAR"モードでは、$ZWIDTH() は文字列を表示するために使用されたデバイスの動作と一致するかどうかにかかわらず、不正な文字にゼロの長さを返します。

文字セットUTF-8を指定すると、$ZWIDTH() 関数はICUのグリフ関連の規則を使用して、式を表すために必要な列の数を計算します。

$ZWIDTH()の例

例:

GTM>set NG=$char($$FUNC^%HD("200B"))
GTM>set S=$char(26032)_NG_$CHAR(26033)
GTM>W $ZWidth(STR)
4
GTM>

上記の例では、ローカル変数NGには、Unicodeの2つのダブル幅文字の間に表示されない非グラフィック文字が含まれています。

例:

GTM>write $zwidth("The rain in Spain stays mainly in the plain.")
44    
GTM>set A="主要雨在西班牙停留在平原"
GTM>write $length(A)
12
GTM>write $zwidth(A)
24

上記の例では、$ZWIDTH() 関数は、スクリーンまたはプリンタに表示されるときにAの各文字が2列を占めるため、24を返します。

inserted by FC2 system