annotate src/s/sunos4shr.h @ 90906:f8694254fa1d

(w32font_info): Remove subranges. (QCsubranges, Qmodern, Qswiss, Qroman): Remove. (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif) (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian) (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali) (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada) (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian) (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham) (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan) (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun) (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical): New symbols. (font_callback_data): New struct. (w32font_list, w32font_match): Use it. (w32font_open): Don't populate subranges. (w32font_has_char): Use script Lisp symbols, not subrange bitmask. (w32font_encode_char): Always return unicode code-point as-is. (w32font_text_extents): Supply a tranformation matrix to GetGlyphOutline. Never look up by glyph index. Avoid looping twice. Use unicode version of GetTexExtentPoint32 instead of glyph index version. (set_fonts_frame): Remove (w32_enumfont_pattern_entity): Add frame parameter, use it to set frame parameter. Use backward compatible fake foundries. Save generic family in extra slot under QCfamily. Make width slot constant. Save QCspacing value. Save list of scripts instead of binary subranges. (w32_generic_family, logfonts_match, font_matches_spec): New functions. (add_font_entity_to_list): Use font_callback_data struct. Filter unwanted fonts. (add_one_font_entity_to_list): Use font_callback_data struct. (w32_registry): Default to iso10646_1; (fill_in_logfont): Use dpi from extra slot. Don't bother with string font registries. Don't fill in font name if it is a generic family name, fill family instead. Use spacing, family and script extra info to fill pitch, family and charset fields. (list_all_matching_fonts): Use font_callback_data struct. (unicode_range_for_char): Remove. (font_supported_scripts): New function. (w32font_initialize): Remove. (syms_of_w32font): Update which symbols are defined.
author Jason Rumney <jasonr@gnu.org>
date Sat, 02 Jun 2007 23:42:23 +0000
parents dd7c098af727
children f55f9811f5d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
75958
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
1 /*
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006,
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
3 2007 Free Software Foundation, Inc.
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
4
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
5 This file is part of GNU Emacs.
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
6
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
8 it under the terms of the GNU General Public License as published by
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
10 any later version.
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
11
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
15 GNU General Public License for more details.
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
16
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
17 You should have received a copy of the GNU General Public License
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
21
386a4a482dee Add copyright and license notice. Copyright years from base include
Glenn Morris <rgm@gnu.org>
parents: 52401
diff changeset
22
5039
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
23 /* This file permits building Emacs with a shared libc on Sunos 4.
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
24 To make this work, you must completely replace your C shared library
9031
5da502223e20 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 9019
diff changeset
25 using one of the SunOS 4.1.x jumbo replacement patches from Sun.
5da502223e20 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 9019
diff changeset
26 Here are the patch numbers for Sunos 4.1.3:
5da502223e20 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 9019
diff changeset
27 100890-10 SunOS 4.1.3: domestic libc jumbo patch
5da502223e20 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 9019
diff changeset
28 100891-10 SunOS 4.1.3: international libc jumbo patch */
5da502223e20 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 9019
diff changeset
29
5039
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
30
2733
d7cacd332230 * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
Jim Blandy <jimb@redhat.com>
parents: 625
diff changeset
31 #include "sunos4-1.h"
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 /* Say that the text segment of a.out includes the header;
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 the header actually occupies the first few bytes of the text segment
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 and is counted in hdr.a_text. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 /* Misleading! Actually gets loaded after crt0.o */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 #define START_FILES pre-crt0.o
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 /*
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 * Kludge! can't get at symbol "start" in std crt0.o
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 * Who the #$%&* decided to remove the __ characters!
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 * Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 * sysdep.c. We do not use this address so any value should do really. Still
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 * may need it in the future?
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 #define BROKEN_START
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 #define TEXT_START 0x2020
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 #define UNEXEC unexsunos4.o
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 #define RUN_TIME_REMAP
11615
7fa33c87242c (ORDINARY_LINK): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 9073
diff changeset
52 #define ORDINARY_LINK
12585
771e75e8ebb5 (SUNOS4_SHARED_LIBRARIES): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 12459
diff changeset
53 #define SUNOS4_SHARED_LIBRARIES
2733
d7cacd332230 * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
Jim Blandy <jimb@redhat.com>
parents: 625
diff changeset
54
d7cacd332230 * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
Jim Blandy <jimb@redhat.com>
parents: 625
diff changeset
55 #undef LD_SWITCH_SYSTEM
18586
41f11018aeb5 (LD_SWITCH_SYSTEM_TEMACS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 13863
diff changeset
56 #undef LD_SWITCH_SYSTEM_TEMACS
4165
328187f39c3a (SYSTEM_MALLOC): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 2733
diff changeset
57
328187f39c3a (SYSTEM_MALLOC): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 2733
diff changeset
58 #undef SYSTEM_MALLOC
5039
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
59 #ifndef GNU_MALLOC
4165
328187f39c3a (SYSTEM_MALLOC): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 2733
diff changeset
60 #define GNU_MALLOC
5039
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
61 #endif
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
62 #ifndef REL_ALLOC
4165
328187f39c3a (SYSTEM_MALLOC): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 2733
diff changeset
63 #define REL_ALLOC
5039
8755e1e3faf1 (GNU_MALLOC, REL_ALLOC): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents: 4205
diff changeset
64 #endif
4205
23978f12007b (memmove): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4165
diff changeset
65
23978f12007b (memmove): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4165
diff changeset
66 /* khera@cs.duke.edu says this is needed. */
23978f12007b (memmove): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4165
diff changeset
67 #define memmove(to, from, size) bcopy (from, to, size)
9073
43aa8427db01 (USE_DL_STUBS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 9031
diff changeset
68
43aa8427db01 (USE_DL_STUBS): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 9031
diff changeset
69 #undef USE_DL_STUBS
12459
d1da7f16002c (LIBXMU): New definitions (two alternative ones).
Richard M. Stallman <rms@gnu.org>
parents: 11615
diff changeset
70
13863
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
71 #ifndef HAVE_X11R6
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
72 /* With X11R5 it was reported that linking -lXmu dynamically
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
73 did not work. With X11R6, it does work; and since normally
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
74 only the dynamic libraries are available, we should use them. */
12459
d1da7f16002c (LIBXMU): New definitions (two alternative ones).
Richard M. Stallman <rms@gnu.org>
parents: 11615
diff changeset
75 #ifdef __GNUC__
13863
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
76 #define LIBXMU -Xlinker -Bstatic -lXmu -Xlinker -Bdynamic
12459
d1da7f16002c (LIBXMU): New definitions (two alternative ones).
Richard M. Stallman <rms@gnu.org>
parents: 11615
diff changeset
77 #else
13863
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
78 #define LIBXMU -Bstatic -lXmu -Bdynamic
12459
d1da7f16002c (LIBXMU): New definitions (two alternative ones).
Richard M. Stallman <rms@gnu.org>
parents: 11615
diff changeset
79 #endif
13863
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
80
8b143e9a5394 (LIBXMU): Replace previous change.
Richard M. Stallman <rms@gnu.org>
parents: 13711
diff changeset
81 #endif /* not HAVE_X11R6 */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 21929
diff changeset
82
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 21929
diff changeset
83 /* arch-tag: cb54321a-ed45-4c17-a23e-1c157758da78
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 21929
diff changeset
84 (do not change this comment) */