QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RFont.h
Go to the documentation of this file.
1 
20 #ifndef RFONT_H
21 #define RFONT_H
22 
23 #include "core_global.h"
24 
25 #include <QMetaType>
26 #include <QChar>
27 #include <QMap>
28 #include <QPainterPath>
29 #include <QString>
30 #include <QStringList>
31 
32 
40 public:
41  RFont();
42  RFont(const QString& fileName);
43  ~RFont();
44 
45  bool isValid() const {
46  return !fileName.isEmpty();
47  }
48 
50  QString getFileName() const {
51  return fileName;
52  }
53 
55  QString getEncoding() const {
56  return encoding;
57  }
58 
60  const QStringList getNames() const {
61  return names;
62  }
63 
65  const QStringList getAuthors() const {
66  return authors;
67  }
68 
70  double getLetterSpacing() const {
71  return letterSpacing;
72  }
73 
75  double getWordSpacing() const {
76  return wordSpacing;
77  }
78 
80  double getLineSpacingFactor() const {
81  return lineSpacingFactor;
82  }
83 
84  bool load();
85 
89  bool isLoaded() const {
90  return loaded;
91  }
92 
96  QMap<QChar, QPainterPath> getGlyphMap() const {
97  return glyphMap;
98  }
99 
103  QPainterPath getGlyph(const QChar& ch, bool draft = false) const;
104 
105  //int countGlyphs() {
106  // return glyphMap.count();
107  //}
108 
109  //QPainterPath glyphAt(int i) {
110  // return glyphMap.values()
111  //}
112 
113 private:
115  QMap<QChar, QPainterPath> glyphMap;
116  QMap<QChar, QPainterPath> glyphDraftMap;
117 
119  QString fileName;
120 
122  QString encoding;
123 
125  QStringList names;
126 
128  QStringList authors;
129 
131  bool loaded;
132 
135 
137  double wordSpacing;
138 
141 };
142 
145 
146 #endif