Chromium Code Reviews| 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 // Original code is licensed as follows: | 6 // Original code is licensed as follows: |
| 7 /* | 7 /* |
| 8 * Copyright 2011 ZXing authors | 8 * Copyright 2011 ZXing authors |
| 9 * | 9 * |
| 10 * Licensed under the Apache License, Version 2.0 (the "License"); | 10 * Licensed under the Apache License, Version 2.0 (the "License"); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 122 color ^= 1; | 122 color ^= 1; |
| 123 } | 123 } |
| 124 return numAdded; | 124 return numAdded; |
| 125 } | 125 } |
| 126 void CBC_OneDimWriter::CalcTextInfo(const CFX_ByteString& text, | 126 void CBC_OneDimWriter::CalcTextInfo(const CFX_ByteString& text, |
| 127 FXTEXT_CHARPOS* charPos, | 127 FXTEXT_CHARPOS* charPos, |
| 128 CFX_Font* cFont, | 128 CFX_Font* cFont, |
| 129 FX_FLOAT geWidth, | 129 FX_FLOAT geWidth, |
| 130 int32_t fontSize, | 130 int32_t fontSize, |
| 131 FX_FLOAT& charsLen) { | 131 FX_FLOAT& charsLen) { |
| 132 #ifdef FXFM_ENCODING_NONE | 132 CFX_UnicodeEncodingEx* encoding = FX_CreateFontEncodingEx(cFont); |
|
Tom Sepez
2015/08/17 23:49:29
nit: unique_ptr?
Lei Zhang
2015/08/18 01:36:39
Done.
| |
| 133 IFX_FontEncodingEx* encoding = FX_CreateFontEncodingEx(cFont); | |
| 134 #else | |
| 135 IFX_FontEncoding* encoding = FXGE_CreateUnicodeEncoding(cFont); | |
| 136 #endif | |
| 137 int32_t length = text.GetLength(); | 133 int32_t length = text.GetLength(); |
| 138 FX_DWORD* pCharCode = FX_Alloc(FX_DWORD, text.GetLength()); | 134 FX_DWORD* pCharCode = FX_Alloc(FX_DWORD, text.GetLength()); |
| 139 FX_FLOAT charWidth = 0; | 135 FX_FLOAT charWidth = 0; |
| 140 for (int32_t j = 0; j < text.GetLength(); j++) { | 136 for (int32_t j = 0; j < text.GetLength(); j++) { |
| 141 pCharCode[j] = encoding->CharCodeFromUnicode(text[j]); | 137 pCharCode[j] = encoding->CharCodeFromUnicode(text[j]); |
| 142 int32_t glyp_code = encoding->GlyphFromCharCode(pCharCode[j]); | 138 int32_t glyp_code = encoding->GlyphFromCharCode(pCharCode[j]); |
| 143 int32_t glyp_value = cFont->GetGlyphWidth(glyp_code); | 139 int32_t glyp_value = cFont->GetGlyphWidth(glyp_code); |
| 144 FX_FLOAT temp = (FX_FLOAT)((glyp_value)*fontSize / 1000.0); | 140 FX_FLOAT temp = (FX_FLOAT)((glyp_value)*fontSize / 1000.0); |
| 145 charWidth += temp; | 141 charWidth += temp; |
| 146 } | 142 } |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 168 charPos[i].m_GlyphIndex = encoding->GlyphFromCharCode(pCharCode[i]); | 164 charPos[i].m_GlyphIndex = encoding->GlyphFromCharCode(pCharCode[i]); |
| 169 charPos[i].m_FontCharWidth = cFont->GetGlyphWidth(charPos[i].m_GlyphIndex); | 165 charPos[i].m_FontCharWidth = cFont->GetGlyphWidth(charPos[i].m_GlyphIndex); |
| 170 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ | 166 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ |
| 171 charPos[i].m_ExtGID = charPos[i].m_GlyphIndex; | 167 charPos[i].m_ExtGID = charPos[i].m_GlyphIndex; |
| 172 #endif | 168 #endif |
| 173 penX += | 169 penX += |
| 174 (FX_FLOAT)(charPos[i].m_FontCharWidth) * (FX_FLOAT)fontSize / 1000.0f; | 170 (FX_FLOAT)(charPos[i].m_FontCharWidth) * (FX_FLOAT)fontSize / 1000.0f; |
| 175 } | 171 } |
| 176 FX_Free(pCharCode); | 172 FX_Free(pCharCode); |
| 177 delete encoding; | 173 delete encoding; |
| 178 encoding = NULL; | 174 encoding = NULL; |
|
Tom Sepez
2015/08/17 23:49:29
nit: pointless assignment.
Lei Zhang
2015/08/18 01:36:39
Done.
| |
| 179 } | 175 } |
| 180 void CBC_OneDimWriter::ShowDeviceChars(CFX_RenderDevice* device, | 176 void CBC_OneDimWriter::ShowDeviceChars(CFX_RenderDevice* device, |
| 181 const CFX_Matrix* matrix, | 177 const CFX_Matrix* matrix, |
| 182 const CFX_ByteString str, | 178 const CFX_ByteString str, |
| 183 FX_FLOAT geWidth, | 179 FX_FLOAT geWidth, |
| 184 FXTEXT_CHARPOS* pCharPos, | 180 FXTEXT_CHARPOS* pCharPos, |
| 185 FX_FLOAT locX, | 181 FX_FLOAT locX, |
| 186 FX_FLOAT locY, | 182 FX_FLOAT locY, |
| 187 int32_t barWidth) { | 183 int32_t barWidth) { |
| 188 int32_t iFontSize = (int32_t)fabs(m_fFontSize); | 184 int32_t iFontSize = (int32_t)fabs(m_fFontSize); |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 435 if (outputX + m_multiple > outputWidth && outputWidth - outputX > 0) { | 431 if (outputX + m_multiple > outputWidth && outputWidth - outputX > 0) { |
| 436 m_output->SetRegion(outputX, 0, outputWidth - outputX, outputHeight, e); | 432 m_output->SetRegion(outputX, 0, outputWidth - outputX, outputHeight, e); |
| 437 break; | 433 break; |
| 438 } | 434 } |
| 439 m_output->SetRegion(outputX, 0, m_multiple, outputHeight, e); | 435 m_output->SetRegion(outputX, 0, m_multiple, outputHeight, e); |
| 440 BC_EXCEPTION_CHECK_ReturnVoid(e); | 436 BC_EXCEPTION_CHECK_ReturnVoid(e); |
| 441 } | 437 } |
| 442 outputX += m_multiple; | 438 outputX += m_multiple; |
| 443 } | 439 } |
| 444 } | 440 } |
| OLD | NEW |