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/fxge/include/fx_ge.h" | 7 #include "core/fxge/include/fx_ge.h" |
8 | 8 |
9 #include "core/fxcodec/include/fx_codec.h" | 9 #include "core/fxcodec/include/fx_codec.h" |
10 #include "core/fxge/ge/fx_text_int.h" | 10 #include "core/fxge/ge/fx_text_int.h" |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 for (int i = 0; i < nChars; i++) { | 673 for (int i = 0; i < nChars; i++) { |
674 int ps_fontnum, ps_glyphindex; | 674 int ps_fontnum, ps_glyphindex; |
675 FindPSFontGlyph(pFaceCache, pFont, pCharPos[i], ps_fontnum, ps_glyphindex); | 675 FindPSFontGlyph(pFaceCache, pFont, pCharPos[i], ps_fontnum, ps_glyphindex); |
676 if (last_fontnum != ps_fontnum) { | 676 if (last_fontnum != ps_fontnum) { |
677 buf << "/X" << ps_fontnum << " Ff " << font_size << " Fs Sf "; | 677 buf << "/X" << ps_fontnum << " Ff " << font_size << " Fs Sf "; |
678 last_fontnum = ps_fontnum; | 678 last_fontnum = ps_fontnum; |
679 } | 679 } |
680 buf << pCharPos[i].m_OriginX << " " << pCharPos[i].m_OriginY << " m"; | 680 buf << pCharPos[i].m_OriginX << " " << pCharPos[i].m_OriginY << " m"; |
681 CFX_ByteString hex; | 681 CFX_ByteString hex; |
682 hex.Format("<%02X>", ps_glyphindex); | 682 hex.Format("<%02X>", ps_glyphindex); |
683 buf << hex.AsByteStringC() << "Tj\n"; | 683 buf << hex.AsStringC() << "Tj\n"; |
684 } | 684 } |
685 buf << "Q\n"; | 685 buf << "Q\n"; |
686 m_pOutput->OutputPS((const FX_CHAR*)buf.GetBuffer(), buf.GetSize()); | 686 m_pOutput->OutputPS((const FX_CHAR*)buf.GetBuffer(), buf.GetSize()); |
687 return TRUE; | 687 return TRUE; |
688 } | 688 } |
689 void CFX_PSRenderer::WritePSBinary(const uint8_t* data, int len) { | 689 void CFX_PSRenderer::WritePSBinary(const uint8_t* data, int len) { |
690 uint8_t* dest_buf; | 690 uint8_t* dest_buf; |
691 uint32_t dest_size; | 691 uint32_t dest_size; |
692 CCodec_ModuleMgr* pEncoders = CFX_GEModule::Get()->GetCodecModule(); | 692 CCodec_ModuleMgr* pEncoders = CFX_GEModule::Get()->GetCodecModule(); |
693 if (pEncoders && | 693 if (pEncoders && |
694 pEncoders->GetBasicModule()->A85Encode(data, len, dest_buf, dest_size)) { | 694 pEncoders->GetBasicModule()->A85Encode(data, len, dest_buf, dest_size)) { |
695 m_pOutput->OutputPS((const FX_CHAR*)dest_buf, dest_size); | 695 m_pOutput->OutputPS((const FX_CHAR*)dest_buf, dest_size); |
696 FX_Free(dest_buf); | 696 FX_Free(dest_buf); |
697 } else { | 697 } else { |
698 m_pOutput->OutputPS((const FX_CHAR*)data, len); | 698 m_pOutput->OutputPS((const FX_CHAR*)data, len); |
699 } | 699 } |
700 } | 700 } |
OLD | NEW |