chromium/third_party/harfbuzz-ng/src/src/hb-ot-cff2-table.hh

/*
 * Copyright © 2018 Adobe Inc.
 *
 *  This is part of HarfBuzz, a text shaping library.
 *
 * Permission is hereby granted, without written agreement and without
 * license or royalty fees, to use, copy, modify, and distribute this
 * software and its documentation for any purpose, provided that the
 * above copyright notice and the following two paragraphs appear in
 * all copies of this software.
 *
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 *
 * Adobe Author(s): Michiharu Ariza
 */

#ifndef HB_OT_CFF2_TABLE_HH
#define HB_OT_CFF2_TABLE_HH

#include "hb-ot-cff-common.hh"
#include "hb-subset-cff-common.hh"
#include "hb-draw.hh"
#include "hb-paint.hh"

namespace CFF {

/*
 * CFF2 -- Compact Font Format (CFF) Version 2
 * https://docs.microsoft.com/en-us/typography/opentype/spec/cff2
 */
#define HB_OT_TAG_CFF2

CFF2Index;

CFF2CharStrings;
CFF2Subrs;

FDSelect4;
FDSelect4_Range;

struct CFF2FDSelect
{};

struct CFF2ItemVariationStore
{};

struct cff2_top_dict_values_t : top_dict_values_t<>
{};

struct cff2_top_dict_opset_t : top_dict_opset_t<>
{};

struct cff2_font_dict_values_t : dict_values_t<op_str_t>
{};

struct cff2_font_dict_opset_t : dict_opset_t
{};

template <typename VAL>
struct cff2_private_dict_values_base_t : dict_values_t<VAL>
{};

cff2_private_dict_values_subset_t;
cff2_private_dict_values_t;

struct cff2_priv_dict_interp_env_t : num_interp_env_t
{};

struct cff2_private_dict_opset_t : dict_opset_t
{};

struct cff2_private_dict_opset_subset_t : dict_opset_t
{};

cff2_top_dict_interpreter_t;
cff2_font_dict_interpreter_t;

struct CFF2FDArray : FDArray<HBUINT32>
{};

} /* namespace CFF */

namespace OT {

usingnamespaceCFF;

struct cff2
{};

struct cff2_accelerator_t : cff2::accelerator_t {};

struct cff2_subset_accelerator_t : cff2::accelerator_subset_t {};

} /* namespace OT */

#endif /* HB_OT_CFF2_TABLE_HH */