forked from openkylin/rust-ttf-parser
35 lines
589 B
C++
35 lines
589 B
C++
#pragma once
|
|
|
|
#include <QCoreApplication>
|
|
|
|
#include "glyph.h"
|
|
|
|
struct hb_blob_t;
|
|
struct hb_face_t;
|
|
struct hb_font_t;
|
|
struct hb_draw_funcs_t;
|
|
|
|
class HarfBuzzFont
|
|
{
|
|
Q_DECLARE_TR_FUNCTIONS(HarfBuzzFont)
|
|
|
|
public:
|
|
HarfBuzzFont();
|
|
~HarfBuzzFont();
|
|
|
|
void open(const QString &path, const quint32 index = 0);
|
|
bool isOpen() const;
|
|
|
|
Glyph outline(const quint16 gid) const;
|
|
|
|
void setVariations(const QVector<Variation> &variations);
|
|
|
|
private:
|
|
void reset();
|
|
|
|
private:
|
|
hb_blob_t *m_blob = nullptr;
|
|
hb_face_t *m_face = nullptr;
|
|
hb_font_t *m_font = nullptr;
|
|
};
|