text: // The `hhea` table contains information for horizontal layout.
  // https://www.microsoft.com/typography/OTSPEC/hhea.htm
  
  import parse from '../parse.js';
  import table from '../table.js';
  
  // Parse the horizontal header `hhea` table
  function parseHheaTable(data, start) {
      const hhea = {};
      const p = new parse.Parser(data, start);
      hhea.version = p.parseVersion();
      hhea.ascender = p.parseShort();
      hhea.descender = p.parseShort();
      hhea.lineGap = p.parseShort();
      hhea.advanceWidthMax = p.parseUShort();
      hhea.minLeftSideBearing = p.parseShort();
      hhea.minRightSideBearing = p.parseShort();
      hhea.xMaxExtent = p.parseShort();
      hhea.caretSlopeRise = p.parseShort();
      hhea.caretSlopeRun = p.parseShort();
      hhea.caretOffset = p.parseShort();
      p.relativeOffset += 8;
      hhea.metricDataFormat = p.parseShort();
      hhea.numberOfHMetrics = p.parseUShort();
      return hhea;
  }
  
  function makeHheaTable(options) {
      return new table.Table('hhea', [
          {name: 'version', type: 'FIXED', value: 0x00010000},
          {name: 'ascender', type: 'FWORD', value: 0},
          {name: 'descender', type: 'FWORD', value: 0},
          {name: 'lineGap', type: 'FWORD', value: 0},
          {name: 'advanceWidthMax', type: 'UFWORD', value: 0},
          {name: 'minLeftSideBearing', type: 'FWORD', value: 0},
          {name: 'minRightSideBearing', type: 'FWORD', value: 0},
          {name: 'xMaxExtent', type: 'FWORD', value: 0},
          {name: 'caretSlopeRise', type: 'SHORT', value: 1},
          {name: 'caretSlopeRun', type: 'SHORT', value: 0},
          {name: 'caretOffset', type: 'SHORT', value: 0},
          {name: 'reserved1', type: 'SHORT', value: 0},
          {name: 'reserved2', type: 'SHORT', value: 0},
          {name: 'reserved3', type: 'SHORT', value: 0},
          {name: 'reserved4', type: 'SHORT', value: 0},
          {name: 'metricDataFormat', type: 'SHORT', value: 0},
          {name: 'numberOfHMetrics', type: 'USHORT', value: 0}
      ], options);
  }
  
  export default { parse: parseHheaTable, make: makeHheaTable };
  