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 
108  QPainterPath getShape(const QString& name) const;
109 
113  QString getShapeName(const QChar& ch) const;
114 
115  //int countGlyphs() {
116  // return glyphMap.count();
117  //}
118 
119  //QPainterPath glyphAt(int i) {
120  // return glyphMap.values()
121  //}
122 
123 private:
125  QMap<QChar, QPainterPath> glyphMap;
126  QMap<QString, QPainterPath> shapeMap;
127  QMap<QChar, QString> numNameMap;
128  QMap<QChar, QPainterPath> glyphDraftMap;
129 
131  QString fileName;
132 
134  QString encoding;
135 
137  QStringList names;
138 
140  QStringList authors;
141 
143  bool loaded;
144 
147 
149  double wordSpacing;
150 
153 };
154 
157 
158 #endif