Skip to content

Commit 76e5b5f

Browse files
committed
Added ValueNameAttribute on UnicodeCharInfo properties. Those reference the name of the associated Unicode property.
1 parent 2fd517a commit 76e5b5f

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

UnicodeInformation/UnicodeCharInfo.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,62 @@ public struct UnicodeCharInfo
1717

1818
public int CodePoint { get { return codePoint; } }
1919

20+
[ValueName("Name"), ValueName("na")]
2021
public string Name { get { return name; } }
22+
[ValueName("Name_Alias")]
2123
public UnicodeNameAliasCollection NameAliases { get { return new UnicodeNameAliasCollection(unicodeCharacterData?.NameAliases); } }
2224

25+
[ValueName("General_Category"), ValueName("gc")]
2326
public UnicodeCategory Category { get { return unicodeCharacterData?.Category ?? UnicodeCategory.OtherNotAssigned; } }
27+
[ValueName("Block"), ValueName("blk")]
2428
public string Block { get { return block ?? UnicodeInfo.DefaultBlock; } }
29+
[ValueName("Canonical_Combining_Class"), ValueName("ccc")]
2530
public CanonicalCombiningClass CanonicalCombiningClass { get { return unicodeCharacterData?.CanonicalCombiningClass ?? CanonicalCombiningClass.NotReordered; } }
31+
[ValueName("Bidi_Class"), ValueName("bc")]
2632
public BidirectionalClass BidirectionalClass { get { return unicodeCharacterData?.BidirectionalClass ?? BidirectionalClass.LeftToRight; } }
33+
[ValueName("Decomposition_Type"), ValueName("dt")]
2734
public CompatibilityFormattingTag DecompositionType { get { return unicodeCharacterData?.DecompositionType ?? CompatibilityFormattingTag.Canonical; } }
35+
[ValueName("Decomposition_Mapping"), ValueName("dm")]
2836
public string DecompositionMapping { get { return unicodeCharacterData?.DecompositionMapping; } }
37+
[ValueName("Numeric_Type"), ValueName("nt")]
2938
public UnicodeNumericType NumericType { get { return unihanCharacterData != null ? unihanCharacterData.NumericType != UnihanNumericType.None ? UnicodeNumericType.Numeric : UnicodeNumericType.None : unicodeCharacterData?.NumericType ?? UnicodeNumericType.None; } }
3039
public UnihanNumericType UnihanNumericType { get { return unihanCharacterData != null ? unihanCharacterData.NumericType : UnihanNumericType.None; } }
40+
[ValueName("Numeric_Value"), ValueName("nv")]
3141
public UnicodeRationalNumber? NumericValue { get { return unihanCharacterData != null && unihanCharacterData.NumericType != UnihanNumericType.None ? new UnicodeRationalNumber(unihanCharacterData.NumericValue, 1) : unicodeCharacterData?.NumericValue; } }
42+
[ValueName("Bidi_Mirrored")]
3243
public bool BidirectionalMirrored { get { return unicodeCharacterData?.BidirectionalMirrored ?? false; } }
44+
[ValueName("Unicode_1_Name"), ValueName("na1")]
3345
public string OldName { get { return unicodeCharacterData?.OldName; } }
46+
[ValueName("Simple_Uppercase_Mapping"), ValueName("suc")]
3447
public string SimpleUpperCaseMapping { get { return unicodeCharacterData?.SimpleUpperCaseMapping; } }
48+
[ValueName("Simple_Lowercase_Mapping"), ValueName("slc")]
3549
public string SimpleLowerCaseMapping { get { return unicodeCharacterData?.SimpleLowerCaseMapping; } }
50+
[ValueName("Simple_Titlecase_Mapping"), ValueName("stc")]
3651
public string SimpleTitleCaseMapping { get { return unicodeCharacterData?.SimpleTitleCaseMapping; } }
3752
public ContributoryProperties ContributoryProperties { get { return unicodeCharacterData?.ContributoryProperties ?? 0; } }
3853
public CoreProperties CoreProperties { get { return unicodeCharacterData?.CoreProperties ?? 0; } }
3954
public UnicodeCrossReferenceCollection CrossRerefences { get { return new UnicodeCrossReferenceCollection(unicodeCharacterData?.CrossRerefences); } }
4055

56+
[ValueName("kDefinition")]
4157
public string Definition { get { return unihanCharacterData?.Definition; } }
58+
[ValueName("kMandarin")]
4259
public string MandarinReading { get { return unihanCharacterData?.MandarinReading; } }
60+
[ValueName("kCantonese")]
4361
public string CantoneseReading { get { return unihanCharacterData?.CantoneseReading; } }
62+
[ValueName("kJapaneseKun")]
4463
public string JapaneseKunReading { get { return unihanCharacterData?.JapaneseKunReading; } }
64+
[ValueName("kJapaneseOn")]
4565
public string JapaneseOnReading { get { return unihanCharacterData?.JapaneseOnReading; } }
66+
[ValueName("kKorean")]
4667
public string KoreanReading { get { return unihanCharacterData?.KoreanReading; } }
68+
[ValueName("kHangul")]
4769
public string HangulReading { get { return unihanCharacterData?.HangulReading; } }
70+
[ValueName("kVietnamese")]
4871
public string VietnameseReading { get { return unihanCharacterData?.VietnameseReading; } }
4972

73+
[ValueName("kSimplifiedVariant")]
5074
public string SimplifiedVariant { get { return unihanCharacterData?.SimplifiedVariant; } }
75+
[ValueName("kTraditionalVariant")]
5176
public string TraditionalVariant { get { return unihanCharacterData?.TraditionalVariant; } }
5277

5378
internal UnicodeCharInfo(int codePoint, UnicodeCharacterData unicodeCharacterData, UnihanCharacterData unihanCharacterData, string block)

UnicodeInformation/ValueNameAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace System.Unicode
88
{
9-
[AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
9+
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
1010
public sealed class ValueNameAttribute : Attribute
1111
{
1212
private readonly string name;

0 commit comments

Comments
 (0)