Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(797)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-ot-hmtx-table.hh

Issue 10915172: harfbuzz-ng roll (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 12 matching lines...) Expand all
23 * 23 *
24 * Google Author(s): Behdad Esfahbod 24 * Google Author(s): Behdad Esfahbod
25 */ 25 */
26 26
27 #ifndef HB_OT_HMTX_TABLE_HH 27 #ifndef HB_OT_HMTX_TABLE_HH
28 #define HB_OT_HMTX_TABLE_HH 28 #define HB_OT_HMTX_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 {
34
33 35
34 /* 36 /*
35 * hmtx -- The Horizontal Metrics Table 37 * hmtx -- The Horizontal Metrics Table
36 */ 38 */
37 39
38 #define HB_OT_TAG_hmtx HB_TAG('h','m','t','x') 40 #define HB_OT_TAG_hmtx HB_TAG('h','m','t','x')
39 41
40 42
41 struct LongHorMetric 43 struct LongHorMetric
42 { 44 {
43 USHORT advanceWidth; 45 USHORT advanceWidth;
44 SHORT lsb; 46 SHORT lsb;
45 public: 47 public:
46 DEFINE_SIZE_STATIC (4); 48 DEFINE_SIZE_STATIC (4);
47 }; 49 };
48 50
49 struct hmtx 51 struct hmtx
50 { 52 {
51 static const hb_tag_t Tag = HB_OT_TAG_hmtx; 53 static const hb_tag_t Tag = HB_OT_TAG_hmtx;
52 54
53 inline bool sanitize (hb_sanitize_context_t *c) { 55 inline bool sanitize (hb_sanitize_context_t *c) {
54 TRACE_SANITIZE (); 56 TRACE_SANITIZE ();
55 /* We don't check for anything specific here. The users of the 57 /* We don't check for anything specific here. The users of the
56 * struct do all the hard work... */ 58 * struct do all the hard work... */
57 return TRACE_RETURN (true); 59 return TRACE_RETURN (true);
58 } 60 }
59 61
60 private: 62 protected:
61 LongHorMetric longHorMetric[VAR]; /* Paired advance width and left side 63 LongHorMetric longHorMetric[VAR]; /* Paired advance width and left side
62 * bearing values for each glyph. The 64 * bearing values for each glyph. The
63 * value numOfHMetrics comes from 65 * value numOfHMetrics comes from
64 * the 'hhea' table. If the font is 66 * the 'hhea' table. If the font is
65 * monospaced, only one entry need 67 * monospaced, only one entry need
66 * be in the array, but that entry is 68 * be in the array, but that entry is
67 * required. The last entry applies to 69 * required. The last entry applies to
68 * all subsequent glyphs. */ 70 * all subsequent glyphs. */
69 SHORT leftSideBearingX[VAR]; /* Here the advanceWidth is assumed 71 SHORT leftSideBearingX[VAR]; /* Here the advanceWidth is assumed
70 * to be the same as the advanceWidth 72 * to be the same as the advanceWidth
71 * for the last entry above. The 73 * for the last entry above. The
72 * number of entries in this array is 74 * number of entries in this array is
73 * derived from numGlyphs (from 'maxp' 75 * derived from numGlyphs (from 'maxp'
74 * table) minus numberOfHMetrics. This 76 * table) minus numberOfHMetrics. This
75 * generally is used with a run of 77 * generally is used with a run of
76 * monospaced glyphs (e.g., Kanji 78 * monospaced glyphs (e.g., Kanji
77 * fonts or Courier fonts). Only one 79 * fonts or Courier fonts). Only one
78 * run is allowed and it must be at 80 * run is allowed and it must be at
79 * the end. This allows a monospaced 81 * the end. This allows a monospaced
80 * font to vary the left side bearing 82 * font to vary the left side bearing
81 * values for each glyph. */ 83 * values for each glyph. */
82 public: 84 public:
83 DEFINE_SIZE_ARRAY2 (0, longHorMetric, leftSideBearingX); 85 DEFINE_SIZE_ARRAY2 (0, longHorMetric, leftSideBearingX);
84 }; 86 };
85 87
88
89 } // namespace OT
90
91
86 #endif /* HB_OT_HMTX_TABLE_HH */ 92 #endif /* HB_OT_HMTX_TABLE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ot-hhea-table.hh ('k') | third_party/harfbuzz-ng/src/hb-ot-layout.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698