Giter VIP home page Giter VIP logo

character-map-uwp's Introduction

Character Map UWP

A modern, native UWP replacement for the Win32 Character Map and Windows Font Viewer with flawless high DPI and touch support.

English badge

Screenshots

image

character-map-uwp's People

Contributors

alessandrocaseti avatar avid29 avatar baka632 avatar brullsker avatar ediwang avatar esibruti avatar jaiganeshkumaran avatar jasonwei512 avatar johnnywestlake avatar jvariance avatar michalleptuch avatar nicolgit avatar ray1997 avatar sbebo avatar superusercode avatar tesar-tech avatar vixb1122 avatar yoshiask avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

character-map-uwp's Issues

Settings View null-ref exception

Object reference not set to an instance of an object.
   at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Update_Settings(AppSettings, Int32) + 0x1dd
   at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Update_(SettingsView, Int32) + 0x3a
   at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Loading(FrameworkElement, Object) + 0x1c
   at Windows.UI.Xaml.Controls.SelectionChangedEventHandler.Invoke(Object, SelectionChangedEventArgs) + 0x2e
   at __Interop.Intrinsics.HasThisCall__22[TArg0](Object, IntPtr, Object, TArg0) + 0x36
   at CharacterMap!<BaseAddress>+0xe9d2fe

OS Version: 10.0.17763.1039
OS Architecture: X64
App Version: 2020.5.3.0
App Culture: en-US

Whitespace Characters

It would be great, if white-space characters wouldn't be just a blank field which makes them indistinguishable.

Fonts not in alphabetical order

I think the font listing (left-hand column) is supposed to be in alphabetical order, since it has A, B, C, etc. but the fonts within some of the letters are not listed alphabetically. For example, look at C: Corbel, Cooper, and lots of others come before Calibri, which is almost last in that section. It's harder to find specific fonts when they're not in alphabetical order.

Ability to copy out FontIcon in C#

In addition to copying the XAML FontIcon code, it would be nice in some situations to be able to copy code for making a new C# FontIcon with the correct glyph code.

Make the UI more polished

Caption buttons background is a mess when window gets inactive. Also why captions hover background is darker while settings hover background is light? Would love to see more fluent design!

Mouse wheel support regression?

Version 2019.2.0.0, pushed out over the past couple of days. Mouse wheel support has regressed. The thin scroll bar moves up and down but the glyphs remain stationary. I can move the mouse pointer to the scroll bar; it widens, and I can drag to scroll.

This is under Windows 10 1809, which I upgraded a couple of days ago. Very similar to Issue #30 as originally reported..

Arrow keys do work.

Terminal font

Thanks for the great tool. Is there a way to view the Terminal font?
image

Display Hex Code and Unicode Name

Display the hex code and Unicode name somewhere below the character. If space is an issue, for XAML Code, FontIcon and Symbol Icon, it suffices to have a copy button. There is no need to display what exactly is being copied. The same for saving the glyph as PNG. Most users don't need these ever.

Error Loading Font List

I am not able to find a solution for my issue so I'm posting it here. I downloaded your free Character Map UWP app from the MS store for my Windows 10 laptop. I launch the application and I get the error: Error Loading Font List Index and length must refer to a location within the string. Parameter name: length

Please advise on how to fix this. I like your app over the other apps available.

ErrorLoadingFontList

Suggestion: Classify Fonts

Hello. Love the app. Such a big improvement. Many thanks.

One suggestion for an improvement would be to allow users to classify a font to be included/excluded from the symbol font list. For example, font awesome doesn't show up in the symbol font list and it would be nice if I could change that.

Anyway, great job :)

Instant Search

Instant search is nice, but only if it is super fast. If it isn't – like on my machine –, make it possible to disable it.

Fonts not in alphabetical order

