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) font.setPixelSize(minPixels);
44 const QFont &FontUtils::small() {
45 static const QFont font = createFontWithMinSize(false, .9);
49 const QFont &FontUtils::smallBold() {
50 static const QFont font = createFontWithMinSize(true, .9);
54 const QFont &FontUtils::medium() {
55 static const QFont font = createFont(false, 1.15);
59 const QFont &FontUtils::mediumBold() {
60 static const QFont font = createFont(true, 1.15);
64 const QFont &FontUtils::big() {
65 static const QFont font = createFont(false, 1.5);
69 const QFont &FontUtils::bigBold() {
70 static const QFont font = createFont(true, 1.5);
74 QFont FontUtils::light(int pointSize) {
76 QVariant v = mac::lightFont(pointSize);
77 if (!v.isNull()) return qvariant_cast<QFont>(v);
81 f.setFamily(QStringLiteral("Segoe UI Light"));
83 f.setPointSize(pointSize);
84 f.setStyleName(QStringLiteral("Light"));
85 f.setWeight(QFont::Light);