예제 #1
0
        public CodePoint
        (
            int index,
            string displayText,
            string name,
            string oldName,
            NameAlias[] nameAliases,
            UnicodeCategory category,
            string block,

            UnicodeNumericType numericType,
            UnihanNumericType unihanNumericType,
            RationalNumber numericValue,

            string definition,
            string mandarinReading,
            string cantoneseReading,
            string japaneseKunReading,
            string japaneseOnReading,
            string koreanReading,
            string hangulReading,
            string vietnameseReading,

            string simplifiedVariant,
            string traditionalVariant
        )
        {
            Index       = index;
            DisplayText = displayText;
            Name        = name;
            OldName     = oldName;
            NameAliases = nameAliases;
            Category    = category;
            Block       = block;

            NumericType       = numericType;
            UnihanNumericType = unihanNumericType;
            NumericValue      = numericValue;

            Definition         = definition;
            MandarinReading    = mandarinReading;
            CantoneseReading   = cantoneseReading;
            JapaneseKunReading = japaneseKunReading;
            JapaneseOnReading  = japaneseOnReading;
            KoreanReading      = koreanReading;
            HangulReading      = hangulReading;
            VietnameseReading  = vietnameseReading;

            SimplifiedVariant  = simplifiedVariant;
            TraditionalVariant = traditionalVariant;
        }
        public readonly int[]                      CrossRerefences; // NB: It seems that parsing NamesList is required in order to provide data for this field ?

        internal UnicodeCharacterData
        (
            UnicodeCodePointRange codePointRange,
            string name,
            UnicodeNameAlias[] nameAliases,
            UnicodeCategory category,
            CanonicalCombiningClass canonicalCombiningClass,
            BidirectionalClass bidirectionalClass,
            CompatibilityFormattingTag decompositionType,
            string decompositionMapping,
            UnicodeNumericType numericType,
            UnicodeRationalNumber numericValue,
            bool bidirectionalMirrored,
            string oldName,
            string simpleUpperCaseMapping,
            string simpleLowerCaseMapping,
            string simpleTitleCaseMapping,
            ContributoryProperties contributoryProperties,
            int corePropertiesAndEmojiProperties,
            int[] crossRerefences
        )
        {
            this.CodePointRange                   = codePointRange;
            this.Name                             = name;
            this.NameAliases                      = nameAliases;
            this.Category                         = category;
            this.CanonicalCombiningClass          = canonicalCombiningClass;
            this.BidirectionalClass               = bidirectionalClass;
            this.DecompositionType                = decompositionType;
            this.DecompositionMapping             = decompositionMapping;
            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.corePropertiesAndEmojiProperties = corePropertiesAndEmojiProperties;
            this.CrossRerefences                  = crossRerefences;
        }
예제 #3
0
        public void CharacterInfoShouldHaveExpectedResults(int codePoint, UnicodeCategory expectedCategory, UnicodeNumericType expectedNumericType, string expectedNumericValue, string expectedName, string expectedBlock)
        {
            var info = UnicodeInfo.GetCharInfo(codePoint);

            Assert.Equal(codePoint, info.CodePoint);
            Assert.Equal(expectedCategory, info.Category);
            Assert.Equal(expectedNumericType, info.NumericType);
            if (expectedNumericValue != null)
            {
                Assert.Equal(UnicodeRationalNumber.Parse(expectedNumericValue), info.NumericValue);
            }
            else
            {
                Assert.Null(info.NumericValue);
            }
            Assert.Equal(expectedName, info.Name);
            Assert.Equal(expectedBlock, UnicodeInfo.GetBlockName(codePoint));
            Assert.Equal(expectedBlock, info.Block);
        }