QGIS API Documentation  2.17.0-Master (8784312)
qgsfontutils.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsfontutils.h
3  ---------------------
4  begin : June 5, 2013
5  copyright : (C) 2013 by Larry Shaffer
6  email : larrys at dakotacarto dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSFONTUTILS_H
17 #define QGSFONTUTILS_H
18 
19 #include <QFont>
20 #include <QString>
21 #include <QDomElement>
22 
26 class CORE_EXPORT QgsFontUtils
27 {
28  public:
32  static bool fontMatchOnSystem( const QFont& f );
33 
39  static bool fontFamilyOnSystem( const QString& family );
40 
47  static bool fontFamilyHasStyle( const QString& family, const QString& style );
48 
55  static bool fontFamilyMatchOnSystem( const QString& family, QString* chosen = nullptr, bool* match = nullptr );
56 
64  static bool updateFontViaStyle( QFont& f, const QString& fontstyle, bool fallback = false );
65 
69  static QString standardTestFontFamily();
70 
77  static bool loadStandardTestFonts( const QStringList& loadstyles );
78 
85  static QFont getStandardTestFont( const QString& style = "Roman", int pointsize = 12 );
86 
95  static QDomElement toXmlElement( const QFont& font, QDomDocument &document, const QString &elementName );
96 
106  static bool setFromXmlElement( QFont& font, const QDomElement& element );
107 
118  static bool setFromXmlChildNode( QFont& font, const QDomElement& element, const QString& childNode );
119 
126  static QString translateNamedStyle( const QString& namedStyle );
127 
134  static QString untranslateNamedStyle( const QString& namedStyle );
135 
145  static QString asCSS( const QFont& font, double pointToPixelMultiplier = 1.0 );
146 };
147 
148 #endif // QGSFONTUTILS_H