michael@0: // Copyright (c) 2009 The Chromium Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: michael@0: #ifndef OTS_VDMX_H_ michael@0: #define OTS_VDMX_H_ michael@0: michael@0: #include michael@0: michael@0: #include "ots.h" michael@0: michael@0: namespace ots { michael@0: michael@0: struct OpenTypeVDMXRatioRecord { michael@0: uint8_t charset; michael@0: uint8_t x_ratio; michael@0: uint8_t y_start_ratio; michael@0: uint8_t y_end_ratio; michael@0: }; michael@0: michael@0: struct OpenTypeVDMXVTable { michael@0: uint16_t y_pel_height; michael@0: int16_t y_max; michael@0: int16_t y_min; michael@0: }; michael@0: michael@0: struct OpenTypeVDMXGroup { michael@0: uint16_t recs; michael@0: uint8_t startsz; michael@0: uint8_t endsz; michael@0: std::vector entries; michael@0: }; michael@0: michael@0: struct OpenTypeVDMX { michael@0: uint16_t version; michael@0: uint16_t num_recs; michael@0: uint16_t num_ratios; michael@0: std::vector rat_ranges; michael@0: std::vector offsets; michael@0: std::vector groups; michael@0: }; michael@0: michael@0: } // namespace ots michael@0: michael@0: #endif // OTS_VDMX_H_