-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmadina.h
74 lines (63 loc) · 1.93 KB
/
madina.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#pragma once
#include "automedina.h"
#include "GlyphVis.h"
#include "Subtable.h"
#include "Lookup.h"
class Madina : public Automedina {
public:
Madina(OtLayout* layout, Font* font, bool extended);
Lookup* getLookup(QString lookupName) override;
CalcAnchor getanchorCalcFunctions(QString functionName, Subtable* subtable) override;
private:
Lookup* defaultmarkposition();
Lookup* defaultwaqfmarktobase();
Lookup* forsmalllalef();
Lookup* forsmallhighwaw();
Lookup* forhamza();
Lookup* forheh();
Lookup* forwaw();
Lookup* cursivejoin();
Lookup* cursivejoinrtl();
Lookup* pointmarks();
Lookup* defaultwaqfmarkabovemarkprecise();
Lookup* defaultdotmarks();
Lookup* defaultmarkdotmarks();
Lookup* defaultmkmk();
Lookup* ayanumbers();
Lookup* ayanumberskern();
Lookup* rehwawcursivecpp();
Lookup* tajweedcolorcpp();
Lookup* populatecvxx();
Lookup* glyphalternates();
//Justification
Lookup* shrinkstretchlt(float lt, QString featureName);
Lookup* shrinkstretchlt();
void addchars();
void generateGlyphs();
};
class Defaultwaqfmarkabovemark : public AnchorCalc {
public:
Defaultwaqfmarkabovemark(Automedina& y, MarkBaseSubtable& subtable) : _y(y), _subtable(subtable) {}
QPoint operator()(QString glyphName, QString className, QPoint adjust, GlyphParameters parameters) override {
GlyphVis& curr = _y.glyphs[glyphName];
int width = 0;
int height = 0;
return QPoint(width, height);
};
private:
Automedina& _y;
MarkBaseSubtable& _subtable;
};
class Defaultmarkbelowwaqfmark : public AnchorCalc {
public:
Defaultmarkbelowwaqfmark(Automedina& y, MarkBaseSubtable& subtable) : _y(y), _subtable(subtable) {}
QPoint operator()(QString glyphName, QString className, QPoint adjust, GlyphParameters parameters) override {
GlyphVis& curr = _y.glyphs[glyphName];
int width = 0 + adjust.x();
int height = curr.height + 50 + adjust.y();
return QPoint(width, height);
};
private:
Automedina& _y;
MarkBaseSubtable& _subtable;
};