OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2011 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. |
11 * | 11 * |
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR | 12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 }; | 47 }; |
48 | 48 |
49 struct hmtx | 49 struct hmtx |
50 { | 50 { |
51 static const hb_tag_t Tag = HB_OT_TAG_hmtx; | 51 static const hb_tag_t Tag = HB_OT_TAG_hmtx; |
52 | 52 |
53 inline bool sanitize (hb_sanitize_context_t *c) { | 53 inline bool sanitize (hb_sanitize_context_t *c) { |
54 TRACE_SANITIZE (); | 54 TRACE_SANITIZE (); |
55 /* We don't check for anything specific here. The users of the | 55 /* We don't check for anything specific here. The users of the |
56 * struct do all the hard work... */ | 56 * struct do all the hard work... */ |
57 return true; | 57 return TRACE_RETURN (true); |
58 } | 58 } |
59 | 59 |
60 private: | 60 private: |
61 LongHorMetric longHorMetric[VAR]; /* Paired advance width and left side | 61 LongHorMetric longHorMetric[VAR]; /* Paired advance width and left side |
62 * bearing values for each glyph. The | 62 * bearing values for each glyph. The |
63 * value numOfHMetrics comes from | 63 * value numOfHMetrics comes from |
64 * the 'hhea' table. If the font is | 64 * the 'hhea' table. If the font is |
65 * monospaced, only one entry need | 65 * monospaced, only one entry need |
66 * be in the array, but that entry is | 66 * be in the array, but that entry is |
67 * required. The last entry applies to | 67 * required. The last entry applies to |
68 * all subsequent glyphs. */ | 68 * all subsequent glyphs. */ |
69 SHORT leftSideBearingX[VAR]; /* Here the advanceWidth is assumed | 69 SHORT leftSideBearingX[VAR]; /* Here the advanceWidth is assumed |
70 * to be the same as the advanceWidth | 70 * to be the same as the advanceWidth |
71 * for the last entry above. The | 71 * for the last entry above. The |
72 * number of entries in this array is | 72 * number of entries in this array is |
73 * derived from numGlyphs (from 'maxp' | 73 * derived from numGlyphs (from 'maxp' |
74 * table) minus numberOfHMetrics. This | 74 * table) minus numberOfHMetrics. This |
75 * generally is used with a run of | 75 * generally is used with a run of |
76 * monospaced glyphs (e.g., Kanji | 76 * monospaced glyphs (e.g., Kanji |
77 * fonts or Courier fonts). Only one | 77 * fonts or Courier fonts). Only one |
78 * run is allowed and it must be at | 78 * run is allowed and it must be at |
79 * the end. This allows a monospaced | 79 * the end. This allows a monospaced |
80 * font to vary the left side bearing | 80 * font to vary the left side bearing |
81 * values for each glyph. */ | 81 * values for each glyph. */ |
82 public: | 82 public: |
83 DEFINE_SIZE_ARRAY2 (0, longHorMetric, leftSideBearingX); | 83 DEFINE_SIZE_ARRAY2 (0, longHorMetric, leftSideBearingX); |
84 }; | 84 }; |
85 | 85 |
86 #endif /* HB_OT_HMTX_TABLE_HH */ | 86 #endif /* HB_OT_HMTX_TABLE_HH */ |
OLD | NEW |