UnicodeCategory 列挙型

定義

文字の Unicode カテゴリを定義します。

public enum class UnicodeCategory
public enum UnicodeCategory
[System.Serializable]
public enum UnicodeCategory
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum UnicodeCategory
type UnicodeCategory = 
[<System.Serializable>]
type UnicodeCategory = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UnicodeCategory = 
Public Enum UnicodeCategory
継承
UnicodeCategory
属性

フィールド

ClosePunctuation 21

かっこ、角かっこ、中かっこなどの区切り記号のペアの終了文字。 Unicode の表記では "Pe" (punctuation, close) で表されます。 値は 21 です。

ConnectorPunctuation 18

2 つの文字を接続するコネクタ区切り記号文字。 Unicode の表記では "Pc" (punctuation, connector) で表されます。 値は 18 です。

Control 14

Unicode 値が U+007F、U+0000 から U+001F の範囲、または U+0080 から U+009F の範囲に含まれる制御コード文字。 Unicode の表記では "Cc" (other, control) で表されます。 値は 14 です。

CurrencySymbol 26

通貨記号文字。 Unicode の表記では "Sc" (symbol, currency) で表されます。 値は 26 です。

DashPunctuation 19

ダッシュ文字またはハイフン文字。 Unicode の表記では "Pd" (punctuation, dash) で表されます。 値は 19 です。

DecimalDigitNumber 8

10 進数字文字、つまり 0 から 9 の範囲の整数を表す文字。 Unicode の表記 "Nd" (number, decimal digit) によって指定します。 値は 8 です。

EnclosingMark 7

囲み記号文字。基本文字まで (基本文字を含む) のすべての先行文字を囲む非スペーシング組み合わせ文字です。 Unicode の表記では "Me" (mark, enclosing) で表されます。 値は 7 です。

FinalQuotePunctuation 23

終了引用符文字または最後の引用符文字。 Unicode の表記では "Pf" (punctuation, final quote) で表されます。 値は 23 です。

Format 15

形式指定文字。テキストのレイアウトまたはテキスト処理の動作に影響を与えますが、通常は表示されません。 Unicode の表記では "Cf" (other, format) で表されます。 値は 15 です。

InitialQuotePunctuation 22

開始引用符文字または最初の引用符文字。 Unicode の表記では "Pi" (punctuation, initial quote) で表されます。 値は 22 です。

LetterNumber 9

数字の 5 がローマ数字では "V" になるように、10 進数の数字ではなく文字によって表される数値。 Unicode の表記では "Nl" (number, letter) で表されます。 値は 9 です。

LineSeparator 12

テキストの行を区切るために使用される文字。 Unicode の表記では "Zl" (separator, line) で表されます。 値は 12 です。

LowercaseLetter 1

小文字。 Unicode の表記では "Ll" (letter, lowercase) で表されます。 値は 1 です。

MathSymbol 25

プラス記号 "+" や等号 "=" などの算術記号文字。 Unicode の表記では "Sm" (symbol, math) で表されます。 値は 25 です。

ModifierLetter 3

修飾子文字。先行文字の修飾を示す独立型スペース文字です。 Unicode の表記では "Lm" (letter, modifier) で表されます。 値は 3 です。

ModifierSymbol 27

修飾子記号文字。囲んでいる文字の修飾を示します。 たとえば、分数のスラッシュは、左側の数値が分子で、右側の数値が分母であることを示します。 Unicode の表記では "Sk" (symbol, modifier) で表されます。 値は 27 です。

NonSpacingMark 5

基本文字の修飾を示す非スペース文字。 Unicode の表記では "Mn" (mark, nonspacing) で表されます。 値は 5 です。

OpenPunctuation 20

かっこ、角かっこ、中かっこなどの区切り記号のペアの開始文字。 Unicode の表記では "Ps" (punctuation, open) で表されます。 値は 20 です。

OtherLetter 4

大文字、小文字、タイトル文字、または修飾子文字以外の文字。 Unicode の表記では "Lo" (letter, other) で表されます。 値は 4 です。

OtherNotAssigned 29

Unicode カテゴリに割り当てられていない文字。 Unicode の表記では "Cn" (other, not assigned) で表されます。 値は 29 です。

OtherNumber 10

分数の 1/2 のように、10 進数の数字でも文字数字でもない数値。 インジケーターは、Unicode の表記 "No" (number, other) によって指定します。 値は 10 です。

OtherPunctuation 24

区切り文字。コネクタ、ダッシュ、開始区切り、終了区切り、最初の引用、または最後の引用以外。 Unicode の表記では "Po" (punctuation, other) で表されます。 値は 24 です。

OtherSymbol 28

算術記号、通貨記号、または修飾子記号以外の記号文字。 Unicode の表記では "So" (symbol, other) で表されます。 値は 28 です。

ParagraphSeparator 13

段落を区切るために使用される文字。 Unicode の表記では "Zp" (separator, paragraph) で表されます。 値は 13 です。

PrivateUse 17

Unicode 値が U+E000 から U+F8FF の範囲に含まれるプライベート使用の文字。 Unicode の表記では "Co" (other, private use) で表されます。 値は 17 です。

SpaceSeparator 11

