Line data Source code
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 0 : 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 0 : struct OpenTypeKERN {
34 : uint16_t version;
35 : std::vector<OpenTypeKERNFormat0> subtables;
36 : };
37 :
38 : } // namespace ots
39 :
40 : #endif // OTS_KERN_H_
|