gfx/harfbuzz/src/hb-ot-hhea-table.hh

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

     1 /*
     2  * Copyright © 2011,2012  Google, Inc.
     3  *
     4  *  This is part of HarfBuzz, a text shaping library.
     5  *
     6  * Permission is hereby granted, without written agreement and without
     7  * license or royalty fees, to use, copy, modify, and distribute this
     8  * software and its documentation for any purpose, provided that the
     9  * above copyright notice and the following two paragraphs appear in
    10  * all copies of this software.
    11  *
    12  * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
    13  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    14  * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
    15  * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    16  * DAMAGE.
    17  *
    18  * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
    19  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
    20  * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
    21  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
    22  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
    23  *
    24  * Google Author(s): Behdad Esfahbod
    25  */
    27 #ifndef HB_OT_HHEA_TABLE_HH
    28 #define HB_OT_HHEA_TABLE_HH
    30 #include "hb-open-type-private.hh"
    33 namespace OT {
    36 /*
    37  * hhea -- The Horizontal Header Table
    38  */
    40 #define HB_OT_TAG_hhea HB_TAG('h','h','e','a')
    43 struct hhea
    44 {
    45   static const hb_tag_t tableTag	= HB_OT_TAG_hhea;
    47   inline bool sanitize (hb_sanitize_context_t *c) {
    48     TRACE_SANITIZE (this);
    49     return TRACE_RETURN (c->check_struct (this) && likely (version.major == 1));
    50   }
    52   protected:
    53   FixedVersion	version;		/* 0x00010000 for version 1.0. */
    54   FWORD		ascender;		/* Typographic ascent. <a
    55 					 * href="http://developer.apple.com/fonts/TTRefMan/RM06/Chap6hhea.html">
    56 					 * (Distance from baseline of highest
    57 					 * ascender)</a> */
    58   FWORD		descender;		/* Typographic descent. <a
    59 					 * href="http://developer.apple.com/fonts/TTRefMan/RM06/Chap6hhea.html">
    60 					 * (Distance from baseline of lowest
    61 					 * descender)</a> */
    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 -
    72 					 * (xMax - xMin)). */
    73   FWORD		xMaxExtent;		/* Max(lsb + (xMax - xMin)). */
    74   SHORT		caretSlopeRise;		/* Used to calculate the slope of the
    75 					 * cursor (rise/run); 1 for vertical. */
    76   SHORT		caretSlopeRun;		/* 0 for vertical. */
    77   SHORT		caretOffset;		/* The amount by which a slanted
    78 					 * highlight on a glyph needs
    79 					 * to be shifted to produce the
    80 					 * best appearance. Set to 0 for
    81 					 * non--slanted fonts */
    82   SHORT		reserved1;		/* set to 0 */
    83   SHORT		reserved2;		/* set to 0 */
    84   SHORT		reserved3;		/* set to 0 */
    85   SHORT		reserved4;		/* set to 0 */
    86   SHORT		metricDataFormat;	/* 0 for current format. */
    87   USHORT	numberOfHMetrics;	/* Number of hMetric entries in 'hmtx'
    88 					 * table */
    89   public:
    90   DEFINE_SIZE_STATIC (36);
    91 };
    94 } /* namespace OT */
    97 #endif /* HB_OT_HHEA_TABLE_HH */

mercurial