diff --git a/src/hb-config.hh b/src/hb-config.hh index adf2b33483b18672f7c8720cd591995ab0e91d51..bd440050eed53d08e2a3a54216763de85fecb767 100644 --- a/src/hb-config.hh +++ b/src/hb-config.hh @@ -66,6 +66,7 @@ #define HB_NO_LAYOUT_COLLECT_GLYPHS #define HB_NO_LAYOUT_UNUSED #define HB_NO_MATH +#define HB_NO_METRICS #define HB_NO_MMAP #define HB_NO_NAME #define HB_NO_OPEN diff --git a/src/hb-ot-face-table-list.hh b/src/hb-ot-face-table-list.hh index 09e000d04fa4e620d79f629c77b82bb74e75d762..7af024612fb09e4e54fd952db6e866c383da4f3c 100644 --- a/src/hb-ot-face-table-list.hh +++ b/src/hb-ot-face-table-list.hh @@ -53,9 +53,7 @@ HB_OT_ACCELERATOR (OT, cmap) HB_OT_TABLE (OT, hhea) HB_OT_ACCELERATOR (OT, hmtx) HB_OT_TABLE (OT, OS2) -#ifndef HB_NO_OT_FONT_GLYPH_NAMES HB_OT_ACCELERATOR (OT, post) -#endif #ifndef HB_NO_NAME HB_OT_ACCELERATOR (OT, name) #endif diff --git a/src/hb-ot-metrics-internal.cc b/src/hb-ot-metrics-internal.cc index 9af5b8c389ee4b9f339065ab96ab5e33d6a89e08..ccf4e37067dc1e2685864f22d3b4ee65a22a1967 100644 --- a/src/hb-ot-metrics-internal.cc +++ b/src/hb-ot-metrics-internal.cc @@ -51,9 +51,14 @@ hb_ot_metrics_get_position_internal (hb_face_t *face, { switch (metrics_tag) { +#ifndef HB_NO_VAR +#define GET_VAR hb_ot_metrics_get_variation (face, metrics_tag) +#else +#define GET_VAR 0 +#endif #define GET_METRIC(TABLE, ATTR) \ (face->table.TABLE->has_data () && \ - (position && (*position = face->table.TABLE->ATTR + face->table.MVAR->get_var (metrics_tag, nullptr, 0)), true)) + (position && (*position = face->table.TABLE->ATTR + GET_VAR), true)) case HB_OT_METRICS_HORIZONTAL_ASCENDER: return face->table.OS2->use_typo_metrics () ? GET_METRIC (OS2, sTypoAscender) : GET_METRIC (hhea, ascender); @@ -89,6 +94,7 @@ hb_ot_metrics_get_position_internal (hb_face_t *face, case HB_OT_METRICS_UNDERLINE_SIZE: return GET_METRIC (post->table, underlineThickness); case HB_OT_METRICS_UNDERLINE_OFFSET: return GET_METRIC (post->table, underlinePosition); #undef GET_METRIC +#undef GET_VAR default: return false; } } diff --git a/src/hb-ot-metrics.cc b/src/hb-ot-metrics.cc index d6672c68549f7fab76846764a945081b562b441a..8a985975189dd09c506e3022e7e5cbcd3376b572 100644 --- a/src/hb-ot-metrics.cc +++ b/src/hb-ot-metrics.cc @@ -24,6 +24,8 @@ #include "hb.hh" +#ifndef HB_NO_METRICS + #include "hb-ot-metrics.hh" #include "hb-ot-var-mvar-table.hh" #include "hb-ot-face.hh" @@ -89,6 +91,7 @@ hb_ot_metrics_get_position (hb_font_t *font, } } +#ifndef HB_NO_VAR /** * hb_ot_metrics_get_variation: * @face: @@ -133,3 +136,6 @@ hb_ot_metrics_get_y_variation (hb_font_t *font, hb_ot_metrics_t metrics_tag) { return font->em_scalef_y (hb_ot_metrics_get_variation (font->face, metrics_tag)); } +#endif + +#endif