[shaper] Rewrite shaper data code to be more template-driven than macro-driven
diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc
index b34ae60..4ae6e7f 100644
--- a/src/hb-directwrite.cc
+++ b/src/hb-directwrite.cc
@@ -23,7 +23,6 @@
*/
#include "hb.hh"
-#define HB_SHAPER directwrite
#include "hb-shaper-impl.hh"
#include <DWrite_1.h>
@@ -31,10 +30,6 @@
#include "hb-directwrite.h"
-HB_SHAPER_DATA_ENSURE_DEFINE (directwrite, face);
-HB_SHAPER_DATA_ENSURE_DEFINE (directwrite, font);
-
-
/*
* hb-directwrite uses new/delete syntatically but as we let users
* to override malloc/free, we will redefine new/delete so users
@@ -534,8 +529,8 @@
float lineWidth)
{
hb_face_t *face = font->face;
- hb_directwrite_face_data_t *face_data = HB_SHAPER_DATA_GET (face);
- hb_directwrite_font_data_t *font_data = HB_SHAPER_DATA_GET (font);
+ const hb_directwrite_face_data_t *face_data = face->data.directwrite;
+ const hb_directwrite_font_data_t *font_data = font->data.directwrite;
IDWriteFactory *dwriteFactory = face_data->dwriteFactory;
IDWriteFontFace *fontFace = face_data->fontFace;