Kenichi Handa [Mon, 3 Dec 2007 13:51:16 +0000 (13:51 +0000)]
Include "font.h" unconditionally.
(generate_ascii_font_name): Use font_parse_xlfd and
font_unparse_xlfd.
(Fset_fontset_font): Accept a font-spec object.
Kenichi Handa [Sat, 1 Dec 2007 02:42:03 +0000 (02:42 +0000)]
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.
Kenichi Handa [Sat, 1 Dec 2007 02:41:05 +0000 (02:41 +0000)]
(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.
Kenichi Handa [Sat, 1 Dec 2007 02:39:27 +0000 (02:39 +0000)]
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.
Kenichi Handa [Sat, 1 Dec 2007 02:39:01 +0000 (02:39 +0000)]
(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.
Kenichi Handa [Sat, 1 Dec 2007 02:38:23 +0000 (02:38 +0000)]
* 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.
Kenichi Handa [Sat, 1 Dec 2007 02:37:59 +0000 (02:37 +0000)]
(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.
Jason Rumney [Fri, 23 Nov 2007 02:09:19 +0000 (02:09 +0000)]
(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.
Kenichi Handa [Mon, 19 Nov 2007 05:16:48 +0000 (05:16 +0000)]
(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.
Kenichi Handa [Mon, 19 Nov 2007 05:14:46 +0000 (05:14 +0000)]
(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.
Kenichi Handa [Mon, 19 Nov 2007 05:08:04 +0000 (05:08 +0000)]
(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.
Kenichi Handa [Mon, 19 Nov 2007 05:06:09 +0000 (05:06 +0000)]
(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.
Kenichi Handa [Sun, 18 Nov 2007 09:12:14 +0000 (09:12 +0000)]
(selection-coding-system)
(next-selection-coding-system): Declaration moded from xselect.c.
(x-get-selection): Decode by selection-coding-system if it is
non-nil. If it is nil, decode by a proper coding system. Handle
C_STRING.
(ccl-check-utf-8, string-utf-8-p): Delete them.
(xselect-convert-to-string): Fix determining data-type in the case
that TEXT is requested. Don't use selection-coding-system if it's
not proper for the data-type.
Kenichi Handa [Sun, 18 Nov 2007 09:05:14 +0000 (09:05 +0000)]
(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.
Jason Rumney [Sat, 17 Nov 2007 03:01:50 +0000 (03:01 +0000)]
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.