2014-10-23 01:54:48 +02:00
<Window x:Class= "UnicodeCharacterInspector.MainWindow"
xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:System= "clr-namespace:System;assembly=mscorlib"
xmlns:local= "clr-namespace:UnicodeCharacterInspector"
mc:Ignorable= "d"
2014-10-25 01:31:36 +02:00
TextOptions.TextFormattingMode= "Display"
2014-10-25 01:15:03 +02:00
Title= "Unicode character inspector"
2014-10-23 01:54:48 +02:00
Background= "{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
2014-11-08 22:31:22 +01:00
Height= "450" Width= "600" >
2014-10-23 01:54:48 +02:00
<Window.DataContext>
2014-10-25 01:15:03 +02:00
<local:CharacterInspectorViewModel />
2014-10-23 01:54:48 +02:00
</Window.DataContext>
2014-11-17 20:08:29 +01:00
<Grid Margin= "10" >
2014-10-23 01:54:48 +02:00
<Grid.Resources>
<Style TargetType= "{x:Type Label}" BasedOn= "{StaticResource ResourceKey={x:Type Label}}" >
<Setter Property= "Margin" Value= "3" />
</Style>
<Style TargetType= "{x:Type TextBox}" BasedOn= "{StaticResource ResourceKey={x:Type TextBox}}" >
<Setter Property= "Margin" Value= "3" />
</Style>
2014-10-25 01:15:03 +02:00
<Style TargetType= "{x:Type ListBox}" BasedOn= "{StaticResource ResourceKey={x:Type ListBox}}" >
<Setter Property= "Margin" Value= "3" />
</Style>
2014-11-05 22:39:31 +01:00
<Style TargetType= "{x:Type ScrollViewer}" BasedOn= "{StaticResource ResourceKey={x:Type ScrollViewer}}" >
<Setter Property= "Margin" Value= "3" />
</Style>
2014-10-23 01:54:48 +02:00
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
2014-11-14 02:19:53 +01:00
<ColumnDefinition Width= "120" />
2014-10-25 01:15:03 +02:00
<ColumnDefinition Width= "*" />
2014-10-23 01:54:48 +02:00
</Grid.ColumnDefinitions>
2014-11-17 20:08:29 +01:00
<TextBox Grid.ColumnSpan= "2" ScrollViewer.VerticalScrollBarVisibility= "Auto" MinLines= "1" MaxLines= "5" AcceptsTab= "True" AcceptsReturn= "True" local:Placeholder.Text= "Text to analyse" Text= "{Binding Text, UpdateSourceTrigger=PropertyChanged}" />
2017-06-25 17:14:03 +02:00
<ListBox Grid.Row= "1" Grid.RowSpan= "3" ItemsSource= "{Binding Characters}" SelectedIndex= "{Binding SelectedCharacterIndex}" >
2014-11-14 02:19:53 +01:00
<ListBox.ItemTemplate>
<DataTemplate>
2017-06-25 17:14:03 +02:00
<TextBlock FontFamily= "{Binding CodePoint, Mode=OneWay, Converter={StaticResource CodePointToFontFamilyConverter}}" ><Run Text= "{Binding DisplayText, Mode=OneWay}" /> <Run Text= "{Binding CodePoint, Mode=OneWay, StringFormat=U+{0:X4}}" Foreground= "{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" FontStyle= "Italic" /></TextBlock>
2014-11-14 02:19:53 +01:00
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
2017-06-25 17:14:03 +02:00
<TextBlock Grid.Row= "1" Grid.Column= "1" TextOptions.TextHintingMode= "Fixed" TextOptions.TextFormattingMode= "Ideal" TextOptions.TextRenderingMode= "Grayscale" Text= "{Binding SelectedCharacterInfo.DisplayText}" FontSize= "96" HorizontalAlignment= "Center" VerticalAlignment= "Center" FontFamily= "{Binding SelectedCharacterInfo.CodePoint, Mode=OneWay, Converter={StaticResource CodePointToFontFamilyConverter}}" />
2014-11-08 22:00:12 +01:00
<ScrollViewer Grid.Row= "2" Grid.Column= "1" VerticalScrollBarVisibility= "Auto" >
2014-11-05 22:39:31 +01:00
<Grid>
2014-11-06 00:41:59 +01:00
<Grid.Resources>
<Style TargetType= "{x:Type TextBlock}" BasedOn= "{StaticResource ResourceKey={x:Type TextBlock}}" >
2014-11-14 02:19:53 +01:00
<Setter Property= "VerticalAlignment" Value= "Top" />
2014-11-08 22:31:22 +01:00
<Setter Property= "Margin" Value= "6" />
2014-11-06 00:41:59 +01:00
</Style>
2014-11-21 17:04:55 +01:00
<Style TargetType= "{x:Type ItemsControl}" BasedOn= "{StaticResource ResourceKey={x:Type ItemsControl}}" >
<Setter Property= "Margin" Value= "6" />
</Style>
2014-11-06 00:41:59 +01:00
</Grid.Resources>
2014-11-05 22:39:31 +01:00
<Grid.ColumnDefinitions>
<ColumnDefinition Width = "Auto" />
<ColumnDefinition Width= "*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-05 23:10:22 +01:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-06 00:41:59 +01:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-07 01:05:40 +01:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-08 01:43:17 +01:00
<RowDefinition Height= "Auto" />
2014-11-08 22:00:12 +01:00
<RowDefinition Height= "Auto" />
2014-11-15 11:50:43 +01:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-15 12:10:04 +01:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-21 16:51:09 +01:00
<RowDefinition Height= "Auto" />
2017-06-25 17:14:03 +02:00
<RowDefinition Height= "Auto" />
<RowDefinition Height= "Auto" />
2014-11-24 20:09:59 +01:00
<RowDefinition Height= "Auto" />
2014-11-05 22:39:31 +01:00
<RowDefinition Height= "*" />
</Grid.RowDefinitions>
2014-11-08 22:00:12 +01:00
<TextBlock Grid.Row= "0" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.CodePoint, Converter={StaticResource NullToVisibilityConverter}}" Text= "Code Point" />
2014-11-06 00:41:59 +01:00
<TextBlock Grid.Row= "0" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.CodePoint, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.CodePoint, StringFormat=U+{0:X4}, TargetNullValue={x:Static System:String.Empty}}" />
2014-11-08 22:00:12 +01:00
<TextBlock Grid.Row= "1" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.Name, Converter={StaticResource NullToVisibilityConverter}}" Text= "Name" />
2014-11-08 22:31:22 +01:00
<TextBlock Grid.Row= "1" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.Name, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.Name}" />
2014-11-08 22:00:12 +01:00
<TextBlock Grid.Row= "2" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.OldName, Converter={StaticResource NullToVisibilityConverter}}" Text= "Old Name" />
2014-11-08 22:31:22 +01:00
<TextBlock Grid.Row= "2" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.OldName, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.OldName}" />
2014-11-21 16:51:09 +01:00
<TextBlock Grid.Row= "3" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.NameAliases.Count, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Aliases" />
<ItemsControl Grid.Row= "3" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.NameAliases.Count, Converter={StaticResource ZeroToVisibilityConverter}}" ItemsSource= "{Binding SelectedCharacterInfo.NameAliases}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
2014-11-21 17:04:55 +01:00
<TextBlock TextWrapping= "WrapWithOverflow" >
<Run Text= "{Binding Name, Mode=OneTime}" /> (<Run Text= "{Binding Kind, Mode=OneTime}" /> )
</TextBlock>
2014-11-21 16:51:09 +01:00
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2014-11-24 20:09:59 +01:00
<TextBlock Grid.Row= "4" Grid.Column= "0" VerticalAlignment= "Top" Visibility= "{Binding SelectedCharacterInfo.RadicalStrokeCounts.Count, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Radical & Stroke Count" />
<ItemsControl Grid.Row= "4" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.RadicalStrokeCounts.Count, Converter={StaticResource ZeroToVisibilityConverter}}" ItemsSource= "{Binding SelectedCharacterInfo.RadicalStrokeCounts}" >
2014-11-24 00:24:55 +01:00
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping= "WrapWithOverflow" >
2014-11-24 20:09:59 +01:00
Radical <Run Text= "{Binding Radical, Mode=OneTime}" /> (<Run Text= "{Binding Mode=OneTime, Converter={StaticResource RadicalStrokeCountToCharConverter}}" /> ), <Run Text= "{Binding StrokeCount, Mode=OneTime}" /> strokes
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<TextBlock Grid.Row= "5" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.SimplifiedVariant, Converter={StaticResource NullToVisibilityConverter}}" Text= "Simplified Variant" />
<TextBlock Grid.Row= "5" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.SimplifiedVariant, Converter={StaticResource NullToVisibilityConverter}}" >
“<Run Text= "{Binding SelectedCharacterInfo.SimplifiedVariant, Mode=OneWay}" /> ” U+<Run Text= "{Binding SelectedCharacterInfo.SimplifiedVariant, Mode=OneWay, Converter={StaticResource StringToUtf32Converter}, StringFormat=X4}" />
</TextBlock>
<TextBlock Grid.Row= "6" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.TraditionalVariant, Converter={StaticResource NullToVisibilityConverter}}" Text= "Traditional Variant" />
<TextBlock Grid.Row= "6" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.TraditionalVariant, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.TraditionalVariant}" />
<TextBlock Grid.Row= "7" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.Definition, Converter={StaticResource NullToVisibilityConverter}}" Text= "Unihan Definition" />
<TextBlock Grid.Row= "7" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.Definition, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.Definition}" />
<TextBlock Grid.Row= "8" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.MandarinReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Mandarin Reading" />
<TextBlock Grid.Row= "8" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.MandarinReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.MandarinReading}" />
<TextBlock Grid.Row= "9" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.CantoneseReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Cantonese Reading" />
<TextBlock Grid.Row= "9" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.CantoneseReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.CantoneseReading}" />
<TextBlock Grid.Row= "10" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.JapaneseKunReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Japanese Kun Reading" />
<TextBlock Grid.Row= "10" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.JapaneseKunReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.JapaneseKunReading}" />
<TextBlock Grid.Row= "11" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.JapaneseOnReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Japanese On Reading" />
<TextBlock Grid.Row= "11" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.JapaneseOnReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.JapaneseOnReading}" />
<TextBlock Grid.Row= "12" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.KoreanReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Korean Reading" />
<TextBlock Grid.Row= "12" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.KoreanReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.KoreanReading}" />
<TextBlock Grid.Row= "13" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.HangulReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "Hangul Reading" />
<TextBlock Grid.Row= "13" Grid.Column= "1" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.HangulReading, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.HangulReading}" />
<TextBlock Grid.Row= "14" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.Category, Converter={StaticResource NullToVisibilityConverter}}" Text= "Category" />
<TextBlock Grid.Row= "14" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.Category, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.Category}" />
<TextBlock Grid.Row= "15" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.Block, Converter={StaticResource NullToVisibilityConverter}}" Text= "Block" />
<TextBlock Grid.Row= "15" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.Block, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.Block}" />
<TextBlock Grid.Row= "16" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.CanonicalCombiningClass, Converter={StaticResource NullToVisibilityConverter}}" Text= "Canonical Combining Class" />
<TextBlock Grid.Row= "16" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.CanonicalCombiningClass, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.CanonicalCombiningClass}" />
<TextBlock Grid.Row= "17" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.BidirectionalClass, Converter={StaticResource NullToVisibilityConverter}}" Text= "Bidirectional Class" />
<TextBlock Grid.Row= "17" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.BidirectionalClass, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.BidirectionalClass}" />
<TextBlock Grid.Row= "18" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.DecompositionType, Converter={StaticResource NullToVisibilityConverter}}" Text= "Decomposition Type" />
<TextBlock Grid.Row= "18" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.DecompositionType, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.DecompositionType}" />
<TextBlock Grid.Row= "19" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.DecompositionMapping, Converter={StaticResource NullToVisibilityConverter}}" Text= "Decomposition Mapping" />
<TextBlock Grid.Row= "19" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.DecompositionMapping, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.DecompositionMapping}" />
<TextBlock Grid.Row= "20" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.NumericType, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Numeric Type" />
<TextBlock Grid.Row= "20" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.NumericType, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.NumericType}" />
<TextBlock Grid.Row= "21" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.UnihanNumericType, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Numeric Type (Unihan)" />
<TextBlock Grid.Row= "21" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.UnihanNumericType, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.UnihanNumericType}" />
<TextBlock Grid.Row= "22" Grid.Column= "0" Visibility= "{Binding SelectedCharacterInfo.NumericValue, Converter={StaticResource NullToVisibilityConverter}}" Text= "Numeric Value" />
<TextBlock Grid.Row= "22" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.NumericValue, Converter={StaticResource NullToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.NumericValue}" />
<TextBlock Grid.Row= "23" Grid.Column= "0" VerticalAlignment= "Top" Visibility= "{Binding SelectedCharacterInfo.ContributoryProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Contributory Properties" />
<TextBlock Grid.Row= "23" Grid.Column= "1" VerticalAlignment= "Top" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.ContributoryProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.ContributoryProperties}" />
<TextBlock Grid.Row= "24" Grid.Column= "0" VerticalAlignment= "Top" Visibility= "{Binding SelectedCharacterInfo.CoreProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Core Properties" />
<TextBlock Grid.Row= "24" Grid.Column= "1" VerticalAlignment= "Top" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.CoreProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.CoreProperties}" />
2017-06-25 17:14:03 +02:00
<TextBlock Grid.Row= "25" Grid.Column= "0" VerticalAlignment= "Top" Visibility= "{Binding SelectedCharacterInfo.EmojiProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Emoji Properties" />
<TextBlock Grid.Row= "25" Grid.Column= "1" VerticalAlignment= "Top" TextWrapping= "WrapWithOverflow" Visibility= "{Binding SelectedCharacterInfo.EmojiProperties, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "{Binding SelectedCharacterInfo.EmojiProperties}" />
<TextBlock Grid.Row= "26" Grid.Column= "0" VerticalAlignment= "Top" Visibility= "{Binding SelectedCharacterInfo.CrossReferences.Count, Converter={StaticResource ZeroToVisibilityConverter}}" Text= "Cross-References" />
<ItemsControl Grid.Row= "26" Grid.Column= "1" Visibility= "{Binding SelectedCharacterInfo.CrossReferences.Count, Converter={StaticResource ZeroToVisibilityConverter}}" ItemsSource= "{Binding SelectedCharacterInfo.CrossReferences}" >
2014-11-24 20:09:59 +01:00
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping= "WrapWithOverflow" >
“<Run Text= "{Binding Mode=OneTime, Converter={StaticResource Utf32ToDisplayTextConverter}}" /> ” U+<Run Text= "{Binding Mode=OneTime, StringFormat=X4}" /> <Run Text= "{Binding Mode=OneTime, Converter={StaticResource Utf32ToNameConverter}}" />
2014-11-24 00:24:55 +01:00
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2014-11-05 22:39:31 +01:00
</Grid>
</ScrollViewer>
2014-11-17 20:08:29 +01:00
</Grid>
2014-10-23 01:54:48 +02:00
</Window>