mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-05 05:21:26 -08:00
* src/xsettings.h: * src/xsettings.c: (dpyinfo_valid, store_tool_bar_style_changed) (XSETTINGS_FONT_NAME, get_prop_window, read_settings) (apply_xft_settings, read_and_apply_settings) (xft_settings_event, init_xsettings, xsettings_initialize): * src/xfaces.c: (x_create_gc, x_free_gc): * src/xdisp.c (redisplay_tool_bar, redisplay_internal) (draw_glyphs_debug, draw_glyphs, mouse_face_from_buffer_pos) (note_mouse_highlight): * src/terminal.c (Fterminal_live_p): * src/termhooks.h (enum output_method, GCALIGNED_STRUCT) (TERMINAL_FONT_CACHE): * src/process.c (wait_reading_process_output): * src/pgtkterm.h: * src/pgtkterm.c: * src/pgtkselect.h: * src/pgtkselect.c: * src/pgtkgui.h: * src/pgtkfns.c: * src/image.c: (XGetPixel, XPutPixel, image_create_bitmap_from_data) (image_create_bitmap_from_file, free_bitmap_record) (image_destroy_x_image, gui_put_x_image, image_get_x_image) (Create_Pixmap_From_Bitmap_Data, xbm_load_image, ) (xpm_load_image, lookup_rgb_color, image_disable_image) (image_build_heuristic_mask, imagemagick_load_image): * src/gtkutil.h: * src/gtkutil.c (PGTK_TRACE, xg_set_screen, xg_display_open) (xg_display_close, xg_create_default_cursor) (xg_get_pixbuf_from_pix_and_mask, xg_check_special_colors) (qttip_cb, hierarchy_ch_cb, xg_prepare_tooltip, ) (xg_show_tooltip, xg_hide_tooltip, xg_frame_resized) (xg_frame_set_char_size, xg_height_or_width_changed) (xg_set_widget_bg, style_changed_cb, xg_create_frame_widgets) (xg_free_frame_widgets, x_wm_set_size_hint, xg_frame_restack) (xg_mark_data, xg_update_frame_menubar, free_frame_menubar) (xg_update_submenu, xg_finish_scroll_bar_creation) (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos) (xg_set_toolkit_scroll_bar_thumb, xg_event_is_for_scrollbar) (draw_page, xg_pack_tool_bar, xg_create_tool_bar) (xg_update_tool_bar_sizes, update_frame_tool_bar) (free_frame_tool_bar, xg_change_toolbar_position): * src/ftcrfont.c: (ftcrfont_draw): * src/fringe.c: (init_fringe_bitmap): * src/frame.h (GCALIGNED_STRUCT, FRAME_WINDOW_P): * src/frame.c (Fframep): * src/font.h: * src/font.c (syms_of_font): * src/emacsgtkfixed.c: (emacs_fixed_get_preferred_width) (emacs_fixed_get_preferred_height, XSetWMSizeHints): * src/emacs.c (main): * src/dispnew.c (init_display_interactive): * src/dispextern.h: * src/alloc.c: (garbage_collect): * src/Makefile.in (PGTK_OBJ, PGTK_LIBS, base_obj, LIBES): * src/.gdbinit: * lisp/url/url-privacy.el (url-setup-privacy-info): * lisp/term/pgtk-win.el (featurep): * lisp/startup.el (command-line, fancy-splash-frame): * lisp/net/eww.el (eww-form-submit, eww-form-file) (eww-form-checkbox, eww-form-select): * lisp/mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event): * lisp/loadup.el (featurep): * lisp/international/mule-cmds.el (set-coding-system-map): * lisp/frame.el (pgtk-frame-geometry, frame-geometry) (w32-frame-edges, frame-edges) (pgtk-mouse-absolute-pixel-position) (mouse-absolute-pixel-position) (pgtk-set-mouse-absolute-pixel-position) (pgtk-frame-list-z-order, frame-list-z-order) (pgtk-frame-restack, frame-restack, display-mouse-p) (display-graphic-p, display-symbol-keys-p, ) (display-pixel-height, display-mm-height, display-mm-width) (display-backing-store, display-save-under, display-color-cells) (display-planes, display-visual-class) (pgtk-display-monitor-attributes-list) (display-monitor-attributes-list): * lisp/faces.el (face-spec-set-match-display, tool-bar): * lisp/cus-edit.el (custom-button, custom-button-mouse) (custom-button-pressed, custom-display): * configure.ac (AUTO_DEPEND, XARGS_LIMIT, XWIDGETS_OBJ):
83 lines
2.4 KiB
C
83 lines
2.4 KiB
C
/* ftfont.h -- Interface definition for Freetype font backend.
|
|
Copyright (C) 2007, 2008, 2009, 2010, 2011
|
|
National Institute of Advanced Industrial Science and Technology (AIST)
|
|
Registration Number H13PRO009
|
|
|
|
This file is part of GNU Emacs.
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or (at
|
|
your option) any later version.
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|
|
|
|
|
#ifndef EMACS_FTFONT_H
|
|
#define EMACS_FTFONT_H
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#include FT_SIZES_H
|
|
#include FT_TRUETYPE_TABLES_H
|
|
#ifdef FT_BDF_H
|
|
# include FT_BDF_H
|
|
#endif
|
|
|
|
#ifdef HAVE_HARFBUZZ
|
|
#include <hb.h>
|
|
#include <hb-ft.h>
|
|
#endif /* HAVE_HARFBUZZ */
|
|
|
|
#ifdef HAVE_LIBOTF
|
|
# include <otf.h>
|
|
#ifdef HAVE_M17N_FLT
|
|
# include <m17n-flt.h>
|
|
#endif /* HAVE_M17N_FLT */
|
|
#endif /* HAVE_LIBOTF */
|
|
|
|
extern void ftfont_fix_match (FcPattern *, FcPattern *);
|
|
extern void ftfont_add_rendering_parameters (FcPattern *, Lisp_Object);
|
|
extern FcPattern *ftfont_entity_pattern (Lisp_Object, int);
|
|
|
|
/* This struct is shared by the XFT, Freetype, and Cairo font
|
|
backends. Members up to and including 'matrix' are common, the
|
|
rest depend on which backend is in use. */
|
|
struct font_info
|
|
{
|
|
struct font font;
|
|
#ifdef HAVE_LIBOTF
|
|
bool maybe_otf; /* Flag to tell if this may be OTF or not. */
|
|
OTF *otf;
|
|
#endif /* HAVE_LIBOTF */
|
|
FT_Size ft_size;
|
|
int index;
|
|
FT_Matrix matrix;
|
|
#ifdef HAVE_HARFBUZZ
|
|
hb_font_t *hb_font;
|
|
#endif /* HAVE_HARFBUZZ */
|
|
|
|
#ifdef USE_CAIRO
|
|
cairo_scaled_font_t *cr_scaled_font;
|
|
/* Scale factor from the bitmap strike metrics in 1/64 pixels, used
|
|
as the hb_position_t value in HarfBuzz, to those in (scaled)
|
|
pixels. The value is 0 for scalable fonts. */
|
|
double bitmap_position_unit;
|
|
/* Font metrics cache. */
|
|
struct font_metrics **metrics;
|
|
short metrics_nrows;
|
|
#else
|
|
/* These are used by the XFT backend. */
|
|
Display *display;
|
|
XftFont *xftfont;
|
|
unsigned x_display_id;
|
|
#endif
|
|
};
|
|
|
|
#endif /* EMACS_FTFONT_H */
|