diff options
| author | Kenichi Handa | 2008-05-14 01:46:15 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-05-14 01:46:15 +0000 |
| commit | c6b278e7cb1a8d5a51fcc947e495a3e5f7148aab (patch) | |
| tree | 99ccbecc1a2ffa0d3e957866f7276196941450f6 /src | |
| parent | 90546022d6107084a5e3ab927dd5a0257aacf890 (diff) | |
| download | emacs-c6b278e7cb1a8d5a51fcc947e495a3e5f7148aab.tar.gz emacs-c6b278e7cb1a8d5a51fcc947e495a3e5f7148aab.zip | |
(detect_coding_iso_2022): Ignore a coding category that
has no corresponding coding system.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 487 | ||||
| -rw-r--r-- | src/coding.c | 2 |
2 files changed, 489 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5ca21988aa9..41f2467664b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,490 @@ | |||
| 1 | 2008-05-14 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * coding.c (detect_coding_iso_2022): Ignore a coding category that | ||
| 4 | has no corresponding coding system. | ||
| 5 | |||
| 6 | 2008-05-14 Jason Rumney <jasonr@gnu.org> | ||
| 7 | |||
| 8 | * font.h (struct font) [WINDOWSNT]: Remove codepage member. | ||
| 9 | |||
| 10 | * w32font.h (w32font_open_internal): Update declaration. | ||
| 11 | |||
| 12 | * w32font.c (w32font_open_internal): Change last argument from | ||
| 13 | w32font_info struct to font object. Fill in font object from | ||
| 14 | font_entity. Get Outline metrics if possible. Use them to | ||
| 15 | calculate underline position and thickness. Use xlfd name as name | ||
| 16 | property. Don't set codepage. | ||
| 17 | (w32font_open): Pass font_object to w32font_open_internal. Don't | ||
| 18 | update dpyinfo->smallest_font_height and | ||
| 19 | dpyinfo->smallest_char_width. | ||
| 20 | (w32font_draw): Use s->font. | ||
| 21 | (clear_cached_metrics): Don't clear non-existent blocks. | ||
| 22 | |||
| 23 | * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if | ||
| 24 | font was not found. | ||
| 25 | (x_draw_glyph_string): Use underline position and thickness from | ||
| 26 | font. | ||
| 27 | |||
| 28 | * w32uniscribe.c (uniscribe_open): Pass font_object to | ||
| 29 | w32font_open_internal. | ||
| 30 | |||
| 31 | 2008-05-14 Kenichi Handa <handa@m17n.org> | ||
| 32 | |||
| 33 | These changes are to delete all legacy font-handling codes, and | ||
| 34 | make Emacs use only font-backends. | ||
| 35 | |||
| 36 | * Makefile.in: Delete USE_FONT_BACKEND conditionals. | ||
| 37 | (frame.o, image.o, print.o): Depend on $(FONTSRC). | ||
| 38 | |||
| 39 | * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O). | ||
| 40 | |||
| 41 | * charset.h (Vcharset_non_preferred_head) | ||
| 42 | (Vcurrent_iso639_language): Extern them. | ||
| 43 | |||
| 44 | * charset.c (Vcharset_non_preferred_head): New variable. | ||
| 45 | (Vcurrent_iso639_language): New variable. | ||
| 46 | (syms_of_charset): Declare it as a Lisp variable. | ||
| 47 | (char_charset): Don't check non preferred charsets. As a last | ||
| 48 | resort, return charset_unicode. | ||
| 49 | (Fset_charset_priority): Update Vcharset_non_preferred_head. | ||
| 50 | |||
| 51 | * composite.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 52 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 53 | used only when USE_FONT_BACKEND is not defined. | ||
| 54 | |||
| 55 | * dispextern.h (struct glyph_string): Change type of `font' to | ||
| 56 | `struct font *'. | ||
| 57 | (struct glyph_string): New member underline_position and | ||
| 58 | underline_thickness. | ||
| 59 | (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX. | ||
| 60 | (struct face): Change type of `font' to `struct font *'. Remove | ||
| 61 | members `font_name', `font_info_id'. | ||
| 62 | (per_char_metric, encode_char): Delete externs. | ||
| 63 | (calc_pixel_width_or_height): Adjust the prototype. | ||
| 64 | |||
| 65 | * emacs.c (enable_font_backend): Delete extern. | ||
| 66 | (main): Don't set enable_font_backend. Don't check the command | ||
| 67 | line argument "-disable-font-backend". | ||
| 68 | |||
| 69 | * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them. | ||
| 70 | (enum font_property_index): New members FONT_DPI_INDEX, | ||
| 71 | FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX, | ||
| 72 | FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX, | ||
| 73 | FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX. | ||
| 74 | (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC) | ||
| 75 | (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC) | ||
| 76 | (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE) | ||
| 77 | (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC) | ||
| 78 | (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros. | ||
| 79 | (struct font_spec, struct font_entity): New structs. | ||
| 80 | (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h. | ||
| 81 | (struct font): Many members from old "struct font_info" moved to | ||
| 82 | here. Members font and entity deleted. | ||
| 83 | (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for | ||
| 84 | the new font-related objects. | ||
| 85 | (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT) | ||
| 86 | (CHECK_FONT_GET_OBJECT): Likewise. | ||
| 87 | (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros. | ||
| 88 | (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h. | ||
| 89 | (struct font_driver): New members case_sensitive anc check. Type | ||
| 90 | of the member list and open changed. | ||
| 91 | (enable_font_backend, font_symbolic_weight, font_symbolic_slant) | ||
| 92 | (font_symbolic_width, font_find_object, font_get_spec) | ||
| 93 | (font_set_lface_from_name): Delete extern. | ||
| 94 | (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New | ||
| 95 | EXFUNs. | ||
| 96 | |||
| 97 | * font.c: Include <strings.h>. | ||
| 98 | (enable_font_backend): Delete it. | ||
| 99 | (Qfont_spec, Qfont_entity, Qfont_object): New variables. | ||
| 100 | (CHECK_VALIDATE_FONT_SPEC): Delete it. | ||
| 101 | (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h. | ||
| 102 | (null_string): Delete it. | ||
| 103 | (null_vector): Make it static. | ||
| 104 | (font_family_alist): Delete it. | ||
| 105 | (Qnormal): Extern it. | ||
| 106 | (QCextra, QClanguage): Delete it. | ||
| 107 | (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New | ||
| 108 | variables. | ||
| 109 | (font_make_spec, font_make_entity, font_make_object) | ||
| 110 | (font_intern_prop): Renamed from intern_downcase. Don't downcase | ||
| 111 | the string. Callers changed. | ||
| 112 | (font_pixel_size): Adjusted for the format change of font-related | ||
| 113 | objects. | ||
| 114 | (prop_name_to_numeric, prop_numeric_to_name): Delete them. | ||
| 115 | (font_style_to_value, font_style_symbolic): New function. | ||
| 116 | (build_font_family_alist): Delete it. | ||
| 117 | (font_registry_charsets): Use Fassoc_string instead of | ||
| 118 | assq_no_quit. | ||
| 119 | (font_prop_validate_symbol): Don't return null_string. | ||
| 120 | (font_prop_validate_style): Adjusted for the change of | ||
| 121 | style-related values in a font vector. | ||
| 122 | (font_property_table): Delete entries for QClangauge and | ||
| 123 | QCantialias, add entries for QCavgwidth. | ||
| 124 | (get_font_prop_index): Delete the 2nd argument FROM. | ||
| 125 | (font_prop_validate): Arguments changed. | ||
| 126 | (font_put_extra): Adjusted for the change of font-related objects. | ||
| 127 | (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd) | ||
| 128 | (font_parse_fcname, font_unparse_fcname) | ||
| 129 | (font_prepare_composition): Likewise. | ||
| 130 | (font_parse_family_registry): Renamed from font_merge_old_spec. | ||
| 131 | (otf_open): Delete the 1st arg entity. | ||
| 132 | (font_otf_capability): Adjusted for the above change. | ||
| 133 | (font_score): New arg alternate_families. Adjusted for the change | ||
| 134 | of font-related objects. | ||
| 135 | (font_sort_entites): New arg best_only. | ||
| 136 | (font_symbolic_weight, font_symbolic_slant, font_symbolic_width): | ||
| 137 | Delete them. | ||
| 138 | (font_match_p): Check alternate families. | ||
| 139 | (font_find_object): Delete it. | ||
| 140 | (font_check_object): New function. | ||
| 141 | (font_clear_cache): Adjusted for the change of font-related | ||
| 142 | objects. | ||
| 143 | (font_delete_unmatched): New arg. | ||
| 144 | (font_list_entities): Call font_driver->list with a spec that | ||
| 145 | doesn't specify style-related properties. | ||
| 146 | (font_matching_entity): Arguments changed. Caller changed. | ||
| 147 | (font_open_entity): Adjusted for the change of font-related | ||
| 148 | objects. | ||
| 149 | (font_close_object, font_has_char, font_encode_char) | ||
| 150 | (font_get_name, font_get_spec): Likewise. | ||
| 151 | (font_spec_from_name, font_clear_prop, font_update_lface): New | ||
| 152 | functions. | ||
| 153 | (font_find_for_lface, font_open_for_lface, font_load_for_lface): | ||
| 154 | (font_prepare_for_face, font_done_for_face, font_open_by_name) | ||
| 155 | (font_at): Adjusted for the change of font-related objects. | ||
| 156 | (font_range): New function. | ||
| 157 | (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts) | ||
| 158 | (Ffont_xlfd_name): Adjusted for the change of font-related | ||
| 159 | objects. | ||
| 160 | (Fcopy_font_spec, Fmerge_font_spec): New function. | ||
| 161 | (Ffont_family_list): Renamed from list-families. | ||
| 162 | (Finternal_set_font_style_table): Arguments changed. | ||
| 163 | (Ffont_fill_gstring, Ffont_shape_text, Fopen_font) | ||
| 164 | (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the | ||
| 165 | change of font-related objects. | ||
| 166 | (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new | ||
| 167 | symboles. | ||
| 168 | |||
| 169 | * fontset.h (struct font_info): Delete it. Most memnbers go to | ||
| 170 | struct font. | ||
| 171 | (FONT_ENCODING_NOT_DECIDED): Moved to font.h. | ||
| 172 | (enum FONT_SPEC_INDEX): Delete it. | ||
| 173 | (font_info, list_fonts_func, load_font_func, query_font_func) | ||
| 174 | (set_frame_fontset_func, find_ccl_program_func) | ||
| 175 | (get_font_repertory_func, new_fontset_from_font_name): Delete | ||
| 176 | externs. | ||
| 177 | (fontset_from_font_name): Extern it. | ||
| 178 | (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID) | ||
| 179 | (FONT_INFO_FROM_FACE): Deleted. | ||
| 180 | (face_for_font): Adjust prototype. | ||
| 181 | |||
| 182 | * fontset.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 183 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 184 | used only when USE_FONT_BACKEND is not defined. | ||
| 185 | (get_font_info_func, list_font_func, load_font_func) | ||
| 186 | (query_font_func, set_frame_fontset_func, find_ccl_program_func) | ||
| 187 | (get_font_repertory_func): Delete them. | ||
| 188 | (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING) | ||
| 189 | (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE) | ||
| 190 | (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY) | ||
| 191 | (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE) | ||
| 192 | (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros. | ||
| 193 | (fontset_compare_rfontdef): New function. | ||
| 194 | (reorder_font_vector): Remove the argument CHARSET-ID. Sort | ||
| 195 | ront-defs by qsort. Adjusted for the change of font-group vector. | ||
| 196 | (load_font_get_repertory): Deleted. | ||
| 197 | (fontset_find_font): Use new macros to ref/set elements of | ||
| 198 | font-def and rfont-def. | ||
| 199 | (fontset_font): Fix the timing of remembering that no font for C. | ||
| 200 | (free_face_fontset): Do nothing if the face has no fontset. | ||
| 201 | (face_suitable_for_char_p): Use new macros to ref/set elements of | ||
| 202 | rfont-def. | ||
| 203 | (face_for_char): Likewise. Call face_for_char with font_object. | ||
| 204 | (fs_load_font): Delete. Delete #pragma surrounding it. | ||
| 205 | (fs_query_fontset): Use strcasecmp instead of strcmp. | ||
| 206 | (generate_ascii_font_name): Adjusted for the format change of | ||
| 207 | font-spec. | ||
| 208 | (Fset_fontset_font): Likewise. Use new macros to set elements of | ||
| 209 | font-def. | ||
| 210 | (Fnew_fontset): Use font_unparse_xlfd to generate | ||
| 211 | FONTSET_ASCII (fontset). | ||
| 212 | (new_fontset_from_font_name): Deleted. | ||
| 213 | (fontset_from_font): Renamed from new_fontset_from_font. Check if | ||
| 214 | a fontset is already created for the font. FIx updating of | ||
| 215 | Vfontset_alias_alist. | ||
| 216 | (fontset_ascii_font): Deleted. | ||
| 217 | (Ffont_info): Adjusted for the format change of font-spec. | ||
| 218 | (Finternal_char_font): Likewise. | ||
| 219 | (Ffontset_info): Likewise. | ||
| 220 | (syms_of_fontset): Don't check load_font_func. | ||
| 221 | |||
| 222 | * fns.c (internal_equal): Handle PREV_FONT. | ||
| 223 | |||
| 224 | * frame.h: Delete USE_FONT_BACKEND conditional. | ||
| 225 | |||
| 226 | * frame.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 227 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 228 | used only when USE_FONT_BACKEND is not defined. | ||
| 229 | (x_set_font): Call x_new_font, not x_new_fontset2. | ||
| 230 | (x_set_font_backend): Use FRAME_FONT macro to check if a font is | ||
| 231 | already set for the frame. | ||
| 232 | |||
| 233 | * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make | ||
| 234 | a font-entity by font_make_entity. Use font_intern_prop instead | ||
| 235 | of intern_downcase. Use FONT_SET_STYLE to set a style-related | ||
| 236 | font property. If a font is scalable, set avgwidth property to 0. | ||
| 237 | Set font-entity property by font_put_extra. | ||
| 238 | (ftfont_list_generic_family): Argument SPEC and REGISTRY removed. | ||
| 239 | (ffont_driver): Adjusted for the change of struct font_driver. | ||
| 240 | (ftfont_spec_pattern): New function. | ||
| 241 | (ftfont_list): Return a list, not vector. | ||
| 242 | (ftfont_match): Use ftfont_spec_pattern to get a pattern. | ||
| 243 | (ftfont_list_family): Don't downcase names. | ||
| 244 | (ftfont_free_entity): Deleted. | ||
| 245 | (ftfont_open): Return a font-ojbect. Adjusted for the change of | ||
| 246 | struct font. Get underline_thickness and underline_position from | ||
| 247 | font property. Don't update dpyinfo->smallest_font_height and | ||
| 248 | dpyinfo->smallest_char_width. | ||
| 249 | (ftfont_close): Don't free `struct font'. | ||
| 250 | (ftfont_has_char): Adjusted for the format change of font-entity. | ||
| 251 | (ftfont_encode_char, ftfont_text_extents): Likewise. | ||
| 252 | |||
| 253 | * ftxfont.c (ftxfont_list): Return a list, not vector. | ||
| 254 | (ftxfont_open): Return a font-ojbect. Adjusted for the change of | ||
| 255 | struct font. Get underline_thickness and underline_position from | ||
| 256 | font property. Don't update dpyinfo->smallest_font_height and | ||
| 257 | dpyinfo->smallest_char_width. | ||
| 258 | (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts. | ||
| 259 | (ftxfont_draw): Adjusted for the change of struct font. | ||
| 260 | |||
| 261 | * image.c (image_ascent): Don't include "charset.h". Include | ||
| 262 | "character.h" and "font.h". | ||
| 263 | |||
| 264 | * lisp.h (enum pvec_type): New member PREV_FONT. | ||
| 265 | (Fassoc_string): EXFUN it. | ||
| 266 | |||
| 267 | * print.c: Include font.h. | ||
| 268 | (print_object): Handle font-related objects. | ||
| 269 | |||
| 270 | * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 271 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 272 | used only when USE_FONT_BACKEND is not defined. | ||
| 273 | (handle_auto_composed_prop): Do nothing if it->f is not on a | ||
| 274 | window system. Check how many following characters can be | ||
| 275 | displayed by the same font. | ||
| 276 | (calc_pixel_width_or_height): Type of the 4th arg is changed to | ||
| 277 | 'struct font *'. | ||
| 278 | (get_char_face_and_encoding): Assign the whole encoding task to | ||
| 279 | the `encode-char' method of a font driver. | ||
| 280 | (fill_composite_glyph_string): Adjusted for the change of `struct | ||
| 281 | face' and `struct glyph_string'. | ||
| 282 | (fill_glyph_string): Likewise. | ||
| 283 | (get_per_char_metric): Arguments changed. | ||
| 284 | (x_get_glyph_overhangs): Adjusted for the change of `struct face' | ||
| 285 | and `struct glyph_string'. | ||
| 286 | (produce_stretch_glyph, calc_line_height_property) | ||
| 287 | (x_produce_glyphs): Likewise. | ||
| 288 | |||
| 289 | * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 290 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 291 | used only when USE_FONT_BACKEND is not defined. Use | ||
| 292 | FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx. | ||
| 293 | (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth) | ||
| 294 | (Qp): Extern them. | ||
| 295 | (clear_font_table, load_face_font, xlfd_lookup_field_contents): | ||
| 296 | Deleted. | ||
| 297 | (struct font_name): Deleted. | ||
| 298 | (xlfd_numeric_value, xlfd_symbolic_value): Deleted. | ||
| 299 | (compare_fonts_by_sort_order): New function. | ||
| 300 | (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight) | ||
| 301 | (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth): | ||
| 302 | Deleted. | ||
| 303 | (Fx_family_fonts): Use font_list_entities, and sort fonts by | ||
| 304 | compare_fonts_by_sort_order. | ||
| 305 | (Fx_font_family_list): Call Ffont_family_list. | ||
| 306 | (face_numeric_value, face_numeric_weight, face_numeric_slant) | ||
| 307 | (face_numeric_swidth, face_symbolic_value, face_symbolic_weight) | ||
| 308 | (face_symbolic_slant, face_symbolic_swidth) | ||
| 309 | (split_font_name_into_vector, build_font_name_from_vector) | ||
| 310 | (xlfd_fixed_p, xlfd_point_size, pixel_point_size) | ||
| 311 | (font_rescale_ratio, split_font_name, build_font_name) | ||
| 312 | (free_font_names, sort_fonts, x_face_list_fonts) | ||
| 313 | (face_font_available_p, sorted_font_list, cmp_font_names) | ||
| 314 | (font_list_1, concat_font_list, font_list, remove_duplicates): | ||
| 315 | Deleted. | ||
| 316 | (Fx_list_fonts): Use Ffont_list. | ||
| 317 | (LFACE_AVGWIDTH): Deleted. | ||
| 318 | (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT | ||
| 319 | by FONTP. | ||
| 320 | (lface_fully_specified_p): Don't check LFACE_AVGWIDTH. | ||
| 321 | (set_lface_from_font_name): Delete it. | ||
| 322 | (set_lface_from_font): Renamed from | ||
| 323 | set_lface_from_font_and_fontset. Caller changed. Don't set | ||
| 324 | LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable | ||
| 325 | for face. | ||
| 326 | (merge_face_vectors): Copy font-spec if necessary. Clear | ||
| 327 | properties of the font-spec if necessary. | ||
| 328 | (merge_face_ref): Clear properties of the font-spec if necessary. | ||
| 329 | (Finternal_set_lisp_face_attribute): Likewise. | ||
| 330 | (set_font_frame_param): Use font_load_for_lface to load a | ||
| 331 | font-object, and call Fmodify_frame_parameters with it. | ||
| 332 | (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD | ||
| 333 | font name by Ffont_xlfd_name. | ||
| 334 | (Finternal_lisp_face_attribute_values): Don't check QCweight, | ||
| 335 | QCslant, and QCwidth. | ||
| 336 | (Fface_font): Get a font name from font->props[FONT_NAME_INDEX]. | ||
| 337 | (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH. | ||
| 338 | Compare fonts by EQ. | ||
| 339 | (lookup_non_ascii_face): Deleted. | ||
| 340 | (face_for_font): The 2nd argument changed. | ||
| 341 | (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH. Check | ||
| 342 | atomic font properties by case insensitive. | ||
| 343 | (realize_non_ascii_face): Set face->overstrike correctly. | ||
| 344 | (realize_x_face): Likewise. Check if LFACE_FONT is a font_object. | ||
| 345 | (dump_realized_face): Get font name from | ||
| 346 | font->props[FONT_NAME_INDEX]. Don't print font_info_id. | ||
| 347 | |||
| 348 | * xfns.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 349 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 350 | used only when USE_FONT_BACKEND is not defined. | ||
| 351 | (xic_create_xfontset): Original code deleted and renamed from | ||
| 352 | xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT. | ||
| 353 | (x_make_gc): Don't set GCFont in GCs. | ||
| 354 | (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font | ||
| 355 | opened by "fixed". | ||
| 356 | (syms_of_xfns): Don't set get_font_info_func, load_font_func, | ||
| 357 | find_ccl_program_func, query_font_func, set_frame_fontset_func, | ||
| 358 | get_font_repertory_func. | ||
| 359 | |||
| 360 | * xfont.c: Include <stdlib.h> and "ccl.h". | ||
| 361 | (struct xfont_info): New structure. | ||
| 362 | (xfont_query_font): Deleted. | ||
| 363 | (xfont_find_ccl_program): Renamed from x_find_ccl_program and | ||
| 364 | moved from xterm.c. | ||
| 365 | (xfont_driver): Adjusted for the change of struct font_driver. | ||
| 366 | (compare_font_names): New function. | ||
| 367 | (xfont_list_pattern): Sort font names case insensitively. Make | ||
| 368 | font_entity by calling font_make_entity. Avoid auto-scaled fonts. | ||
| 369 | (xfont_list): Return a list, not vector. | ||
| 370 | (xfont_match): If the font doesn't have QCname property, generate | ||
| 371 | a name from the other font properties. | ||
| 372 | (xfont_open): Return a font-ojbect. Adjusted for the change of | ||
| 373 | struct font. Get underline_thickness and underline_position from | ||
| 374 | font property. Don't update dpyinfo->smallest_font_height and | ||
| 375 | dpyinfo->smallest_char_width. | ||
| 376 | (xfont_close): Don't free struct font. | ||
| 377 | (xfont_prepare_face): Adjusted for the change of struct font. | ||
| 378 | (xfont_done_face): Deleted. | ||
| 379 | (xfont_has_char): Adjusted for the change of struct font. | ||
| 380 | (xfont_encode_char, xfont_draw): Likewise. | ||
| 381 | (xfont_check): New function. | ||
| 382 | |||
| 383 | * xftfont.c (xftfont_list): Adjusted for the change of `list' | ||
| 384 | callback function. | ||
| 385 | (xftfont_match): Adjusted for the fontmat change of font-entity. | ||
| 386 | (xftfont_open): Adjusted for the format change of font-entity and | ||
| 387 | font-object. Adjusted for the change of struct font. Return a | ||
| 388 | font-object. Don't update dpyinfo->smallest_font_height and | ||
| 389 | dpyinfo->smallest_char_width. | ||
| 390 | (xftfont_close): Block input while calling XftFontClose. | ||
| 391 | (xftfont_prepare_face): Don't block input while calling | ||
| 392 | xftfont_get_colors. Adjusted for the change of struct font. | ||
| 393 | (xftfont_shape): Return value of error case fixed. | ||
| 394 | |||
| 395 | * xrdb.c (x_load_resources): Don't setup a fontset resource. | ||
| 396 | |||
| 397 | * xterm.h: Throughout the file, delete all USE_FONT_BACKEND | ||
| 398 | conditionals. | ||
| 399 | (FONT_WIDTH): Return (f)->max_width. | ||
| 400 | (struct x_display_info): Delete member `font'. | ||
| 401 | (x_list_fonts, x_get_font_info, x_load_font, x_query_font) | ||
| 402 | (x_find_ccl_program, x_get_font_repertory): Delete externs. | ||
| 403 | (struct x_output): Change type of `font' to `struct font *'. | ||
| 404 | |||
| 405 | * xterm.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 406 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 407 | used only when USE_FONT_BACKEND is not defined. Don't include | ||
| 408 | ccl.h. | ||
| 409 | (x_per_char_metric, x_encode_char): Deleted. | ||
| 410 | (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont. | ||
| 411 | (x_compute_glyph_string_overhangs): Adjusted for the change of | ||
| 412 | `struct face' | ||
| 413 | (x_draw_glyph_string_foreground) | ||
| 414 | (x_draw_composite_glyph_string_foreground): Likewise. | ||
| 415 | (x_draw_glyph_string): Likewise. Use font->underline_position and | ||
| 416 | font->underline_thickness. | ||
| 417 | (x_new_font): Renamed from x_new_fontset2. | ||
| 418 | (x_new_fontset, x_get_font_info, x_list_fonts): Deleted. | ||
| 419 | (x_check_font): Call `check' method of a font driver. | ||
| 420 | (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font) | ||
| 421 | (x_query_font, x_get_font_repertory): Deleted. | ||
| 422 | (x_find_ccl_program): Renamed and moved to xfont.c. | ||
| 423 | (x_redisplay_interface): Adjusted for the change of `struct | ||
| 424 | redisplay_interface'. | ||
| 425 | |||
| 426 | * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 427 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 428 | used only when USE_FONT_BACKEND is not defined. Surround non-used | ||
| 429 | code by "#ifdef OLD_FONT" and "endif". | ||
| 430 | (Fw32_select_font): Use FONT_COMPAT to get old font structure. | ||
| 431 | |||
| 432 | * w32font.h (struct w32font_info): New member. | ||
| 433 | (FONT_COMPAT): New macro. | ||
| 434 | (w32font_open_internal): Prototype adjusted. | ||
| 435 | |||
| 436 | * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if | ||
| 437 | OLD_FONT" and "endif". | ||
| 438 | |||
| 439 | * w32font.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 440 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 441 | used only when USE_FONT_BACKEND is not defined. | ||
| 442 | (w32font_open): Return a font-object. Make a font-object by | ||
| 443 | font_make_object. Adjusted for the change of struct w32font_info. | ||
| 444 | (w32font_close): Don't free struct font. Adjusted for the change | ||
| 445 | of struct w32font_info. | ||
| 446 | (w32font_encode_char, w32font_text_extents, w32font_draw): | ||
| 447 | Adjusted for the change of struct w32font_info. | ||
| 448 | (w32font_draw): Likewise. | ||
| 449 | (w32font_list_internal): Return a list, not vector. | ||
| 450 | (w32font_open_internal): Change the 4th arg to font-object. | ||
| 451 | Adjusted for the change of struct w32font_info and font-object | ||
| 452 | format. | ||
| 453 | (add_font_name_to_list): Don't downcase names. | ||
| 454 | (w32_enumfont_pattern_entity): Make a font-entity by | ||
| 455 | font_make_entity. Adjusted for the format change of font-entity. | ||
| 456 | Use FONT_SET_STYLE to set a style-related font property. If a | ||
| 457 | font is scalable, set avgwidth property to 0. Set font-entity | ||
| 458 | property by font_put_extra. | ||
| 459 | (font_matches_spec): Adjusted for the format change of | ||
| 460 | font-entity. | ||
| 461 | (w32_weight_table, w32_decode_weight): New variables. | ||
| 462 | (w32_encode_weight): New function. | ||
| 463 | (fill_in_logfont): Adjusted for the format change of font-spec. | ||
| 464 | (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol | ||
| 465 | weight value. | ||
| 466 | (w32font_driver): Adjusted for the change of struct font_driver. | ||
| 467 | |||
| 468 | * w32term.h: Throughout the file, delete all USE_FONT_BACKEND | ||
| 469 | conditionals. Don't check enable_font_backend. Surround non-used | ||
| 470 | code by "#ifdef OLD_FONT" and "endif". | ||
| 471 | (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT) | ||
| 472 | (FONT_AVG_WIDTH): Adjusted for the change of struct font. | ||
| 473 | |||
| 474 | * w32term.c: Throughout the file, delete all USE_FONT_BACKEND | ||
| 475 | conditionals. Don't check enable_font_backend. Delete all codes | ||
| 476 | used only when USE_FONT_BACKEND is not defined. Surround non-used | ||
| 477 | code by "#ifdef OLD_FONT" and "endif". | ||
| 478 | |||
| 479 | * w32uniscribe.c: Delete USE_FONT_BACKEND conditional. | ||
| 480 | (uniscribe_open): Return value changed to font-object. Adjusted | ||
| 481 | for the format change of font-object. | ||
| 482 | (uniscribe_otf_capability): Adjusted for the change of struct | ||
| 483 | font. | ||
| 484 | (add_opentype_font_name_to_list): Don't downcase names. | ||
| 485 | (uniscribe_font_driver): Adjusted for the change of struct | ||
| 486 | font_driver. | ||
| 487 | |||
| 1 | 2008-05-13 Chong Yidong <cyd@stupidchicken.com> | 488 | 2008-05-13 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 489 | ||
| 3 | * dispnew.c (update_frame_1): Check if tty output is still valid | 490 | * dispnew.c (update_frame_1): Check if tty output is still valid |
diff --git a/src/coding.c b/src/coding.c index 81e8e4e10bc..4e8063543fe 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -2695,6 +2695,8 @@ detect_coding_iso_2022 (coding, detect_info) | |||
| 2695 | struct coding_system *this = &(coding_categories[i]); | 2695 | struct coding_system *this = &(coding_categories[i]); |
| 2696 | Lisp_Object attrs, val; | 2696 | Lisp_Object attrs, val; |
| 2697 | 2697 | ||
| 2698 | if (this->id < 0) | ||
| 2699 | continue; | ||
| 2698 | attrs = CODING_ID_ATTRS (this->id); | 2700 | attrs = CODING_ID_ATTRS (this->id); |
| 2699 | if (CODING_ISO_FLAGS (this) & CODING_ISO_FLAG_FULL_SUPPORT | 2701 | if (CODING_ISO_FLAGS (this) & CODING_ISO_FLAG_FULL_SUPPORT |
| 2700 | && ! EQ (CODING_ATTR_SAFE_CHARSETS (attrs), Viso_2022_charset_list)) | 2702 | && ! EQ (CODING_ATTR_SAFE_CHARSETS (attrs), Viso_2022_charset_list)) |