未验证 提交 2e5b49d1 编写于 作者: E Ebrahim Byagowi 提交者: GitHub

Add HB_NO_METRICS and fix HB_TINY build (#1839)

上级 bdfdac0f
......@@ -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
......
......@@ -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
......
......@@ -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;
}
}
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册