Files
RedBear-OS/local/recipes/qt/qtdeclarative/source/tests/manual/fontfeatures/main.qml
T
vasilito f31522130f fix: comprehensive boot warnings and exceptions — fixable silenced, unfixable diagnosed
Build system (5 gaps hardened):
- COOKBOOK_OFFLINE defaults to true (fork-mode)
- normalize_patch handles diff -ruN format
- New 'repo validate-patches' command (25/25 relibc patches)
- 14 patched Qt/Wayland/display recipes added to protected list
- relibc archive regenerated with current patch chain

Boot fixes (fixable):
- Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset)
- D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped)
- redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped)
- daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch)
- udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async)
- relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs
- greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait)
- greeter-ui: built and linked (header guard unification, sem_compat stubs removed)
- mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps
- greeter config: removed stale keymapd dependency from display/greeter services
- prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified

Unfixable (diagnosed, upstream):
- i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort
- kded6/greeter-ui: page fault 0x8 — Qt library null deref
- Thread panics fd != -1 — Rust std library on Redox
- DHCP timeout / eth0 MAC — QEMU user-mode networking
- hwrngd/thermald — no hardware RNG/thermal in VM
- live preload allocation — BIOS memory fragmentation, continues on demand
2026-05-05 20:20:37 +01:00

248 lines
6.1 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Dialogs
ApplicationWindow {
id: window
width: 800
height: 600
title: "Font features"
visible: true
color: "white"
function handleFont(font)
{
var map = font.features
for (var i = 0; i < listView.count; ++i) {
var item = listView.itemAtIndex(i)
if (item !== null) {
if (item.checkState === Qt.Checked)
map[item.text] = true
else if (item.checkState === Qt.Unchecked)
map[item.text] = false
}
}
font.features = map
return font
}
ColumnLayout {
anchors.fill: parent
RowLayout {
Text {
text: "Font:"
}
Text {
text: sampleText.font.family
}
ToolButton {
text: "..."
Layout.fillWidth: false
onClicked: fontDialog.visible = true
}
}
TextField {
id: sampleText
text: "This text is fine"
font.family: "Calibri"
font.pixelSize: 20
Layout.fillWidth: false
}
TextField {
id: smcpText
text: "Small caps"
font: {
"family": sampleText.font.family,
"pixelSize": sampleText.font.pixelSize,
"features": { "smcp": 1 }
}
Layout.fillWidth: false
}
TextField {
id: noLigaturesOrKerning
text: "This text is fine"
font.family: sampleText.font.family
font.pixelSize: sampleText.font.pixelSize
font.features: { "liga": 0, "dlig": 0, "clig": 0, "hlig": 0, "kern": 0 }
Layout.fillWidth: false
}
ListView {
id: listView
height: window.height / 2
width: window.width
Layout.fillWidth: false
Layout.fillHeight: false
model: [ "aalt",
"abvf",
"abvm",
"abvs",
"afrc",
"akhn",
"blwf",
"blwm",
"blws",
"calt",
"case",
"ccmp",
"cfar",
"chws",
"cjct",
"clig",
"cpct",
"cpsp",
"cswh",
"curs",
"cv01",
"c2pc",
"c2sc",
"dist",
"dlig",
"dnom",
"dtls",
"expt",
"falt",
"fin2",
"fin3",
"fina",
"flac",
"frac",
"fwid",
"half",
"haln",
"halt",
"hist",
"hkna",
"hlig",
"hngl",
"hojo",
"hwid",
"init",
"isol",
"ital",
"jalt",
"jp78",
"jp83",
"jp90",
"jp04",
"kern",
"lfbd",
"liga",
"ljmo",
"lnum",
"locl",
"ltra",
"ltrm",
"mark",
"med2",
"medi",
"mgrk",
"mkmk",
"mset",
"nalt",
"nlck",
"nukt",
"numr",
"onum",
"opbd",
"ordn",
"ornm",
"palt",
"pcap",
"pkna",
"pnum",
"pref",
"pres",
"pstf",
"psts",
"pwid",
"qwid",
"rand",
"rclt",
"rkrf",
"rlig",
"rphf",
"rtbd",
"rtla",
"rtlm",
"ruby",
"rvrn",
"salt",
"sinf",
"size",
"smcp",
"smpl",
"ss01",
"ss02",
"ss03",
"ss04",
"ss05",
"ss06",
"ss07",
"ss08",
"ss09",
"ss10",
"ss11",
"ss12",
"ss13",
"ss14",
"ss15",
"ss16",
"ss17",
"ss18",
"ss19",
"ss20",
"ssty",
"stch",
"subs",
"sups",
"swsh",
"titl",
"tjmo",
"tnam",
"tnum",
"trad",
"twid",
"unic",
"valt",
"vatu",
"vchw",
"vert",
"vhal",
"vjmo",
"vkna",
"vkrn",
"vpal",
"vrt2",
"vrtr",
"zero"
]
delegate: CheckBox {
id: checkBox
text: modelData
tristate: true
checkState: Qt.PartiallyChecked
onCheckedChanged: {
sampleText.font = handleFont(fontDialog.currentFont)
}
}
}
}
FontDialog {
id: fontDialog
visible: false
title: "Please select a font"
onAccepted: {
sampleText.font = handleFont(fontDialog.currentFont)
}
}
}