// 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_KOREA1_CMAPS_KOREA1_H_
#define CORE_FPDFAPI_CMAPS_KOREA1_CMAPS_KOREA1_H_

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

extern const uint16_t g_FXCMAP_KSC_EUC_H_0[];
extern const uint16_t g_FXCMAP_KSC_EUC_V_0[];
extern const uint16_t g_FXCMAP_KSCms_UHC_H_1[];
extern const uint16_t g_FXCMAP_KSCms_UHC_V_1[];
extern const uint16_t g_FXCMAP_KSCms_UHC_HW_H_1[];
extern const uint16_t g_FXCMAP_KSCms_UHC_HW_V_1[];
extern const uint16_t g_FXCMAP_KSCpc_EUC_H_0[];
extern const uint16_t g_FXCMAP_UniKS_UCS2_H_1[];
extern const uint16_t g_FXCMAP_UniKS_UCS2_V_1[];
extern const uint16_t g_FXCMAP_UniKS_UTF16_H_0[];
extern const uint16_t g_FXCMAP_Korea1CID2Unicode_2[18352];
extern const FXCMAP_CMap g_FXCMAP_Korea1_cmaps[];
extern const size_t g_FXCMAP_Korea1_cmaps_size;

#endif  // CORE_FPDFAPI_CMAPS_KOREA1_CMAPS_KOREA1_H_
