// 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_GB1_CMAPS_GB1_H_
#define CORE_FPDFAPI_CMAPS_GB1_CMAPS_GB1_H_

#include <stdint.h>

extern const uint16_t g_FXCMAP_GB_EUC_H_0[];
extern const uint16_t g_FXCMAP_GB_EUC_V_0[];
extern const uint16_t g_FXCMAP_GBpc_EUC_H_0[];
extern const uint16_t g_FXCMAP_GBpc_EUC_V_0[];
extern const uint16_t g_FXCMAP_GBK_EUC_H_2[];
extern const uint16_t g_FXCMAP_GBK_EUC_V_2[];
extern const uint16_t g_FXCMAP_GBKp_EUC_H_2[];
extern const uint16_t g_FXCMAP_GBKp_EUC_V_2[];
extern const uint16_t g_FXCMAP_GBK2K_H_5[];
extern const uint16_t g_FXCMAP_GBK2K_H_5_DWord[];
extern const uint16_t g_FXCMAP_GBK2K_V_5[];
extern const uint16_t g_FXCMAP_UniGB_UCS2_H_4[];
extern const uint16_t g_FXCMAP_UniGB_UCS2_V_4[];
extern const uint16_t g_FXCMAP_GB1CID2Unicode_5[];

#endif  // CORE_FPDFAPI_CMAPS_GB1_CMAPS_GB1_H_
