+2007-12-09 Kenichi Handa <handa@m17n.org>
+
+ * ftfont.c (struct OpenTypeSpec): Members script_tag renamed to
+ script, langsys_tag renamed to langsys, new member script.
+ (OTF_TAG_STR): Terminate by '\0'.
+ (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
+ listing to the script specified in that property. Fix arg to
+ OTF_check_features.
+
+2007-12-08 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.h: New file.
+
+ * w32font.c: Include it.
+ (struct w32font_info): Add owning_frame field. Move to w32font.h.
+ (w32font_open): Set owning_frame.
+ (w32font_text_extents): Use owning_frame.
+ (struct font_callback_data): Add opentype_only field.
+ (add_font_entity_to_list): Use it to filter fonts.
+ Don't check against full name.
+ (w32font_list_internal): New function.
+ (w32font_list): Use it.
+ (w32font_match_internal): New function.
+ (w32font_match): Use it.
+ (w32font_open_internal): New function.
+ (w32font_open): Use it.
+ (w32font_get_cache, w32font_close, w32font_has_char)
+ (w32font_encode_char, w32font_text_extents, w32font_draw):
+ Make non-static.
+
+ * makefile.w32-in (w32font.o): Depend on w32font.h.
+
+2007-12-06 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * charset.c (Fdefine_charset_internal): Record a supplementary
+ charset at the tail of Vcharset_order_list.
+
+ * font.c (Ffont_shape_text): Fix the return value.
+
+ * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
+
+ * xdisp.c (handle_auto_composed_prop): Fix previous change.
+
+2007-12-05 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * ftfont.c (struct OpenTypeSpec): New struct.
+ (OTF_SYM_TAG, OTF_TAG_STR): New macros.
+ (ftfont_get_open_type_spec): New function.
+ (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
+
+ * lread.c (read1): Redo the previous change with checking
+ Vpurify_flag.
+
+2007-12-04 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (add_font_entity_to_list): Compare only the beginning
+ of full name.
+
+2007-12-04 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (handle_auto_composed_prop): Simplify the code. Never
+ return HANDLED_RECOMPUTE_PROPS.
+
+2007-12-03 Kenichi Handa <handa@m17n.org>
+
+ * font.c (font_gstring_produce): Delete it.
+
+ * composite.h (COMPOSITION_METHOD): Handle
+ COMPOSITION_WITH_GLYPH_STRING.
+
+2007-12-04 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * composite.h (enum composition_method): Define
+ COMPOSITION_WITH_GLYPH_STRING unconditionally.
+
+2007-12-03 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
+ (choose_face_font): Accept new form of font-spec.
+
+ * frame.h (font_driver_list): Declare it unconditionally.
+ (struct frame): Define members font_driver_list and font_data_list
+ unconditionally.
+
+ * fontset.c: Include "font.h" unconditionally.
+ (generate_ascii_font_name): Use font_parse_xlfd and
+ font_unparse_xlfd.
+ (Fset_fontset_font): Accept a font-spec object.
+
+ * font.c (font_unparse_xlfd): If pixel_size is zero, make the
+ PIXEL_SIZE part a wild card.
+
+ * dispextern.h (struct glyph_string): Define members clip and
+ num_clips unconditionally.
+ (struct face): Define members font_info and extra unconditionally.
+
+ * ftfont.c (ftfont_open): Set members maybe_otf and otf of
+ ftfont_info only when HAVE_LIBOTF is defined.
+
+>>>>>>> 1.1.2.202
+2007-12-02 Andreas Schwab <schwab@suse.de>
+
+ * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
+ and end.
+
+2007-12-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_driver): Add new fields.
+
+2007-12-01 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * config.in: Re-generated.
+
+ * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
+ (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
+ (LIBES): Add @M17N_FLT_CFLAGS@.
+
+ * composite.c (compose_text): Don't treat the new style
+ composition specially.
+
+ * emacs.c (main): Call syms_of_font unconditionally.
+
+ * font.h (FONT_ENTITY_NOT_LOADABLE)
+ (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
+ (LGSTRING_XXXX, LGLYPH_XXX): Adjusted for the change of lispy
+ gstring.
+ (struct font_driver): New member shape.
+ (font_registry_charsets): Extern. it.
+ (font_find_for_lface): Prototype adjusted.
+ (font_prepare_composition): Likewise.
+ (font_otf_capability, font_drive_otf): Delete their externs.
+
+ * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
+ (font_charset_alist): Moved from xfont.c and renamed.
+ (font_registry_charsets): Likewise.
+ (font_prop_validate_otf): New function.
+ (font_property_table): Register it for QCotf.
+ (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
+ (font_drive_otf): Deleted.
+ (font_prepare_composition): New arg F. Adjusted for the change of
+ lispy gstring.
+ (font_find_for_lface): New arg C.
+ (font_load_for_face): Adjusted for the change of
+ font_find_for_lface.
+ (Ffont_make_gstring): Adjusted for the change of lispy gstring.
+ (Ffont_fill_gstring): Likewise.
+ (Ffont_shape_text): New function.
+ (Fopen_font): If the font size is not given, use 12-pixel.
+ (Ffont_at): New arg STRING.
+ (syms_of_font): Initalize font_charset_alist. Declare
+ Ffont_shape_text as a Lisp function. Call syms_of_XXfont
+ conditionally.
+
+ * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
+ fonts of the same font-spec. Change the format of RFONT-DEF.
+ (face_for_char): Adjusted for the change of RFONT-DEF.
+ (make_fontset_for_ascii_face): Likewise.
+ (Finternal_char_font): Likewise.
+ (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of
+ font-spec.
+
+ * ftfont.h: New file.
+
+ * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
+ (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
+ (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
+ (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
+ font_otf_capability and font_drive_otf, set ftfont_shape.
+ (ftfont_list): Adjusted for the change of :otf property value.
+ (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
+ (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
+ (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
+ (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
+ (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
+ (otf_gstring, gstring, m17n_flt_initialized): New variables.
+
+ * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
+ for the change of lispy gstring.
+
+ * xdisp.c (handle_composition_prop): Adjusted for the change of
+ lispy gstring. Call a function for auto-composition with the
+third arg it->window.
+ (fill_composite_glyph_string): Adjusted for the change of lispy
+ string.
+ (x_produce_glyphs): Adjusted for the change of
+ font_prepare_compositionl.
+
+ * xfaces.c (set_font_frame_param): Adjusted for the change of
+ font_find_for_lface.
+
+ * xfont.c (x_font_charset_alist): Moved to font.c and renamed.
+ (xfont_registry_charsets): Likewise. Caller changed.
+ (syms_of_xfont): Don't handle x_font_charset_alist.
+
+ * xftfont.c: Include "ftfont.h".
+ (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and
+ otf.
+ (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
+ (xftfont_close) [HAVE_LIBOTF]: Close otf.
+ (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
+ (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]: Set
+ xftfont_driver.shape to xftfont_shape.
+
+ * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
+ the change of lispy gstring.
+
+2007-11-29 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
+
+2007-12-01 Jason Rumney <jasonr@gnu.org>
+
+ * w32font.c (w32font_draw): Fill background manually.
+
+2007-11-23 Jason Rumney <jasonr@gnu.org>
+
+ * font.c (Qfontp): Remove unused symbol.
+ (QCantialias): New symbol.
+ (syms_of_font): Define it.
+ (font_property_table): Set a validator for QCantialias.
+
+ * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY): Define
+ if not already.
+ (QCfamily): Share with xfaces.c.
+ (Qstandard, Qsubpixel, Qnatural): New symbols.
+ (syms_of_w32font): Define them. Don't define QCfamily here.
+ (w32_antialias_type, lispy_antialias_type): New functions.
+ (w32_enumfont_pattern_entity): New arg requested_font.
+ Set antialias parameter if non-default was requested.
+ (fill_in_logfont): Fill in lfQuality if :antialias specified.
+
+2007-11-21 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * lread.c (read1): Undo the previous change.
+
+2007-11-21 CHENG Gao <chenggao@gmail.com> (tiny change)
+
+ * frame.c (Fdelete_frame): Call font_update_drivers only when
+ USE_FONT_BACKEND is defined..
+
+2007-11-19 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * font.h (struct font_bitmap): New member bits_per_pixel.
+ (struct font_driver): New members start_for_frame and end_for_frame.
+ (struct font_data_list): New struct.
+ (font_put_frame_data, font_get_frame_data): Extern them.
+
+ * frame.h (struct frame): New member font_data_list.
+
+ * font.c (font_update_drivers): Call driver->start_for_frame and
+ driver->end_for_frame at proper timings.
+ (font_put_frame_data, font_get_frame_data): New functions.
+ (Ffont_spec): Add usage in the docstring.
+
+ * frame.c (make_frame): Initialize f->font_data_list to NULL.
+ (Fdelete_frame): Call font_update_drivers.
+
+ * xftfont.c (struct xftface_info): Delete the member xft_draw.
+ (xftfont_prepare_face): Adjusted for the above change.
+ (xftfont_done_face): Likewise.
+ (xftfont_get_xft_draw): New function.
+ (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
+ (xftfont_end_for_frame): New function.
+ (syms_of_xftfont): Set xftfont_driver.end_for_frame.
+
+ * ftxfont.c (ftxfont_get_gcs): Renamed from ftxfont_create_gcs.
+ Argument changed. Cache GCs in the per-frame data.
+ (struct ftxfont_frame_data): New struct.
+ (ftxfont_draw_bitmap): New arg gc_fore and flush.
+ (ftxfont_prepare_face, ftxfont_done_face): Delete them.
+ (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in
+ GCs.
+ (ftxfont_end_for_frame): New function.
+ (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
+
+ * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
+
+2007-11-18 Kenichi Handa <handa@m17n.org>
+
+ * xselect.c (Vselection_coding_system)
+ (Vnext_selection_coding_system): Delete them.
+ (syms_of_xselect): Don't declare selection-coding-system and
+ next-selection-coding-system. They are declared in select.el.
+
+2007-11-17 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
+
+ * w32fns.c: Include imm.h.
+ (get_composition_string_fn, get_ime_context_fn): New optional
+ system functions.
+ (globals_of_w32fns): Load them from imm32.dll.
+ (ignore_ime_char): New flag.
+ (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
+ WM_IME_ENDCOMPOSITION messages.
+
+ * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
+ MULTIBYTE_CHAR_KEYSTROKE_EVENT.
+
+2007-11-14 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
+ (READCHAR_REPORT_MULTIBYTE): New macro.
+ (readchar): New 2nd arg MULTIBYTE.
+ (read1): Use READCHAR_REPORT_MULTIBYTE for the first read. Make
+ symbol's name multibyte according to the multibyteness of the
+ source.
+
2007-11-12 Kenichi Handa <handa@ni.aist.go.jp>
* xfaces.c (face_for_overlay_string): Call lookup_face with
2005-07-29 Kenichi Handa <handa@m17n.org>
- * coding.c (QCascii_compatible_p): New variable.
+ * coding.c (QCascii_compatible_p): New variable.
(syms_of_coding): Initialize it.
(ONE_MORE_BYTE): Decrement `src' before calling string_char.
(ONE_MORE_BYTE_NO_CHECK): Likewise.
* keyboard.c (adjust_point_for_property): Make beg and end
EMACS_INT.
- * intervals.c (get_property_and_range)
+ * intervals.c (get_property_and_range):
* intervals.h (get_property_and_range): Make start and end EMACS_INT.
* unexalpha.c: Don't include varargs.h.
* coding.c (detect_coding): Fix previous change.
(detect_coding_charset): If only ASCII bytes are found, return 0.
(detect_coding_system): Fix previous change.
- (Fdefine_coding_system_internal): Setup CODING_ATTR_ASCII_COMPAT
- (attrs) correctly.
+ (Fdefine_coding_system_internal): Setup
+ CODING_ATTR_ASCII_COMPAT (attrs) correctly.
2002-10-15 Dave Love <fx@gnu.org>
here.
(re_compile_fastmap) [emacs]: Call analyse_first with the arg
multibyte always 1.
- (re_search_2) In emacs, set the locale variable multibyte to 1,
+ (re_search_2): In emacs, set the locale variable multibyte to 1,
otherwise to 0. New local variable target_multibyte. Check it
to decide the multibyteness of STR1 and STR2. If
target_multibyte is zero, convert unibyte chars to multibyte