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