diff options
Diffstat (limited to 'tests/manual/textrendering/fontenginecomparison/main.cpp')
| -rw-r--r-- | tests/manual/textrendering/fontenginecomparison/main.cpp | 51 |
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(); + } +} |
