// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef OTS_NAME_H_ #define OTS_NAME_H_ #include #include #include #include #include "ots.h" namespace ots { struct NameRecord { NameRecord() { } NameRecord(uint16_t platformID, uint16_t encodingID, uint16_t languageID, uint16_t nameID) : platform_id(platformID), encoding_id(encodingID), language_id(languageID), name_id(nameID) { } uint16_t platform_id; uint16_t encoding_id; uint16_t language_id; uint16_t name_id; std::string text; bool operator<(const NameRecord& rhs) const { if (platform_id < rhs.platform_id) return true; if (platform_id > rhs.platform_id) return false; if (encoding_id < rhs.encoding_id) return true; if (encoding_id > rhs.encoding_id) return false; if (language_id < rhs.language_id) return true; if (language_id > rhs.language_id) return false; return name_id < rhs.name_id; } }; struct OpenTypeNAME { std::vector names; std::vector lang_tags; }; } // namespace ots #endif // OTS_NAME_H_