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 )); }
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++; } }
private record IndexEntry(UnicodeCharInfo CharInfo, string Text, string SearchText);