制御文字または形式指定文字以外のグリフのない空白文字。 Unicode の表記では "Zs" (separator, space) で表されます。 値は 11 です。

SpacingCombiningMark 6

基本文字の修飾を示し、その基本文字のグリフの幅に影響を与えるスペース文字。 Unicode の表記では "Mc" (mark, spacing combining) で表されます。 値は 6 です。

Surrogate 16

上位サロゲート文字または下位サロゲート文字。 サロゲート コード値は、U+D800 から U+DFFF の範囲です。 Unicode の表記では "Cs" (other, surrogate) で表されます。 値は 16 です。

TitlecaseLetter 2

タイトル文字。 Unicode の表記では "Lt" (letter, titlecase) で表されます。 値は 2 です。

UppercaseLetter 0

大文字。 Unicode の表記では "Lu" (letter, uppercase) で表されます。 値は 0 です。

次の使用例は、文字とそれに対応するコード ポイントを、UppercaseLetter カテゴリの文字に表示します。 この例を変更して、他のカテゴリの文字を表示するには、UppercaseLetter を変数への割り当てで目的のカテゴリに category 置き換えます。 一部のカテゴリの出力は広範囲に及ぶ可能性があることに注意してください。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int ctr = 0;
      UnicodeCategory category = UnicodeCategory.UppercaseLetter;

      for (ushort codePoint = 0; codePoint < ushort.MaxValue; codePoint++) {
         Char ch = (char)codePoint;

         if (CharUnicodeInfo.GetUnicodeCategory(ch) == category) {
            if (ctr % 5 == 0)
               Console.WriteLine();
            Console.Write("{0} (U+{1:X4})     ", ch, codePoint);
            ctr++;
         }
      }
      Console.WriteLine();
      Console.WriteLine("\n{0} characters are in the {1:G} category",
                        ctr, category);
   }
}
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim ctr As Integer = 0
      Dim category As UnicodeCategory = UnicodeCategory.UppercaseLetter
      
      For codePoint As UShort = 0 To UShort.MaxValue - 1
         Dim ch As Char = Convert.ToChar(codePoint)

         If CharUnicodeInfo.GetUnicodeCategory(ch) = category Then
            If ctr Mod 5 = 0 Then Console.WriteLine()
            Console.Write("{0} (U+{1:X4})     ", ch, codePoint)
            ctr += 1
         End If 
      Next
      Console.WriteLine()
      Console.WriteLine()
      Console.WriteLine("{0} characters are in the {1:G} category", 
                        ctr, category)   
   End Sub
End Module

注釈

列挙体のUnicodeCategoryメンバーは、 メソッドと CharUnicodeInfo.GetUnicodeCategory メソッドによってChar.GetUnicodeCategory返されます。 UnicodeCategory列挙体は、 などのIsUpper(Char)メソッドをサポートCharするためにも使用されます。 このようなメソッドは、指定された文字が特定の Unicode 一般カテゴリのメンバーであるかどうかを判断します。 Unicode の一般的なカテゴリでは、文字の広範な分類(文字の種類、小数点、区切り記号、数学記号、句読点など)を定義します。

この列挙体は、Unicode Standard バージョン 5.0 に基づいています。 詳細については、「Unicode Character Database (Unicode 文字データベース)」内の「UCD File Format (UCD ファイル形式)」および「General Category Values (一般カテゴリの値)」を参照してください。

Unicode 標準では、次の定義が定義されています。

サロゲート ペアは、2 つのコード単位のシーケンスで構成される 1 つの抽象文字のコード化された文字表現です。この場合、ペアの最初の単位は上位サロゲート、2 番目のユニットは低サロゲートです。 上位サロゲートは U+D800 ~ U+DBFF の範囲の Unicode コード ポイントであり、低サロゲートは U+DC00 から U+DFFF の範囲の Unicode コード ポイントです。

結合文字シーケンスは、基本文字と 1 つ以上の結合文字の組み合わせです。 サロゲート ペアは、基本文字または結合文字を表します。 結合文字は、スペースまたは非スペーシングです。 文字を結合するスペースは、レンダリング時にそれ自体でスペース位置を占めますが、非スペーシング結合文字では行われません。 分音記号は、非スペーシング結合文字の例です。

修飾子文字は、結合文字と同様に、前の文字の変更を示す、フリースタンディングの間隔文字です。

囲み記号は、前のすべての文字を基本文字まで囲み、基本文字を含む非スペーシング結合文字です。

書式文字は、通常はレンダリングされませんが、テキストのレイアウトやテキスト プロセスの操作に影響を与える文字です。

Unicode 標準では、いくつかの句読点に対していくつかのバリエーションが定義されています。 たとえば、ハイフンには、U+002D (ハイフンマイナス) や U+00AD (ソフト ハイフン) や U+2010 (ハイフン) や U+2011 (改行しないハイフン) など、ハイフンを表す複数のコード値のいずれかを指定できます。 ダッシュ、スペース文字、引用符についても同様です。

Unicode 標準では、特定のスクリプトまたは言語に固有の 10 進数の表現にコードも割り当てられます。たとえば、U+0030 (数字 0)、U+0660 (アラビア数字 0) などです。

適用対象

こちらもご覧ください