Files
NetUnicodeInfo/UnicodeInformation/UnicodeCharacterData.cs
T

70 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace System.Unicode
{
public sealed class UnicodeCharacterData
{
public readonly UnicodeCharacterRange CodePointRange;
private readonly string name;
public readonly UnicodeCategory Category;
public readonly CanonicalCombiningClass CanonicalCombiningClass;
public readonly BidirectionalClass BidirectionalClass;
public readonly string DecompositionType;
public readonly UnicodeNumericType NumericType;
public readonly UnicodeRationalNumber NumericValue;
public readonly bool BidirectionalMirrored;
public readonly string OldName;
public readonly string SimpleUpperCaseMapping;
public readonly string SimpleLowerCaseMapping;
public readonly string SimpleTitleCaseMapping;
public readonly ContributoryProperties ContributoryProperties;
public readonly int[] RelatedCodePoints;
internal UnicodeCharacterData
(
UnicodeCharacterRange codePointRange,
string name,
UnicodeCategory category,
CanonicalCombiningClass canonicalCombiningClass,
BidirectionalClass bidirectionalClass,
string decompositionType,
UnicodeNumericType numericType,
UnicodeRationalNumber numericValue,
bool bidirectionalMirrored,
string oldName,
string simpleUpperCaseMapping,
string simpleLowerCaseMapping,
string simpleTitleCaseMapping,
ContributoryProperties contributoryProperties,
int[] relatedCodePoints
)
{
this.CodePointRange = codePointRange;
this.name = name;
this.Category = category;
this.CanonicalCombiningClass = canonicalCombiningClass;
this.BidirectionalClass = bidirectionalClass;
this.DecompositionType = decompositionType;
this.NumericType = numericType;
this.NumericValue = numericValue;
this.BidirectionalMirrored = bidirectionalMirrored;
this.OldName = oldName;
this.SimpleUpperCaseMapping = simpleUpperCaseMapping;
this.SimpleLowerCaseMapping = simpleLowerCaseMapping;
this.SimpleTitleCaseMapping = simpleTitleCaseMapping;
this.ContributoryProperties = contributoryProperties;
this.RelatedCodePoints = relatedCodePoints;
}
public bool IsRange { get { return CodePointRange.FirstCodePoint != CodePointRange.LastCodePoint; } }
public string Name { get { return !IsRange ? name : null; } }
}
}