| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright © 2011,2012 Google, Inc. | 2 * Copyright © 2011,2012 Google, Inc. |
| 3 * | 3 * |
| 4 * This is part of HarfBuzz, a text shaping library. | 4 * This is part of HarfBuzz, a text shaping library. |
| 5 * | 5 * |
| 6 * Permission is hereby granted, without written agreement and without | 6 * Permission is hereby granted, without written agreement and without |
| 7 * license or royalty fees, to use, copy, modify, and distribute this | 7 * license or royalty fees, to use, copy, modify, and distribute this |
| 8 * software and its documentation for any purpose, provided that the | 8 * software and its documentation for any purpose, provided that the |
| 9 * above copyright notice and the following two paragraphs appear in | 9 * above copyright notice and the following two paragraphs appear in |
| 10 * all copies of this software. | 10 * all copies of this software. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 #define HB_OT_HHEA_TABLE_HH | 28 #define HB_OT_HHEA_TABLE_HH |
| 29 | 29 |
| 30 #include "hb-open-type-private.hh" | 30 #include "hb-open-type-private.hh" |
| 31 | 31 |
| 32 | 32 |
| 33 namespace OT { | 33 namespace OT { |
| 34 | 34 |
| 35 | 35 |
| 36 /* | 36 /* |
| 37 * hhea -- The Horizontal Header Table | 37 * hhea -- The Horizontal Header Table |
| 38 * vhea -- The Vertical Header Table |
| 38 */ | 39 */ |
| 39 | 40 |
| 40 #define HB_OT_TAG_hhea HB_TAG('h','h','e','a') | 41 #define HB_OT_TAG_hhea HB_TAG('h','h','e','a') |
| 42 #define HB_OT_TAG_vhea HB_TAG('v','h','e','a') |
| 41 | 43 |
| 42 | 44 |
| 43 struct hhea | 45 struct _hea |
| 44 { | 46 { |
| 45 static const hb_tag_t tableTag» = HB_OT_TAG_hhea; | 47 static const hb_tag_t tableTag = HB_TAG('_','h','e','a'); |
| 48 |
| 49 static const hb_tag_t hheaTag»= HB_OT_TAG_hhea; |
| 50 static const hb_tag_t vheaTag»= HB_OT_TAG_vhea; |
| 46 | 51 |
| 47 inline bool sanitize (hb_sanitize_context_t *c) { | 52 inline bool sanitize (hb_sanitize_context_t *c) { |
| 48 TRACE_SANITIZE (this); | 53 TRACE_SANITIZE (this); |
| 49 return TRACE_RETURN (c->check_struct (this) && likely (version.major == 1)); | 54 return TRACE_RETURN (c->check_struct (this) && likely (version.major == 1)); |
| 50 } | 55 } |
| 51 | 56 |
| 52 public: | 57 public: |
| 53 FixedVersion version; /* 0x00010000u for version 1.0. */ | 58 FixedVersion version; /* 0x00010000u for version 1.0. */ |
| 54 FWORD»» ascender;» » /* Typographic ascent. <a | 59 FWORD»» ascender;» » /* Typographic ascent. */ |
| 55 » » » » » * href="http://developer.apple.com/font
s/TTRefMan/RM06/Chap6hhea.html"> | 60 FWORD»» descender;» » /* Typographic descent. */ |
| 56 » » » » » * (Distance from baseline of highest | 61 FWORD»» lineGap;» » /* Typographic line gap. */ |
| 57 » » » » » * ascender)</a> */ | 62 UFWORD» advanceMax;» » /* Maximum advance width/height value in |
| 58 FWORD»» descender;» » /* Typographic descent. <a | 63 » » » » » * metrics table. */ |
| 59 » » » » » * href="http://developer.apple.com/font
s/TTRefMan/RM06/Chap6hhea.html"> | 64 FWORD»» minLeadingBearing;» /* Minimum left/top sidebearing value in |
| 60 » » » » » * (Distance from baseline of lowest | 65 » » » » » * metrics table. */ |
| 61 » » » » » * descender)</a> */ | 66 FWORD»» minTrailingBearing;» /* Minimum right/bottom sidebearing valu
e; |
| 62 FWORD»» lineGap;» » /* Typographic line gap. Negative | |
| 63 » » » » » * LineGap values are treated as zero | |
| 64 » » » » » * in Windows 3.1, System 6, and | |
| 65 » » » » » * System 7. */ | |
| 66 UFWORD» advanceWidthMax;» /* Maximum advance width value in | |
| 67 » » » » » * 'hmtx' table. */ | |
| 68 FWORD»» minLeftSideBearing;» /* Minimum left sidebearing value in | |
| 69 » » » » » * 'hmtx' table. */ | |
| 70 FWORD»» minRightSideBearing;» /* Minimum right sidebearing value; | |
| 71 * calculated as Min(aw - lsb - | 67 * calculated as Min(aw - lsb - |
| 72 » » » » » * (xMax - xMin)). */ | 68 » » » » » * (xMax - xMin)) for horizontal. */ |
| 73 FWORD»» xMaxExtent;» » /* Max(lsb + (xMax - xMin)). */ | 69 FWORD»» maxExtent;» » /* horizontal: Max(lsb + (xMax - xMin)), |
| 70 » » » » » * vertical: minLeadingBearing+(yMax-yMi
n). */ |
| 74 SHORT caretSlopeRise; /* Used to calculate the slope of the | 71 SHORT caretSlopeRise; /* Used to calculate the slope of the |
| 75 » » » » » * cursor (rise/run); 1 for vertical. */ | 72 » » » » » * cursor (rise/run); 1 for vertical car
et, |
| 76 SHORT»» caretSlopeRun;» » /* 0 for vertical. */ | 73 » » » » » * 0 for horizontal.*/ |
| 74 SHORT»» caretSlopeRun;» » /* 0 for vertical caret, 1 for horizonta
l. */ |
| 77 SHORT caretOffset; /* The amount by which a slanted | 75 SHORT caretOffset; /* The amount by which a slanted |
| 78 * highlight on a glyph needs | 76 * highlight on a glyph needs |
| 79 * to be shifted to produce the | 77 * to be shifted to produce the |
| 80 * best appearance. Set to 0 for | 78 * best appearance. Set to 0 for |
| 81 » » » » » * non--slanted fonts */ | 79 » » » » » * non-slanted fonts. */ |
| 82 SHORT»» reserved1;» » /* set to 0 */ | 80 SHORT»» reserved1;» » /* Set to 0. */ |
| 83 SHORT»» reserved2;» » /* set to 0 */ | 81 SHORT»» reserved2;» » /* Set to 0. */ |
| 84 SHORT»» reserved3;» » /* set to 0 */ | 82 SHORT»» reserved3;» » /* Set to 0. */ |
| 85 SHORT»» reserved4;» » /* set to 0 */ | 83 SHORT»» reserved4;» » /* Set to 0. */ |
| 86 SHORT metricDataFormat; /* 0 for current format. */ | 84 SHORT metricDataFormat; /* 0 for current format. */ |
| 87 USHORT» numberOfHMetrics;» /* Number of hMetric entries in 'hmtx' | 85 USHORT» numberOfLongMetrics;» /* Number of LongMetric entries in metri
c |
| 88 » » » » » * table */ | 86 » » » » » * table. */ |
| 89 public: | 87 public: |
| 90 DEFINE_SIZE_STATIC (36); | 88 DEFINE_SIZE_STATIC (36); |
| 91 }; | 89 }; |
| 92 | 90 |
| 91 struct hhea : _hea { |
| 92 static const hb_tag_t tableTag = HB_OT_TAG_hhea; |
| 93 }; |
| 94 struct vhea : _hea { |
| 95 static const hb_tag_t tableTag = HB_OT_TAG_vhea; |
| 96 }; |
| 97 |
| 93 | 98 |
| 94 } /* namespace OT */ | 99 } /* namespace OT */ |
| 95 | 100 |
| 96 | 101 |
| 97 #endif /* HB_OT_HHEA_TABLE_HH */ | 102 #endif /* HB_OT_HHEA_TABLE_HH */ |
| OLD | NEW |