[os2] Move typometrics detection logic to the table (#1465)
This commit is contained in:
parent
47cf9a9633
commit
f7cfe99815
|
@ -192,16 +192,12 @@ struct hmtxvmtx
|
||||||
default_advance = default_advance_ ? default_advance_ : hb_face_get_upem (face);
|
default_advance = default_advance_ ? default_advance_ : hb_face_get_upem (face);
|
||||||
|
|
||||||
bool got_font_extents = false;
|
bool got_font_extents = false;
|
||||||
if (T::os2Tag != HB_TAG_NONE)
|
if (T::os2Tag != HB_TAG_NONE && face->table.OS2->is_typo_metrics ())
|
||||||
{
|
{
|
||||||
#define USE_TYPO_METRICS (1u<<7)
|
ascender = abs (face->table.OS2->sTypoAscender);
|
||||||
if (0 != (face->table.OS2->fsSelection & USE_TYPO_METRICS))
|
descender = -abs (face->table.OS2->sTypoDescender);
|
||||||
{
|
line_gap = face->table.OS2->sTypoLineGap;
|
||||||
ascender = abs (face->table.OS2->sTypoAscender);
|
got_font_extents = (ascender | descender) != 0;
|
||||||
descender = -abs (face->table.OS2->sTypoDescender);
|
|
||||||
line_gap = face->table.OS2->sTypoLineGap;
|
|
||||||
got_font_extents = (ascender | descender) != 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_blob_t *_hea_blob = hb_sanitize_context_t().reference_table<H> (face);
|
hb_blob_t *_hea_blob = hb_sanitize_context_t().reference_table<H> (face);
|
||||||
|
|
|
@ -112,10 +112,11 @@ struct OS2
|
||||||
OBLIQUE = 1u<<9
|
OBLIQUE = 1u<<9
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool is_italic (void) const { return fsSelection & ITALIC; }
|
inline bool is_italic (void) const { return fsSelection & ITALIC; }
|
||||||
inline bool is_oblique (void) const { return fsSelection & OBLIQUE; }
|
inline bool is_oblique (void) const { return fsSelection & OBLIQUE; }
|
||||||
|
inline bool is_typo_metrics (void) const { return fsSelection & USE_TYPO_METRICS; }
|
||||||
|
|
||||||
enum us_width_class_t {
|
enum width_class_t {
|
||||||
FWIDTH_ULTRA_CONDENSED = 1, /* 50% */
|
FWIDTH_ULTRA_CONDENSED = 1, /* 50% */
|
||||||
FWIDTH_EXTRA_CONDENSED = 2, /* 62.5% */
|
FWIDTH_EXTRA_CONDENSED = 2, /* 62.5% */
|
||||||
FWIDTH_CONDENSED = 3, /* 75% */
|
FWIDTH_CONDENSED = 3, /* 75% */
|
||||||
|
|
Loading…
Reference in New Issue