| // Copyright 2014 The PDFium Authors | |
| // 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_FPDF_CMAPS_H_ | |
| #define CORE_FPDFAPI_CMAPS_FPDF_CMAPS_H_ | |
| #include <stdint.h> | |
| #include "core/fxcrt/unowned_ptr_exclusion.h" | |
| namespace fxcmap { | |
| struct DWordCIDMap { | |
| uint16_t hi_word_; | |
| uint16_t lo_word_low_; | |
| uint16_t lo_word_high_; | |
| uint16_t cid_; | |
| }; | |
| struct CMap { | |
| enum class Type : bool { kSingle, kRange }; | |
| UNOWNED_PTR_EXCLUSION const char* name_; // POD struct. | |
| UNOWNED_PTR_EXCLUSION const uint16_t* word_map_; // POD struct. | |
| UNOWNED_PTR_EXCLUSION const DWordCIDMap* dword_map_; // POD struct. | |
| uint16_t word_count_; | |
| uint16_t dword_count_; | |
| Type word_map_type_; | |
| int8_t use_offset_; | |
| }; | |
| uint16_t CIDFromCharCode(const CMap* cmap, uint32_t charcode); | |
| uint32_t CharCodeFromCID(const CMap* cmap, uint16_t cid); | |
| } // namespace fxcmap | |
| #endif // CORE_FPDFAPI_CMAPS_FPDF_CMAPS_H_ |