1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ui/base/l10n/l10n_font_util.h"
6 
7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "ui/base/l10n/l10n_util.h"
10 #include "ui/gfx/font.h"
11 
12 namespace ui {
13 
GetLocalizedContentsWidthForFont(int col_resource_id,const gfx::Font & font)14 int GetLocalizedContentsWidthForFont(int col_resource_id,
15                                      const gfx::Font& font) {
16   int chars = 0;
17   base::StringToInt(l10n_util::GetStringUTF8(col_resource_id), &chars);
18   int width = font.GetExpectedTextWidth(chars);
19   DCHECK_GT(width, 0);
20   return width;
21 }
22 
GetLocalizedContentsHeightForFont(int row_resource_id,const gfx::Font & font)23 int GetLocalizedContentsHeightForFont(int row_resource_id,
24                                       const gfx::Font& font) {
25   int lines = 0;
26   base::StringToInt(l10n_util::GetStringUTF8(row_resource_id), &lines);
27   int height = font.GetHeight() * lines;
28   DCHECK_GT(height, 0);
29   return height;
30 }
31 
GetLocalizedContentsSizeForFont(int col_resource_id,int row_resource_id,const gfx::Font & font)32 gfx::Size GetLocalizedContentsSizeForFont(int col_resource_id,
33                                           int row_resource_id,
34                                           const gfx::Font& font) {
35   return gfx::Size(GetLocalizedContentsWidthForFont(col_resource_id, font),
36                    GetLocalizedContentsHeightForFont(row_resource_id, font));
37 }
38 
39 }  // namespace ui
40