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

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

Re: fontsets: (was Re: query-replace?)


From: Peter Dyballa
Subject: Re: fontsets: (was Re: query-replace?)
Date: Mon, 9 Jan 2006 12:53:27 +0100


Am 08.01.2006 um 22:18 schrieb B. T. Raven:

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?

THe font variants (italic, bold, bold-italic) are automatically chosen, so four sets for 9, 10, 11, and 12 would suffice.

Fontsets actually are necessary when you handle texts that have more different characters than the small MS or ISO encodings provide. Then GNU Emacs needs to create a table that maps code points (characters) to members in fonts (glyphs) and this choice can look ugly. You help GNU Emacs when you construct a fontset. IMO it would be enough to create a fontset like this for 9 pt and three others for 10, 11, and 12 pt::

(create-fontset-from-fontset-spec "-outline-Arial Unicode MS- normal-r-*-*-9-*-*-*-*-*-fontset-09pt_arial_UC" t 'noerror) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-1 '("Arial Unicode MS" . "iso8859-1")) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-2 '("Arial Unicode MS" . "iso8859-2")) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-4 '("Arial Unicode MS" . "iso8859-4")) (set-fontset-font "fontset-09pt_arial_UC" 'cyrillic-iso8859-5 '("Arial Unicode MS" . "iso8859-5")) (set-fontset-font "fontset-09pt_arial_UC" 'arabic-iso8859-6 '("Arial Unicode MS" . "iso8859-6")) (set-fontset-font "fontset-09pt_arial_UC" 'greek-iso8859-7 '("Arial Unicode MS" . "iso8859-7")) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-8 '("Arial Unicode MS" . "iso8859-8")) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-9 '("Arial Unicode MS" . "iso8859-9")) (set-fontset-font "fontset-09pt_arial_UC" 'latin-iso8859-13 '("Arial Unicode MS" . "iso8859-13")) (set-fontset-font "fontset-09pt_arial_UC" 'mule-unicode-0100-24ff '("Arial Unicode MS" . "iso10646-1")) (set-fontset-font "fontset-09pt_arial_UC" 'mule-unicode-2500-33ff '("Arial Unicode MS" . "iso10646-1")) (set-fontset-font "fontset-09pt_arial_UC" 'mule-unicode-e000-ffff '("Arial Unicode MS" . "iso10646-1"))

