From 378f90e53ea616ad29ccad9692412fa450641967 Mon Sep 17 00:00:00 2001 From: Andreas 'count' Kotes Date: Wed, 27 May 2026 16:19:11 +0200 Subject: [PATCH 1/2] add Sinclair QL Extended font --- fonts-schema.json | 1 + fonts.json | 12 ++++++++++ .../sinclair-ql-extended/license.txt | 8 +++++++ .../resources/sinclair-ql-extended/readme.txt | 22 ++++++++++++++++++ .../sinclair-ql-extended.ttf | Bin 0 -> 28884 bytes fonts/stylesheets/fonts.less | 2 ++ fonts/stylesheets/stylesheet.css | 6 +++++ 7 files changed, 51 insertions(+) create mode 100644 fonts/resources/sinclair-ql-extended/license.txt create mode 100644 fonts/resources/sinclair-ql-extended/readme.txt create mode 100644 fonts/resources/sinclair-ql-extended/sinclair-ql-extended.ttf diff --git a/fonts-schema.json b/fonts-schema.json index d45b634..ae6b0bd 100644 --- a/fonts-schema.json +++ b/fonts-schema.json @@ -32,6 +32,7 @@ "Apache", "Bitstream Vera", "BSD-2-Clause", + "CC BY-SA 3.0", "CC BY-SA 4.0", "CC BY-ND 3.0", "freeware", diff --git a/fonts.json b/fonts.json index 75a61d5..88ecb80 100644 --- a/fonts.json +++ b/fonts.json @@ -2303,6 +2303,18 @@ "year": 2012, "zerostyle": "slashed" }, + "sinclair-ql-extended": { + "author": "count / Damien Guard", + "description": "Font of the Sinclair QL computer, with added (international) characters Clone of Sinclair QL + extensions based in QDOS Minerva Sourcecode released under GPL at http://www.bergbland.info/", + "license": "CC BY-SA 3.0", + "ligatures": false, + "name": "Sinclair QL Extended", + "rendering": "bitmap", + "style": "sans", + "website": "https://fontstruct.com/fontstructions/show/1104062/sinclair_ql_extended_1", + "year": 2015, + "zerostyle": "slashed" + }, "sk-modernist": { "author": "Sean Kane", "description": "Sk-Modernist is a minimalist and clean typeface which eschews complicated forms.", diff --git a/fonts/resources/sinclair-ql-extended/license.txt b/fonts/resources/sinclair-ql-extended/license.txt new file mode 100644 index 0000000..e028271 --- /dev/null +++ b/fonts/resources/sinclair-ql-extended/license.txt @@ -0,0 +1,8 @@ +The FontStruction “Sinclair QL Extended” +(https://fontstruct.com/fontstructions/show/1104062) by “count” is licensed +under a Creative Commons Attribution Share Alike license +(http://creativecommons.org/licenses/by-sa/3.0/). +“Sinclair QL Extended” was originally cloned (copied) from the FontStruction +“Sinclair QL” (https://fontstruct.com/fontstructions/show/917532) by Damien +Guard, which is licensed under a Creative Commons Attribution Share Alike +license (http://creativecommons.org/licenses/by-sa/3.0/). diff --git a/fonts/resources/sinclair-ql-extended/readme.txt b/fonts/resources/sinclair-ql-extended/readme.txt new file mode 100644 index 0000000..ef1e018 --- /dev/null +++ b/fonts/resources/sinclair-ql-extended/readme.txt @@ -0,0 +1,22 @@ +The font file in this archive was created using Fontstruct the free, online +font-building tool. +This font was created by “count”*. +This font has a homepage where this archive and other versions may be found: +https://fontstruct.com/fontstructions/show/1104062 + +*NOTE: “Sinclair QL Extended” was originally cloned (copied) from the +FontStruction “Sinclair QL” +(https://fontstruct.com/fontstructions/show/917532) by Damien Guard, which is +licensed under a Creative Commons Attribution Share Alike license +(http://creativecommons.org/licenses/by-sa/3.0/). + +Try Fontstruct at https://fontstruct.com +It’s easy and it’s fun. + +Fontstruct is copyright ©2015-2026 Rob Meek + +LEGAL NOTICE: +In using this font you must comply with the licensing terms described in the +file “license.txt” included with this archive. +If you redistribute the font file in this archive, it must be accompanied by all +the other files from this archive, including this one. diff --git a/fonts/resources/sinclair-ql-extended/sinclair-ql-extended.ttf b/fonts/resources/sinclair-ql-extended/sinclair-ql-extended.ttf new file mode 100644 index 0000000000000000000000000000000000000000..98587bed67899739cfcd9f815cc4467ea2f7d985 GIT binary patch literal 28884 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 IuMv{}2MnM(rT_o{ literal 0 HcmV?d00001 diff --git a/fonts/stylesheets/fonts.less b/fonts/stylesheets/fonts.less index 234aff1..ef83f73 100755 --- a/fonts/stylesheets/fonts.less +++ b/fonts/stylesheets/fonts.less @@ -537,6 +537,8 @@ .font( 'share-tech', normal, normal, 'share-tech/share-tech.ttf' ); +.font( 'sinclair-ql-extended', normal, normal, 'sinclair-ql-extended/sinclair-ql-extended.ttf' ); + .font( 'sk-modernist', normal, normal, 'sk-modernist/sk-modernist.woff' ); .font( 'sligoil', normal, normal, 'sligoil/sligoil.woff2' ); diff --git a/fonts/stylesheets/stylesheet.css b/fonts/stylesheets/stylesheet.css index dd6cb2b..68a1261 100644 --- a/fonts/stylesheets/stylesheet.css +++ b/fonts/stylesheets/stylesheet.css @@ -2314,6 +2314,12 @@ font-style: normal; src: url('../resources/share-tech/share-tech.ttf'); } +@font-face { + font-family: 'sinclair-ql-extended'; + font-weight: normal; + font-style: normal; + src: url('../resources/sinclair-ql-extended/sinclair-ql-extended.ttf'); +} @font-face { font-family: 'sk-modernist'; font-weight: normal; From ffda7a931845af8e87a417e4def95eda09661c7b Mon Sep 17 00:00:00 2001 From: Andreas 'count' Kotes Date: Wed, 27 May 2026 17:18:32 +0200 Subject: [PATCH 2/2] add missing README entry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94876f8..d93cfb5 100755 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ Therefore: - [Sergamon](https://sgmonda.com/sergamon) _SIL OFL_ ([view](https://www.programmingfonts.org/#sergamon)) - [Serious Shanns](https://kabeech.github.io/serious-shanns/) _MIT_ ([view](https://www.programmingfonts.org/#serious-shanns)) - [Share Tech Mono](https://fonts.google.com/specimen/Share+Tech+Mono) _SIL OFL_ ([view](https://www.programmingfonts.org/#share-tech)) +- [Sinclair QL Extended](https://fontstruct.com/fontstructions/show/1104062/sinclair_ql_extended_1) _CC BY-SA 3.0_ ([view](https://www.programmingfonts.org/#sinclair-ql-extended)) - [SK Modernist Mono](https://seankanedesign.gumroad.com/l/sk-modernist) _commercial_ ([view](https://www.programmingfonts.org/#sk-modernist)) - [Sligoil](https://velvetyne.fr/fonts/sligoil/) _SIL OFL_ ([view](https://www.programmingfonts.org/#sligoil)) - [Sometype Mono](http://monospacedfont.com/) _SIL OFL_ ([view](https://www.programmingfonts.org/#sometype-mono))