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 12namespace ots { 13 14struct OpenTypeKERNFormat0Pair { 15 uint16_t left; 16 uint16_t right; 17 int16_t value; 18}; 19 20struct 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 33struct OpenTypeKERN { 34 uint16_t version; 35 std::vector<OpenTypeKERNFormat0> subtables; 36}; 37 38} // namespace ots 39 40#endif // OTS_KERN_H_ 41