Is there a "glyph not found" character?

17,051

Solution 1

No, there is no “glyph not found” character. Different programs use different graphic presentations. An empty narrow rectangle is a common rendering, but not the only one. It could also be a rectangle with a question mark in it or with the code number of the character, in hexadecimal, in it.

So it is better to e.g. display a small image of the character along with the character itself, so that the reader can compare them.

Solution 2

From the Unicode Spec:

U+25A1 □ WHITE SQUARE

  • may be used to represent a missing ideograph

  • U+20DE $⃞ combining enclosing square

Solution 3

The glyph-not-found character is specified by the font engine and by the font; there is no fixed character for it.

Solution 4

Unicode uses these terms:

  • replacement glyph
  • missing glyph
  • interpretable but unrenderable character

The Unicode Standard (10.0) does not define how they have to look, but it suggests in chapter 5.3 [PDF] that implementations display

[…] distinctive glyphs that give some general indication of their type […]

to distinguish them from "unassigned code points". They give some examples:

The Unicode glossary entry says:

It often is shown as an open or black rectangle.


tl;dr: There is no standardized look/glyph, it’s up to the implementation. To help users, implementations could display glyphs that indicate what type of character it is that can’t be displayed.

Solution 5

Use a non-character like U+10FFFF (at the very end of the Unicode space) which is 99.99% certain to not be found in the cmap table of any sane font. At least no known Windows system font maps that non-character to a glyph, and highly unlikely any Linux/Mac system font either. Even the all encompassing Last Resort font (http://www.unicode.org/policies/lastresortfont_eula.html) doesn't appear to map it. So while there is no official "glyph not found" character defined in Unicode that will map to the .notdef glyph, the above non-character is in practice guaranteed to display that glyph, whatever the glyph design is in that particular font. The .notdef glyph (glyph id 0 in OpenType) may be a simple hollow rectangle (standard), box with x, box with question mark, blank occasionally (which is bad practice), and sometimes bizarre things like spirals (in Palatino Linotype).

Share:
17,051
Sebastian Negraszus
Author by

Sebastian Negraszus

Professional software developer by day, passionate gamer by night.

Updated on June 15, 2022

Comments

  • Sebastian Negraszus
    Sebastian Negraszus about 2 years

    Let's assume we have a text that contains a Unicode character that cannot be displayed because our font has no corresponding glyph. Usually, a placeholder is displayed instead, e.g. a rectangular block thingy (see screenshot).

    Is there a "glyph not found" character that reliably produces this glyph? I'd like to write something like "If the following text contains <insert character here> then you need another font..." in a UI.

    By the way, I am not talking about � (replacement character). This one is displayed when a Unicode character could not be correctly decoded from a data stream. It does not necessarily produce the same glyph:

    enter image description here

  • Jukka K. Korpela
    Jukka K. Korpela over 11 years
    The question clearly says that it is not about the replacement character, and REPLACEMENT CHARACTER U+FFFD is a fixed character (it does not have a fixed glyph, though fonts that contain it tend to use very similar glyphs).
  • Ignacio Vazquez-Abrams
    Ignacio Vazquez-Abrams over 11 years
    @Jukka: Except I'm not talking about U+FFFD either.
  • Jukka K. Korpela
    Jukka K. Korpela over 11 years
    Then don’t use the phrase “replacement character”, because a) it’s not a character at all, and b) it’s specifically not the character with the Unicode name REPLACEMENT CHARACTER, and c) people easily get confused with issues like this.
  • Sebastian Negraszus
    Sebastian Negraszus over 8 years
    I have rolled back your edit to Jukka K. Korpela's answer. Please include that information in this answer and/or add a comment to the other answer.
  • Michaelangel007
    Michaelangel007 over 8 years
    Why not just include the information there and delete this answer?
  • nibarius
    nibarius over 8 years
    On several Android phones missing glyphs are drawn with just a few pixels of empty space. So it doesn't even have to be something that is visible.
  • Migats21
    Migats21 over 5 years
    It looks like that character cannot be posted in stackoverflow