OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "core/fpdfapi/fpdf_font/cpdf_font.h" | 7 #include "core/fpdfapi/fpdf_font/cpdf_font.h" |
8 #include "core/fpdfapi/fpdf_parser/fpdf_parser_decode.h" | 8 #include "core/fpdfapi/fpdf_parser/fpdf_parser_decode.h" |
9 #include "core/fpdfdoc/include/cpvt_word.h" | 9 #include "core/fpdfdoc/cpvt_word.h" |
10 #include "core/fpdfdoc/include/ipvt_fontmap.h" | 10 #include "core/fpdfdoc/ipvt_fontmap.h" |
11 #include "fpdfsdk/fxedit/include/fx_edit.h" | 11 #include "fpdfsdk/fxedit/include/fx_edit.h" |
12 #include "fpdfsdk/fxedit/include/fxet_edit.h" | 12 #include "fpdfsdk/fxedit/include/fxet_edit.h" |
13 | 13 |
14 CFX_ByteString GetPDFWordString(IPVT_FontMap* pFontMap, | 14 CFX_ByteString GetPDFWordString(IPVT_FontMap* pFontMap, |
15 int32_t nFontIndex, | 15 int32_t nFontIndex, |
16 uint16_t Word, | 16 uint16_t Word, |
17 uint16_t SubWord) { | 17 uint16_t SubWord) { |
18 CPDF_Font* pPDFFont = pFontMap->GetPDFFont(nFontIndex); | 18 CPDF_Font* pPDFFont = pFontMap->GetPDFFont(nFontIndex); |
19 if (!pPDFFont) | 19 if (!pPDFFont) |
20 return CFX_ByteString(); | 20 return CFX_ByteString(); |
21 | 21 |
22 CFX_ByteString sWord; | 22 CFX_ByteString sWord; |
23 if (SubWord > 0) { | 23 if (SubWord > 0) { |
24 Word = SubWord; | 24 Word = SubWord; |
25 } else { | 25 } else { |
26 uint32_t dwCharCode = pPDFFont->IsUnicodeCompatible() | 26 uint32_t dwCharCode = pPDFFont->IsUnicodeCompatible() |
27 ? pPDFFont->CharCodeFromUnicode(Word) | 27 ? pPDFFont->CharCodeFromUnicode(Word) |
28 : pFontMap->CharCodeFromUnicode(nFontIndex, Word); | 28 : pFontMap->CharCodeFromUnicode(nFontIndex, Word); |
29 | 29 |
30 if (dwCharCode > 0) { | 30 if (dwCharCode > 0) { |
31 pPDFFont->AppendChar(sWord, dwCharCode); | 31 pPDFFont->AppendChar(sWord, dwCharCode); |
32 return sWord; | 32 return sWord; |
33 } | 33 } |
34 } | 34 } |
35 | 35 |
36 pPDFFont->AppendChar(sWord, Word); | 36 pPDFFont->AppendChar(sWord, Word); |
37 return sWord; | 37 return sWord; |
38 } | 38 } |
OLD | NEW |