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 "../../../include/fpdfapi/fpdf_page.h" | 7 #include "../../../include/fpdfapi/fpdf_page.h" |
8 #include "../../../include/fpdfapi/fpdf_module.h" | 8 #include "../../../include/fpdfapi/fpdf_module.h" |
9 #include "../fpdf_page/pageint.h" | 9 #include "../fpdf_page/pageint.h" |
10 #include <limits.h> | 10 #include <limits.h> |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 iLength = FXSYS_strlen(pLang); | 536 iLength = FXSYS_strlen(pLang); |
537 } | 537 } |
538 FX_UINT32 uHash = FX_GetLangHashCode(pLang); | 538 FX_UINT32 uHash = FX_GetLangHashCode(pLang); |
539 return FX_GetCsFromLangCode(uHash); | 539 return FX_GetCsFromLangCode(uHash); |
540 } | 540 } |
541 static void _CFString2CFXByteString(CFStringRef src, CFX_ByteString &dest) | 541 static void _CFString2CFXByteString(CFStringRef src, CFX_ByteString &dest) |
542 { | 542 { |
543 SInt32 len = CFStringGetLength(src); | 543 SInt32 len = CFStringGetLength(src); |
544 CFRange range = CFRangeMake(0, len); | 544 CFRange range = CFRangeMake(0, len); |
545 CFIndex used = 0; | 545 CFIndex used = 0; |
546 UInt8* pBuffer = (UInt8*)malloc(sizeof(UInt8) * (len + 1)); | 546 UInt8* pBuffer = (UInt8*)calloc(len+1, sizeof(UInt8)); |
547 FXSYS_memset32(pBuffer, 0, sizeof(UInt8) * (len + 1)); | |
548 CFStringGetBytes(src, range, kCFStringEncodingASCII, 0, false, pBuffer, len,
&used); | 547 CFStringGetBytes(src, range, kCFStringEncodingASCII, 0, false, pBuffer, len,
&used); |
549 dest = (FX_LPSTR)pBuffer; | 548 dest = (FX_LPSTR)pBuffer; |
550 free(pBuffer); | 549 free(pBuffer); |
551 } | 550 } |
552 FX_BOOL IsHasCharSet(CFArrayRef languages, const CFX_DWordArray &charSets) | 551 FX_BOOL IsHasCharSet(CFArrayRef languages, const CFX_DWordArray &charSets) |
553 { | 552 { |
554 int iCount = charSets.GetSize(); | 553 int iCount = charSets.GetSize(); |
555 for (int i = 0; i < CFArrayGetCount(languages); ++i) { | 554 for (int i = 0; i < CFArrayGetCount(languages); ++i) { |
556 CFStringRef language = (CFStringRef)CFArrayGetValueAtIndex(languages, i)
; | 555 CFStringRef language = (CFStringRef)CFArrayGetValueAtIndex(languages, i)
; |
557 FX_DWORD CharSet = FX_GetCharsetFromLang(CFStringGetCStringPtr(language,
kCFStringEncodingMacRoman), -1); | 556 FX_DWORD CharSet = FX_GetCharsetFromLang(CFStringGetCStringPtr(language,
kCFStringEncodingMacRoman), -1); |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1196 void FPDFAPI_FlatPageAttr(CPDF_Dictionary* pPageDict, FX_BSTR name) | 1195 void FPDFAPI_FlatPageAttr(CPDF_Dictionary* pPageDict, FX_BSTR name) |
1197 { | 1196 { |
1198 if (pPageDict->KeyExist(name)) { | 1197 if (pPageDict->KeyExist(name)) { |
1199 return; | 1198 return; |
1200 } | 1199 } |
1201 CPDF_Object* pObj = FPDFAPI_GetPageAttr(pPageDict, name); | 1200 CPDF_Object* pObj = FPDFAPI_GetPageAttr(pPageDict, name); |
1202 if (pObj) { | 1201 if (pObj) { |
1203 pPageDict->SetAt(name, pObj->Clone()); | 1202 pPageDict->SetAt(name, pObj->Clone()); |
1204 } | 1203 } |
1205 } | 1204 } |
OLD | NEW |