diff options
| author | Kenichi Handa | 2000-03-21 00:34:45 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2000-03-21 00:34:45 +0000 |
| commit | 9111d4b571b079d6fcd4f8be9dacb90321242f67 (patch) | |
| tree | a6c875243512c348f7521be47d7f5f823aee60e2 /src/ChangeLog | |
| parent | ee5f768d2f1483f8d5eae636a87e338fedcef8b8 (diff) | |
| download | emacs-9111d4b571b079d6fcd4f8be9dacb90321242f67.tar.gz emacs-9111d4b571b079d6fcd4f8be9dacb90321242f67.zip | |
Fontsets related initialization is simplified.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 148 |
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 @@ | |||
| 1 | 2000-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 | |||
| 1 | 2000-03-20 Gerd Moellmann <gerd@gnu.org> | 149 | 2000-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 |