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_OS2_H_ 6#define OTS_OS2_H_ 7 8#include "ots.h" 9 10namespace ots { 11 12struct OpenTypeOS2 { 13 uint16_t version; 14 int16_t avg_char_width; 15 uint16_t weight_class; 16 uint16_t width_class; 17 uint16_t type; 18 int16_t subscript_x_size; 19 int16_t subscript_y_size; 20 int16_t subscript_x_offset; 21 int16_t subscript_y_offset; 22 int16_t superscript_x_size; 23 int16_t superscript_y_size; 24 int16_t superscript_x_offset; 25 int16_t superscript_y_offset; 26 int16_t strikeout_size; 27 int16_t strikeout_position; 28 int16_t family_class; 29 uint8_t panose[10]; 30 uint32_t unicode_range_1; 31 uint32_t unicode_range_2; 32 uint32_t unicode_range_3; 33 uint32_t unicode_range_4; 34 uint32_t vendor_id; 35 uint16_t selection; 36 uint16_t first_char_index; 37 uint16_t last_char_index; 38 int16_t typo_ascender; 39 int16_t typo_descender; 40 int16_t typo_linegap; 41 uint16_t win_ascent; 42 uint16_t win_descent; 43 uint32_t code_page_range_1; 44 uint32_t code_page_range_2; 45 int16_t x_height; 46 int16_t cap_height; 47 uint16_t default_char; 48 uint16_t break_char; 49 uint16_t max_context; 50}; 51 52} // namespace ots 53 54#endif // OTS_OS2_H_ 55