public static Models.CodePoint GetCodePoint(UnicodeCharInfo charInfo)
        {
            var category = UnicodeCategoryInfo.Get(charInfo.Category);

            return(new Models.CodePoint
                   (
                       charInfo.CodePoint,
                       UnicodeInfo.GetDisplayText(charInfo),
                       charInfo.Name,
                       charInfo.OldName,
                       charInfo.NameAliases.Select(na => new Models.NameAlias((Models.UnicodeNameAliasKind)(int) na.Kind, na.Name)).ToArray(),
                       new Models.UnicodeCategory(category.ShortName, category.LongName),
                       charInfo.Block,

                       (Models.UnicodeNumericType)(int) charInfo.NumericType,
                       (Models.UnihanNumericType)(int) charInfo.UnihanNumericType,
                       charInfo.NumericValue != null ?
                       new Models.RationalNumber(charInfo.NumericValue.GetValueOrDefault().Numerator, charInfo.NumericValue.GetValueOrDefault().Denominator) :
                       null,

                       charInfo.Definition,
                       charInfo.MandarinReading,
                       charInfo.CantoneseReading,
                       charInfo.JapaneseKunReading,
                       charInfo.JapaneseOnReading,
                       charInfo.KoreanReading,
                       charInfo.HangulReading,
                       charInfo.VietnameseReading,

                       charInfo.SimplifiedVariant,
                       charInfo.TraditionalVariant
                   ));
        }
示例#2
0
        private void blockSelection_SelectedIndexChanged(object sender, EventArgs e)
        {
            charView.Items.Clear();
            UnicodeBlock    newB        = UnicodeInfo.GetBlocks()[blockSelection.SelectedIndex];
            int             i           = newB.CodePointRange.FirstCodePoint;
            int             range_upper = newB.CodePointRange.LastCodePoint;
            UnicodeCharInfo uc          = new UnicodeCharInfo();
            int             itemind     = 0;
            string          name        = "RESERVED CODEPOINT";

            while (i <= range_upper)
            {
                uc = UnicodeInfo.GetCharInfo(i);
                charView.Items.Add(UnicodeInfo.GetDisplayText(uc));
                if (uc.Name != null)
                {
                    name = uc.Name;
                }
                charView.Items[itemind].ToolTipText = name + "\r\nCode point: U+" + BitConverter.ToString(BitConverter.GetBytes(uc.CodePoint).Reverse().ToArray()).Replace("-", "");
                i++;
                itemind++;
            }
        }
示例#3
0
 private record IndexEntry(UnicodeCharInfo CharInfo, string Text, string SearchText);