1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// found in the LICENSE file.
4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#include "core/include/fxcrt/fx_system.h"  // For FX_WORD.
11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovstruct FXCMAP_CMap {
13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  enum MapType { None, Single, Range, Reverse };
14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  const char* m_Name;
16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  MapType m_WordMapType;
17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  const FX_WORD* m_pWordMap;
18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int m_WordCount;
19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  MapType m_DWordMapType;
20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  const FX_WORD* m_pDWordMap;
21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int m_DWordCount;
22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann  int m_UseOffset;
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov};
24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannvoid FPDFAPI_FindEmbeddedCMap(const char* name,
26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              int charset,
27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              int coding,
28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann                              const FXCMAP_CMap*& pMap);
29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_WORD FPDFAPI_CIDFromCharCode(const FXCMAP_CMap* pMap, FX_DWORD charcode);
30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_DWORD FPDFAPI_CharCodeFromCID(const FXCMAP_CMap* pMap, FX_WORD cid);
31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann
32e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif  // CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
33