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