diff options
| author | Glenn Morris | 2008-02-21 04:00:22 +0000 |
|---|---|---|
| committer | Glenn Morris | 2008-02-21 04:00:22 +0000 |
| commit | e88a2ed3719bc74be5f13d297d9370dde777c6f5 (patch) | |
| tree | 21f01cdc74e5dbb44829b007ad2296e7d5afc322 /admin/notes/font-backend | |
| parent | 2b7a2553a5fda159241852db13d3709ef6cd200f (diff) | |
| download | emacs-e88a2ed3719bc74be5f13d297d9370dde777c6f5.tar.gz emacs-e88a2ed3719bc74be5f13d297d9370dde777c6f5.zip | |
Split off from README.unicode
Diffstat (limited to 'admin/notes/font-backend')
| -rw-r--r-- | admin/notes/font-backend | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/admin/notes/font-backend b/admin/notes/font-backend new file mode 100644 index 00000000000..7abe8f1a9e8 --- /dev/null +++ b/admin/notes/font-backend | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | ||
| 2 | Free Software Foundation, Inc. | ||
| 3 | See the end of the file for license conditions. | ||
| 4 | |||
| 5 | |||
| 6 | New font handling mechanism with font backend method | ||
| 7 | ---------------------------------------------------- | ||
| 8 | |||
| 9 | The configure script, if invoked with "--enable-font-backend", checks | ||
| 10 | if libraries freetype and fontconfig exist. If they are both | ||
| 11 | available, macro "USE_FONT_BACKEND" is defined in src/config.h. In | ||
| 12 | that case, the existence of Xft library is checked too. | ||
| 13 | |||
| 14 | The new files are: | ||
| 15 | font.h -- header providing font-backend related structures | ||
| 16 | (most important ones are "struct font" and "struct | ||
| 17 | font_driver"), macros, and etc. | ||
| 18 | font.c -- main font handling code. | ||
| 19 | xfont.c -- font-driver on X for X core fonts. | ||
| 20 | ftfont.c -- generic font-driver for FreeType fonts providing | ||
| 21 | device-independent methods of struct font_driver. | ||
| 22 | xftfont.c -- font-driver on X using Xft for FreeType fonts | ||
| 23 | utilizing methods provided by ftfont.c. | ||
| 24 | ftxfont.c -- font-driver on X directly using FreeType fonts | ||
| 25 | utilizing methods provided by ftfont.c. | ||
| 26 | w32font.c -- font driver on w32 using Windows native fonts, | ||
| 27 | corresponding to xfont.c | ||
| 28 | |||
| 29 | So we already have codes for X. For the other systems (w32 and mac), | ||
| 30 | it seems that we need these files: | ||
| 31 | atmfont.c -- font-driver on mac using ATM fonts, corresponding | ||
| 32 | to xfont.c | ||
| 33 | As BDF fonts are currently used on w32, we may also implement these: | ||
| 34 | bdffont.c -- generic font-driver for BDF fonts, corresponding to | ||
| 35 | ftfont.c | ||
| 36 | bdfw32font.c -- font-driver on w32 using BDF fonts, | ||
| 37 | corresponding to ftxfont.c | ||
| 38 | But, as FreeType already supports BDF fonts, if FreeType and | ||
| 39 | Fontconfig are also available on w32, what we need may be: | ||
| 40 | ftw32font.c -- font-driver on w32 directly using FreeType fonts | ||
| 41 | utilizing methods provided by ftfont.c. | ||
| 42 | |||
| 43 | And, for those to work, macterm.c and macfns.c must be changed by the | ||
| 44 | similar way as xterm.c and xfns.c (the parts "#ifdef USE_FONT_BACKEND" | ||
| 45 | ... "#endif" should be checked). | ||
| 46 | |||
| 47 | It may be interesting if Emacs supports a frame buffer directly and | ||
| 48 | has these font driver. | ||
| 49 | ftfbfont.c -- font-driver on FB for FreeType fonts. | ||
| 50 | bdffbfont.c -- font-driver on FB for BDF fonts. | ||
| 51 | |||
| 52 | Note: The fontset related codes are not yet matured to work well with | ||
| 53 | the font backend method. So, for instance, even if you start Emacs | ||
| 54 | as something like this: | ||
| 55 | % emacs -fn tahoma | ||
| 56 | Non-ASCII Latin characters will not be displayed by the font "tahoma". | ||
| 57 | In such a case, please try this: | ||
| 58 | |||
| 59 | (set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp")) | ||
| 60 | |||
| 61 | |||
| 62 | This file is part of GNU Emacs. | ||
| 63 | |||
| 64 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 65 | it under the terms of the GNU General Public License as published by | ||
| 66 | the Free Software Foundation; either version 3, or (at your option) | ||
| 67 | any later version. | ||
| 68 | |||
| 69 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 70 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 71 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 72 | GNU General Public License for more details. | ||
| 73 | |||
| 74 | You should have received a copy of the GNU General Public License | ||
| 75 | along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 76 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 77 | Boston, MA 02110-1301, USA. | ||