次の方法で共有


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
属性

フィールド

名前 説明
UppercaseLetter 0

大文字。 Unicode の指定 "Lu" (文字、大文字) で表されます。 値は 0 です。

LowercaseLetter 1

小文字。 Unicode の指定 "Ll" (文字、小文字) で表されます。 値は 1 です。

TitlecaseLetter 2

タイトルケースの文字。 Unicode の指定 "Lt" (文字、タイトルケース) によって示されます。 値は 2 です。

ModifierLetter 3

修飾子文字。前の文字の変更を示す、フリースタンディングの間隔文字です。 Unicode の指定 "Lm" (文字、修飾子) で表されます。 値は 3 です。

OtherLetter 4

大文字、小文字、タイトルケース文字、または修飾子文字ではない文字。 Unicode の指定 "Lo" (文字、その他) で表されます。 値は 4 です。

NonSpacingMark 5

基本文字の変更を示す非スペース文字。 Unicode の指定 "Mn" (マーク、非スパシング) で表されます。 値は 5 です。

SpacingCombiningMark 6

基本文字の変更を示し、その基本文字のグリフの幅に影響を与える間隔文字。 Unicode の指定 "Mc" (マーク、間隔の組み合わせ) で表されます。 値は 6 です。

EnclosingMark 7

マーク文字を囲む。これは、前のすべての文字を基本文字まで囲む、および基本文字を含む非スペース結合文字です。 Unicode の指定 "Me" (マーク、囲み) で表されます。 値は 7 です。

DecimalDigitNumber 8

10 進数の文字、つまり、0 から 9 の範囲の整数を表す文字。 Unicode の指定 "Nd" (数値、10 進数字) で表されます。 値は 8 です。

LetterNumber 9

10 進数の代わりに文字で表される数値。たとえば、5 のローマ数字は "V" です。 このインジケーターは、Unicode の指定 "Nl" (数字、文字) で示されます。 値は 9 です。

OtherNumber 10

10 進数字でも文字番号でもない数値 (たとえば、分数 1/2)。 このインジケーターは、Unicode の指定 "No" (数値、その他) で示されます。 値は 10 です。

SpaceSeparator 11

グリフを持たないが、コントロールまたは書式設定文字ではないスペース文字。 Unicode の指定 "Zs" (区切り記号、スペース) で表されます。 値は 11 です。

LineSeparator 12

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

ParagraphSeparator 13

段落を区切るために使用する文字。 Unicode の指定 "Zp" (区切り記号、段落) で表されます。 値は 13 です。

Control 14

Unicode 値が U+007F、または U+0000 ~ U+001F または U+0080 ~ U+009F の範囲の制御コード文字。 Unicode の指定 "Cc" (その他、コントロール) によって示されます。 値は 14 です。

Format 15

テキストのレイアウトまたはテキスト プロセスの操作に影響を与えるが、通常はレンダリングされない書式指定文字。 Unicode の指定 "Cf" (その他、形式) で表されます。 値は 15 です。

Surrogate 16

高サロゲート文字または低サロゲート文字。 サロゲート コード値は、U+D800 ~ U+DFFF の範囲です。 Unicode の指定 "Cs" (その他、サロゲート) によって示されます。 値は 16 です。

PrivateUse 17

U+E000 ~ U+F8FF の範囲の Unicode 値を持つプライベート使用文字。 Unicode の指定 "Co" (その他、私的使用) によって示されます。 値は 17 です。

ConnectorPunctuation 18

2 文字を接続するコネクタの句読点文字。 Unicode の指定 "Pc" (句読点、コネクタ) によって示されます。 値は 18 です。

DashPunctuation 19

ダッシュまたはハイフン文字。 Unicode の指定 "Pd" (句読点、ダッシュ) で表されます。 値は 19 です。

OpenPunctuation 20

かっこ、角かっこ、中かっこなど、ペアの句読点の 1 つの開始文字。 Unicode の指定 "Ps" (句読点、開く) によって示されます。 値は 20 です。

ClosePunctuation 21

かっこ、角かっこ、中かっこなど、ペアの句読点の 1 つの終了文字。 Unicode の指定 "Pe" (句読点、閉じる) によって示されます。 値は 21 です。

InitialQuotePunctuation 22

開始または最初の引用符文字。 Unicode の指定 "Pi" (句読点、最初の引用符) で表されます。 値は 22 です。

FinalQuotePunctuation 23

終了または最後の引用符文字。 Unicode の指定 "Pf" (句読点、最後の引用符) で表されます。 値は 23 です。

OtherPunctuation 24

コネクタ、ダッシュ、開いた句読点、閉じる句読点、最初の引用符、または最後の引用符ではない句読点文字。 Unicode の指定 "Po" (句読点、その他) によって示されます。 値は 24 です。

MathSymbol 25

"+" や "= " などの数学記号文字。 Unicode の指定 "Sm" (記号、数学) で表されます。 値は 25 です。

CurrencySymbol 26

通貨記号文字。 Unicode の指定 "Sc" (記号、通貨) で表されます。 値は 26 です。

ModifierSymbol 27

修飾記号文字。周囲の文字の変更を示します。 たとえば、分数スラッシュは、左側の数値が分子であり、右側の数値が分母であることを示します。 このインジケーターは、Unicode の指定 "Sk" (シンボル、修飾子) によって示されます。 値は 27 です。

OtherSymbol 28

数学記号、通貨記号、または修飾記号ではないシンボル文字。 Unicode の指定 "So" (記号、その他) によって示されます。 値は 28 です。

OtherNotAssigned 29

Unicode カテゴリに割り当てられない文字。 Unicode の指定 "Cn" によって示されます (その他、割り当てされていません)。 値は 29 です。

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

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

この列挙型は、Unicode Standard バージョン 5.0 に基づいています。 詳細については、 Unicode 文字データベースの「UCD ファイル形式」および「一般カテゴリ値」サブトピックを参照してください。

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 (Arabic-Indic 桁ゼロ) にもコードが割り当てられます。

適用対象

こちらもご覧ください