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_render/render_int.h" | 7 #include "core/fpdfapi/fpdf_render/render_int.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_page/cpdf_parseoptions.h" | 9 #include "core/fpdfapi/fpdf_page/cpdf_parseoptions.h" |
10 #include "core/fpdfapi/fpdf_page/include/cpdf_form.h" | 10 #include "core/fpdfapi/fpdf_page/include/cpdf_form.h" |
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 charpos.m_FontCharWidth = pFont->GetCharWidthF(CharCode); | 559 charpos.m_FontCharWidth = pFont->GetCharWidthF(CharCode); |
560 } else { | 560 } else { |
561 charpos.m_FontCharWidth = 0; | 561 charpos.m_FontCharWidth = 0; |
562 } | 562 } |
563 charpos.m_OriginX = iChar ? pCharPos[iChar - 1] : 0; | 563 charpos.m_OriginX = iChar ? pCharPos[iChar - 1] : 0; |
564 charpos.m_OriginY = 0; | 564 charpos.m_OriginY = 0; |
565 charpos.m_bGlyphAdjust = FALSE; | 565 charpos.m_bGlyphAdjust = FALSE; |
566 if (!pCIDFont) { | 566 if (!pCIDFont) { |
567 continue; | 567 continue; |
568 } | 568 } |
569 FX_WORD CID = pCIDFont->CIDFromCharCode(CharCode); | 569 uint16_t CID = pCIDFont->CIDFromCharCode(CharCode); |
570 if (bVertWriting) { | 570 if (bVertWriting) { |
571 charpos.m_OriginY = charpos.m_OriginX; | 571 charpos.m_OriginY = charpos.m_OriginX; |
572 charpos.m_OriginX = 0; | 572 charpos.m_OriginX = 0; |
573 short vx, vy; | 573 short vx, vy; |
574 pCIDFont->GetVertOrigin(CID, vx, vy); | 574 pCIDFont->GetVertOrigin(CID, vx, vy); |
575 charpos.m_OriginX -= FontSize * vx / 1000; | 575 charpos.m_OriginX -= FontSize * vx / 1000; |
576 charpos.m_OriginY -= FontSize * vy / 1000; | 576 charpos.m_OriginY -= FontSize * vy / 1000; |
577 } | 577 } |
578 const uint8_t* pTransform = pCIDFont->GetCIDTransform(CID); | 578 const uint8_t* pTransform = pCIDFont->GetCIDTransform(CID); |
579 if (pTransform && !bVert) { | 579 if (pTransform && !bVert) { |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 matrix.Concat(font_size, 0, 0, font_size, charpos.m_OriginX, | 783 matrix.Concat(font_size, 0, 0, font_size, charpos.m_OriginX, |
784 charpos.m_OriginY); | 784 charpos.m_OriginY); |
785 path.m_Path.New()->Append(pPath, &matrix); | 785 path.m_Path.New()->Append(pPath, &matrix); |
786 path.m_Matrix = *pTextMatrix; | 786 path.m_Matrix = *pTextMatrix; |
787 path.m_bStroke = bStroke; | 787 path.m_bStroke = bStroke; |
788 path.m_FillType = bFill ? FXFILL_WINDING : 0; | 788 path.m_FillType = bFill ? FXFILL_WINDING : 0; |
789 path.CalcBoundingBox(); | 789 path.CalcBoundingBox(); |
790 ProcessPath(&path, pObj2Device); | 790 ProcessPath(&path, pObj2Device); |
791 } | 791 } |
792 } | 792 } |
OLD | NEW |