Mercurial > emacs
changeset 93860:0fecf07dfe3c
(struct w32_metric_cache): New struct.
(w32font_info): Use it.
(W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
(CACHE_BLOCKSIZE): New constants.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Tue, 08 Apr 2008 14:29:21 +0000 |
parents | 4c9f6b0f622f |
children | e077e9635971 |
files | src/w32font.h |
diffstat | 1 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32font.h Tue Apr 08 14:03:46 2008 +0000 +++ b/src/w32font.h Tue Apr 08 14:29:21 2008 +0000 @@ -36,6 +36,16 @@ #define NTMFLAGS_OPENTYPE (NTM_PS_OPENTYPE | NTM_TT_OPENTYPE) +struct w32_metric_cache +{ + short lbearing, rbearing, width; + unsigned char status; +}; + +#define W32METRIC_NO_ATTEMPT 0 +#define W32METRIC_SUCCESS 1 +#define W32METRIC_FAIL 2 + /* The actual structure for a w32 font, that can be cast to struct font. The Uniscribe backend extends this. */ struct w32font_info @@ -43,9 +53,12 @@ struct font font; TEXTMETRIC metrics; unsigned int glyph_idx; - struct font_metrics ascii_metrics[128]; + struct w32_metric_cache **cached_metrics; + int n_cache_blocks; }; +#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,