// 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 <stdint.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 uint16_t g_FXCMAP_CNS_EUC_H_0_DWord[];
extern const uint16_t g_FXCMAP_CNS_EUC_V_0[];
extern const uint16_t 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[];

#endif  // CORE_FPDFAPI_CMAPS_CNS1_CMAPS_CNS1_H_
