diff options
Diffstat (limited to 'gfx/ots/src/cff.h')
-rw-r--r-- | gfx/ots/src/cff.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gfx/ots/src/cff.h b/gfx/ots/src/cff.h new file mode 100644 index 000000000..5584acc62 --- /dev/null +++ b/gfx/ots/src/cff.h @@ -0,0 +1,46 @@ +// Copyright (c) 2009 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_CFF_H_ +#define OTS_CFF_H_ + +#include "ots.h" + +#include <map> +#include <string> +#include <vector> + +namespace ots { + +struct CFFIndex { + CFFIndex() + : count(0), off_size(0), offset_to_next(0) {} + uint16_t count; + uint8_t off_size; + std::vector<uint32_t> offsets; + uint32_t offset_to_next; +}; + +struct OpenTypeCFF { + const uint8_t *data; + size_t length; + // Name INDEX. This name is used in name.cc as a postscript font name. + std::string name; + + // The number of fonts the file has. + size_t font_dict_length; + // A map from glyph # to font #. + std::map<uint16_t, uint8_t> fd_select; + + // A list of char strings. + std::vector<CFFIndex *> char_strings_array; + // A list of Local Subrs associated with FDArrays. Can be empty. + std::vector<CFFIndex *> local_subrs_per_font; + // A Local Subrs associated with Top DICT. Can be NULL. + CFFIndex *local_subrs; +}; + +} // namespace ots + +#endif // OTS_CFF_H_ |