help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: emacs could not show this symbol.


From: Peter Dyballa
Subject: Re: emacs could not show this symbol.
Date: Wed, 27 Feb 2008 13:09:33 +0100


Am 26.02.2008 um 12:00 schrieb anhnmncb:

I don't seem it's font's problem. I think that urxvt's font
selection mechanism is great, if a font doesn't contain a symbol in that
encoding, it will find another font to display it, don't know whether
emacs could implement this technique?

It would not be that easy.

A terminal emulation has an easy job: display things in one encoding. GNU Emacs supports some dozens. Less than a handful are sensible, IMO, i.e. Unicode based. Some encodings are 8 bit, left from the child days of some operating systems, other are 16 bit or more, most of them for some restricted national use.

Ideally GNU Emacs would need to construct font sets for all these encodings, at least for those in use. It also supports scripts (writing systems) and their languages (language environments). This *can* mean that for different font sizes and font variants (regular, bold, italic, bold italic) 100 MB of fonts would be loaded into memory, at least for 16 bit encodings. The size needed might be reduced when 8 bit encodings could be derived from 16 bit encodings (for example ISO 8859-11 and TIS620 are the same and both could map into Unicode).

The idea of font backends eases this situation by delegating font handling to the operating system (what Mac OS X or MS Losedos or ... or X11 are providing in some way, some better, some worse). To make this work the OS has to know what its fonts support/deliver. This information usually is derived from the fonts. Some provide enough information, others tend to hide it. The it becomes difficult.

With fc-list you can check what your system provides. The language name used is based on RFC 3066 which in turn references ISO 639. A font with your Thai character could be searched for with:

        fc-list :lang=th

Much more options are possible. To find all monospaced fonts with Thai support:

        fc-list : file lang spacing | grep spac | egrep 'lang=.*th'

This is because fc-list tends to report either too much or not enough – or I need more practise with fc-list!

--
Greetings

  Pete

Got Mole problems?
Call Avogadro 6.02 x 10^23






reply via email to

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