[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;