Home | History | Annotate | Download | only in src
      1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef OTS_KERN_H_
      6 #define OTS_KERN_H_
      7 
      8 #include <vector>
      9 
     10 #include "ots.h"
     11 
     12 namespace ots {
     13 
     14 struct OpenTypeKERNFormat0Pair {
     15   uint16_t left;
     16   uint16_t right;
     17   int16_t value;
     18 };
     19 
     20 struct OpenTypeKERNFormat0 {
     21   uint16_t version;
     22   uint16_t coverage;
     23   uint16_t search_range;
     24   uint16_t entry_selector;
     25   uint16_t range_shift;
     26   std::vector<OpenTypeKERNFormat0Pair> pairs;
     27 };
     28 
     29 // Format 2 is not supported. Since the format is not supported by Windows,
     30 // WebFonts unlikely use it. I've checked thousands of proprietary fonts and
     31 // free fonts, and found no font uses the format.
     32 
     33 struct OpenTypeKERN {
     34   uint16_t version;
     35   std::vector<OpenTypeKERNFormat0> subtables;
     36 };
     37 
     38 }  // namespace ots
     39 
     40 #endif  // OTS_KERN_H_
     41