Double-width glyphs in monospace fonts

I'm thinking of making the ellipsis twice as wide as the rest of the glyphs.
Any cons I might be missing?


  • Well, come to think of it, if the user changes spacing, a double-width glyph becomes a major problem. I guess that's enough to give up this idea :disappointed:
  • Making some glyphs wider – or narrower, come to think of it – would make your font unusable if its purpose is for use in monospace environments. Any basic code editor would not be able to work with it.

    So, what is your target audience? Note that even if it's for "nicer typesetting" of code on paper, I would personally prefer a font that does not mess with the intended spacing.
  • John HudsonJohn Hudson Posts: 1,466
    Note that some environments that require monospaced fonts will also require those fonts to have monospaced flags set, and may cache the common advance width for line layout rather than painting each glyph on its own width.
  • I can't add anything to the answer you've already recieved: if even one glyph has a different width, the font isn't monospaced any more.

    However, that doesn't mean that this is a bad idea. One can just class the font as proportional - even though it looks monospaced.

    Also, this has even been done before. I can think of two examples.

    Hebrew typefaces for use on the Monotype composing machine generally followed traditional Hebrew calligraphy (I presume) in having only two widths for the letters of the Hebrew alphabet, one exactly half that of the other. This simplified handling of vowel points as well, no doubt.

    Before the widespread use of graphical user interfaces, some computers had special video cards for the display of Chinese characters. Both because the characters were square in shape and because there were so many of them that a single 8-bit character code was insufficient to specify one uniquely, Chinese characters were double-width on the screen.
  • Make an alternate ellipsis where it overlaps on the right but retains the standard advance width. Let'd say it's called ellipsis.1
    Then you can set up an OpenType rule that substitutes ellipsis for ellipsis.1 followed by space or a custom blank character like space.1

    That way you get the effect you want without sacrificing the monospace flag. But don't put it under calt or liga as people might run into problems if that's the default behavior.
Sign In or Register to comment.