emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggest installing more fonts?


From: Gregory Heytings
Subject: Re: Suggest installing more fonts?
Date: Sat, 17 Oct 2020 18:36:47 +0000
User-agent: Alpine 2.22 (NEB 394 2020-01-19)


Apparently it's not clear, so I'll say one last time that the feature I propose does _not_ require to install Unifont system-wide. It is to include Unifont in Emacs (say in etc/unifont), and to offer it as an additional option for glyphless-char-display, along with hex-code, empty-box, thin-space, and zero-width. The bitmap data would be used to draw the glyph in produce_glyphless_glyph() .

I don't understand this proposal. Are you saying Emacs can already use a font that is not installed? If so, can you tell how to do that?

I don't (yet) know, but I'd be surprised if this could not be done. Emacs already creates glyphs dynamically for tofus

No, Emacs doesn't create any glyphs dynamically for tofus, it simply uses a smaller font in a box it itself draws. See xterm.c:x_draw_glyphless_glyph_string_foreground for how this is done on X (w32 and ns do it very similarly).


Yes, but Emacs draws the box itself, and I suppose that if it can draw a box, it could instead draw a small black-and-white (8x16 or 16x16) bitmap. Emacs already does this for fringe bitmaps AFAIU.

The way Emacs uses fonts is by using various system libraries, such as Fontconfig, to find fonts that match certain criteria (script, encoding, character codepoint, size, slant, etc.). How do you propose to do that if, for example, Fontconfig knows nothing about a font?

The proposal is not to change anything to the way Emacs uses fonts, but to change something to the way Emacs behaves when it does not find an appropriate font to display a character. In that case Emacs would display a "degraded" glyph (from Unifont), and would issue a warning that the user should install another font.

I don't see how this can be done without serious changes in the code that finds and uses fonts. We _need_ the Fontconfig functionality.


With the proposal, there is no need to find the font, it is already included, and only used as a fallback when no appropriate font has been found. Unifont is just a long sequence of small bitmaps, Emacs only has to pick the bitmap corresponding to a given character in that list and to draw it. For example, the character "A" in Unifont is the 8x16 bitmap "0000000018242442427E424242420000" which occupies only 16 bytes.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]