3 This file is part of Minitube.
4 Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
6 Minitube is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 Minitube is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Minitube. If not, see <http://www.gnu.org/licenses/>.
21 #include "fontutils.h"
28 QFont createFont(bool isBold, double sizeScale) {
30 font.setPointSize(font.pointSize() * sizeScale);
35 QFont createFontWithMinSize(bool isBold, double sizeScale) {
36 const int minPixels = 11;
37 QFont font = createFont(isBold, sizeScale);
38 if (font.pixelSize() < minPixels)
39 font.setPixelSize(minPixels);
45 const QFont &FontUtils::small() {
46 static const QFont font = createFontWithMinSize(false, .9);
50 const QFont &FontUtils::smallBold() {
51 static const QFont font = createFontWithMinSize(true, .9);
55 const QFont &FontUtils::medium() {
56 static const QFont font = createFont(false, 1.1);
60 const QFont &FontUtils::mediumBold() {
61 static const QFont font = createFont(true, 1.1);
65 const QFont &FontUtils::big() {
66 static const QFont font = createFont(false, 1.5);
70 const QFont &FontUtils::bigBold() {
71 static const QFont font = createFont(true, 1.5);
75 QFont FontUtils::light(int pointSize) {
77 QVariant v = mac::lightFont(pointSize);
78 if (!v.isNull()) return qvariant_cast<QFont>(v);
82 f.setFamily(QStringLiteral("Segoe UI Light"));
84 f.setPointSize(pointSize);
85 f.setStyleName(QStringLiteral("Light"));
86 f.setWeight(QFont::Light);