https://bugs.kde.org/show_bug.cgi?id=503451

            Bug ID: 503451
           Summary: KCharSelect isn't clear if glyph/character is included
                    in font/shows characters that are NOT in a given
                    font/shows wrong character glyphs
    Classification: Applications
           Product: kcharselect
           Version: 25.04.0
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Severity: major
          Priority: NOR
         Component: general
          Assignee: cf...@kde.org
          Reporter: kevin.coo...@gmail.com
  Target Milestone: ---

Created attachment 180717
  --> https://bugs.kde.org/attachment.cgi?id=180717&action=edit
screen shots

SUMMARY
KCharSelect seems to have a glitch when faced with characters not in a given
font.

It has another problem, that I have not encountered before, where if one
selects "All" from the dropdown menu that lets you select which Unicode block
(e.g. "European Scripts" etc it locks up and won't even quit with clicking on
the close X or when "close all windows" are chosen by right clicking on its
icon in the task manager.  It will quit w/ "killall..." however.

I think KCharSelect used to only show those characters/glyphs included in a
given font.   Now it seems to show fonts from other characters.  In most cases,
only when the character is not present, but in one example (using EmojiOne
either regular or color) it will substitute a character when there is not one
defined in the font, but shows a blank/gap when there is in fact an actually
defined character.  In this example, I noticed that even in the text display
are (e.g. Character: ⚕ U+2695 / Name: STAFF OF AESCULAPIUS) when I selected the
blank spot for the character it displayed a colored/emoji style version but NOT
THE ONE FROM THE CHOSEN FONT (I think it pulled the character that belongs to
Noto Emoji, but am not 100% certain on that).

On my system, it seems to pull replacement characters from other fonts when not
available, which isn't desirable default behavior as it can result in me
selecting and pasting in a character that is neither in the font I am using and
quite possible not present on other's systems.

I cannot access all the defined Unicode characters in a font as there does not
seem to be any way to access the Mathematical Alphanumeric Symbols
(https://unicode.org/charts/nameslist/n_1D400.html) block, which have been part
of the Unicode standard for over twenty years.  

This *should* be one of the character range blocks presented in the first
drop-down menu (e.g. "European scripts..." etc. etc.) menu.  Q.v. 
https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols,
https://unicode.org/charts/PDF/U1D400.pdf).

E.g. the character 𝑥 is often used as an algebraic unknown.  If I paste it into
the KCharSelect find I get details, e.g. that it is NON-BMP-CHARACTER-1D465, 
Various Useful Representations
UTF-8: 0xF0 0x9D 0x91 0xA5
UTF-16: 0xD835 0xDC65
C octal escaped UTF-8: \360\235\221\245
XML decimal entity: 𝑥

Etc. but no way to even browse for, or search for,  the character even if a
font (e.g. I used DejaVu Math TeX Gyre here, but  IBM Plex Math, Noto Sans
Math, Quivira, and  GNU Free Serif)  contains the range.  As mentioned, it is
also problematic, is that if I switch to a font that I know does NOT include
this, it still shows up!

I know in the past I have had a great deal of difficulty reading PDFs that
someone had pasted in symbols using one of those non-Unicode "symbol" fonts
which resulted in a non-legible document on my end.  I would wish to avoid
being the cause of such problems for others by making sure that any special
characters were either in the specified font, or that I at least knew I as
using a replacement font!

Rather, an option to toggle "show replacement characters when not present in
selected font" would be very helpful and avoid confusion (and selection of a
character by accident which isn't actually present in a given font).

For those who have the LastResort or Uniding font installed, a gray colored
replacement character would be a reasonable option to indicate when a defined
character isn't present in a font.  Another possible, helpful and appreciated,
option would be to have a colored (to make it obvious) version of Unifont (if
installed, and perhaps having the bitmap and TTF GNU GNU Unifont as a
recommended package , as well as the other fonts, e.g.
Unifont/Unidings/LastResort/Nerdfont Symbols as "suggested" packages, based on
what various distributions had at hand in their repos, might be wise/helpful)

For future consideration, it would be very helpful to add an option to preview
a given character in other fonts (all/default replacement font/user selected). 
I have used the GNOME Font Manager in the past, esp. to access formatted (e.g.
italic, script, bold, serif/sanserif) Latin and Greek characters that are in a
Unicode block typically used for variables/constants/functions in
mathematic/logic notations that I was not able to locate using KCharSelect. 
For example, the characters used to say:  𝒻(𝒙) = 𝓎 I could not figure out how
to access with KCharSelect.

I have noticed that some PUA characters, specifically some from NerdFont use, 
act similarly, while some, if I paste them in and search for them, I can browse
the other characters in the PUA space.  It seems to depend on the actual code
point, as those which use a more or less conventional code point, when I
deleted them from the search area, let me browse the PUA, but more
unconventional mappings.  E.g.  (U+EAC9) shows up as Tux with Devicon, but not
other fonts.    (U+F17C), as well    (U+F31A)  shows up as Tux, regardless of
which font I have selected (including those which do not have any PUA
characters)  .  If I cut-and-paste the character into the search area,
regardless of which font is selected, and then delete it, I can browse the
various PUA characters (again, even if I have selected a font that barely
contains the basic Latin character set or one of the TTF versions of a historic
VGA font).  It seems that in creation of the Nerd fonts that they have mapped
in their sources that they have assigned duplicate glyphs--or at least visually
indistinct--to different code points.  Thus, there may be a multiple
identically appearing characters with different assigned Unicode PUA values
(which isn't exactly how I would have done it).  E.g. if you go to their "cheat
sheet" and search for "git" you will end up with many different (Unicode
values), but identical (graphically) options for the GIT logo. 

For those PUA glyphs where there is a degree of consistency (e.g. FontAwesome,
NerdFonts,  Catrinity agree, and NerdFont and Catrinity names are the
same/similar) it would be super helpful to be able to display the name of the
character and be able to search for it.  I know these are not nearly as
standard as the Unicode (and I would prioritize getting all of the Unicode,
esp. the math characters, ahead of the PUA 'gentlemen's agreement').  

Having a link between a character's description and the associated Wikipedia
entry (in the user's default language) and/or Unicode website might also be
helpful and fairly easy to implement.

Finally, there is a growing convention about many of the PUA code points. 
Perhaps including some sort of description, or ability to look up PUA font on
the Nerdfont "cheat sheet" (maybe something that users should select as an
option or base it on having a Nerdfont installed)

Thanks for looking into this.  I use this small app nearly every day!

SOFTWARE/OS VERSIONS
KCharSelect: 25.04.0
KDE Frameworks: 6.13.0
Qt: Using 6.9.0 and built against 6.9.0
openSUSE Tumbleweed (Xcb)
Build ABI: x86_64-little_endian-lp64
Kernel: linux 6.14.2-1-default

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to