What about Lucida Console (666 glyphs, 714 mappings)? It can display ISO 8859-3 in X11 completely (Arial Unicode MS has 51,180 glyphs and 38,933 mappings -- and in X11 it has an ISO 8859-3 encoding!). It's even monospaced. There is another monospaced font on the Web: Lucida Sans Typewriter (1,376 glyphs, 1,425 mappings). It's part of the Java SDKs (starting with Java 1.4 the Lucida fonts were reduced in variants, so it's worth to retrieve JDK 1.3 first and update some of these fonts with 1.4 and/or 1.5 fonts). The JDKs too have Lucida Sans (2,929 glyphs, 2,410 mappings).

Probably you need some ISO 8859-3 encoding file. *I* have no idea where in MS Losedows this would be needed, somewhere in the machinery that creates partial, specifically named encodings from a Unicode encoded font? If it does not work in a *partial* encoding: would *complete* Unicode succeed?!

        ;;; -*- mode: Text; coding: utf-8; -*-

First open in ISO 8859-3, then select to save in UTF-8 -- conversion done!


http://aspell.net/charsets/, http://www.slovo.info/unifonts.htm, http://www.cs.tut.fi/%7Ejkorpela/chars.html, http://www.topology.org/ soft/alpha.html, http://www.i18nguy.com/, http://web.archive.org/web/ 20030622083607/www.diffuse.org/chars.html


How do you declare ISO Latin-3 or ISO 8859-3? This is meant for Southern European, Maltese, and Esperanto Glyphs, very exotic! Or do you live on Malta? Here is my test file for this encoding, starting with a hint for GNU Emacs:

;;; -*- mode: Text; coding: iso-8859-3; -*-
;
;       Time-stamp: <2005-07-15 14:20:24 pete>
;
;   Southern European, Maltese and Esperanto Glyphs (Latin 3)
;
;   oct   dec   hex    UCS2    UTF-8
;=====================================
  = 240 = 160 = A0 = U+00A0 =    C2 A0 : NO-BREAK SPACE
Ħ = 241 = 161 = A1 = U+0126 = C4 A6 : LATIN CAPITAL LETTER H WITH STROKE
˘ = 242 = 162 = A2 = U+02D8 =    CB 98 : BREVE
£ = 243 = 163 = A3 = U+00A3 =    C2 A3 : POUND SIGN
¤ = 244 = 164 = A4 = U+00A4 =    C2 A4 : CURRENCY SIGN
Ĥ = 246 = 166 = A6 = U+0124 = C4 A4 : LATIN CAPITAL LETTER H WITH CIRCUMFLEX
§ = 247 = 167 = A7 = U+00A7 =    C2 A7 : SECTION SIGN
¨ = 250 = 168 = A8 = U+00A8 =    C2 A8 : DIAERESIS
İ = 251 = 169 = A9 = U+0130 = C4 B0 : LATIN CAPITAL LETTER I WITH DOT ABOVE Ş = 252 = 170 = AA = U+015E = C5 9E : LATIN CAPITAL LETTER S WITH CEDILLA Ğ = 253 = 171 = AB = U+011E = C4 9E : LATIN CAPITAL LETTER G WITH BREVE Ĵ = 254 = 172 = AC = U+0134 = C4 B4 : LATIN CAPITAL LETTER J WITH CIRCUMFLEX
­ = 255 = 173 = AD = U+00AD =    C2 AD : HYPHEN-MINUS
Ż = 257 = 175 = AF = U+017B = C5 BB : LATIN CAPITAL LETTER Z WITH DOT ABOVE
° = 260 = 176 = B0 = U+00B0 =    C2 B0 : DEGREE SIGN
ħ = 261 = 177 = B1 = U+0127 = C4 A7 : LATIN SMALL LETTER H WITH STROKE
² = 262 = 178 = B2 = U+00B2 =    C2 B2 : SUPERSCRIPT TWO
³ = 263 = 179 = B3 = U+00B3 =    C2 B3 : SUPERSCRIPT THREE
´ = 264 = 180 = B4 = U+00B4 =    C2 B4 : ACUTE ACCENT
µ = 265 = 181 = B5 = U+00B5 =    C2 B5 : MICRO SIGN
ĥ = 266 = 182 = B6 = U+0125 = C4 A5 : LATIN SMALL LETTER H WITH CIRCUMFLEX
· = 267 = 183 = B7 = U+00B7 =    C2 B7 : MIDDLE DOT
¸ = 270 = 184 = B8 = U+00B8 =    C2 B8 : CEDILLA
ı = 271 = 185 = B9 = U+0131 =    C4 B1 : LATIN SMALL LETTER DOTLESS I
ş = 272 = 186 = BA = U+015F = C5 9F : LATIN SMALL LETTER S WITH CEDILLA ğ = 273 = 187 = BB = U+011F = C4 9F : LATIN SMALL LETTER G WITH BREVE ĵ = 274 = 188 = BC = U+0135 = C4 B5 : LATIN SMALL LETTER J WITH CIRCUMFLEX
½ = 275 = 189 = BD = U+00BD =    C2 BD : VULGAR FRACTION ONE HALF
ż = 277 = 191 = BF = U+017C = C5 BC : LATIN SMALL LETTER Z WITH DOT ABOVE À = 300 = 192 = C0 = U+00C0 = C3 80 : LATIN CAPITAL LETTER A WITH GRAVE Á = 301 = 193 = C1 = U+00C1 = C3 81 : LATIN CAPITAL LETTER A WITH ACUTE Â = 302 = 194 = C2 = U+00C2 = C3 82 : LATIN CAPITAL LETTER A WITH CIRCUMFLEX Ä = 304 = 196 = C4 = U+00C4 = C3 84 : LATIN CAPITAL LETTER A WITH DIAERESIS Ċ = 305 = 197 = C5 = U+010A = C4 8A : LATIN CAPITAL LETTER C WITH DOT ABOVE Ĉ = 306 = 198 = C6 = U+0108 = C4 88 : LATIN CAPITAL LETTER C WITH CIRCUMFLEX Ç = 307 = 199 = C7 = U+00C7 = C3 87 : LATIN CAPITAL LETTER C WITH CEDILLA È = 310 = 200 = C8 = U+00C8 = C3 88 : LATIN CAPITAL LETTER E WITH GRAVE É = 311 = 201 = C9 = U+00C9 = C3 89 : LATIN CAPITAL LETTER E WITH ACUTE Ê = 312 = 202 = CA = U+00CA = C3 8A : LATIN CAPITAL LETTER E WITH CIRCUMFLEX Ë = 313 = 203 = CB = U+00CB = C3 8B : LATIN CAPITAL LETTER E WITH DIAERESIS Ì = 314 = 204 = CC = U+00CC = C3 8C : LATIN CAPITAL LETTER I WITH GRAVE Í = 315 = 205 = CD = U+00CD = C3 8D : LATIN CAPITAL LETTER I WITH ACUTE Î = 316 = 206 = CE = U+00CE = C3 8E : LATIN CAPITAL LETTER I WITH CIRCUMFLEX Ï = 317 = 207 = CF = U+00CF = C3 8F : LATIN CAPITAL LETTER I WITH DIAERESIS Ñ = 321 = 209 = D1 = U+00D1 = C3 91 : LATIN CAPITAL LETTER N WITH TILDE Ò = 322 = 210 = D2 = U+00D2 = C3 92 : LATIN CAPITAL LETTER O WITH GRAVE Ó = 323 = 211 = D3 = U+00D3 = C3 93 : LATIN CAPITAL LETTER O WITH ACUTE Ô = 324 = 212 = D4 = U+00D4 = C3 94 : LATIN CAPITAL LETTER O WITH CIRCUMFLEX Ġ = 325 = 213 = D5 = U+0120 = C4 A0 : LATIN CAPITAL LETTER G WITH DOT ABOVE Ö = 326 = 214 = D6 = U+00D6 = C3 96 : LATIN CAPITAL LETTER O WITH DIAERESIS
× = 327 = 215 = D7 = U+00D7 =    C3 97 : MULTIPLICATION SIGN
Ĝ = 330 = 216 = D8 = U+011C = C4 9C : LATIN CAPITAL LETTER G WITH CIRCUMFLEX Ù = 331 = 217 = D9 = U+00D9 = C3 99 : LATIN CAPITAL LETTER U WITH GRAVE Ú = 332 = 218 = DA = U+00DA = C3 9A : LATIN CAPITAL LETTER U WITH ACUTE Û = 333 = 219 = DB = U+00DB = C3 9B : LATIN CAPITAL LETTER U WITH CIRCUMFLEX Ü = 334 = 220 = DC = U+00DC = C3 9C : LATIN CAPITAL LETTER U WITH DIAERESIS Ŭ = 335 = 221 = DD = U+016C = C5 AC : LATIN CAPITAL LETTER U WITH BREVE Ŝ = 336 = 222 = DE = U+015C = C5 9C : LATIN CAPITAL LETTER S WITH CIRCUMFLEX
ß = 337 = 223 = DF = U+00DF =    C3 9F : LATIN SMALL LETTER SHARP S
à = 340 = 224 = E0 = U+00E0 = C3 A0 : LATIN SMALL LETTER A WITH GRAVE á = 341 = 225 = E1 = U+00E1 = C3 A1 : LATIN SMALL LETTER A WITH ACUTE â = 342 = 226 = E2 = U+00E2 = C3 A2 : LATIN SMALL LETTER A WITH CIRCUMFLEX ä = 344 = 228 = E4 = U+00E4 = C3 A4 : LATIN SMALL LETTER A WITH DIAERESIS ċ = 345 = 229 = E5 = U+010B = C4 8B : LATIN SMALL LETTER C WITH DOT ABOVE ĉ = 346 = 230 = E6 = U+0109 = C4 89 : LATIN SMALL LETTER C WITH CIRCUMFLEX ç = 347 = 231 = E7 = U+00E7 = C3 A7 : LATIN SMALL LETTER C WITH CEDILLA è = 350 = 232 = E8 = U+00E8 = C3 A8 : LATIN SMALL LETTER E WITH GRAVE é = 351 = 233 = E9 = U+00E9 = C3 A9 : LATIN SMALL LETTER E WITH ACUTE ê = 352 = 234 = EA = U+00EA = C3 AA : LATIN SMALL LETTER E WITH CIRCUMFLEX ë = 353 = 235 = EB = U+00EB = C3 AB : LATIN SMALL LETTER E WITH DIAERESIS ì = 354 = 236 = EC = U+00EC = C3 AC : LATIN SMALL LETTER I WITH GRAVE í = 355 = 237 = ED = U+00ED = C3 AD : LATIN SMALL LETTER I WITH ACUTE î = 356 = 238 = EE = U+00EE = C3 AE : LATIN SMALL LETTER I WITH CIRCUMFLEX ï = 357 = 239 = EF = U+00EF = C3 AF : LATIN SMALL LETTER I WITH DIAERESIS ñ = 361 = 241 = F1 = U+00F1 = C3 B1 : LATIN SMALL LETTER N WITH TILDE ò = 362 = 242 = F2 = U+00F2 = C3 B2 : LATIN SMALL LETTER O WITH GRAVE ó = 363 = 243 = F3 = U+00F3 = C3 B3 : LATIN SMALL LETTER O WITH ACUTE ô = 364 = 244 = F4 = U+00F4 = C3 B4 : LATIN SMALL LETTER O WITH CIRCUMFLEX ġ = 365 = 245 = F5 = U+0121 = C4 A1 : LATIN SMALL LETTER G WITH DOT ABOVE ö = 366 = 246 = F6 = U+00F6 = C3 B6 : LATIN SMALL LETTER O WITH DIAERESIS
÷ = 367 = 247 = F7 = U+00F7 =    C3 B7 : DIVISION SIGN
ĝ = 370 = 248 = F8 = U+011D = C4 9D : LATIN SMALL LETTER G WITH CIRCUMFLEX ù = 371 = 249 = F9 = U+00F9 = C3 B9 : LATIN SMALL LETTER U WITH GRAVE ú = 372 = 250 = FA = U+00FA = C3 BA : LATIN SMALL LETTER U WITH ACUTE û = 373 = 251 = FB = U+00FB = C3 BB : LATIN SMALL LETTER U WITH CIRCUMFLEX ü = 374 = 252 = FC = U+00FC = C3 BC : LATIN SMALL LETTER U WITH DIAERESIS ŭ = 375 = 253 = FD = U+016D = C5 AD : LATIN SMALL LETTER U WITH BREVE ŝ = 376 = 254 = FE = U+015D = C5 9D : LATIN SMALL LETTER S WITH CIRCUMFLEX
˙ = 377 = 255 = FF = U+02D9 =    CB 99 : DOT ABOVE

--
Greetings

  Pete

The human brain operates at only 10% of its capacity. The rest is overhead for the operating system.






reply via email to

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