// 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_FPDF_CMAPS_GB1_CMAPS_GB1_H_
#define CORE_FPDFAPI_FPDF_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_FPDF_CMAPS_GB1_CMAPS_GB1_H_
