summaryrefslogtreecommitdiffstats
path: root/tests/manual/textrendering/fontenginecomparison/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/textrendering/fontenginecomparison/main.cpp')
-rw-r--r--tests/manual/textrendering/fontenginecomparison/main.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/manual/textrendering/fontenginecomparison/main.cpp b/tests/manual/textrendering/fontenginecomparison/main.cpp
new file mode 100644
index 00000000000..c8fc4d84b38
--- /dev/null
+++ b/tests/manual/textrendering/fontenginecomparison/main.cpp
@@ -0,0 +1,51 @@
+// Copyright (C) 2025 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "mainwindow.h"
+
+#include <QtGui>
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ if (a.arguments().size() > 5) {
+ QString fontFamily = a.arguments().at(1);
+ int fontSize = a.arguments().at(2).toInt();
+ QString example = a.arguments().at(3);
+ int weight = a.arguments().at(4).toInt();
+ bool isItalic = a.arguments().at(5).toInt();
+
+ QFont font(fontFamily);
+ font.setPixelSize(fontSize);
+ font.setWeight(QFont::Weight(weight));
+ font.setItalic(isItalic);
+
+ QTextLayout layout;
+ layout.setFont(font);
+ layout.setText(example);
+ layout.beginLayout();
+ layout.createLine();
+ layout.endLayout();
+
+ QRect brect = layout.boundingRect().toAlignedRect();
+
+ QImage image(brect.size(), QImage::Format_RGB32);
+ image.fill(Qt::white);
+ image.setDevicePixelRatio(1.0);
+
+ QPainter p;
+ p.begin(&image);
+ layout.draw(&p, -brect.topLeft());
+ p.end();
+
+ image.save(QStringLiteral("output.png"));
+
+ return 0;
+ } else {
+ MainWindow w;
+ w.show();
+ return a.exec();
+ }
+}