// Copyright 2015 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef CORE_FPDFAPI_CMAPS_CNS1_CMAPS_CNS1_H_
#define CORE_FPDFAPI_CMAPS_CNS1_CMAPS_CNS1_H_

#include "core/fpdfapi/cmaps/cmap_int.h"

extern const uint16_t g_FXCMAP_B5pc_H_0[];
extern const uint16_t g_FXCMAP_B5pc_V_0[];
extern const uint16_t g_FXCMAP_HKscs_B5_H_5[];
extern const uint16_t g_FXCMAP_HKscs_B5_V_5[];
extern const uint16_t g_FXCMAP_ETen_B5_H_0[];
extern const uint16_t g_FXCMAP_ETen_B5_V_0[];
extern const uint16_t g_FXCMAP_ETenms_B5_H_0[];
extern const uint16_t g_FXCMAP_ETenms_B5_V_0[];
extern const uint16_t g_FXCMAP_CNS_EUC_H_0[];
extern const FXCMAP_DWordCIDMap g_FXCMAP_CNS_EUC_H_0_DWord[];
extern const uint16_t g_FXCMAP_CNS_EUC_V_0[];
extern const FXCMAP_DWordCIDMap g_FXCMAP_CNS_EUC_V_0_DWord[];
extern const uint16_t g_FXCMAP_UniCNS_UCS2_H_3[];
extern const uint16_t g_FXCMAP_UniCNS_UCS2_V_3[];
extern const uint16_t g_FXCMAP_UniCNS_UTF16_H_0[];
extern const uint16_t g_FXCMAP_CNS1CID2Unicode_5[19088];
extern const FXCMAP_CMap g_FXCMAP_CNS1_cmaps[];
extern const size_t g_FXCMAP_CNS1_cmaps_size;

#endif  // CORE_FPDFAPI_CMAPS_CNS1_CMAPS_CNS1_H_
