Charlie Jiang pushed to branch gsoc-2022-chariri-3 at FreeType / FreeType Demo Programs
Commits:
-
b5576cf7
by Charlie Jiang at 2022-09-06T13:23:53+08:00
4 changed files:
- src/ftinspect/engine/engine.cpp
- src/ftinspect/engine/engine.hpp
- src/ftinspect/ftinspect.cpp
- src/ftinspect/maingui.cpp
Changes:
... | ... | @@ -604,6 +604,18 @@ Engine::glyphName(int index) |
604 | 604 | }
|
605 | 605 | |
606 | 606 | |
607 | +QString
|
|
608 | +Engine::dynamicLibraryVersion()
|
|
609 | +{
|
|
610 | + int major, minor, patch;
|
|
611 | + FT_Library_Version(library_, &major, &minor, &patch);
|
|
612 | + return QString("%1.%2.%3")
|
|
613 | + .arg(QString::number(major),
|
|
614 | + QString::number(minor),
|
|
615 | + QString::number(patch));
|
|
616 | +}
|
|
617 | + |
|
618 | + |
|
607 | 619 | int
|
608 | 620 | Engine::numberOfOpenedFonts()
|
609 | 621 | {
|
... | ... | @@ -105,6 +105,7 @@ public: |
105 | 105 | FontFileManager& fontFileManager() { return fontFileManager_; }
|
106 | 106 | EngineDefaultValues& engineDefaults() { return engineDefaults_; }
|
107 | 107 | RenderingEngine* renderingEngine() { return renderingEngine_.get(); }
|
108 | + QString dynamicLibraryVersion();
|
|
108 | 109 | |
109 | 110 | int numberOfOpenedFonts();
|
110 | 111 |
... | ... | @@ -7,17 +7,21 @@ |
7 | 7 | #include "engine/engine.hpp"
|
8 | 8 | |
9 | 9 | #include <QApplication>
|
10 | - |
|
11 | -#define VERSION "X.Y.Z"
|
|
10 | +#include <freetype/freetype.h>
|
|
12 | 11 | |
13 | 12 | |
14 | 13 | int
|
15 | 14 | main(int argc,
|
16 | 15 | char** argv)
|
17 | 16 | {
|
17 | + auto version = QString("%1.%2.%3")
|
|
18 | + .arg(QString::number(FREETYPE_MAJOR),
|
|
19 | + QString::number(FREETYPE_MINOR),
|
|
20 | + QString::number(FREETYPE_PATCH));
|
|
21 | + |
|
18 | 22 | QApplication app(argc, argv);
|
19 | 23 | app.setApplicationName("ftinspect");
|
20 | - app.setApplicationVersion(VERSION);
|
|
24 | + app.setApplicationVersion(version);
|
|
21 | 25 | app.setOrganizationName("FreeType");
|
22 | 26 | app.setOrganizationDomain("freetype.org");
|
23 | 27 |
... | ... | @@ -93,23 +93,28 @@ MainGUI::keyPressEvent(QKeyEvent* event) |
93 | 93 | void
|
94 | 94 | MainGUI::about()
|
95 | 95 | {
|
96 | + auto version = QApplication::applicationVersion();
|
|
97 | + auto dynamicVersion = engine_->dynamicLibraryVersion();
|
|
98 | + if (version != dynamicVersion)
|
|
99 | + version = QString("%1 (library ver. %2)").arg(version, dynamicVersion);
|
|
96 | 100 | QMessageBox::about(
|
97 | 101 | this,
|
98 | 102 | tr("About ftinspect"),
|
99 | - tr("<p>This is <b>ftinspect</b> version %1<br>"
|
|
100 | - " Copyright %2 2016-2022<br>"
|
|
101 | - " by Werner Lemberg <tt><wl@gnu.org></tt></p>"
|
|
102 | - ""
|
|
103 | - "<p><b>ftinspect</b> shows how a font gets rendered"
|
|
104 | - " by FreeType, allowing control over virtually"
|
|
105 | - " all rendering parameters.</p>"
|
|
106 | - ""
|
|
107 | - "<p>License:"
|
|
108 | - " <a href=''>FreeType"
|
|
109 | - " License (FTL)</a> or"
|
|
110 | - " <a href=''>GNU"
|
|
111 | - " GPLv2</a></p>")
|
|
112 | - .arg(QApplication::applicationVersion())
|
|
103 | + tr(R"(<p>This is <b>ftinspect</b> version %1<br>
|
|
104 | +Copyright %2 2016-2022<br>
|
|
105 | +by Werner Lemberg <tt><wl@gnu.org></tt>
|
|
106 | + and Charlie Jiang <tt><w@chariri.moe></tt></p>
|
|
107 | + |
|
108 | +<p><b>ftinspect</b> shows how a font gets rendered
|
|
109 | +by FreeType, allowing control over virtually
|
|
110 | +all rendering parameters.</p>
|
|
111 | + |
|
112 | +<p>License:
|
|
113 | +<a href=''>FreeType
|
|
114 | +License (FTL)</a> or
|
|
115 | +<a href=''>GNU
|
|
116 | +GPLv2</a></p>)")
|
|
117 | + .arg(version)
|
|
113 | 118 | .arg(QChar(0xA9)));
|
114 | 119 | }
|
115 | 120 |