| #pragma once |
| |
| #include <QCoreApplication> |
| #include <QPainterPath> |
| |
| #include <memory> |
| |
| #include <ttfparser.h> |
| |
| #include "glyph.h" |
| |
| class TtfParserFont |
| { |
| Q_DECLARE_TR_FUNCTIONS(TtfParserFont) |
| |
| public: |
| TtfParserFont(); |
| |
| void open(const QString &path, const quint32 index = 0); |
| bool isOpen() const; |
| |
| FontInfo fontInfo() const; |
| Glyph outline(const quint16 gid) const; |
| |
| QVector<VariationInfo> loadVariations(); |
| void setVariations(const QVector<Variation> &variations); |
| |
| private: |
| struct FreeCPtr |
| { void operator()(void* x) { free(x); } }; |
| |
| QByteArray m_fontData; |
| std::unique_ptr<ttfp_face, FreeCPtr> m_face; |
| }; |