X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9850eff524bd0747a9561f3b4c90dfc3749f4ecb..6cf8f0b74e45cec12756e99d3735e3906c515c5c:/src/w32font.h diff --git a/src/w32font.h b/src/w32font.h index 748b329f8d..0e2d0f7982 100644 --- a/src/w32font.h +++ b/src/w32font.h @@ -1,12 +1,12 @@ -/* Shared GDI and Uniscribe Font backend declarations for the W32 API. - Copyright (C) 2007, 2008 Free Software Foundation, Inc. +/* Shared GDI and Uniscribe Font backend declarations for the Windows API. + Copyright (C) 2007-2016 Free Software Foundation, Inc. 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. +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 @@ -19,9 +19,10 @@ along with GNU Emacs. If not, see . */ #ifndef EMACS_W32FONT_H #define EMACS_W32FONT_H +#include "font.h" -/* Bit 17 of ntmFlags in NEWTEXTMETRIC is set for Postscript OpenType fonts, - bit 18 for Truetype OpenType fonts, bit 20 for Type1 fonts. */ +/* Bit 17 of ntmFlags in NEWTEXTMETRIC is set for PostScript OpenType fonts, + bit 18 for TrueType OpenType fonts, bit 20 for Type1 fonts. */ #ifndef NTM_PS_OPENTYPE #define NTM_PS_OPENTYPE 0x00020000 #endif @@ -36,7 +37,7 @@ along with GNU Emacs. If not, see . */ struct w32_metric_cache { - short lbearing, rbearing, width; + short lbearing, rbearing, width, ascent, descent; unsigned char status; }; @@ -62,26 +63,27 @@ struct w32font_info #define CACHE_BLOCKSIZE 128 -Lisp_Object w32font_get_cache P_ ((FRAME_PTR fe)); -Lisp_Object w32font_list_internal P_ ((Lisp_Object frame, - Lisp_Object font_spec, - int opentype_only)); -Lisp_Object w32font_match_internal P_ ((Lisp_Object frame, - Lisp_Object font_spec, - int opentype_only)); -int w32font_open_internal P_ ((FRAME_PTR f, Lisp_Object font_entity, - int pixel_size, Lisp_Object font_object)); -void w32font_close P_ ((FRAME_PTR f, struct font *font)); -int w32font_has_char P_ ((Lisp_Object entity, int c)); -int w32font_text_extents P_ ((struct font *font, unsigned *code, int nglyphs, - struct font_metrics *metrics)); -int w32font_draw P_ ((struct glyph_string *s, int from, int to, - int x, int y, int with_background)); - - -int uniscribe_check_otf P_ ((LOGFONT *font, Lisp_Object otf_spec)); +Lisp_Object w32font_get_cache (struct frame *fe); +Lisp_Object w32font_list_internal (struct frame *f, + Lisp_Object font_spec, + bool opentype_only); +Lisp_Object w32font_match_internal (struct frame *f, + Lisp_Object font_spec, + bool opentype_only); +int w32font_open_internal (struct frame *f, Lisp_Object font_entity, + int pixel_size, Lisp_Object font_object); +void w32font_close (struct font *font); +int w32font_has_char (Lisp_Object entity, int c); +void w32font_text_extents (struct font *font, unsigned *code, int nglyphs, + struct font_metrics *metrics); +int w32font_draw (struct glyph_string *s, int from, int to, + int x, int y, bool with_background); -#endif -/* arch-tag: ef9d9675-a2a5-4d01-9526-815e9a3da7cb - (do not change this comment) */ +int uniscribe_check_otf (LOGFONT *font, Lisp_Object otf_spec); + +Lisp_Object intern_font_name (char *); + +extern void globals_of_w32font (void); + +#endif