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

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

fontsets: (was Re: query-replace?)


From: B. T. Raven
Subject: fontsets: (was Re: query-replace?)
Date: Sun, 08 Jan 2006 22:18:44 GMT

"Peter Dyballa" <Peter_Dyballa@Web.DE> wrote in message
news:mailman.349.1136740073.26925.help-gnu-emacs@gnu.org...

Am 08.01.2006 um 16:17 schrieb B. T. Raven:

> This brings up another question: When I type C-h I
> (describe input method) and then "latin-3-postfix" all I see are
> the empty
> rectangles again. This happen while looking at them with the .ttf font
> arialuni, which certainly has the glyphs for Turkish characters. ???

Arial Unicode looks to be very complete in the many Latin and Latin-
Extended areas. Probably you just need to create fontsets:

(message "Neue fontsets für X11")
(if (fboundp 'new-fontset)
   (progn
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;; Adobe Courier - Unicode encoded OpenType font, version
1.020, 374 glyphs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     (create-fontset-from-fontset-spec "-adobe-courier-medium-r-*-*-9-
*-*-*-*-*-fontset-09pt_adobe_courier" t 'noerror)
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-1  '("adobe-courier" . "iso8859-1"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-2  '("adobe-courier" . "iso8859-2"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-3  '("adobe-courier" . "iso8859-3"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-4  '("adobe-courier" . "iso8859-4"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-9  '("adobe-courier" . "iso8859-9"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-14 '("adobe-courier" . "iso8859-14"))
(set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-15 '("adobe-courier" . "iso8859-15"))
; (set-fontset-font "fontset-09pt_adobe_courier"       'latin-
iso8859-16 '("adobe-courier" . "iso8859-16"))
(set-fontset-font "fontset-09pt_adobe_courier" 'mule-
unicode-0100-24ff '("adobe-courier" . "iso10646-1"))
(set-fontset-font "fontset-09pt_adobe_courier" 'mule-
unicode-2500-33ff '("adobe-courier" . "iso10646-1"))
(set-fontset-font "fontset-09pt_adobe_courier" 'mule-unicode-e000-
ffff '("adobe-courier" . "iso10646-1"))
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0370) (decode-char 'ucs #x03cf)) '("courier new" .
"iso10646-1")) ; Greek
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x03d0) (decode-char 'ucs #x03ff)) '("lucida sans typewriter" .
"iso10646-1")) ; Coptic
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0400) (decode-char 'ucs #x04ff)) '("lucida sans typewriter" .
"iso10646-1")) ; Cyrillic
(set-fontset
-font "fontset-09pt_adobe_courier" (cons (decode-char 'ucs #x0500)
(decode-char 'ucs #x052f)) '("lucida sans typewriter" .
"iso10646-1")) ; Cyrillic Suppll
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0530) (decode-char 'ucs #x058f)) '("aramian unicode" .
"iso10646-1")) ; Armenian (sylfaen
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0590) (decode-char 'ucs #x05ff)) '("courier new" .
"iso10646-1")) ; Hebrew
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0600) (decode-char 'ucs #x06ff)) '("lucida sans typewriter" .
"iso10646-1")) ; Arabic
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0700) (decode-char 'ucs #x074f)) '("courier new" .
"iso10646-1")) ; Syriac
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0780) (decode-char 'ucs #x07bf)) '("courier new" .
"iso10646-1")) ; Thaana
(set-fontset-font "fontset-09pt_adobe_courier" (cons (decode-char
'ucs #x0900) (decode-char 'ucs #x097f)) '("courier new" .
"iso10646-1")) ; Devanagari
))
(provide 'site-fontsets-x11)

One template that has some more regions of Unicode defined for one
font, and of course there are some more sizes defined. Turkish is ISO
Latin-5 or ISO 8859-9, so the definition above should work for your
case.

This works in X11. I don't know whether it works Losedows or whether
this is necessary at all ...


Try to find out which fonts GNU Emacs sees: M-x set-frame-font RET
TAB TAB RET, change to *Completions* buffer and save it to a name you
have determined before! If you try to expand a partial file name it
will erase the *Completions* buffer ...


The part of interest is here:

-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-*-#130
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-big5
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-gb2312
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso10646-1
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-1
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-13
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-2
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-4
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-5
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-6
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-7
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-8
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-iso8859-9
-outline-Arial Unicode
MS-normal-r-normal-normal-*-*-96-96-p-*-jisx0201-katakana
-outline-Arial Unicode
MS-normal-r-normal-normal-*-*-96-96-p-*-jisx0201-latin
-outline-Arial Unicode
MS-normal-r-normal-normal-*-*-96-96-p-*-jisx0208-sjis
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-koi8-r
-outline-Arial Unicode
MS-normal-r-normal-normal-*-*-96-96-p-*-ksc5601.1987
-outline-Arial Unicode MS-normal-r-normal-normal-*-*-96-96-p-*-tis620

So iso8859-3 isn't even there! How do I get it there? Is this related to
the codepage *.nls files again?

I normally have w32-use-w32-font-dialog set to t so that I get the
standard MSwindows font selection dialog box. When I set it to nil I get
what every one else sees, I guess, which says misc, courier, fontsets, and
under these, Lucida, Terminal, etc. but not nearly as many as are in the
\windows\fonts subdirectory.

Right now all I have relating to fonts in my .emacs is:

(custom-set-faces
  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(default ((t (:stipple nil :background "ghostwhite" :foreground "black"
:inverse-video nil :box nil :strike-through nil :overline nil :underline
nil :slant normal :weight normal :height 108 :width normal :family
"outline-arial unicode ms")))))

So that's what emacs starts up with.

Since this font covers such a large swath of Unicode I would rather stick
with the Losedows interface for now. I still don't understand fontsets
yet. Now the dialog box shows fonts, styles, point size (8-72) and script
all in one place. If I went the the fontset route and I wanted only sizes
9-12 and only four different font styles, wouldn't I have to produced
about 16 times as much lisp code as you show above to get the same Unicode
coverage?

Ed










reply via email to

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