gfx/ots/src/kern.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     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.
     5 #ifndef OTS_KERN_H_
     6 #define OTS_KERN_H_
     8 #include <vector>
    10 #include "ots.h"
    12 namespace ots {
    14 struct OpenTypeKERNFormat0Pair {
    15   uint16_t left;
    16   uint16_t right;
    17   int16_t value;
    18 };
    20 struct OpenTypeKERNFormat0 {
    21   uint16_t version;
    22   uint16_t coverage;
    23   uint16_t search_range;
    24   uint16_t entry_selector;
    25   uint16_t range_shift;
    26   std::vector<OpenTypeKERNFormat0Pair> pairs;
    27 };
    29 // Format 2 is not supported. Since the format is not supported by Windows,
    30 // WebFonts unlikely use it. I've checked thousands of proprietary fonts and
    31 // free fonts, and found no font uses the format.
    33 struct OpenTypeKERN {
    34   uint16_t version;
    35   std::vector<OpenTypeKERNFormat0> subtables;
    36 };
    38 }  // namespace ots
    40 #endif  // OTS_KERN_H_

mercurial