OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium 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 #include "ui/gfx/font_render_params.h" | 5 #include "ui/gfx/font_render_params.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "ui/gfx/font.h" | 9 #include "ui/gfx/font.h" |
10 #include "ui/gfx/linux_font_delegate.h" | 10 #include "ui/gfx/linux_font_delegate.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 // GetCustomFontRenderParams() for descriptions of arguments. | 42 // GetCustomFontRenderParams() for descriptions of arguments. |
43 bool QueryFontconfig(const std::vector<std::string>* family_list, | 43 bool QueryFontconfig(const std::vector<std::string>* family_list, |
44 const int* pixel_size, | 44 const int* pixel_size, |
45 const int* point_size, | 45 const int* point_size, |
46 const int* style, | 46 const int* style, |
47 FontRenderParams* params_out, | 47 FontRenderParams* params_out, |
48 std::string* family_out) { | 48 std::string* family_out) { |
49 FcPattern* pattern = FcPatternCreate(); | 49 FcPattern* pattern = FcPatternCreate(); |
50 CHECK(pattern); | 50 CHECK(pattern); |
51 | 51 |
| 52 FcPatternAddBool(pattern, FC_SCALABLE, FcTrue); |
| 53 |
52 if (family_list) { | 54 if (family_list) { |
53 for (std::vector<std::string>::const_iterator it = family_list->begin(); | 55 for (std::vector<std::string>::const_iterator it = family_list->begin(); |
54 it != family_list->end(); ++it) { | 56 it != family_list->end(); ++it) { |
55 FcPatternAddString( | 57 FcPatternAddString( |
56 pattern, FC_FAMILY, reinterpret_cast<const FcChar8*>(it->c_str())); | 58 pattern, FC_FAMILY, reinterpret_cast<const FcChar8*>(it->c_str())); |
57 } | 59 } |
58 } | 60 } |
59 if (pixel_size) | 61 if (pixel_size) |
60 FcPatternAddDouble(pattern, FC_PIXEL_SIZE, *pixel_size); | 62 FcPatternAddDouble(pattern, FC_PIXEL_SIZE, *pixel_size); |
61 if (point_size) | 63 if (point_size) |
(...skipping 22 matching lines...) Expand all Loading... |
84 | 86 |
85 if (params_out) { | 87 if (params_out) { |
86 FcBool fc_antialias = 0; | 88 FcBool fc_antialias = 0; |
87 FcPatternGetBool(match, FC_ANTIALIAS, 0, &fc_antialias); | 89 FcPatternGetBool(match, FC_ANTIALIAS, 0, &fc_antialias); |
88 params_out->antialiasing = fc_antialias; | 90 params_out->antialiasing = fc_antialias; |
89 | 91 |
90 FcBool fc_autohint = 0; | 92 FcBool fc_autohint = 0; |
91 FcPatternGetBool(match, FC_AUTOHINT, 0, &fc_autohint); | 93 FcPatternGetBool(match, FC_AUTOHINT, 0, &fc_autohint); |
92 params_out->autohinter = fc_autohint; | 94 params_out->autohinter = fc_autohint; |
93 | 95 |
| 96 FcBool fc_bitmap = 0; |
| 97 FcPatternGetBool(match, FC_EMBEDDED_BITMAP, 0, &fc_bitmap); |
| 98 params_out->use_bitmaps = fc_bitmap; |
| 99 |
94 FcBool fc_hinting = 0; | 100 FcBool fc_hinting = 0; |
95 int fc_hint_style = FC_HINT_NONE; | 101 int fc_hint_style = FC_HINT_NONE; |
96 FcPatternGetBool(match, FC_HINTING, 0, &fc_hinting); | 102 FcPatternGetBool(match, FC_HINTING, 0, &fc_hinting); |
97 if (fc_hinting) | 103 if (fc_hinting) |
98 FcPatternGetInteger(match, FC_HINT_STYLE, 0, &fc_hint_style); | 104 FcPatternGetInteger(match, FC_HINT_STYLE, 0, &fc_hint_style); |
99 params_out->hinting = ConvertFontconfigHintStyle(fc_hint_style); | 105 params_out->hinting = ConvertFontconfigHintStyle(fc_hint_style); |
100 | 106 |
101 int fc_rgba = FC_RGBA_NONE; | 107 int fc_rgba = FC_RGBA_NONE; |
102 FcPatternGetInteger(match, FC_RGBA, 0, &fc_rgba); | 108 FcPatternGetInteger(match, FC_RGBA, 0, &fc_rgba); |
103 params_out->subpixel_rendering = ConvertFontconfigRgba(fc_rgba); | 109 params_out->subpixel_rendering = ConvertFontconfigRgba(fc_rgba); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 161 |
156 // Use the first family from the list if Fontconfig didn't suggest a family. | 162 // Use the first family from the list if Fontconfig didn't suggest a family. |
157 if (family_out && family_out->empty() && | 163 if (family_out && family_out->empty() && |
158 family_list && !family_list->empty()) | 164 family_list && !family_list->empty()) |
159 *family_out = (*family_list)[0]; | 165 *family_out = (*family_list)[0]; |
160 | 166 |
161 return params; | 167 return params; |
162 } | 168 } |
163 | 169 |
164 } // namespace gfx | 170 } // namespace gfx |
OLD | NEW |