chromium/ui/gfx/font_list.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_GFX_FONT_LIST_H_
#define UI_GFX_FONT_LIST_H_

#include <string>
#include <vector>

#include "base/memory/scoped_refptr.h"
#include "ui/gfx/font.h"
#include "ui/gfx/gfx_export.h"

namespace gfx {

class FontListImpl;

// FontList represents a list of fonts and provides metrics which are common
// across the fonts.  FontList is copyable and quite cheap to copy.
//
// The format of font description strings is a subset of that used by Pango, as
// described at
// http://developer.gnome.org/pango/stable/pango-Fonts.html#pango-font-description-from-string
//
// Pango font description strings should not be passed directly into FontLists.
//
// The format is "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where:
// - FONT_FAMILY_LIST is a comma-separated list of font family names,
// - STYLES is an optional space-separated list of style names (case-sensitive
//   "Italic" "Ultra-Light" "Light" "Normal" "Semi-Bold" "Bold" "Ultra-Bold"
//   "Heavy" are supported), and
// - SIZE is an integer font size in pixels with the suffix "px"
//
// Here are examples of valid font description strings:
// - "Arial, Helvetica, Italic Semi-Bold 14px"
// - "Arial, 14px"
class GFX_EXPORT FontList {};

}  // namespace gfx

#endif  // UI_GFX_FONT_LIST_H_