// 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_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_
#define CORE_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_

#include "../../../../include/fxcrt/fx_system.h"  // For FX_WORD.

extern const FX_WORD g_FXCMAP_B5pc_H_0[];
extern const FX_WORD g_FXCMAP_B5pc_V_0[];
extern const FX_WORD g_FXCMAP_HKscs_B5_H_5[];
extern const FX_WORD g_FXCMAP_HKscs_B5_V_5[];
extern const FX_WORD g_FXCMAP_ETen_B5_H_0[];
extern const FX_WORD g_FXCMAP_ETen_B5_V_0[];
extern const FX_WORD g_FXCMAP_ETenms_B5_H_0[];
extern const FX_WORD g_FXCMAP_ETenms_B5_V_0[];
extern const FX_WORD g_FXCMAP_CNS_EUC_H_0[];
extern const FX_WORD g_FXCMAP_CNS_EUC_H_0_DWord[];
extern const FX_WORD g_FXCMAP_CNS_EUC_V_0[];
extern const FX_WORD g_FXCMAP_CNS_EUC_V_0_DWord[];
extern const FX_WORD g_FXCMAP_UniCNS_UCS2_H_3[];
extern const FX_WORD g_FXCMAP_UniCNS_UCS2_V_3[];
extern const FX_WORD g_FXCMAP_UniCNS_UTF16_H_0[];
extern const FX_WORD g_FXCMAP_CNS1CID2Unicode_5[];

#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_CNS1_CMAPS_CNS1_H_
