#ifndef HB_SUBSET_CFF_COMMON_HH
#define HB_SUBSET_CFF_COMMON_HH
#include "hb.hh"
#include "hb-subset-plan.hh"
#include "hb-cff-interp-cs-common.hh"
namespace CFF {
struct str_encoder_t
{ … };
struct cff_sub_table_info_t { … };
template <typename OPSTR=op_str_t>
struct cff_top_dict_op_serializer_t : op_serializer_t
{ … };
struct cff_font_dict_op_serializer_t : op_serializer_t
{ … };
struct flatten_param_t
{ … };
template <typename ACC, typename ENV, typename OPSET, op_code_t endchar_op=OpCode_Invalid>
struct subr_flattener_t
{ … };
struct subr_closures_t
{ … };
struct parsed_cs_op_t : op_str_t
{ … };
struct parsed_cs_str_t : parsed_values_t<parsed_cs_op_t>
{ … };
struct parsed_cs_str_vec_t : hb_vector_t<parsed_cs_str_t>
{ … };
struct cff_subset_accelerator_t
{ … };
struct subr_subset_param_t
{ … };
struct subr_remap_t : hb_inc_bimap_t
{ … };
struct subr_remaps_t
{ … };
template <typename SUBSETTER, typename SUBRS, typename ACC, typename ENV, typename OPSET, op_code_t endchar_op=OpCode_Invalid>
struct subr_subsetter_t
{ … };
}
HB_INTERNAL bool
hb_plan_subset_cff_fdselect (const hb_subset_plan_t *plan,
unsigned int fdCount,
const CFF::FDSelect &src,
unsigned int &subset_fd_count ,
unsigned int &subset_fdselect_size ,
unsigned int &subset_fdselect_format ,
hb_vector_t<CFF::code_pair_t> &fdselect_ranges ,
hb_inc_bimap_t &fdmap );
HB_INTERNAL bool
hb_serialize_cff_fdselect (hb_serialize_context_t *c,
unsigned int num_glyphs,
const CFF::FDSelect &src,
unsigned int fd_count,
unsigned int fdselect_format,
unsigned int size,
const hb_vector_t<CFF::code_pair_t> &fdselect_ranges);
#endif