| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 uint8_t GetCharsetFromCodePage(uint16_t codepage) { | 286 uint8_t GetCharsetFromCodePage(uint16_t codepage) { |
| 287 const CODEPAGE_MAP* pEnd = | 287 const CODEPAGE_MAP* pEnd = |
| 288 g_Codepage2CharsetTable + FX_ArraySize(g_Codepage2CharsetTable); | 288 g_Codepage2CharsetTable + FX_ArraySize(g_Codepage2CharsetTable); |
| 289 const CODEPAGE_MAP* pCharmap = | 289 const CODEPAGE_MAP* pCharmap = |
| 290 std::lower_bound(g_Codepage2CharsetTable, pEnd, codepage, | 290 std::lower_bound(g_Codepage2CharsetTable, pEnd, codepage, |
| 291 [](const CODEPAGE_MAP& charset, uint16_t page) { | 291 [](const CODEPAGE_MAP& charset, uint16_t page) { |
| 292 return charset.codepage < page; | 292 return charset.codepage < page; |
| 293 }); | 293 }); |
| 294 if (pCharmap < pEnd && codepage == pCharmap->codepage) | 294 if (pCharmap < pEnd && codepage == pCharmap->codepage) |
| 295 return pCharmap->charset; | 295 return pCharmap->charset; |
| 296 return 1; | 296 return FXFONT_DEFAULT_CHARSET; |
| 297 } | 297 } |
| 298 | 298 |
| 299 CFX_ByteString GetFontFamily(CFX_ByteString fontName, int nStyle) { | 299 CFX_ByteString GetFontFamily(CFX_ByteString fontName, int nStyle) { |
| 300 if (fontName.Find("Script") >= 0) { | 300 if (fontName.Find("Script") >= 0) { |
| 301 if ((nStyle & FX_FONT_STYLE_Bold) == FX_FONT_STYLE_Bold) { | 301 if ((nStyle & FX_FONT_STYLE_Bold) == FX_FONT_STYLE_Bold) { |
| 302 fontName = "ScriptMTBold"; | 302 fontName = "ScriptMTBold"; |
| 303 } else if (fontName.Find("Palace") >= 0) { | 303 } else if (fontName.Find("Palace") >= 0) { |
| 304 fontName = "PalaceScriptMT"; | 304 fontName = "PalaceScriptMT"; |
| 305 } else if (fontName.Find("French") >= 0) { | 305 } else if (fontName.Find("French") >= 0) { |
| 306 fontName = "FrenchScriptMT"; | 306 fontName = "FrenchScriptMT"; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 !!(pitch_family & FXFONT_FF_FIXEDPITCH)) { | 405 !!(pitch_family & FXFONT_FF_FIXEDPITCH)) { |
| 406 iSimilarValue += 8; | 406 iSimilarValue += 8; |
| 407 } | 407 } |
| 408 return iSimilarValue; | 408 return iSimilarValue; |
| 409 } | 409 } |
| 410 | 410 |
| 411 } // namespace | 411 } // namespace |
| 412 | 412 |
| 413 CFX_SubstFont::CFX_SubstFont() { | 413 CFX_SubstFont::CFX_SubstFont() { |
| 414 m_ExtHandle = nullptr; | 414 m_ExtHandle = nullptr; |
| 415 m_Charset = 0; | 415 m_Charset = FXFONT_ANSI_CHARSET; |
| 416 m_SubstFlags = 0; | 416 m_SubstFlags = 0; |
| 417 m_Weight = 0; | 417 m_Weight = 0; |
| 418 m_ItalicAngle = 0; | 418 m_ItalicAngle = 0; |
| 419 m_bSubstOfCJK = FALSE; | 419 m_bSubstCJK = false; |
| 420 m_WeightCJK = 0; | 420 m_WeightCJK = 0; |
| 421 m_bItlicCJK = FALSE; | 421 m_bItalicCJK = false; |
| 422 } | 422 } |
| 423 |
| 423 CTTFontDesc::~CTTFontDesc() { | 424 CTTFontDesc::~CTTFontDesc() { |
| 424 if (m_Type == 1) { | 425 if (m_Type == 1) { |
| 425 if (m_SingleFace.m_pFace) { | 426 if (m_SingleFace.m_pFace) { |
| 426 FXFT_Done_Face(m_SingleFace.m_pFace); | 427 FXFT_Done_Face(m_SingleFace.m_pFace); |
| 427 } | 428 } |
| 428 } else if (m_Type == 2) { | 429 } else if (m_Type == 2) { |
| 429 for (int i = 0; i < 16; i++) | 430 for (int i = 0; i < 16; i++) |
| 430 if (m_TTCFace.m_pFaces[i]) { | 431 if (m_TTCFace.m_pFaces[i]) { |
| 431 FXFT_Done_Face(m_TTCFace.m_pFaces[i]); | 432 FXFT_Done_Face(m_TTCFace.m_pFaces[i]); |
| 432 } | 433 } |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1050 if (!bCJK) { | 1051 if (!bCJK) { |
| 1051 if (!CheckSupportThirdPartFont(family, PitchFamily)) { | 1052 if (!CheckSupportThirdPartFont(family, PitchFamily)) { |
| 1052 if (italic_angle != 0) { | 1053 if (italic_angle != 0) { |
| 1053 bItalic = TRUE; | 1054 bItalic = TRUE; |
| 1054 } else { | 1055 } else { |
| 1055 bItalic = FALSE; | 1056 bItalic = FALSE; |
| 1056 } | 1057 } |
| 1057 weight = old_weight; | 1058 weight = old_weight; |
| 1058 } | 1059 } |
| 1059 } else { | 1060 } else { |
| 1060 pSubstFont->m_bSubstOfCJK = TRUE; | 1061 pSubstFont->m_bSubstCJK = true; |
| 1061 if (nStyle) { | 1062 if (nStyle) { |
| 1062 pSubstFont->m_WeightCJK = weight; | 1063 pSubstFont->m_WeightCJK = weight; |
| 1063 } else { | 1064 } else { |
| 1064 pSubstFont->m_WeightCJK = FXFONT_FW_NORMAL; | 1065 pSubstFont->m_WeightCJK = FXFONT_FW_NORMAL; |
| 1065 } | 1066 } |
| 1066 if (nStyle & FX_FONT_STYLE_Italic) { | 1067 if (nStyle & FX_FONT_STYLE_Italic) { |
| 1067 pSubstFont->m_bItlicCJK = TRUE; | 1068 pSubstFont->m_bItalicCJK = true; |
| 1068 } | 1069 } |
| 1069 } | 1070 } |
| 1070 } else { | 1071 } else { |
| 1071 italic_angle = 0; | 1072 italic_angle = 0; |
| 1072 weight = | 1073 weight = |
| 1073 nStyle & FX_FONT_STYLE_BoldBold | 1074 nStyle & FX_FONT_STYLE_BoldBold |
| 1074 ? 900 | 1075 ? 900 |
| 1075 : (nStyle & FX_FONT_STYLE_Bold ? FXFONT_FW_BOLD : FXFONT_FW_NORMAL); | 1076 : (nStyle & FX_FONT_STYLE_Bold ? FXFONT_FW_BOLD : FXFONT_FW_NORMAL); |
| 1076 } | 1077 } |
| 1077 if (!match.IsEmpty() || iBaseFont < 12) { | 1078 if (!match.IsEmpty() || iBaseFont < 12) { |
| (...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1654 int PDF_GetStandardFontName(CFX_ByteString* name) { | 1655 int PDF_GetStandardFontName(CFX_ByteString* name) { |
| 1655 AltFontName* found = static_cast<AltFontName*>( | 1656 AltFontName* found = static_cast<AltFontName*>( |
| 1656 FXSYS_bsearch(name->c_str(), g_AltFontNames, FX_ArraySize(g_AltFontNames), | 1657 FXSYS_bsearch(name->c_str(), g_AltFontNames, FX_ArraySize(g_AltFontNames), |
| 1657 sizeof(AltFontName), CompareString)); | 1658 sizeof(AltFontName), CompareString)); |
| 1658 if (!found) | 1659 if (!found) |
| 1659 return -1; | 1660 return -1; |
| 1660 | 1661 |
| 1661 *name = g_Base14FontNames[found->m_Index]; | 1662 *name = g_Base14FontNames[found->m_Index]; |
| 1662 return found->m_Index; | 1663 return found->m_Index; |
| 1663 } | 1664 } |
| OLD | NEW |