// 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_JAPAN1_CMAPS_JAPAN1_H_
#define CORE_FPDFAPI_FPDF_CMAPS_JAPAN1_CMAPS_JAPAN1_H_

#include <stdint.h>

extern const uint16_t g_FXCMAP_83pv_RKSJ_H_1[];
extern const uint16_t g_FXCMAP_90ms_RKSJ_H_2[];
extern const uint16_t g_FXCMAP_90ms_RKSJ_V_2[];
extern const uint16_t g_FXCMAP_90msp_RKSJ_H_2[];
extern const uint16_t g_FXCMAP_90msp_RKSJ_V_2[];
extern const uint16_t g_FXCMAP_90pv_RKSJ_H_1[];
extern const uint16_t g_FXCMAP_Add_RKSJ_H_1[];
extern const uint16_t g_FXCMAP_Add_RKSJ_V_1[];
extern const uint16_t g_FXCMAP_EUC_H_1[];
extern const uint16_t g_FXCMAP_EUC_V_1[];
extern const uint16_t g_FXCMAP_Ext_RKSJ_H_2[];
extern const uint16_t g_FXCMAP_Ext_RKSJ_V_2[];
extern const uint16_t g_FXCMAP_H_1[];
extern const uint16_t g_FXCMAP_V_1[];
extern const uint16_t g_FXCMAP_UniJIS_UCS2_H_4[];
extern const uint16_t g_FXCMAP_UniJIS_UCS2_V_4[];
extern const uint16_t g_FXCMAP_UniJIS_UCS2_HW_H_4[];
extern const uint16_t g_FXCMAP_UniJIS_UCS2_HW_V_4[];
extern const uint16_t g_FXCMAP_UniJIS_UTF16_H_0[];
extern const uint16_t g_FXCMAP_UniJIS_UTF16_H_0_DWord[];
extern const uint16_t g_FXCMAP_UniJIS_UTF16_V_0[];
extern const uint16_t g_FXCMAP_Japan1CID2Unicode_4[];

#endif  // CORE_FPDFAPI_FPDF_CMAPS_JAPAN1_CMAPS_JAPAN1_H_
