aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorGlenn Morris2008-02-21 04:00:22 +0000
committerGlenn Morris2008-02-21 04:00:22 +0000
commite88a2ed3719bc74be5f13d297d9370dde777c6f5 (patch)
tree21f01cdc74e5dbb44829b007ad2296e7d5afc322 /admin
parent2b7a2553a5fda159241852db13d3709ef6cd200f (diff)
downloademacs-e88a2ed3719bc74be5f13d297d9370dde777c6f5.tar.gz
emacs-e88a2ed3719bc74be5f13d297d9370dde777c6f5.zip
Split off from README.unicode
Diffstat (limited to 'admin')
-rw-r--r--admin/notes/font-backend77
-rw-r--r--admin/notes/unicode146
2 files changed, 223 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 @@
1Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
2 Free Software Foundation, Inc.
3See the end of the file for license conditions.
4
5
6New font handling mechanism with font backend method
7----------------------------------------------------
8
9The configure script, if invoked with "--enable-font-backend", checks
10if libraries freetype and fontconfig exist. If they are both
11available, macro "USE_FONT_BACKEND" is defined in src/config.h. In
12that case, the existence of Xft library is checked too.
13
14The 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
29So we already have codes for X. For the other systems (w32 and mac),
30it seems that we need these files:
31 atmfont.c -- font-driver on mac using ATM fonts, corresponding
32 to xfont.c
33As 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
38But, as FreeType already supports BDF fonts, if FreeType and
39Fontconfig 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
43And, for those to work, macterm.c and macfns.c must be changed by the
44similar way as xterm.c and xfns.c (the parts "#ifdef USE_FONT_BACKEND"
45... "#endif" should be checked).
46
47It may be interesting if Emacs supports a frame buffer directly and
48has these font driver.
49 ftfbfont.c -- font-driver on FB for FreeType fonts.
50 bdffbfont.c -- font-driver on FB for BDF fonts.
51
52Note: The fontset related codes are not yet matured to work well with
53the font backend method. So, for instance, even if you start Emacs
54as something like this:
55 % emacs -fn tahoma
56Non-ASCII Latin characters will not be displayed by the font "tahoma".
57In such a case, please try this:
58
59(set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp"))
60
61
62This file is part of GNU Emacs.
63
64GNU Emacs is free software; you can redistribute it and/or modify
65it under the terms of the GNU General Public License as published by
66the Free Software Foundation; either version 3, or (at your option)
67any later version.
68
69GNU Emacs is distributed in the hope that it will be useful,
70but WITHOUT ANY WARRANTY; without even the implied warranty of
71MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72GNU General Public License for more details.
73
74You should have received a copy of the GNU General Public License
75along with GNU Emacs; see the file COPYING. If not, write to the
76Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
77Boston, MA 02110-1301, USA.
diff --git a/admin/notes/unicode b/admin/notes/unicode
new file mode 100644
index 00000000000..0f76a3d36f9
--- /dev/null
+++ b/admin/notes/unicode
@@ -0,0 +1,146 @@
1 -*-mode: text; coding: latin-1;-*-
2
3Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
4 Free Software Foundation, Inc.
5See the end of the file for license conditions.
6
7Problems, fixmes and other unicode-related issues
8-------------------------------------------------------------
9
10Notes by fx to record various things of variable importance. handa
11needs to check them -- don't take too seriously, especially with
12regard to completeness.
13
14 * SINGLE_BYTE_CHAR_P returns true for Latin-1 characters, which has
15 undesirable effects. E.g.:
16 (multibyte-string-p (let ((s "x")) (aset s 0 ?£) s)) => nil
17 (multibyte-string-p (concat [?£])) => nil
18 (text-char-description ?£) => "M-#"
19
20 These examples are all fixed by the change of 2002-10-14, but
21 there still exist questionable SINGLE_BYTE_CHAR_P in the
22 code (keymap.c and print.c).
23
24 * Rationalize character syntax and its relationship to the Unicode
25 database. (Applies mainly to symbol an punctuation syntax.)
26
27 * Fontset handling and customization needs work. We want to relate
28 fonts to scripts, probably based on the Unicode blocks. The
29 presence of small-repertoire 10646-encoded fonts in XFree 4 is a
30 pain, not currently worked round.
31
32 With the change on 2002-07-26, multiple fonts can be
33 specified in a fontset for a specific range of characters.
34 Each range can also be specified by script. Before using
35 ISO10646 fonts, Emacs checks their repertories to avoid such
36 fonts that don't have a glyph for a specific character.
37
38 fx has worked on fontset customization, but was stymied by
39 basic problems with the way the default face is dealt with
40 (and something else, I think). This needs revisiting.
41
42 * Work is also needed on charset and coding system priorities.
43
44 * The relevant bits of latin1-disp.el need porting (and probably
45 re-naming/updating). See also cyril-util.el.
46
47 * Quail files need more work now the encoding is largely irrelevant.
48
49 * What to do with the old coding categories stuff?
50
51 * The preferred-coding-system property of charsets should probably be
52 junked unless it can be made more useful now.
53
54 * find-multibyte-characters needs looking at.
55
56 * Implement Korean cp949/UHC, BIG5-HKSCS and any other important missing
57 charsets.
58
59 * Lazy-load tables for unify-charset somehow?
60
61 Actually, Emacs clears out all charset maps and unify-map just
62 before dumping, and they are loaded again on demand by the
63 dumped emacs. But, those maps (char tables) generated while
64 temacs is running can't be removed from the dumped emacs.
65
66 * Translation tables for {en,de}code currently aren't supported.
67
68 This should be fixed by the changes of 2002-10-14.
69
70 * Defining CCL coding systems currently doesn't work.
71
72 This should be fixed by the changes of 2003-01-30.
73
74 * iso-2022 charsets get unified on i/o.
75
76 With the change on 2003-01-06, decoding routines put `charset'
77 property to decoded text, and iso-2022 encoder pay attention
78 to it. Thus, for instance, reading and writing by
79 iso-2022-7bit preserve the original designation sequences.
80 The property name `preferred-charset' may be better?
81
82 We may have to utilize this property to decide a font.
83
84 * Revisit locale processing: look at treating the language and
85 charset parts separately. (Language should affect things like
86 spelling and calendar, but that's not a Unicode issue.)
87
88 * Handle Unicode combining characters usefully, e.g. diacritics, and
89 handle more scripts specifically (à la Devanagari). There are
90 issues with canonicalization.
91
92 * Bidi is a separate issue with no support currently.
93
94 * We need tabular input methods, e.g. for maths symbols. (Not
95 specific to Unicode.)
96
97 * Need multibyte text in menus, e.g. for the above. (Not specific to
98 Unicode -- see Emacs etc/TODO, but now mostly works with gtk.)
99
100 * There's currently no support for Unicode normalization.
101
102 * Populate char-width-table correctly for Unicode characters and
103 worry about what happens when double-width charsets covering
104 non-CJK characters are unified.
105
106 * Emacs 20/21 .elc files are currently not loadable. It may or may
107 not be possible to do this properly.
108
109 With the change on 2002-07-24, elc files generated by Emacs
110 20.3 and later are correctly loaded (including those
111 containing multibyte characters and compressed). But, elc
112 files generated by 20.2 and the primer are still not loadable.
113 Is it really worth working on it?
114
115 * Rmail won't work with non-ASCII text. Encoding issues for Babyl
116 files need sorting out, but rms says Babyl will go before this is
117 released.
118
119 * Gnus still needs some attention, and we need to get changes
120 accepted by Gnus maintainers...
121
122 * There are type errors lurking, e.g. in
123 Fcheck_coding_systems_region. Define ENABLE_CHECKING to find them.
124
125 * You can grep the code for lots of fixmes.
126
127 * Old auto-save files, and similar files, such as Gnus drafts,
128 containing non-ASCII characters probably won't be re-read correctly.
129
130
131This file is part of GNU Emacs.
132
133GNU Emacs is free software; you can redistribute it and/or modify
134it under the terms of the GNU General Public License as published by
135the Free Software Foundation; either version 3, or (at your option)
136any later version.
137
138GNU Emacs is distributed in the hope that it will be useful,
139but WITHOUT ANY WARRANTY; without even the implied warranty of
140MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
141GNU General Public License for more details.
142
143You should have received a copy of the GNU General Public License
144along with GNU Emacs; see the file COPYING. If not, write to the
145Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
146Boston, MA 02110-1301, USA.