1 // Copyright 2013 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/gfx/text_utils.h" 6 7 #import <UIKit/UIKit.h> 8 9 #include <cmath> 10 11 #include "base/strings/sys_string_conversions.h" 12 #include "ui/gfx/font_list.h" 13 14 namespace gfx { 15 16 int GetStringWidth(const base::string16& text, const FontList& font_list) { 17 return std::ceil(GetStringWidthF(text, font_list)); 18 } 19 20 float GetStringWidthF(const base::string16& text, const FontList& font_list) { 21 NSString* ns_text = base::SysUTF16ToNSString(text); 22 NativeFont native_font = font_list.GetPrimaryFont().GetNativeFont(); 23 return [ns_text sizeWithFont:native_font].width; 24 } 25 26 } // namespace gfx 27