// Copyright 2014 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 #include "core/fpdfapi/font/cpdf_font.h" #include "core/fpdfapi/parser/fpdf_parser_decode.h" #include "core/fpdfdoc/cpvt_word.h" #include "core/fpdfdoc/ipvt_fontmap.h" #include "fpdfsdk/fxedit/fx_edit.h" #include "fpdfsdk/fxedit/fxet_edit.h" CFX_ByteString GetPDFWordString(IPVT_FontMap* pFontMap, int32_t nFontIndex, uint16_t Word, uint16_t SubWord) { CPDF_Font* pPDFFont = pFontMap->GetPDFFont(nFontIndex); if (!pPDFFont) return CFX_ByteString(); CFX_ByteString sWord; if (SubWord > 0) { Word = SubWord; } else { uint32_t dwCharCode = pPDFFont->IsUnicodeCompatible() ? pPDFFont->CharCodeFromUnicode(Word) : pFontMap->CharCodeFromUnicode(nFontIndex, Word); if (dwCharCode > 0) { pPDFFont->AppendChar(sWord, dwCharCode); return sWord; } } pPDFFont->AppendChar(sWord, Word); return sWord; }