I love this character map but mine doesn't show up I alphabetical order. I saw a post where this was addressed for another user on November 29th. The user commented that the change had cane through on their system shortly after the post about the update being done. Do I need to do anything to update to the new version or is there anything I need to do to get that update? I have opened and used it many times since the new release that is mentioned but mine are still not in order. Thanks so much!

Add UI Language Switch Settings

The localization isn't completed, it would be better to let the user decide which language they like to apply on the App.

UI issues since version 2018.5.0.0

cmuwp

The new version 2018.5.0.0 arrived a few minutes ago and I recognized that the new update seems to have some issues with the design. Did you remove the fluent design? I´m on 1809 with the latest drivers etc. installed (AMD in my case) and no other app behaves like this.

Find a way to prevent overflowing characters

example

An example being the character preview window here, with the character escaping bounds. On a technical level this is because the character intentionally draws outside the bounds it specifies for its glyph for stylistic purposes, but by getting the actual geometry and comparing it to the stated bounds it should be possible to make it fit correctly. Something similar to this is already taking place for PNG export to make sure the characters fit properly there

(This also affects the character grid but there's not a sane performant way to fix that whilst still rendering that grid in XAML)

Error

Specified cast is not valid.
   at CharacterMap.Core.AppSettings.Get[T](T, String) + 0x58
   at CharacterMap.Views.MainPage..ctor() + 0xc4
   at CharacterMap.CharacterMap_XamlTypeInfo.XamlTypeInfoProvider.Activate_56_MainPage() + 0x1c
   at CharacterMap.CharacterMap_XamlTypeInfo.XamlUserType.ActivateInstance() + 0x29
   at CharacterMap!<BaseAddress>+0xe4bc8c
   at System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed(Int32, RuntimeTypeHandle) + 0x21
   at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32, Type__Impl.UnsafeType, Void*, Void*, Void*) + 0xe1
   at Windows.UI.Xaml.Controls.IFrame2__Impl.Stubs.Navigate(__ComObject, Type, Object, NavigationTransitionInfo) + 0xbc
   at CharacterMap.Services.NavigationServiceEx.Navigate(String, Object, NavigationTransitionInfo) + 0x462
   at CharacterMap.Activation.DefaultLaunchActivationHandler.<HandleInternalAsync>d__4.MoveNext() + 0x93
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at CharacterMap.Activation.ActivationHandler`1.<HandleAsync>d__1.MoveNext() + 0xc9
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at CharacterMap.Services.ActivationService.<ActivateAsync>d__5.MoveNext() + 0x1c3
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at CharacterMap.Services.WindowService.<>c.<<ActivateMainWindowAsync>b__13_0>d.MoveNext() + 0x260
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__7_0(Object) + 0x1e
   at System.Action`1.Invoke(T) + 0x28
   at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore() + 0x33

OS Version: 10.0.18363.657
OS Architecture: X64
App Version: 2020.5.1.0
App Culture: ru

new version misses files

the new solution can't be built, missing files included CharGridSelectedItemToTextConverter.cs and the namespace CharacterMap.Core.Utilts.

missing files in solution

github missing of the following files:
*.pfx (not a big deal)
/Core/AppSettings.cs

so I'm not able to compile. could you fix it?

PNG Exports are cut off at the bottom

charactermap_20180313170240
charactermap_20180313170625
Here are some PNGs exported from Version 2018.1.1.0. Not sure why this is happening, never did before. New device? I have a Surface Book 2, so super high DPI. Not all fonts seem equally impacted. Very obvious though on Segoe UI Symbol.

Suggestion: search

Just a quick suggestion: it would be useful to be able to search for characters by their unicode name.

Tried Copying A Character, Got This Message

