XFT-relevant ~/.xemacs/init.el snippet.

Aidan Kehoe kehoea at parhasard.net
Wed Dec 6 05:10:08 EST 2006


 Ar an séiú lá de mí na Nollaig, scríobh Stephen J. Turnbull: 

 > Aidan Kehoe writes:
 > 
 >  > In order to match them to the charsets without paying extra-special
 >  > attention to what order they’re in and what other languages they might
 >  > happen to match. 
 > 
 > I don't understand.  If you get order vs other languages they match
 > wrong, you're going to get bad display anyway.  That means that you
 > can't do `(set-face-font 'lovely "My Preferred Font for Klingon-12"
 > nil '(startrek-charset-tag) 'remove-tag-set-prepend)' with reliability
 > anyway.
 >
 > Sure, in legacy Mule-coding XEmacs with your charset-tag kludge it
 > works (I assume), but that needs to die with Unicode internal, right?

If we’re still using the ISO 2022 infrastructure for X11 redisplay, it would
seem reasonable to keep it there. For other platforms, it seems the defined
subsets that Unicode.org give (with perhaps some special treatment of the
Windows Glyph List, in acknowledgement that fonts will disproportionately
tend to support that) would be the best approach, and specifier tags for
them might be workable. 

 > And what do you do if someone wants different fonts for Spanish and
 > Swedish?  Assume that the Spaniards are so poor they don't have any
 > Euros to write about, so assign ISO-8859-1 to Spanish and ISO-8859-15
 > to Swedish?

Language tagging is not something we have, and not something we can easily
write, in either internal encoding model. Differentiating between Spanish
and Swedish _needs_ language tagging, since most text in both languages is
ASCII. Cf. the text of two newspaper articles:

http://www.aftonbladet.se/vss/nyheter/story/0,2789,948144,00.html:

=> ((chinese-gb2312 . 4) (latin-iso8859-1 . 114) (ascii . 2235))

http://www.elmundo.es/elmundo/2006/12/06/internacional/1165391686.html

=> ((latin-iso8859-1 . 57) (ascii . 3965))

Übrigens, yay, I appear to finally be a Lisp coder:

(defun charset-character-count-in-string (string)
  "Return an alist mapping from the charsets in STRING to how often
characters from each appear. "
  (let (alist)
    (dolist (char (append string nil) alist)
      (unless (assq (char-charset char) alist)
	(setq alist (cons (cons (char-charset char)  0) alist)))
      (incf (cdr (assq (char-charset char) alist))))))

-- 
Santa Maradona, priez pour moi!




More information about the XEmacs-Beta mailing list