From f4dbdd399f2921cf0ce8c6ee7c3e8feb15734137 Mon Sep 17 00:00:00 2001 From: GoldenCrystal Date: Sat, 8 Nov 2014 01:43:17 +0100 Subject: [PATCH] Parse UCD files as UTF8, and parse Blocks.txt for Unicode block information. --- .../CharacterInfoViewModel.cs | 12 +++- UnicodeCharacterInspector/MainWindow.xaml | 31 +++++---- UnicodeInformation.Builder/Program.cs | 3 +- .../UnicodeDataFileReader.cs | 24 +++---- .../UnicodeDataProcessor.cs | 40 ++++++++--- ...deDataBuilder.cs => UnicodeInfoBuilder.cs} | 23 ++++++- .../UnicodeInformation.Builder.csproj | 2 +- .../UnicodeDataManagerTests.cs | 2 +- UnicodeInformation/UnicodeBlock.cs | 20 ++++++ UnicodeInformation/UnicodeCharInfo.cs | 5 +- UnicodeInformation/UnicodeInfo.cs | 63 +++++++++++++++--- UnicodeInformation/UnicodeInformation.csproj | 5 +- UnicodeInformation/ucd.dat | Bin 239159 -> 242682 bytes 13 files changed, 173 insertions(+), 57 deletions(-) rename UnicodeInformation.Builder/{UnicodeDataBuilder.cs => UnicodeInfoBuilder.cs} (81%) create mode 100644 UnicodeInformation/UnicodeBlock.cs diff --git a/UnicodeCharacterInspector/CharacterInfoViewModel.cs b/UnicodeCharacterInspector/CharacterInfoViewModel.cs index 27d23d7..1dd67b3 100644 --- a/UnicodeCharacterInspector/CharacterInfoViewModel.cs +++ b/UnicodeCharacterInspector/CharacterInfoViewModel.cs @@ -12,7 +12,7 @@ namespace UnicodeCharacterInspector { private string character; private int codePoint; - private UnicodeCharInfo characterInfo = UnicodeInfo.Default.Get(0); + private UnicodeCharInfo characterInfo = UnicodeInfo.Default.GetCharInfo(0); public CharacterInfoViewModel() { @@ -40,12 +40,12 @@ namespace UnicodeCharacterInspector if ((character = value) != null) { codePoint = char.ConvertToUtf32(character, 0); - characterInfo = UnicodeInfo.Default.Get(codePoint); + characterInfo = UnicodeInfo.Default.GetCharInfo(codePoint); } else { codePoint = 0; - characterInfo = UnicodeInfo.Default.Get(0); + characterInfo = UnicodeInfo.Default.GetCharInfo(0); } NotifyPropertyChanged(); @@ -53,6 +53,7 @@ namespace UnicodeCharacterInspector NotifyPropertyChanged("Name"); NotifyPropertyChanged("OldName"); NotifyPropertyChanged("Category"); + NotifyPropertyChanged("Block"); NotifyPropertyChanged("CanonicalCombiningClass"); NotifyPropertyChanged("BidirectionalClass"); NotifyPropertyChanged("DecompositionType"); @@ -84,6 +85,11 @@ namespace UnicodeCharacterInspector get { return character != null ? characterInfo.Category : null as UnicodeCategory?; } } + public string Block + { + get { return character != null ? characterInfo.Block : null; } + } + public CanonicalCombiningClass? CanonicalCombiningClass { get { return character != null ? characterInfo.CanonicalCombiningClass : null as CanonicalCombiningClass?; } diff --git a/UnicodeCharacterInspector/MainWindow.xaml b/UnicodeCharacterInspector/MainWindow.xaml index 2c7c828..05ab2eb 100644 --- a/UnicodeCharacterInspector/MainWindow.xaml +++ b/UnicodeCharacterInspector/MainWindow.xaml @@ -69,6 +69,7 @@ +