mirror of
https://github.com/Swordfish90/cool-retro-term.git
synced 2026-02-08 00:32:27 +00:00
Migrate all modern fonts to NerdFonts. Small UI improvements around.
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
#include <QFont>
|
||||
#include <QFontDatabase>
|
||||
#include <QFontMetricsF>
|
||||
#include <QtGlobal>
|
||||
#include <QtMath>
|
||||
|
||||
namespace {
|
||||
@@ -234,6 +236,13 @@ void FontManager::populateBundledFonts()
|
||||
8,
|
||||
true,
|
||||
"UNSCII_8_SCALED");
|
||||
addBundledFont(
|
||||
"GOHU_11_SCALED",
|
||||
"Gohu 11",
|
||||
":/fonts/gohu/GohuFont11NerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
11,
|
||||
true);
|
||||
addBundledFont(
|
||||
"COZETTE_SCALED",
|
||||
"Cozette",
|
||||
@@ -316,35 +325,56 @@ void FontManager::populateBundledFonts()
|
||||
addBundledFont(
|
||||
"HACK",
|
||||
"Hack",
|
||||
":/fonts/hack/Hack-Regular.ttf",
|
||||
":/fonts/hack/HackNerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"FIRA_CODE",
|
||||
"Fira Code",
|
||||
":/fonts/fira-code/FiraCode-Medium.ttf",
|
||||
":/fonts/fira-code/FiraCodeNerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"IOSEVKA",
|
||||
"Iosevka",
|
||||
":/fonts/iosevka/IosevkaTerm-ExtendedMedium.ttf",
|
||||
":/fonts/iosevka/IosevkaTermNerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"JETBRAINS_MONO",
|
||||
"JetBrains Mono",
|
||||
":/fonts/jetbrains-mono/JetBrainsMono-Medium.ttf",
|
||||
":/fonts/jetbrains-mono/JetBrainsMonoNerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"IBM_3278",
|
||||
"IBM 3278",
|
||||
":/fonts/ibm-3278/3270-Regular.ttf",
|
||||
":/fonts/ibm-3278/3270NerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"SOURCE_CODE_PRO",
|
||||
"Source Code Pro",
|
||||
":/fonts/source-code-pro/SauceCodeProNerdFontMono-Regular.ttf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
addBundledFont(
|
||||
"DEPARTURE_MONO_SCALED",
|
||||
"Departure Mono",
|
||||
":/fonts/departure-mono/DepartureMonoNerdFontMono-Regular.otf",
|
||||
1.0,
|
||||
11,
|
||||
true);
|
||||
addBundledFont(
|
||||
"OPENDYSLEXIC",
|
||||
"OpenDyslexic",
|
||||
":/fonts/opendyslexic/OpenDyslexicMNerdFontMono-Regular.otf",
|
||||
1.0,
|
||||
32,
|
||||
false);
|
||||
@@ -362,12 +392,14 @@ void FontManager::addBundledFont(const QString &name,
|
||||
entry.name = name;
|
||||
entry.text = text;
|
||||
entry.source = source;
|
||||
entry.baseWidth = baseWidth;
|
||||
entry.pixelSize = pixelSize;
|
||||
entry.lowResolutionFont = lowResolutionFont;
|
||||
entry.isSystemFont = false;
|
||||
entry.fallbackName = fallbackName;
|
||||
entry.family = resolveFontFamily(source);
|
||||
entry.baseWidth = lowResolutionFont
|
||||
? computeBaseWidth(entry.family, pixelSize, baseWidth)
|
||||
: baseWidth;
|
||||
m_allFonts.append(entry);
|
||||
}
|
||||
|
||||
@@ -529,3 +561,24 @@ QString FontManager::resolveFontFamily(const QString &sourcePath)
|
||||
m_loadedFamilies.insert(sourcePath, family);
|
||||
return family;
|
||||
}
|
||||
|
||||
qreal FontManager::computeBaseWidth(const QString &family, int pixelSize, qreal fallbackWidth) const
|
||||
{
|
||||
if (family.isEmpty()) {
|
||||
return fallbackWidth;
|
||||
}
|
||||
|
||||
QFont font(family);
|
||||
font.setPixelSize(pixelSize);
|
||||
QFontMetricsF metrics(font);
|
||||
|
||||
const qreal glyphWidth = metrics.horizontalAdvance(QLatin1String("M"));
|
||||
const qreal glyphHeight = metrics.height();
|
||||
if (glyphWidth <= 0.0 || glyphHeight <= 0.0) {
|
||||
return fallbackWidth;
|
||||
}
|
||||
|
||||
const qreal targetRatio = 0.5;
|
||||
qreal computedWidth = (targetRatio * glyphHeight) / glyphWidth;
|
||||
return qBound(0.25, computedWidth, 2.0);
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ private:
|
||||
void updateComputedFont();
|
||||
const FontEntry *findFontByName(const QString &name) const;
|
||||
QString resolveFontFamily(const QString &sourcePath);
|
||||
qreal computeBaseWidth(const QString &family, int pixelSize, qreal fallbackWidth) const;
|
||||
|
||||
FontListModel m_fontListModel;
|
||||
FontListModel m_filteredFontListModel;
|
||||
|
||||
@@ -28,7 +28,7 @@ QtObject {
|
||||
readonly property int profileVersion: 2
|
||||
|
||||
// STATIC CONSTANTS ////////////////////////////////////////////////////////
|
||||
readonly property real screenCurvatureSize: 0.4
|
||||
readonly property real screenCurvatureSize: 0.6
|
||||
readonly property real minimumFontScaling: 0.25
|
||||
readonly property real maximumFontScaling: 2.50
|
||||
|
||||
@@ -46,7 +46,7 @@ QtObject {
|
||||
property bool showTerminalSize: true
|
||||
property real windowScaling: 1.0
|
||||
|
||||
property int effectsFrameSkip: 2
|
||||
property int effectsFrameSkip: 3
|
||||
property bool verbose: false
|
||||
|
||||
property real bloomQuality: 0.5
|
||||
@@ -95,10 +95,12 @@ QtObject {
|
||||
property real frameSize: _frameSize * 0.05
|
||||
|
||||
property real _screenRadius: 0.2
|
||||
property real screenRadius: Utils.lint(4.0, 40.0, _screenRadius)
|
||||
property real screenRadius: Utils.lint(4.0, 120.0, _screenRadius)
|
||||
|
||||
property real _margin: 0.5
|
||||
property real margin: Utils.lint(1.0, 40.0, _margin) + 0.25 * screenRadius
|
||||
property real margin: Utils.lint(1.0, 40.0, _margin) + (1.0 - Math.SQRT1_2) * screenRadius
|
||||
|
||||
readonly property bool frameEnabled: ambientLight > 0 || _frameSize > 0 || screenCurvature > 0
|
||||
|
||||
readonly property int no_rasterization: 0
|
||||
readonly property int scanline_rasterization: 1
|
||||
@@ -144,6 +146,7 @@ QtObject {
|
||||
function close() {
|
||||
storeSettings()
|
||||
storeCustomProfiles()
|
||||
Qt.quit()
|
||||
}
|
||||
|
||||
property Storage storage: Storage {}
|
||||
@@ -384,13 +387,13 @@ QtObject {
|
||||
"rbgShift": 0,
|
||||
"saturationColor": 0.2,
|
||||
"screenCurvature": 0.4,
|
||||
"screenRadius": 0.3,
|
||||
"screenRadius": 0.1,
|
||||
"staticNoise": 0.1,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.3,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0.1,
|
||||
"frameColor": "#f2d4a7",
|
||||
"frameColor": "#cfcfcf",
|
||||
"frameShininess": 0.3
|
||||
}'
|
||||
builtin: true
|
||||
@@ -418,13 +421,13 @@ QtObject {
|
||||
"rbgShift": 0,
|
||||
"saturationColor": 0.0,
|
||||
"screenCurvature": 0.7,
|
||||
"screenRadius": 0.6,
|
||||
"screenRadius": 0.2,
|
||||
"staticNoise": 0.1,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.3,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0.1,
|
||||
"frameColor": "#bdeed2",
|
||||
"frameColor": "#d4d4d4",
|
||||
"frameShininess": 0.1
|
||||
}'
|
||||
builtin: true
|
||||
@@ -452,7 +455,7 @@ QtObject {
|
||||
"rbgShift": 0,
|
||||
"saturationColor": 0.2,
|
||||
"screenCurvature": 1.0,
|
||||
"screenRadius": 0.3,
|
||||
"screenRadius": 0.1,
|
||||
"staticNoise": 0.1,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.3,
|
||||
@@ -486,7 +489,7 @@ QtObject {
|
||||
"rbgShift": 0,
|
||||
"saturationColor": 0,
|
||||
"screenCurvature": 0.5,
|
||||
"screenRadius": 0.4,
|
||||
"screenRadius": 0.1,
|
||||
"staticNoise": 0.1,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.3,
|
||||
@@ -520,7 +523,7 @@ QtObject {
|
||||
"rbgShift": 0.1,
|
||||
"saturationColor": 0,
|
||||
"screenCurvature": 1.0,
|
||||
"screenRadius": 1.0,
|
||||
"screenRadius": 0.3,
|
||||
"staticNoise": 0.2,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.2,
|
||||
@@ -554,7 +557,7 @@ QtObject {
|
||||
"rbgShift": 0.1,
|
||||
"saturationColor": 0,
|
||||
"screenCurvature": 1.0,
|
||||
"screenRadius": 1.0,
|
||||
"screenRadius": 0.3,
|
||||
"staticNoise": 0.2,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.0,
|
||||
@@ -588,13 +591,13 @@ QtObject {
|
||||
"rbgShift": 0.0,
|
||||
"saturationColor": 0,
|
||||
"screenCurvature": 0.3,
|
||||
"screenRadius": 0.5,
|
||||
"screenRadius": 0.2,
|
||||
"staticNoise": 0.1,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.2,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0.4,
|
||||
"frameColor": "#8ed6ff",
|
||||
"frameColor": "#cccccc",
|
||||
"frameShininess": 0.3
|
||||
}'
|
||||
builtin: true
|
||||
@@ -622,7 +625,7 @@ QtObject {
|
||||
"rbgShift": 0.15,
|
||||
"saturationColor": 0,
|
||||
"screenCurvature": 0.3,
|
||||
"screenRadius": 0.2,
|
||||
"screenRadius": 0.1,
|
||||
"staticNoise": 0.0,
|
||||
"windowOpacity": 1,
|
||||
"margin": 0.2,
|
||||
@@ -696,7 +699,7 @@ QtObject {
|
||||
"margin": 0.1,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0,
|
||||
"frameColor": "#52f7ff",
|
||||
"frameColor": "#c3c3c3",
|
||||
"frameShininess": 0.2
|
||||
}'
|
||||
builtin: true
|
||||
@@ -730,7 +733,7 @@ QtObject {
|
||||
"margin": 0.1,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0,
|
||||
"frameColor": "#9aa7b3",
|
||||
"frameColor": "#a7a7a7",
|
||||
"frameShininess": 0.2
|
||||
}'
|
||||
builtin: true
|
||||
@@ -764,7 +767,7 @@ QtObject {
|
||||
"margin": 0.1,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0,
|
||||
"frameColor": "#ff9bd6",
|
||||
"frameColor": "#d0d0d0",
|
||||
"frameShininess": 0.2
|
||||
}'
|
||||
builtin: true
|
||||
@@ -832,7 +835,7 @@ QtObject {
|
||||
"margin": 0.1,
|
||||
"blinkingCursor": false,
|
||||
"frameSize": 0,
|
||||
"frameColor": "#d0d0c8",
|
||||
"frameColor": "#cdcdcd",
|
||||
"frameShininess": 0.2
|
||||
}'
|
||||
builtin: true
|
||||
|
||||
@@ -26,7 +26,7 @@ Item {
|
||||
function dynamicFragmentPath() {
|
||||
var rasterMode = appSettings.rasterization;
|
||||
var burnInOn = appSettings.burnIn > 0 ? 1 : 0;
|
||||
var frameOn = (appSettings._frameSize > 0 || appSettings.screenCurvature > 0) ? 1 : 0;
|
||||
var frameOn = appSettings.frameEnabled ? 1 : 0;
|
||||
var chromaOn = appSettings.chromaColor > 0 ? 1 : 0;
|
||||
return "qrc:/shaders/terminal_dynamic_raster" + rasterMode +
|
||||
"_burn" + burnInOn +
|
||||
@@ -104,8 +104,6 @@ Item {
|
||||
// We progressively disable rasterization from 4x up to 2x resolution.
|
||||
property real rasterizationIntensity: Utils.smoothstep(2.0, 4.0, _screenDensity)
|
||||
|
||||
property real displayTerminalFrame: appSettings._frameSize > 0 || appSettings.screenCurvature > 0
|
||||
|
||||
property real time: timeManager ? timeManager.time : 0
|
||||
property ShaderEffectSource noiseSource: noiseShaderSource
|
||||
|
||||
@@ -141,7 +139,7 @@ Item {
|
||||
Loader {
|
||||
id: terminalFrameLoader
|
||||
|
||||
active: dynamicShader.displayTerminalFrame
|
||||
active: appSettings.frameEnabled
|
||||
|
||||
width: staticShader.width
|
||||
height: staticShader.height
|
||||
|
||||
Binary file not shown.
93
app/qml/fonts/departure-mono/LICENSE
Normal file
93
app/qml/fonts/departure-mono/LICENSE
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2022–2024 Helena Zhang (helenazhang.com).
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
BIN
app/qml/fonts/fira-code/FiraCodeNerdFontMono-Regular.ttf
Normal file
BIN
app/qml/fonts/fira-code/FiraCodeNerdFontMono-Regular.ttf
Normal file
Binary file not shown.
@@ -91,68 +91,3 @@ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
About
|
||||
|
||||
Free monospaced font with programming ligatures
|
||||
Topics
|
||||
font ligatures programming-ligatures
|
||||
Resources
|
||||
Readme
|
||||
License
|
||||
OFL-1.1 license
|
||||
Activity
|
||||
Stars
|
||||
80.8k stars
|
||||
Watchers
|
||||
704 watching
|
||||
Forks
|
||||
3.2k forks
|
||||
Report repository
|
||||
Releases 29
|
||||
6.2 Latest
|
||||
on Dec 6, 2021
|
||||
+ 28 releases
|
||||
Used by 457
|
||||
|
||||
@bolabaden
|
||||
@utkarshkrsingh
|
||||
@elkozmon
|
||||
@DVSB
|
||||
@virtualtam
|
||||
@techplayz32
|
||||
@mecattaf
|
||||
@MrTato
|
||||
|
||||
+ 449
|
||||
Contributors 124
|
||||
|
||||
@tonsky
|
||||
@thundernixon
|
||||
@jsoref
|
||||
@joshka
|
||||
@davelab6
|
||||
@thaliaarchi
|
||||
@drify
|
||||
@eltociear
|
||||
@j-f1
|
||||
@ollicle
|
||||
@vorburger
|
||||
@gjvnq
|
||||
@Dominionized
|
||||
@ShalokShalom
|
||||
|
||||
+ 110 contributors
|
||||
Languages
|
||||
|
||||
Clojure 47.3%
|
||||
Shell 22.4%
|
||||
Python 18.5%
|
||||
HTML 7.4%
|
||||
CSS 2.5%
|
||||
PureBasic 1.1%
|
||||
|
||||
Other 0.8%
|
||||
|
||||
Footer
|
||||
|
||||
|
||||
BIN
app/qml/fonts/gohu/GohuFont11NerdFontMono-Regular.ttf
Normal file
BIN
app/qml/fonts/gohu/GohuFont11NerdFontMono-Regular.ttf
Normal file
Binary file not shown.
13
app/qml/fonts/gohu/LICENSE
Normal file
13
app/qml/fonts/gohu/LICENSE
Normal file
@@ -0,0 +1,13 @@
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2004 Sam Hocevar
|
||||
14 rue de Plaisance, 75014 Paris, France
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
Binary file not shown.
BIN
app/qml/fonts/hack/HackNerdFontMono-Regular.ttf
Normal file
BIN
app/qml/fonts/hack/HackNerdFontMono-Regular.ttf
Normal file
Binary file not shown.
@@ -3,16 +3,30 @@ The work in the Hack project is Copyright 2018 Source Foundry Authors and licens
|
||||
The work in the DejaVu project was committed to the public domain.
|
||||
|
||||
Bitstream Vera Sans Mono Copyright 2003 Bitstream Inc. and licensed under the Bitstream Vera License with Reserved Font Names "Bitstream" and "Vera"
|
||||
MIT License
|
||||
|
||||
### MIT License
|
||||
|
||||
Copyright (c) 2018 Source Foundry Authors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
BITSTREAM VERA LICENSE
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
### BITSTREAM VERA LICENSE
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
|
||||
|
||||
|
||||
Binary file not shown.
BIN
app/qml/fonts/ibm-3278/3270NerdFontMono-Regular.ttf
Normal file
BIN
app/qml/fonts/ibm-3278/3270NerdFontMono-Regular.ttf
Normal file
Binary file not shown.
@@ -1,4 +1,6 @@
|
||||
Copyright (c) 2011-2017, Ricardo Banffy.
|
||||
Copyright 2022 The 3270font Authors (https://github.com/rbanffy/3270font)
|
||||
|
||||
Copyright (c) 2011-2022, Ricardo Banffy.
|
||||
Copyright (c) 1993-2011, Paul Mattes.
|
||||
Copyright (c) 2004-2005, Don Russell.
|
||||
Copyright (c) 2004, Dick Altenbern.
|
||||
|
||||
Binary file not shown.
BIN
app/qml/fonts/iosevka/IosevkaTermNerdFontMono-Regular.ttf
Normal file
BIN
app/qml/fonts/iosevka/IosevkaTermNerdFontMono-Regular.ttf
Normal file
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2015-2025, Renzhi Li (aka. Belleve Invis, belleve@typeof.net)
|
||||
Copyright (c) 2015-2023, Renzhi Li (aka. Belleve Invis, belleve@typeof.net)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
22
app/qml/fonts/opendyslexic/LICENSE.txt
Normal file
22
app/qml/fonts/opendyslexic/LICENSE.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
License
|
||||
-------
|
||||
The license for this font is:
|
||||
|
||||
♡ Copying is an act of love. Please copy.
|
||||
Bitstream License:
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license (“Fonts”) and associated documentation files (the “Font Software”), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words “Bitstream” or the word “Vera”.
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the “Bitstream Vera” names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org.
|
||||
BIN
app/qml/fonts/opendyslexic/OpenDyslexicMNerdFontMono-Regular.otf
Normal file
BIN
app/qml/fonts/opendyslexic/OpenDyslexicMNerdFontMono-Regular.otf
Normal file
Binary file not shown.
93
app/qml/fonts/source-code-pro/LICENSE.txt
Normal file
93
app/qml/fonts/source-code-pro/LICENSE.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2010-2020 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
@@ -65,6 +65,8 @@ QtObject {
|
||||
window.destroy()
|
||||
|
||||
if (windowsModel.count === 0) {
|
||||
settingsWindow.close()
|
||||
aboutWindow.close()
|
||||
appSettings.close()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<file>main.qml</file>
|
||||
<file>SettingsTerminalTab.qml</file>
|
||||
<file>fonts/apple2/PrintChar21.ttf</file>
|
||||
<file>fonts/ibm-3278/3270-Regular.ttf</file>
|
||||
<file>fonts/ibm-3278/3270NerdFontMono-Regular.ttf</file>
|
||||
<file>Storage.qml</file>
|
||||
<file>SettingsAdvancedTab.qml</file>
|
||||
<file>TerminalContainer.qml</file>
|
||||
@@ -28,11 +28,12 @@
|
||||
<file>fonts/fixedsys-excelsior/FSEX301-L2.ttf</file>
|
||||
<file>fonts/cozette/CozetteVector.ttf</file>
|
||||
<file>fonts/greybeard/Greybeard-16px.ttf</file>
|
||||
<file>fonts/hack/Hack-Regular.ttf</file>
|
||||
<file>fonts/fira-code/FiraCode-Medium.ttf</file>
|
||||
<file>fonts/gohu/GohuFont11NerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/hack/HackNerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/fira-code/FiraCodeNerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/bigblue-terminal/BigBlueTerm437NerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/iosevka/IosevkaTerm-ExtendedMedium.ttf</file>
|
||||
<file>fonts/jetbrains-mono/JetBrainsMono-Medium.ttf</file>
|
||||
<file>fonts/iosevka/IosevkaTermNerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/jetbrains-mono/JetBrainsMonoNerdFontMono-Regular.ttf</file>
|
||||
<file>../icons/32x32/cool-retro-term.png</file>
|
||||
<file>Components/SizedLabel.qml</file>
|
||||
<file>fonts/atari-400-800/AtariClassic-Regular.ttf</file>
|
||||
@@ -40,6 +41,9 @@
|
||||
<file>fonts/pet-me/PetMe.ttf</file>
|
||||
<file>BurnInEffect.qml</file>
|
||||
<file>fonts/terminus/TerminessNerdFontMono-Regular.ttf</file>
|
||||
<file>fonts/departure-mono/DepartureMonoNerdFontMono-Regular.otf</file>
|
||||
<file>fonts/opendyslexic/OpenDyslexicMNerdFontMono-Regular.otf</file>
|
||||
<file>fonts/source-code-pro/SauceCodeProNerdFontMono-Regular.ttf</file>
|
||||
<file>TerminalFrame.qml</file>
|
||||
<file>menus/WindowMenu.qml</file>
|
||||
<file>menus/FullContextMenu.qml</file>
|
||||
|
||||
@@ -26,7 +26,6 @@ layout(std140, binding = 0) uniform ubuf {
|
||||
float horizontalSync;
|
||||
float horizontalSyncStrength;
|
||||
float flickering;
|
||||
float displayTerminalFrame;
|
||||
vec2 scaleNoiseSize;
|
||||
float screen_brightness;
|
||||
float bloom;
|
||||
|
||||
@@ -40,7 +40,6 @@ layout(std140, binding = 0) uniform ubuf {
|
||||
float horizontalSync;
|
||||
float horizontalSyncStrength;
|
||||
float flickering;
|
||||
float displayTerminalFrame;
|
||||
vec2 scaleNoiseSize;
|
||||
float frameShininess;
|
||||
float frameSize;
|
||||
|
||||
@@ -23,7 +23,6 @@ layout(std140, binding = 0) uniform ubuf {
|
||||
float horizontalSync;
|
||||
float horizontalSyncStrength;
|
||||
float flickering;
|
||||
float displayTerminalFrame;
|
||||
vec2 scaleNoiseSize;
|
||||
float frameShininess;
|
||||
float frameSize;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -17,6 +17,7 @@ layout(std140, binding = 0) uniform ubuf {
|
||||
|
||||
float min2(vec2 v) { return min(v.x, v.y); }
|
||||
float prod2(vec2 v) { return v.x * v.y; }
|
||||
float rand2(vec2 v) { return fract(sin(dot(v, vec2(12.9898, 78.233))) * 43758.5453); }
|
||||
|
||||
vec2 distortCoordinates(vec2 coords){
|
||||
vec2 paddedCoords = coords * (vec2(1.0) + frameSize * 2.0) - frameSize;
|
||||
@@ -38,8 +39,6 @@ void main() {
|
||||
vec2 staticCoords = qt_TexCoord0;
|
||||
vec2 coords = distortCoordinates(staticCoords);
|
||||
|
||||
float depth = 1.0 - 5.0 * min(min2(staticCoords), min2(vec2(1.0) - staticCoords));
|
||||
|
||||
float screenRadiusPixels = screenRadius;
|
||||
float edgeSoftPixels = 1.0;
|
||||
|
||||
@@ -63,15 +62,18 @@ void main() {
|
||||
);
|
||||
|
||||
float distPixels = roundedRectSdfPixels(coords, vec2(0.0), vec2(1.0), screenRadiusPixels);
|
||||
float frameShadow = (e * 0.66 + w * 0.66 + n * 0.33 + s) * depth;
|
||||
float frameShadow = (e * 0.66 + w * 0.66 + n * 0.33 + s);
|
||||
frameShadow *= smoothstep(0.0, edgeSoftPixels * 5.0, distPixels);
|
||||
|
||||
float frameAlpha = 1.0 - frameShininess * 0.4;
|
||||
|
||||
float inScreen = smoothstep(0.0, edgeSoftPixels, -distPixels);
|
||||
float alpha = mix(frameAlpha, mix(0.0, 0.2, ambientLight), inScreen);
|
||||
float glass = clamp(ambientLight * pow(prod2(coords * (1.0 - coords.yx)) * 50.0, 0.25) * inScreen, 0.0, 1.0);
|
||||
vec3 color = mix(frameColor.rgb * frameShadow, vec3(glass), inScreen);
|
||||
float alpha = mix(frameAlpha, mix(0.0, 0.3, ambientLight), inScreen);
|
||||
float glass = clamp(ambientLight * pow(prod2(coords * (1.0 - coords.yx)) * 25.0, 0.5) * inScreen, 0.0, 1.0);
|
||||
vec3 frameTint = frameColor.rgb * frameShadow;
|
||||
float noise = rand2(staticCoords * viewportSize) - 0.5;
|
||||
frameTint = clamp(frameTint + vec3(noise * 0.04), 0.0, 1.0);
|
||||
vec3 color = mix(frameTint, vec3(glass), inScreen);
|
||||
|
||||
fragColor = vec4(color, alpha) * qt_Opacity;
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -32,6 +32,7 @@ layout(binding = 2) uniform sampler2D bloomSource;
|
||||
|
||||
float min2(vec2 v) { return min(v.x, v.y); }
|
||||
float max2(vec2 v) { return max(v.x, v.y); }
|
||||
float rand2(vec2 v) { return fract(sin(dot(v, vec2(12.9898, 78.233))) * 43758.5453); }
|
||||
vec2 distortCoordinates(vec2 coords){
|
||||
vec2 paddedCoords = coords * (vec2(1.0) + frameSize * 2.0) - frameSize;
|
||||
vec2 cc = (paddedCoords - vec2(0.5));
|
||||
@@ -89,5 +90,9 @@ void main() {
|
||||
#endif
|
||||
|
||||
finalColor *= screen_brightness;
|
||||
|
||||
float noise = rand2(qt_TexCoord0) - 0.5;
|
||||
finalColor = clamp(finalColor + vec3(noise * 0.025), 0.0, 1.0);
|
||||
|
||||
fragColor = vec4(finalColor, qt_Opacity);
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user