2011-11-04 05:26:56 +04:00
|
|
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
2011-06-16 10:31:36 +04:00
|
|
|
// 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 <new>
|
2011-11-04 05:26:56 +04:00
|
|
|
#include <string>
|
2011-06-16 10:31:36 +04:00
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "ots.h"
|
|
|
|
|
|
|
|
namespace ots {
|
|
|
|
|
|
|
|
struct NameRecord {
|
2011-11-04 05:26:56 +04:00
|
|
|
NameRecord() {
|
|
|
|
}
|
2011-06-16 10:31:36 +04:00
|
|
|
|
2014-01-31 19:08:23 +04:00
|
|
|
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) {
|
2011-11-04 05:26:56 +04:00
|
|
|
}
|
2011-06-16 10:31:36 +04:00
|
|
|
|
2011-11-04 05:26:56 +04:00
|
|
|
uint16_t platform_id;
|
|
|
|
uint16_t encoding_id;
|
|
|
|
uint16_t language_id;
|
|
|
|
uint16_t name_id;
|
2011-06-16 10:31:36 +04:00
|
|
|
std::string text;
|
|
|
|
|
|
|
|
bool operator<(const NameRecord& rhs) const {
|
2011-11-04 05:26:56 +04:00
|
|
|
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;
|
2011-06-16 10:31:36 +04:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
struct OpenTypeNAME {
|
2011-11-04 05:26:56 +04:00
|
|
|
std::vector<NameRecord> names;
|
|
|
|
std::vector<std::string> lang_tags;
|
2011-06-16 10:31:36 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace ots
|
|
|
|
|
|
|
|
#endif // OTS_NAME_H_
|