aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKenichi Handa2000-03-21 00:34:45 +0000
committerKenichi Handa2000-03-21 00:34:45 +0000
commit9111d4b571b079d6fcd4f8be9dacb90321242f67 (patch)
treea6c875243512c348f7521be47d7f5f823aee60e2 /src/ChangeLog
parentee5f768d2f1483f8d5eae636a87e338fedcef8b8 (diff)
downloademacs-9111d4b571b079d6fcd4f8be9dacb90321242f67.tar.gz
emacs-9111d4b571b079d6fcd4f8be9dacb90321242f67.zip
Fontsets related initialization is simplified.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog148
1 files changed, 148 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a7383847b7e..41757ac1de8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,151 @@
12000-03-21 Kenichi HANDA <handa@etl.go.jp>
2
3 The following changes are to make font selection based on
4 characters, not charset. In addition, they recover fontset
5 facilities while utilizing the new font selection mechanism.
6
7 * dispextern.h (struct glyph): New member glyph_not_available_p.
8 Use 22 bits for face_id.
9 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10 (struct face): Delete member registry, new member ascii_face.
11 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
14 (struct it): Delete member charset, new member
15 glyph_not_available_p.
16
17 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
18 (struct fontset_info, struct fontset_data): Structs removed.
19 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
20 Vglobale_fontset_alist, font_idx_temp): Externs removed.
21 (fs_load_font, fs_query_fontset): Adjusted for new argument.
22 (fs_free_face_fontset, fontset_font_pattern,
23 face_suitable_for_char_p, face_for_char,
24 make_fontset_for_ascii_face): Extern them.
25 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
26 (FS_LOAD_FACE_FONT): New macro.
27
28 * fontset.c: All codes rewritten or adjusted for the change of
29 fontset implementation. Now fontset is represented by char table.
30 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
31 removed.
32 (my_strcasecmp): Function removed.
33 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
34 variables.
35 (AREF, ASIZE): New macros.
36 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
37 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
38 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
39 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
40 fontset_id_valid_p, font_family_registry, fontset_name,
41 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
42 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
43 New functions.
44 (fs_load_font): New arg FACE. Caller changed.
45 (fs_query_fontset): Argument changed. Caller changed.
46 (Fquery_fontset): call fs_query_fontset.
47 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
48 Functions removed.
49 (clear_fontset_elements, check_registry_encoding,
50 check_fontset_name): New functions.
51 (syms_of_fontset): Set char-table-extra-slots property of fontset
52 to 3. Staticpro and initialize Vfontset_table and
53 Vdefault_fontset. Defsubr fontset_font and fontset_list.
54
55 * frame.h (struct frame): Member `fontset_data' removed.
56 (FRAME_FONTSET_DATA): Macro removed.
57
58 * frame.c (make_frame): Don't allocate f->fontset_data.
59 (Fdelete_frame): Don't free f->fontset_data.
60
61 * xdisp.c (charset_at_position): Function removed.
62 (init_iterator): Don't set member charset of struct `it'.
63 (handle_face_prop, reseat_to_string, set_iterator_to_next,
64 next_element_from_display_vector, insert_left_trunc_glyphs):
65 Likewise.
66 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
67 FACE_FOR_CHARSET.
68 (get_next_display_element, append_space,
69 extend_face_to_end_of_line): Likewise.
70
71 * xfaces.c (Qx_charset_registry, Vface_default_registry):
72 Variables removed.
73 (clear_font_table, frame_update_line_height, load_face_font):
74 Adjusted for the change of fontset implementation.
75 (load_face_fontset_font): Function removed.
76 (pixel_point_size): New function.
77 (font_list): Argument type changed. Caller changed.
78 (LFACE_FONT): New macro.
79 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
80 (set_lface_from_font_name): Type of arg FONTNAME is changed to
81 Lisp_Object. Determine the font name by actually loading a font
82 by the specified pattern. Set LFACE_FONT (lface) to the specified
83 pattern. Even if a font is not found, don't try alternatives.
84 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
85 (set_font_frame_param): If `font' is specified in lface, use it.
86 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
87 (lface_same_font_attributes_p): Likewise.
88 (make_realized_face): Arguent changed. Caller changed. Set
89 face->ascii_face to face itself.
90 (free_realized_face): Free face->fontset if face is for ASCII.
91 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
92 deduce_unibyte_registry, x_charset_registry): Functions removed.
93 (free_realized_multibyte_face): New function.
94 (lookup_face, lookup_named_face, lookup_derived_face): Argument
95 changed. Caller changed.
96 (try_font_list): Argument type changed.
97 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
98 (choose_face_font): Argument changed. Handle fontset properly.
99 (choose_face_fontset_font): Function removed.
100 (realize_default_face, realize_named_face): Don't remove the
101 former face here.
102 (realize_face): Argument changed. Caller changed. Remove face
103 with the arg former_face_id in advance. Load font for the new
104 face.
105 (realize_x_face): Argument changed. Caller changed. For a
106 multibyte character, share fontset with base_face. For a single
107 byte character, make a new realized fontset. Don't load a font
108 here.
109 (realize_tty_face): Argument changed. Caller changed.
110 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
111 (face_at_buffer_position): Don't check multibyte_p for returning
112 DEFAULT_FACE_ID.
113 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
114 FACE_SUITABLE_FOR_CHARSET_P.
115 (syms_of_xfaces): Remove code for Qx_charset_registry and
116 Vface_default_registry.
117
118 * xterm.c: Include fontset.h after dispextern.h.
119 (x_per_char_metric): Don't try FONT->default_char. Even if
120 pcm->width is zero, glyph bits may exist.
121 (x_encode_char): Always initialize char2b->byte1.
122 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
123 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
124 changed.
125 (x_append_glyph): Set glyph->glyph_not_available_p.
126 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
127 it->charset. Handle the case that per char metric is not
128 available. If it->multibyte_p is zero and it->c is a multibyte
129 character, convert it to a unibyte character.
130 (struct glyph_string): Delete member `charset'.
131 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
132 the case that per char metric is not available correctly.
133 (x_fill_glyph_string): Handle the case that the specific glyph is
134 not available correctly.
135 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
136 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
137 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
138 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
139 fontset. Don't call FS_LOAD_FONT.
140
141 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
142 (x_create_tip_frame): Likewise.
143 (Fx_close_connection): Free full_name of font_info.
144
145 * fns.c (optimize_sub_char_table): New function.
146 (Foptimize_char_table): New function.
147 (syms_of_fns): Defsubr Soptimize_char_table.
148
12000-03-20 Gerd Moellmann <gerd@gnu.org> 1492000-03-20 Gerd Moellmann <gerd@gnu.org>
2 150
3 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines 151 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines