gfx/ots/src/name.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Copyright (c) 2011 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.
     5 #ifndef OTS_NAME_H_
     6 #define OTS_NAME_H_
     8 #include <new>
     9 #include <string>
    10 #include <utility>
    11 #include <vector>
    13 #include "ots.h"
    15 namespace ots {
    17 struct NameRecord {
    18   NameRecord() {
    19   }
    21   NameRecord(uint16_t platformID, uint16_t encodingID,
    22              uint16_t languageID, uint16_t nameID)
    23     : platform_id(platformID),
    24       encoding_id(encodingID),
    25       language_id(languageID),
    26       name_id(nameID) {
    27   }
    29   uint16_t platform_id;
    30   uint16_t encoding_id;
    31   uint16_t language_id;
    32   uint16_t name_id;
    33   std::string text;
    35   bool operator<(const NameRecord& rhs) const {
    36     if (platform_id < rhs.platform_id) return true;
    37     if (platform_id > rhs.platform_id) return false;
    38     if (encoding_id < rhs.encoding_id) return true;
    39     if (encoding_id > rhs.encoding_id) return false;
    40     if (language_id < rhs.language_id) return true;
    41     if (language_id > rhs.language_id) return false;
    42     return name_id < rhs.name_id;
    43   }
    44 };
    46 struct OpenTypeNAME {
    47   std::vector<NameRecord> names;
    48   std::vector<std::string> lang_tags;
    49 };
    51 }  // namespace ots
    53 #endif  // OTS_NAME_H_

mercurial