この関数の型は整数である。
返却値はargument-1の UTF-8 文字または UTF-16 文字の数である。
argument-1 が UTF-16 データを含む各国文字データ項目で、argument-1 にサロゲート ペアが含まれている場合、下位と上位のペアごとに 1 つの UTF-16 文字として数えられる。
UTF-8 の引数に合成文字 (ä、ê、ü など) が含まれている場合、長さを求める際には結合文字が別々に数えられる。次の例のとおり、合成文字によって返却値が変わることがある。
文字 | Unicode エンコーディング | UTF-8 エンコーディング | 戻り値 |
---|---|---|---|
ä |
U+00E4 (合成済み形式、分音記号付きのラテン小文字 a) |
x'C3A4’ | 1 |
U+0061 + U+0308 (正準分解、ラテン小文字 a + 結合分音記号) |
x'61CC88' | 2 |
この関数は表意文字異体字セレクター (IVS) をサポートし、フォント ソフトウェアでデフォルトとは異なる字形を選択できる (異体字が存在しないかサポートされていない場合はフォント ソフトウェアで無視される)。IVS は U-E0100 から U-E01EF の範囲の Unicode 文字で構成される。UTF-16 文字列は U-DB40 + DD00 から U-DB40 + DDEF の範囲のサロゲート ペアを使用し、UTF-8 文字列は 0xF3A08480 から 0xF3A087AF の範囲を使用する。
Unicode 文字の後に IVS が続く場合、この関数の処理において 1 文字として扱われる。