UnicodeCategory 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文字の 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
- 継承
- 属性
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| 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 桁ゼロ) にもコードが割り当てられます。