blob: e8514a78401b46fd0aa0483692a865a4a3e6be4b [file] [log] [blame]
#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;
};