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 の一般的なカテゴリでは、文字の広範な分類 (文字の種類、10 進数字、区切り記号、数学記号、句読点など) の指定を定義します。

この列挙は、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) など) にもコードが割り当てられます。

適用対象

こちらもご覧ください