annotate admin/notes/font-backend @ 99492:ee792794d888

(isearch-search-fun): Compare the length of the current search string with the length of the string from the previous search state to detect the situation when the user adds or removes characters in the search string. Use word-search-forward-lax and word-search-backward-lax in this case, and otherwise word-search-forward and word-search-backward.
author Juri Linkov <juri@jurta.org>
date Tue, 11 Nov 2008 19:43:09 +0000
parents cac099ec0724
children ce88a631c161
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
92006
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 Free Software Foundation, Inc.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
3 See the end of the file for license conditions.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
4
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 New font handling mechanism with font backend method
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 ----------------------------------------------------
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9 The configure script, if invoked with "--enable-font-backend", checks
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 if libraries freetype and fontconfig exist. If they are both
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11 available, macro "USE_FONT_BACKEND" is defined in src/config.h. In
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12 that case, the existence of Xft library is checked too.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
14 The new files are:
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15 font.h -- header providing font-backend related structures
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16 (most important ones are "struct font" and "struct
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 font_driver"), macros, and etc.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 font.c -- main font handling code.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 xfont.c -- font-driver on X for X core fonts.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 ftfont.c -- generic font-driver for FreeType fonts providing
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 device-independent methods of struct font_driver.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 xftfont.c -- font-driver on X using Xft for FreeType fonts
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 utilizing methods provided by ftfont.c.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24 ftxfont.c -- font-driver on X directly using FreeType fonts
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25 utilizing methods provided by ftfont.c.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26 w32font.c -- font driver on w32 using Windows native fonts,
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 corresponding to xfont.c
93657
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
28 w32uniscribe.c -- font driver on w32, using the uniscribe API
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
29 to provide complex script support for opentype fonts on
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
30 Windows 2000 and later, or earlier versions of Windows
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
31 with uniscribe installed as an add-on.
92006
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32
93657
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
33 So we already have codes for X and w32. For Mac it seems that we need
c6cad0a1a68b Updated for uniscribe backend.
Jason Rumney <jasonr@gnu.org>
parents: 92006
diff changeset
34 these files:
92006
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 atmfont.c -- font-driver on mac using ATM fonts, corresponding
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 to xfont.c
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 As BDF fonts are currently used on w32, we may also implement these:
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 bdffont.c -- generic font-driver for BDF fonts, corresponding to
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 ftfont.c
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 bdfw32font.c -- font-driver on w32 using BDF fonts,
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 corresponding to ftxfont.c
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 But, as FreeType already supports BDF fonts, if FreeType and
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 Fontconfig are also available on w32, what we need may be:
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 ftw32font.c -- font-driver on w32 directly using FreeType fonts
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45 utilizing methods provided by ftfont.c.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 And, for those to work, macterm.c and macfns.c must be changed by the
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 similar way as xterm.c and xfns.c (the parts "#ifdef USE_FONT_BACKEND"
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 ... "#endif" should be checked).
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51 It may be interesting if Emacs supports a frame buffer directly and
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 has these font driver.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53 ftfbfont.c -- font-driver on FB for FreeType fonts.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54 bdffbfont.c -- font-driver on FB for BDF fonts.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 Note: The fontset related codes are not yet matured to work well with
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 the font backend method. So, for instance, even if you start Emacs
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 as something like this:
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 % emacs -fn tahoma
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 Non-ASCII Latin characters will not be displayed by the font "tahoma".
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61 In such a case, please try this:
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
62
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63 (set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp"))
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 This file is part of GNU Emacs.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93657
diff changeset
68 GNU Emacs is free software: you can redistribute it and/or modify
92006
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69 it under the terms of the GNU General Public License as published by
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93657
diff changeset
70 the Free Software Foundation, either version 3 of the License, or
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93657
diff changeset
71 (at your option) any later version.
92006
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 GNU Emacs is distributed in the hope that it will be useful,
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 but WITHOUT ANY WARRANTY; without even the implied warranty of
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76 GNU General Public License for more details.
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77
850ec4b2f0bc Split off from README.unicode
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 You should have received a copy of the GNU General Public License
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93657
diff changeset
79 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.