| OLD | NEW |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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/android/cfpf_skiafontmgr.h" | 7 #include "core/fxge/android/cfpf_skiafontmgr.h" |
| 8 | 8 |
| 9 #define FPF_SKIAMATCHWEIGHT_NAME1 62 | 9 #define FPF_SKIAMATCHWEIGHT_NAME1 62 |
| 10 #define FPF_SKIAMATCHWEIGHT_NAME2 60 | 10 #define FPF_SKIAMATCHWEIGHT_NAME2 60 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "core/fxge/android/cfpf_skiapathfont.h" | 21 #include "core/fxge/android/cfpf_skiapathfont.h" |
| 22 #include "core/fxge/fx_freetype.h" | 22 #include "core/fxge/fx_freetype.h" |
| 23 | 23 |
| 24 #ifdef __cplusplus | 24 #ifdef __cplusplus |
| 25 extern "C" { | 25 extern "C" { |
| 26 #endif | 26 #endif |
| 27 static unsigned long FPF_SkiaStream_Read(FXFT_Stream stream, | 27 static unsigned long FPF_SkiaStream_Read(FXFT_Stream stream, |
| 28 unsigned long offset, | 28 unsigned long offset, |
| 29 unsigned char* buffer, | 29 unsigned char* buffer, |
| 30 unsigned long count) { | 30 unsigned long count) { |
| 31 if (count == 0) |
| 32 return 0; |
| 33 |
| 31 IFX_SeekableReadStream* pFileRead = | 34 IFX_SeekableReadStream* pFileRead = |
| 32 (IFX_SeekableReadStream*)stream->descriptor.pointer; | 35 static_cast<IFX_SeekableReadStream*>(stream->descriptor.pointer); |
| 33 if (!pFileRead) | 36 if (!pFileRead) |
| 34 return 0; | 37 return 0; |
| 35 if (count > 0) { | 38 |
| 36 if (!pFileRead->ReadBlock(buffer, (FX_FILESIZE)offset, (size_t)count)) | 39 if (!pFileRead->ReadBlock(buffer, (FX_FILESIZE)offset, (size_t)count)) |
| 37 return 0; | 40 return 0; |
| 38 } | 41 |
| 39 return count; | 42 return count; |
| 40 } | 43 } |
| 41 | 44 |
| 42 static void FPF_SkiaStream_Close(FXFT_Stream stream) {} | 45 static void FPF_SkiaStream_Close(FXFT_Stream stream) {} |
| 43 #ifdef __cplusplus | 46 #ifdef __cplusplus |
| 44 }; | 47 }; |
| 45 #endif | 48 #endif |
| 46 | 49 |
| 47 namespace { | 50 namespace { |
| 48 | 51 |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 CFPF_SkiaFont* pFont = new CFPF_SkiaFont; | 354 CFPF_SkiaFont* pFont = new CFPF_SkiaFont; |
| 352 if (pFont->InitFont(this, pBestFontDes, bsFamilyname, dwStyle, uCharset)) { | 355 if (pFont->InitFont(this, pBestFontDes, bsFamilyname, dwStyle, uCharset)) { |
| 353 m_FamilyFonts[dwHash] = pFont; | 356 m_FamilyFonts[dwHash] = pFont; |
| 354 return pFont->Retain(); | 357 return pFont->Retain(); |
| 355 } | 358 } |
| 356 pFont->Release(); | 359 pFont->Release(); |
| 357 } | 360 } |
| 358 return nullptr; | 361 return nullptr; |
| 359 } | 362 } |
| 360 | 363 |
| 361 FXFT_Face CFPF_SkiaFontMgr::GetFontFace(IFX_SeekableReadStream* pFileRead, | 364 FXFT_Face CFPF_SkiaFontMgr::GetFontFace( |
| 362 int32_t iFaceIndex) { | 365 const CFX_RetainPtr<IFX_SeekableReadStream>& pFileRead, |
| 366 int32_t iFaceIndex) { |
| 363 if (!pFileRead) | 367 if (!pFileRead) |
| 364 return nullptr; | 368 return nullptr; |
| 365 if (pFileRead->GetSize() == 0) | 369 if (pFileRead->GetSize() == 0) |
| 366 return nullptr; | 370 return nullptr; |
| 367 if (iFaceIndex < 0) | 371 if (iFaceIndex < 0) |
| 368 return nullptr; | 372 return nullptr; |
| 369 FXFT_StreamRec streamRec; | 373 FXFT_StreamRec streamRec; |
| 370 FXSYS_memset(&streamRec, 0, sizeof(FXFT_StreamRec)); | 374 FXSYS_memset(&streamRec, 0, sizeof(FXFT_StreamRec)); |
| 371 streamRec.size = pFileRead->GetSize(); | 375 streamRec.size = pFileRead->GetSize(); |
| 372 streamRec.descriptor.pointer = pFileRead; | 376 streamRec.descriptor.pointer = static_cast<void*>(pFileRead.Get()); |
| 373 streamRec.read = FPF_SkiaStream_Read; | 377 streamRec.read = FPF_SkiaStream_Read; |
| 374 streamRec.close = FPF_SkiaStream_Close; | 378 streamRec.close = FPF_SkiaStream_Close; |
| 375 FXFT_Open_Args args; | 379 FXFT_Open_Args args; |
| 376 args.flags = FT_OPEN_STREAM; | 380 args.flags = FT_OPEN_STREAM; |
| 377 args.stream = &streamRec; | 381 args.stream = &streamRec; |
| 378 FXFT_Face face; | 382 FXFT_Face face; |
| 379 if (FXFT_Open_Face(m_FTLibrary, &args, iFaceIndex, &face)) | 383 if (FXFT_Open_Face(m_FTLibrary, &args, iFaceIndex, &face)) |
| 380 return nullptr; | 384 return nullptr; |
| 381 FXFT_Set_Pixel_Sizes(face, 0, 64); | 385 FXFT_Set_Pixel_Sizes(face, 0, 64); |
| 382 return face; | 386 return face; |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 474 if ((uSerif > 1 && uSerif < 10) || uSerif > 13) | 478 if ((uSerif > 1 && uSerif < 10) || uSerif > 13) |
| 475 pFontDesc->m_dwStyle |= FXFONT_SERIF; | 479 pFontDesc->m_dwStyle |= FXFONT_SERIF; |
| 476 } | 480 } |
| 477 } | 481 } |
| 478 if (pOS2 && (pOS2->ulCodePageRange1 & (1 << 31))) | 482 if (pOS2 && (pOS2->ulCodePageRange1 & (1 << 31))) |
| 479 pFontDesc->m_dwStyle |= FXFONT_SYMBOLIC; | 483 pFontDesc->m_dwStyle |= FXFONT_SYMBOLIC; |
| 480 pFontDesc->m_dwCharsets = FPF_SkiaGetFaceCharset(pOS2); | 484 pFontDesc->m_dwCharsets = FPF_SkiaGetFaceCharset(pOS2); |
| 481 pFontDesc->m_iFaceIndex = face->face_index; | 485 pFontDesc->m_iFaceIndex = face->face_index; |
| 482 pFontDesc->m_iGlyphNum = face->num_glyphs; | 486 pFontDesc->m_iGlyphNum = face->num_glyphs; |
| 483 } | 487 } |
| OLD | NEW |