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,