summaryrefslogtreecommitdiffstats
path: root/chromium/pdf/font_table_linux.h
blob: 9dcc42a2747ec3304a5363c2cf4d150bbe322657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Copyright 2017 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 PDF_FONT_TABLE_LINUX_H_
#define PDF_FONT_TABLE_LINUX_H_

#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>

namespace pdf {

// GetFontTable loads a specified font table from an open SFNT file.
//   fd: a file descriptor to the SFNT file. The position doesn't matter.
//   table_tag: the table tag in *big-endian* format, or 0 for the entire font.
//   offset: offset into the table or entire font where loading should start.
//     The offset must be between 0 and 1 GB - 1.
//   output: a buffer of size output_length that gets the data.  can be 0, in
//     which case output_length will be set to the required size in bytes.
//   output_length: size of output, if it's not 0.
//
//   returns: true on success.
bool GetFontTable(int fd,
                  uint32_t table_tag,
                  off_t offset,
                  uint8_t* output,
                  size_t* output_length);

}  // namespace pdf

#endif  // PDF_FONT_TABLE_LINUX_H_