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 "xfa/fgas/font/fgas_fontutils.h" | 7 #include "xfa/fgas/font/fgas_fontutils.h" |
8 | 8 |
9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
10 #include "xfa/fgas/font/fgas_font.h" | 10 #include "xfa/fgas/font/fgas_font.h" |
11 | 11 |
12 FX_DWORD FGAS_GetFontHashCode(uint16_t wCodePage, FX_DWORD dwFontStyles) { | 12 uint32_t FGAS_GetFontHashCode(uint16_t wCodePage, uint32_t dwFontStyles) { |
13 FX_DWORD dwHash = wCodePage; | 13 uint32_t dwHash = wCodePage; |
14 if (dwFontStyles & FX_FONTSTYLE_FixedPitch) { | 14 if (dwFontStyles & FX_FONTSTYLE_FixedPitch) { |
15 dwHash |= 0x00010000; | 15 dwHash |= 0x00010000; |
16 } | 16 } |
17 if (dwFontStyles & FX_FONTSTYLE_Serif) { | 17 if (dwFontStyles & FX_FONTSTYLE_Serif) { |
18 dwHash |= 0x00020000; | 18 dwHash |= 0x00020000; |
19 } | 19 } |
20 if (dwFontStyles & FX_FONTSTYLE_Symbolic) { | 20 if (dwFontStyles & FX_FONTSTYLE_Symbolic) { |
21 dwHash |= 0x00040000; | 21 dwHash |= 0x00040000; |
22 } | 22 } |
23 if (dwFontStyles & FX_FONTSTYLE_Script) { | 23 if (dwFontStyles & FX_FONTSTYLE_Script) { |
24 dwHash |= 0x00080000; | 24 dwHash |= 0x00080000; |
25 } | 25 } |
26 if (dwFontStyles & FX_FONTSTYLE_Italic) { | 26 if (dwFontStyles & FX_FONTSTYLE_Italic) { |
27 dwHash |= 0x00100000; | 27 dwHash |= 0x00100000; |
28 } | 28 } |
29 if (dwFontStyles & FX_FONTSTYLE_Bold) { | 29 if (dwFontStyles & FX_FONTSTYLE_Bold) { |
30 dwHash |= 0x00200000; | 30 dwHash |= 0x00200000; |
31 } | 31 } |
32 return dwHash; | 32 return dwHash; |
33 } | 33 } |
34 FX_DWORD FGAS_GetFontFamilyHash(const FX_WCHAR* pszFontFamily, | 34 uint32_t FGAS_GetFontFamilyHash(const FX_WCHAR* pszFontFamily, |
35 FX_DWORD dwFontStyles, | 35 uint32_t dwFontStyles, |
36 uint16_t wCodePage) { | 36 uint16_t wCodePage) { |
37 CFX_WideString wsFont(pszFontFamily); | 37 CFX_WideString wsFont(pszFontFamily); |
38 if (dwFontStyles & FX_FONTSTYLE_Bold) { | 38 if (dwFontStyles & FX_FONTSTYLE_Bold) { |
39 wsFont += L"Bold"; | 39 wsFont += L"Bold"; |
40 } | 40 } |
41 if (dwFontStyles & FX_FONTSTYLE_Italic) { | 41 if (dwFontStyles & FX_FONTSTYLE_Italic) { |
42 wsFont += L"Italic"; | 42 wsFont += L"Italic"; |
43 } | 43 } |
44 wsFont += wCodePage; | 44 wsFont += wCodePage; |
45 return FX_HashCode_String_GetW((const FX_WCHAR*)wsFont, wsFont.GetLength()); | 45 return FX_HashCode_String_GetW((const FX_WCHAR*)wsFont, wsFont.GetLength()); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 if (wUnicode < usb.wStartUnicode) { | 144 if (wUnicode < usb.wStartUnicode) { |
145 iEnd = iMid - 1; | 145 iEnd = iMid - 1; |
146 } else if (wUnicode > usb.wEndUnicode) { | 146 } else if (wUnicode > usb.wEndUnicode) { |
147 iStart = iMid + 1; | 147 iStart = iMid + 1; |
148 } else { | 148 } else { |
149 return &usb; | 149 return &usb; |
150 } | 150 } |
151 } while (iStart <= iEnd); | 151 } while (iStart <= iEnd); |
152 return NULL; | 152 return NULL; |
153 } | 153 } |
OLD | NEW |