Notdef: generic or style-specific?

When working on my current project, Science Gothic, early on I played with having the weight, width and contrast axes for the notdef. It looked cool! But then I realized that my notdef would not stand out as much, and that the whole point of the notdef was to look out of place and call attention to itself. That way one sees it when proofing or examining a document.

So I reverted to a generic notdef.

Then recently one of my colleagues working on the project, not knowing this history from early on, did the same thing again, and made a variable notdef that has its weight and width axes. He is less persuaded by the argument against it.

I am curious what others think. Should the notdef be highly generic so it stands out, regardless of font style? Or should it be font-specific and blend in?

Comments

  • Even with matching wight and width a .notdef could be drawn to stand out. Make it bigger?
  • I think it's possible to make a font-specific .notdef that still stands out. I generally use a .notdef which has around 60% the weight of any box-like characters which might be present in the font. So it does get heavier in bolder styles, but is still recognizable.
  • John Hudson
    John Hudson Posts: 3,126
    Generic. The purpose of the .notdef glyph is to indicate a text display error, so there's no reason to match it to the display characteristics of the typeface at a particular weight or proportion.

    I usually match the height of my .notdef glyph to the Latin cap height, to ensure that it has good visual impact within lines of text, but other than that it shouldn't reflect the design.
  • Chris Lozos
    Chris Lozos Posts: 1,458
    edited August 2019
    I prefer to see the "not-def" in the style of the font so I can tell if it a wrong font and what to change.
    I make all of mine reversed to black so they stand out.
  • John Hudson
    John Hudson Posts: 3,126
    I prefer to see the "not-def" in the style of the font so I can tell if it a wrong font and what to change.
    Why would the .notdef glyph be 'a wrong font'? The whole point of it is to indicate that the currently employed font cannot display a particular Unicode character.

  • Chris Lozos
    Chris Lozos Posts: 1,458
    @John Hudson There are numerous fonts out there that look alike. Just think about Helvetia alone.  But they all don't have the same coverage of glyphs. Some may not have a certain language.  I would prefer to know if it is the wrong helvetica or clone as well as not that glyph.
  • The user and all related content has been deleted.
  • In this case, it is a big box with an X. But the stroke thicknesses, width and thick/thin contrast could all be varied with the font.
  • Ray Larabie
    Ray Larabie Posts: 1,425
    @Thomas Phinney Very the weight of your .notdef because life is short.
  • James Puckett
    James Puckett Posts: 1,989
    I don’t want the .notdef to match the font at all. It’s not supposed to blend in.
  • Well, a slight majority here in favor of a standard notdef across all font styles

    And: at least Adobe, Microsoft and Apple all use notdefs that do not vary to match the weight/width/whatever of the host font.
  • I prefer a black box with the words "nothing here", or my foundry's name.
  • Khaled Hosny
    Khaled Hosny Posts: 289
    edited August 2019
    I think varying .notdef with wight should be OK, at least it makes it clear the missing glyph is from, say, bold font. Other changes are probably odd and might be confusing (a slanted .notdef? no thanks).
    Certainly don’t get creative with it. Its purpose is indicating a missing character and users should be able to quickly tell that, not think it is some odd icon that had gotten into their text.
  • John Hudson
    John Hudson Posts: 3,126
    @Chris Lozos I think perhaps we're thinking about the .notdef glyph in different ways: I think of it as a signal to the document creator that the font he or she is using doesn't support a particular character. So he or she knows what font it is, because it's the font he or she is using. Web text makes this a bit more complicated, in that the font used is being selected elsewhere and is falling back through a set of possible fonts, perhaps ultimately giving over selection to a particular operating system, and possibly applying a font-switching solution to ensure the correct character is displayed even if it's in the wrong font.

    In any case, I don't see a scenario in which the .notdef glyph looking a particular way is helpful. Either the user already knows what the font is, or he or she is presented with a .notdef glyph that, unless he or she happens to be a connoisseur of .notdef glyphs and can recognise a particular version of Helvetica from its .notdef glyph, might as well be generic.

    Now, that said, when I say 'generic', I don't necessarily mean a uniform glyph in all fonts from all vendors. I do think it's appropriate for individual font makers to have their own .notdef glyph design within the conventions of the empty box (tofu), box with an X, or box with a ? (my preferred form).

    This is the current iteration of my own .notdef glyph, which I space so it created a block of boxes if a sequence of characters is unsupported.
  • John Hudson
    John Hudson Posts: 3,126
    PS. I think staying with one of the conventional forms is important, because this glyph is meant to convey some specific information to the user, and shouldn't be ambiguous. When Microsoft released Palatino Linotype, it had this swirl as the .notdef glyph design, and users were confused and didn't know what it meant, which is when MS published their design recommendations for the .notdef glyph.

    And I really don't think putting your foundry logo in the .notdef glyph slot is a good idea. Apart from confusing users as to what it means, do you really want to be trumpeting 'Foundry X couldn't be arsed to support this character'?  :p
  • Chris Lozos
    Chris Lozos Posts: 1,458
    Notdef glyph
  • How about a box with text that says "NOT FOUND: Buy a better font"
  • BTW, some applications never show the .notdef glyph, and instead show a box with the hex code of the missing character. 
  • glyph not found !

  • Since it was Phinney who started this thread, perhaps it should read "Glyph Missing! Hire the Font Detective!"
  • One just thing I think it may be useful: using a heavy .notdef glyph for lighter and medium weights is a good choice because it stands out, but I prefer a much lighter version for heavier weights, so it does not blend with its context. As for the height, I go for all the UPM, so it is very visible, but I don’t change the width it in any member of the family: IMHO, the light/heavy contrast and the big height are enough to do the trick.
  • Since it was Phinney who started this thread, perhaps it should read "Glyph Missing! Hire the Font Detective!"
    The glyph should also have said 'Glyph not found' but if you put too much text in there the letters become so small they are illegible at most point sizes.  As it is I am pushing the limit of legibility at 10 point on a printed page with an inkjet printer.
  • My .notdefs are always a pun on the font name; like a a downhill biker for my font Downhill Dive or a bogeyman for my Bogeyman font. I kind of like it! You'll all tell me that it's wrong, but so far I have had no issues!


  • My .notdefs are always a pun on the font name; like a a downhill biker for my font Downhill Dive or a bogeyman for my Bogeyman font. I kind of like it! You'll all tell me that it's wrong, but so far I have had no issues!

    Would many people actually contact you if wierd inexplicable characters occasionally came up in their texts ?  Would they even associate these characters with the glyph not found character ?
    Maybe the reason you haven't had any issues is that people don't understand what they are seeing.

  • In the last 6 years, no one has ever contacted me about weird characters. People did, however, tell me that they liked my .notdefs - and there were a few who asked if I could make the .notdef an actual glyph, so they could use it.
  • so I guess I am fine - .notdef wise