Value does not fall within the expected range.
at System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed(Int32, RuntimeTypeHandle) + 0x21
at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32, HSTRING) + 0xbe
at __Interop.ForwardComStubs.Stub_50[TThis](__ComObject, String, Int32) + 0x8d
at Windows.UI.Text.ITextCharacterFormat__Impl.Dispatcher.global::Windows.UI.Text.ITextCharacterFormat.put_Name(String) + 0x1e
at CharacterMap.Views.FontMapView.TryCopyInternal() + 0x1d7
at CharacterMap.Views.FontMapView.FontMapView_obj1_Bindings.b__72_1(Object, RoutedEventArgs) + 0xf
at Windows.UI.Xaml.Controls.SelectionChangedEventHandler.Invoke(Object, SelectionChangedEventArgs) + 0x2e
at __Interop.Intrinsics.HasThisCall__22[TArg0](Object, IntPtr, Object, TArg0) + 0x36
at CharacterMap!+0xd70b00

png size

it is very useful to have the possibility to choose the size of .png file app saves.

Suggest labeling the glyphs so users know what they are

Example: There are lots of hyphen-like or dash-like characters in Unicode, such as en-dash, em-dash, and the pure minus sign (U+2212), in addition to the legacy ASCII hyphen-minus. None of the glyphs are labeled, so a user would have no way of knowing which is the en-dash and which is the minus sign, for example.

These different glyphs are semantically different and they render differently. For example, the minus sign is supposed to match the height of the plus sign's horizontal bar, and academic journals often require the minus sign as opposed to the ASCII hyphen-minus or any of the dashes. Also, it's hard to differentiate the prime symbols from single and double quotes because nothing is labeled, and especially since they're in the same area when looking at a font. There will be situations where this matters in grammar checkers, like in Word, where if you use a double quote when you meant to use a double prime, Word will expect you to close the quote.

Null reference exception

Object reference not set to an instance of an object. at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Update_Settings(AppSettings, Int32) + 0x1dd at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Update_(SettingsView, Int32) + 0x3a at CharacterMap.Views.SettingsView.SettingsView_obj1_Bindings.Loading(FrameworkElement, Object) + 0x1c at Windows.UI.Xaml.Controls.SelectionChangedEventHandler.Invoke(Object, SelectionChangedEventArgs) + 0x2e at __Interop.Intrinsics.HasThisCall__22[TArg0](Object, IntPtr, Object, TArg0) + 0x36 at CharacterMap!+0xe9d2fe

Add support for supplementary characters

This app is great, but I cannot find any character higher than U+FFFF, for example, 🔞(U+1F51E). Looking forward to the support of emoji's. Thank you very much:smile:

Error on selecting [Imported fonts] > [Gear Icon (Settings]] in Version 2020.5.2.0 x64

Object reference not set to an instance of an object.
at CharacterMap.Services.UserCollectionsService.IsSymbolFont(InstalledFont) + 0xf
at CharacterMap.Views.SettingsView.Show(FontVariant, InstalledFont) + 0x80
at CharacterMap.Views.MainPage.BtnSettings_OnClick(Object, RoutedEventArgs) + 0x80
at Windows.UI.Xaml.Controls.SelectionChangedEventHandler.Invoke(Object, SelectionChangedEventArgs) + 0x2e
at __Interop.Intrinsics.HasThisCall__22[TArg0](Object, IntPtr, Object, TArg0) + 0x36
at CharacterMap!+0xe704b0

Slow performance with the custom blur brush

