• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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