X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/d4cccb140682cfa548a8658f905764ceb4a38cb2..9ca37324496bb8c50562dca18852dcd12d3c12dc:/src/ChangeLog.unicode diff --git a/src/ChangeLog.unicode b/src/ChangeLog.unicode index e382c85f93..2bfe6eb35f 100644 --- a/src/ChangeLog.unicode +++ b/src/ChangeLog.unicode @@ -1,3 +1,509 @@ +2006-06-19 Kenichi Handa + + * font.c (font_parse_fcname): Fix parsing of point-size. + (font_unparse_fcname): Produce symbolic names for style + properties. + (font_list_entities): Handle float size correctly. + (font_open_by_name): Prefer `normal' property values if the name + doesn't specify them. + + * fontset.c (Finternal_char_font): Use font_get_name, not + Ffont_xlfd_name. + + * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for + FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing + pattern. Don't force scalable. + + * xftfont.c (xftfont_open): For generating a name, start from + 96-byte buffer. + +2006-06-16 Jan Dj,Ad(Brv + + * frame.h (x_new_fontset2): Fix prototype. + +2006-06-16 Kenichi Handa + + * font.h (struct font_driver): Member parse_name deleted. + (font_match_p, font_get_spec, font_parse_fcname) + (font_unparse_fcname): Extern them. + (font_get_name): Prototype adjusted. + + * font.c (XLFD_SMALLNUM_MASK): Delete this macro. + (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it. + (font_expand_wildcards): Fix handling ENCODING field. Avoid + unnecessary checks for weight, slant, and swidth. + (font_parse_fcname): New function. + (font_unparse_fcname): New function. + (font_parse_name): New function. + (font_match_p): New function. + (font_get_name): Return value changed to Lisp string. + (font_get_spec): New function. + (Qunspecified, Qignore_defface): Don't extern them. + (font_find_for_lface): Assume that LFACE is fully specified. + (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font + object, use it for FACE. + (font_open_by_name): Call Ffont_spec with QCname prop. Don't call + driver->parse_name. + (Ffont_spec): Call font_parse_name, not font_parse_xlfd. + + * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Prototype + adjusted. + + * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Argument F + deleted. Don't call Fnew_fontset. Instead, directly call + make_fontset. + + * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Prototype adjusted. + + * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjusted for the change + of x_new_fontset2. + + * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans) + (Qsans__serif): New variables. + (ftfont_generic_family_list): New variable. + (syms_of_ftfont): Initialize the above variables. + (ftfont_pattern_entity): Argument NAME deleted. + (ftfont_list_generic_family): New function. + (ftfont_parse_name): Delete this function. + (ftfont_list): Try generic family only when FcFontList found no + font. + (ftfont_list_family): Fix args to FcObjectSetBuild. + + * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font + object in attrs[LFACE_FONT_INDEX]. + (set_lface_from_font_name): Cancel all changes for font-backend. + (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New + function. + (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a + font object in QCfont attribute. + (set_font_frame_param) [USE_FONT_BACKEND]: Likewise. + (realize_default_face) [USE_FONT_BACKEND]: Call + set_lface_from_font_and_fontset. + + * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also + "fixed", and signal error here if no suitable font was found. + + * xfont.c (xfont_parse_name): Delete this function. + + * xftfont.c (xftfont_open): Change coding style of error + handling. Generate fontconfig's fontname pattern. + + * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp. + (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro. + + * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments. + Both args FONTSET and FONT_OBJECT must be existing ones. + +2006-06-16 YAMAMOTO Mitsuharu + + * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR. + +2006-06-14 Kenichi Handa + + * xfont.c (xfont_open, xfont_encode_char): Fix typo. + + * font.h (struct font): Fix typo. + + * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to + XLFD_XXX_INDEX. + (enum xlfd_field_mask): New enum. + (intern_font_field): Argument changed. Caller changed. If digits + are followed by non-digits, return a symbol. + (font_expand_wildcards): New function. + (font_parse_xlfd): Fix wildcard handling. + (Ffont_spec): If :name is specified, reflect the info in the other + properties. + + * ftfont.c (ftfont_pattern_entity): Fix typo. + (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of + locale. + +2006-06-09 Kenichi Handa + + * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them. + + * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved from + ftfont.c. + (font_unparse_xlfd): Fix argument type declaration. Append "*" if + registry doesn't specify encoding part. + (font_find_for_lface): Pay attention to LFACE_FONT_INDEX. + (font_open_by_name): At first try parsing the name. + (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp + as Lisp symbols. + + * fontset.c (reorder_font_vector): Pay attention to the case that + the 3rd element of font_def is nil. + (fontset_font): For the default fontset, append one more fontset + elements for a script-based font specification. Don't add script + attribute on finding a font. + (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the + font name. + (fontset_ascii_font): If a font can't be opened, return nil. + + * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved to + font.c. + (ftfont_pattern_entity): New function. + (ftfont_get_cache): Assume that freetype_font_cache is already + initialized. + (ftfont_list): Handle the case that a file is specified in font + name. Use ftfont_pattern_entity to generate entities. + (ftfont_has_char): Check if the pattern contains FC_CHARSET. + (syms_of_ftfont): Initialize freetype_font_cache. + + * xftfont.c (xftfont_open): Make the font name fontconfig's + style. Add BLOCK_INPUT and UNBLOCK_INPUT. + (xftfont_close): Free font->font.name if not NULL. + + * xfont.c (xfont_list): If script is specified for a font, return + null_vector. + (xfont_list_family): Declare argument type. + + * xfaces.c (set_lface_from_font_name): If a font doesn't have a + name, set LFACE_FONT (lface) to nil. + + * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded, + return Qnil. + +2006-06-08 Jason Rumney + + * w32term.c (w32_initialize): Manually sync 2006-06-05 change from + HEAD. + +2006-06-08 Kenichi Handa + + * emacs.c (main): Check -enable-font-backend arg after the check + of -nl. + (standard_args): Add "-enable-font-backend". + + * coding.c (Ffind_operation_coding_system): Sync with HEAD. + + * callproc.c (Fcall_process): Sync with HEAD. + + * coding.h (CODING_REQUIRE_ENCODING): Comment sync with HEAD. + +2006-06-07 Kenichi Handa + + * xftfont.c (xftfont_default_fid): Set fid_known to 1. + (struct xftdraw_list, xftdraw_list): Delete them. + (register_xftdraw, check_xftdraw): Delete them. + (xftfont_prepare_face): Don't call register_xftdraw. + (xftfont_done_face): Don't call check_xftdraw. + (xftfont_draw): Get backroudn color only when with_background is + nonzero. + + * xfont.c (xfont_encode_char): Fix calculation of char2b. + +2006-06-06 Kenichi Handa + + These changes are for the new font handling codes. + + * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@, + @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@. + (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@. + (FONTSRC, FONTOBJ): New variables. + (obj): Add $(FONTOBJ). + (SOME_MACHINE_OBJECTS): Lib_X11_Lib. + (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and + @LIBOTF_LIBS@. + (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets. + (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depends on + $(FONTSRC). + + * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New + files. + + * character.h (Vscript_representative_chars): Extern it. + + * character.c (Vscript_representative_chars): New variable. + (syms_of_character): Declare it as a Lisp variable. + + * composite.c (get_composition_id) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, accept the composition method + COMPOSITION_WITH_GLYPH_STRING. + + * composite.h (enum composition_method) [USE_FONT_BACKEND]: New + enumeration COMPOSITION_WITH_GLYPH_STRING. + + * config.in: Re-generated. + + * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New + members clip_x, clip_y, clip_width, and clip_height. + (struct face) [USE_FONT_BACKEND]: New members font_info and extra. + + * emacs.c (main) [USE_FONT_BACKEND]: Handle arg + --enable-font-backend. Call syms_of_font. + + * fns.c (assoc_no_quit): New function. + + * fontset.h (FONT_INFO_FROM_FACE): New macro. + (face_for_font, new_fontset_from_font) + (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them. + + * fontset.c [USE_FONT_BACKEND]: Include "font.h". + (fontset_font, fontset_ascii, face_for_char) + (make_fontset_for_ascii_face, Ffont_info) + (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend + is nonzero, use font-backend mechanism. + (find_font_encoding): Make it non-static. + (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]: + New functions. + + * frame.h (struct frame): New members resx and resy. + (struct frame) [USE_FONT_BACKEND]: New member font_driver_list. + (x_new_fontset2) [USE_FONT_BACKEND]: Extern it. + + * frame.c [USE_FONT_BACKEND]: Include "font.h". + (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend + mechanism. + + * lisp.h (assoc_no_quit): Extern it. + + * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h". + Through out the file, use FONT_INFO_FROM_FACE instead of + FONT_INFO_FROM_ID, use get_per_char_metric instead of + rif->per_char_metric. + (handle_composition_prop) [USE_FONT_BACKEND]: If the composition + method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '. + (get_glyph_face_and_encoding, fill_composite_glyph_string) + (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) + (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, use font-backend mechanism. + (get_per_char_metric): New function. + + * xfaces.c [USE_FONT_BACKEND]: Include "font.h". + (set_lface_from_font_name) + (set_font_frame_param, free_realized_face) + (prepare_face_for_display, clear_face_gcs) + (Finternal_set_font_selection_order, realize_x_face) + [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use + font-backend mechanism. + (clear_face_cache) [USE_FONT_BACKEND]: Don't call + clear_font_table. + (load_face_font) [USE_FONT_BACKEND]: Abort. + (face_symbolic_value, face_symbolic_weight, face_symbolic_slant) + (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New + functions. + + * xfns.c [USE_FONT_BACKEND]: Include "font.h". + (x_default_font_parameter) [USE_FONT_BACKEND]: New function. + (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, register all available font drivers. Call + x_default_font_parameter for deciding a font. + (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise. + + * xterm.c [USE_FONT_BACKEND]: Include "font.h". + (x_set_mouse_face_gc, x_set_glyph_string_clipping) + (x_set_glyph_string_clipping_exactly) + (x_compute_glyph_string_overhangs) + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground, x_draw_glyph_string) + (x_free_frame_resources) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, use font-backend mechanism. + (x_new_fontset2) [USE_FONT_BACKEND]: New function. + +2006-05-15 Kenichi Handa + + * coding.h (system_eol_type): Fix synching with HEAD. + + * coding.c (system_eol_type): Sync with HEAD. + (coding_inherit_eol_type): If PARENT is nil, inherit from + system_eol_type. + (syms_of_coding): Initialize system_eol_type. + + * callproc.c (Fcall_process): Sync with HEAD. + + * process.c (setup_process_coding_systems): Fix synching with + HEAD. + (read_process_output): Likewise. + (Fset_process_coding_system): Inherit system's eol format if + necessary. + + * fileio.c (choose_write_coding_system): Fix synching with HEAD. + + * keymap.c (push_key_description): Fix synching with HEAD. + +2006-05-02 YAMAMOTO Mitsuharu + + * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch. + +2006-04-07 Kenichi Handa + + * coding.c (decode_eol): Pay attention to buffer relocation in + del_range_2. + (decode_coding): Call decode_eol before restoring undo_list. + +2006-03-20 Kenichi Handa + + * charset.c (Fdefine_charset_internal): Fix setting of + emacs_mule_bytes. + +2006-03-14 Kenichi Handa + + * keyboard.c (read_char): Check if C is a character or not before + looking up Vkeyboard_translate_table. + +2006-03-10 Kenichi Handa + + * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix + condition to terminate the loop. + +2006-03-09 Kenichi Handa + + * coding.c (produce_composition): Compare charbuf[i] instead of + args[i] against 0. + (Fterminal_coding_system): Use EQ to compare Lisp objects. + +2006-03-07 Kenichi Handa + + * coding.c (DECODE_COMPOSITION_START): If the source is short, set + coding->result to CODING_RESULT_INSUFFICIENT_SRC. + (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of + detect_coding. + (emacs_mule_char): Handle old style (Emacs 20) component character + of a composition. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Fix parsing a composition + rule. + (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise. + (decode_coding_emacs_mule): Handle invalid bytes correctly. + +2006-03-04 Kenichi Handa + + * coding.c (encode_coding_ccl): Allocate destination dynamically + when necessary. + +2006-03-03 Kenichi Handa + + * ccl.c (Fccl_execute_on_string): Fix the condition of terminating + the loop. When quitted, show a proper error message. + +2006-03-02 Kenichi Handa + + * coding.c (decode_coding): Fix previous change. + + * xterm.c (x_set_glyph_string_clipping_exactly): Set + src->clip_head and src->clip_tail temporarily instead of src->hl. + + * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte + character sequence. + (Fccl_execute_on_string): Use ASET, not XSET. + +2006-03-01 Kenichi Handa + + * search.c (search_buffer): Fix handling of "\\" in a trivial + regexp. + +2006-02-28 Kenichi Handa + + * coding.c (decode_coding): Fix the condition of terminating the + decoding loop. + +2006-02-27 Kenichi Handa + + * data.c (Faset): On setting a character bigger than 255 in a + unibyte string, signal an error instead of make the string + multibyte. + +2006-02-22 Kenichi Handa + + * charset.c (map_charset_chars): Fix for ascii-compatible charset + made by a mapping table. + +2006-02-21 Kenichi Handa + + * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or + not. + (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL. + (x_produce_glyphs): If CH is TAB, set cmp->offsets properly. + + * xterm.c (x_draw_composite_glyph_string_foreground): Check + s->face is NULL or not. + +2006-02-20 Kenichi Handa + + * xterm.c (x_set_glyph_string_clipping_exactly): New function. + (x_draw_glyph_string): Fix drawing of right_overhang and + left_overhang around/on cursor. + + * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting + glyphs. + + * term.c (produce_glyphs): Sync to HEAD. + +2006-02-15 Kenichi Handa + + * xdisp.c (x_produce_glyphs): Handle composition with TAB. + +2006-02-05 Kenichi Handa + + * coding.c: Cancel incorrect synching with HEAD. + +2006-02-03 Kenichi Handa + + * coding.c (Fdefine_coding_system_internal): Avoid a duplicated + element in Vcoding_system_alist. + (Fdefine_coding_system_alias): Likewise. + +2006-01-19 Kenichi Handa + + * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF. + + * coding.c: Sync to HEAD for handling autoload-coding-system. + (Qcoding_system_define_form): New variable. + (syms_of_coding): Intern and staticpro it. + (Fcoding_system_p): Check Qcoding_system_define_form. + (Fcheck_coding_system): Try to autoload the definition of + CODING-SYSTEM. + + * coding.h (CODING_SYSTEM_P): If ID is not available, call + Fcoding_system_p. + (CHECK_CODING_SYSTEM): If ID is not available, call + Fcheck_coding_system. + (CHECK_CODING_SYSTEM_GET_SPEC): Try also Fcheck_coding_system. + (CHECK_CODING_SYSTEM_GET_ID): Likewise. + +2006-01-17 Kenichi Handa + + * xterm.c (handle_one_xevent): Delete unnecessary code inserted by + sync with HEAD. + + * coding.c (code_conversion_restore): GCPRO arg. + +2005-12-28 Kenichi Handa + + * character.c (lisp_string_width): Check multibyteness of STRING. + +2005-10-18 YAMAMOTO Mitsuharu + + * macterm.c (mac_encode_char): Call ccl_driver with the last arg + Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS. + (decode_mac_font_name): Use decode_coding_c_string instead of + decode_coding. + (x_load_font): Initialize fontp->fontset to -1. Set + fontp->encoding_type. + +2005-10-17 Kenichi Handa + + * search.c (search_buffer): Give up BM search on case-fold-search + if one of a target character has a case-equivalence of different + byte length even if that target charcter is an ASCII. + (simple_search): Fix culculation of byte length of matched text. + (boyer_moore): Fix handling of case-equivalent multibyte + characters. + +2005-10-15 Kenichi Handa + + * coding.c (decode_coding): Fix handling of invalid bytes. + +2005-10-06 Kenichi Handa + + * xterm.c (handle_one_xevent): Handle keysyms directly mapped to + Unicode characters. + +2005-09-23 Kenichi Handa + + * coding.c (encode_coding_object): If a pre-write-conversion + function makes a new buffer, kill it. + 2005-07-29 Kenichi Handa * coding.c (QCascii_compatible_p): New variable.