The custom-made blur backdrop brush (it's a CompositionBrush I guess) brings a huge impact on the app's performance which results in a sluggish frame rate and a huge CPU usage for its kind (18% usage on a Core i7-4702MQ @ 2.20GHz). Also, the accent color fallback doesn't match the whole UI. Maybe one of the following methods solve the issue:

  1. Using the fluent design's acrylic material instead of a custom-made brush
  2. Removing the brush completely and using a solid color instead
  3. Providing an option in the settings popup to disable the transparency and the fallback color
    annotationcm

Ability to add Glyphs to collections

When using Character-Map for development it would be nice to be able to make collections of the different Glyphs to make it fast and easy to go to a self made collection of glyphs which were organized for a purpose.

FontAwesome - not all symbols visible

For FontAwesome (and possibly others), not all characters are discoverable:

  • it's not possible to switch between Solid and Regular
  • many characters are missing, i.e. the app shows just few dozen of them from U+F004, the U+F5C8 is shown as the last one available, however the font contains hundreds of symbols from U+F000 up to U+F63C

Add ability to print the font glyph

Like in Font Creator where you can print all the glyph into a PDF document of font sheet.

If you would implement it and look for button placement. Maybe add a print button next to "Font display option" with a list of menu items

  • Print all glyph to a text file
  • Print all glyph to PDF
  • Print all glyph as one picture
  • Print all glyph as pictures to a folder

etc.

Resource files are needing update

In the resource files, only the strings of the main page (and some of about) are included. The strings of the following parts of the app aren't included yet:

  • main page's app bar
  • settings
  • on about: Thanks-section

Suggest: PNG size

Could be very useful to have in settings a parameter that allows to choose the size of the PNG saved

Superscript number glyphs are centered in the display box, obsuring the fact that they're superscripts

Check out Palatino Linotype, Calibri, or Open Sans (if you have it installed). Look at character U+2074 and the few after it. These numerals are centered in the box, but they're superscripts. They should be pushed to the top to make clear what they are. The way they're currently presented, it's not clear if they're just normal numbers, subscripts, or superscripts.

Notably, the subscript numbers are not centered – they're at the bottom of the box where they belong. (See U+2084.)

Add ability to copy or export as XAML Path (data)

This is already technically possible as the XAML path language is the same as the SVG path language (in our simple font glyph cases at least - they do diverge slightly in complex scenarios) - so we can use the same code.

The only issue is I think the right sidebar is going to start needing a bit of UI redesign, as it is getting very cramped over there and this would potentially add yet another row. May experiment with some ideas if I have time.

Some improvement

These are my feedback (it means if I have time I could also try to push these stuff on your project in next days (no guarantee, I'm very busy in this period:-)

  • Remember selected filter (all fonts/symbols only)
  • Remember selected font
  • To have somewhere in settings the size of the grid
  • To have somewhere in settings the width/height of the .png
  • UI on W10M is very confusing

as you can imagine I use your app a lot for generating and choose icons for my apps:-)

thank you!

Add the ability to copy multiple characters at once

One of my favorite features of win32 character map was the ability to copy multiple characters. In the new version you can only copy one character at a time, which is not ideal for me. Adding the ability to copy multiple characters at once like in win32 character map's "characters to copy" bar would be nice.

Preview Font File Feature

Feature request: Ability to preview a non-installed font file.

Either via drag and drop onto the main window, and application registered as a Font File handler. This will help replace the default and pretty useless Windows Font preview feature.

My initial idea for both is that it would spawn a separate window that does not have the left most column, but only the right and central columns for the selected font.

I did try to implement myself but it wasn't exactly straight forward to allow separate windowing with the app in it's current architecture and I didn't want to open a pull request that pretty much changed everything D; That, and DirectWrite via SharpDX aren't exactly friendly to opening a font via a file.

Search and Unicode names

If I type something in the search bar, e.g. dash, nothing useful happens, except that a character is highlighted, in the example it is Ú, which is not a dash, rather its Unicode Hexvalue is (U+00DA); its Unicode name is LATIN CAPITAL LETTER U WITH ACUTE does not contain dash either. The search bar is worthless like that.
Some suggestions:

  • two search bars: one for character hex code and another for Unicode name
  • make the option to filter or highlight the found glyphs by the Unicode name search bar
  • a Next button to jump to the next highlighted glyph when searching and not using a filter

With these, search would be very powerful.

Mouse wheel support

Please add mouse wheel support to the main list that displays the characters in the map. I can scroll down using the scroll bar using the mouse, and keyboard support is there for arrow up/down and pg up/down. Mouse wheel scrolling is a standard feature that is missing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.