From ba8e5f689b9ee141f0aee8def9edd21041c0d080 Mon Sep 17 00:00:00 2001 From: Chris Traveis Date: Fri, 13 Oct 2023 09:27:46 -0400 Subject: [PATCH 1/3] add `WIN95FA` to `fonts/other` --- fonts/other/win95fa/400.css | 8 + fonts/other/win95fa/CHANGELOG.md | 2 + fonts/other/win95fa/LICENSE | 97 +++++++++ fonts/other/win95fa/README.md | 47 +++++ .../files/win95fa-latin-400-normal.woff | Bin 0 -> 9464 bytes .../files/win95fa-latin-400-normal.woff2 | Bin 0 -> 7880 bytes fonts/other/win95fa/index.css | 8 + fonts/other/win95fa/latin-400.css | 8 + fonts/other/win95fa/latin.css | 8 + fonts/other/win95fa/metadata.json | 19 ++ fonts/other/win95fa/package.json | 29 +++ fonts/other/win95fa/scss/metadata.scss | 14 ++ fonts/other/win95fa/scss/mixins.scss | 184 ++++++++++++++++++ fonts/other/win95fa/unicode.json | 1 + 14 files changed, 425 insertions(+) create mode 100644 fonts/other/win95fa/400.css create mode 100644 fonts/other/win95fa/CHANGELOG.md create mode 100644 fonts/other/win95fa/LICENSE create mode 100644 fonts/other/win95fa/README.md create mode 100644 fonts/other/win95fa/files/win95fa-latin-400-normal.woff create mode 100644 fonts/other/win95fa/files/win95fa-latin-400-normal.woff2 create mode 100644 fonts/other/win95fa/index.css create mode 100644 fonts/other/win95fa/latin-400.css create mode 100644 fonts/other/win95fa/latin.css create mode 100644 fonts/other/win95fa/metadata.json create mode 100644 fonts/other/win95fa/package.json create mode 100644 fonts/other/win95fa/scss/metadata.scss create mode 100644 fonts/other/win95fa/scss/mixins.scss create mode 100644 fonts/other/win95fa/unicode.json diff --git a/fonts/other/win95fa/400.css b/fonts/other/win95fa/400.css new file mode 100644 index 00000000000..2b992fe2eec --- /dev/null +++ b/fonts/other/win95fa/400.css @@ -0,0 +1,8 @@ +/* win95fa-latin-400-normal */ +@font-face { + font-family: 'WIN95FA'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/win95fa-latin-400-normal.woff2) format('woff2'), url(./files/win95fa-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/win95fa/CHANGELOG.md b/fonts/other/win95fa/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/win95fa/CHANGELOG.md @@ -0,0 +1,2 @@ +# Changelog +See the [Fontsource CHANGELOG.md](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md). \ No newline at end of file diff --git a/fonts/other/win95fa/LICENSE b/fonts/other/win95fa/LICENSE new file mode 100644 index 00000000000..f1a20ac1a8a --- /dev/null +++ b/fonts/other/win95fa/LICENSE @@ -0,0 +1,97 @@ +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (). + +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. diff --git a/fonts/other/win95fa/README.md b/fonts/other/win95fa/README.md new file mode 100644 index 00000000000..8dc38d696c5 --- /dev/null +++ b/fonts/other/win95fa/README.md @@ -0,0 +1,47 @@ +# Fontsource WIN95FA + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/win95fa?color=brightgreen)](https://www.npmjs.com/package/@fontsource/win95fa) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/win95fa)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/win95fa)](https://github.com/fontsource/fontsource) [![GitHub stars](https://img.shields.io/github/stars/fontsource/fontsource.svg?style=social&label=Star)](https://github.com/fontsource/fontsource/stargazers) + +The CSS and web font files to easily self-host the “WIN95FA” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/win95fa) to view more details on this package. + +## Quick Installation + +Fontsource offers multiple methods to import the CSS, including using a bundler like Vite or using SASS. You can find full documentation [here](https://fontsource.org/docs/getting-started/introduction). + +```javascript +npm install @fontsource/win95fa +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/win95fa"; // Defaults to weight 400 +import "@fontsource/win95fa/400.css"; // Specify weight +import "@fontsource/win95fa/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400]` +- Styles: `[normal]` +- Subsets: `[latin]` + +> Note: `italic` may not be supported by all fonts. To learn more about what weights and styles are supported, please visit the [Fontsource website](https://fontsource.org/fonts/win95fa). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "WIN95FA"; +} +``` + +## Licensing +Always make sure to read the license for each font you use. Most of the fonts in the collection use the SIL Open Font License, v1.1. Some fonts use the Apache 2 license. The Ubuntu fonts use the Ubuntu Font License v1.0. + +Alina Sava +[OFL-1.1](https://fontsarena.com/w95fa-by-alina-sava/) + +## Other Notes +Font version (provided by source): `v1.0`. + +If you have any suggestions or ideas to improve the performance of font loading or expand the existing library, feel free to star and contribute to this repository. You can share your suggestions or ideas by creating an [issue](https://github.com/fontsource/fontsource/issues). \ No newline at end of file diff --git a/fonts/other/win95fa/files/win95fa-latin-400-normal.woff b/fonts/other/win95fa/files/win95fa-latin-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..433ece2e93e7bc833686718c9c5dc07b50920123 GIT binary patch literal 9464 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 BNvi+= literal 0 HcmV?d00001 diff --git a/fonts/other/win95fa/files/win95fa-latin-400-normal.woff2 b/fonts/other/win95fa/files/win95fa-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..730ddc4a051087227138bd35400843b467e2100c GIT binary patch literal 7880 zcmV;(9yj54Pew9NR8&s@03OHy3IG5A0DQCn03LV%0RR9100000000000000000000 z0000Df!sv~U;v6-0X7081BCzt20v|ObYX%71&4VDARGOA73`RoxE)ZaJ~K8FA#5Ck zCV(eVlug!5+5evs)G>s*SF$-wI2m=W(>ak^fij&}cxZSt_TigX@)+R3AS%gYCHHWO zNPSi_^X%X5PxYpXJLq0g%N2L#?lwl^x$yk6zyJ2R_>v=$NHj%_S;t+jQ`u&{`P^PF zH5+DrlKK}QrhGHL+5ra~c4)+=n(jL6U8YVQ=DuBY4t)PV_WM0^7Zs{_qLB&NL$XBc zWV1+8NtN}}t6%J%K@~0?+kt;@uAAAcbvlQN{Az!&C;6ZFZ5}FHWATjw6QdK%T4AwZ zmFm_v#SB(yETW9w8rC)}Wq}WZ+_sNXLA+DB&eXgwxxy24eI`2s))b1NJ=fmmKfk~4 z&t3ajZR9xqir>k|KM8J(VjDI=mpcOB|NnhcZ3#II7>9tv(79C6xKD6U$gmvp>fIA} zzqxnWqXx~zd+Cg5%Dfx zSx9p~u;{-r`r=;DC)=`okcQ=yWOsycNQ^T z>4Nm3&io-z5G5olD%Nzvw21Avo*(S&?(H84*=d428~Xxu(JJ@^9~%;~h?Rkuwwtk5 zeUl+Rojdl4k3k$110Qj!{fK50!*M=238RIv2UpNeTq+?V2^$7X^&n-bmD)5p8ac}; zm$KyW4DiNJ{*KNT-b`r%O>3?u!%0D|2`x!5Jjetz7${M2z{wPdL=ec35EyJ&7z+Y1 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 literal 0 HcmV?d00001 diff --git a/fonts/other/win95fa/index.css b/fonts/other/win95fa/index.css new file mode 100644 index 00000000000..2b992fe2eec --- /dev/null +++ b/fonts/other/win95fa/index.css @@ -0,0 +1,8 @@ +/* win95fa-latin-400-normal */ +@font-face { + font-family: 'WIN95FA'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/win95fa-latin-400-normal.woff2) format('woff2'), url(./files/win95fa-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/win95fa/latin-400.css b/fonts/other/win95fa/latin-400.css new file mode 100644 index 00000000000..2b992fe2eec --- /dev/null +++ b/fonts/other/win95fa/latin-400.css @@ -0,0 +1,8 @@ +/* win95fa-latin-400-normal */ +@font-face { + font-family: 'WIN95FA'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/win95fa-latin-400-normal.woff2) format('woff2'), url(./files/win95fa-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/win95fa/latin.css b/fonts/other/win95fa/latin.css new file mode 100644 index 00000000000..2b992fe2eec --- /dev/null +++ b/fonts/other/win95fa/latin.css @@ -0,0 +1,8 @@ +/* win95fa-latin-400-normal */ +@font-face { + font-family: 'WIN95FA'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/win95fa-latin-400-normal.woff2) format('woff2'), url(./files/win95fa-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/win95fa/metadata.json b/fonts/other/win95fa/metadata.json new file mode 100644 index 00000000000..b8ffb831931 --- /dev/null +++ b/fonts/other/win95fa/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "win95fa", + "family": "WIN95FA", + "subsets": ["latin"], + "weights": [400], + "styles": ["normal"], + "defSubset": "latin", + "variable": false, + "lastModified": "2023-10-13", + "version": "v1.0", + "category": "sans-serif", + "license": { + "type": "OFL-1.1", + "url": "https://fontsarena.com/w95fa-by-alina-sava/", + "attribution": "Alina Sava" + }, + "source": "https://fontsarena.com/wp-content/uploads/2020/01/W95FA.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/win95fa/package.json b/fonts/other/win95fa/package.json new file mode 100644 index 00000000000..03100cf6420 --- /dev/null +++ b/fonts/other/win95fa/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/win95fa", + "version": "5.0.0", + "description": "Self-host the WIN95FA font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "win95fa", + "WIN95FA", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Alina Sava", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/win95fa", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/win95fa" + } +} \ No newline at end of file diff --git a/fonts/other/win95fa/scss/metadata.scss b/fonts/other/win95fa/scss/metadata.scss new file mode 100644 index 00000000000..737c44ee7cb --- /dev/null +++ b/fonts/other/win95fa/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'win95fa' !default; +$family: 'WIN95FA' !default; +$category: sans-serif !default; +$subsets: (latin) !default; +$weights: (400) !default; +$styles: (normal) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/win95fa/scss/mixins.scss b/fonts/other/win95fa/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/win95fa/scss/mixins.scss @@ -0,0 +1,184 @@ +@use 'sass:list'; +@use 'sass:map'; +@use 'sass:math'; +@use 'sass:meta'; +@use 'sass:string'; + +@use 'metadata'; + +$metadata: meta.module-variables(metadata) !default; +$directory: null !default; + +$family: null !default; +$display: null !default; +$formats: null !default; +$subsets: null !default; +$weights: null !default; +$styles: null !default; +$axes: null !default; + +// Deprecated +$displayVar: null !default; + +@mixin generator( + $metadata: $metadata, + $directory: $directory, + $family: $family, + $display: $display, + $formats: $formats, + $subsets: $subsets, + $weights: $weights, + $styles: $styles, + $axes: $axes, + + // Deprecated + $displayVar: $displayVar +) { + @if $displayVar != null { + @warn "$displayVar is deprecated due to the limitation of using css variables in @font-face (https://github.com/fontsource/fontsource/issues/726)."; + } + + $isVariable: map.get($metadata, axes) != null; + + $directory: if( + $directory, + $directory, + '~@fontsource#{if($isVariable, '-variable', '')}/#{map.get($metadata, id)}/files' + ); + + $family: if($family, $family, map.get($metadata, family) + if($isVariable, ' Variable', '')); + $display: if($display, $display, swap); + $formats: if(not $formats or $formats == all, if($isVariable, woff2, (woff2, woff)), $formats); + $subsets: if( + $subsets, + if($subsets == all, map.get($metadata, subsets), $subsets), + map.get($metadata, defaults, subset) + ); + $weights: if( + $weights, + if($weights == all, map.get($metadata, weights), $weights), + map.get($metadata, defaults, weight) + ); + $styles: if( + $styles, + if($styles == all, map.get($metadata, styles), $styles), + map.get($metadata, defaults, style) + ); + $axes: if( + $axes, + if($axes == all, full, $axes), + if($isVariable, if(map.has-key($metadata, axes, wght), wght, full), null) + ); + + @each $subset in $subsets { + @each $unicodeSubset, $unicodeRange in map.get($metadata, unicode) { + @if ( + ($subset == $unicodeSubset) or + ( + // Is numeric subset + ($subset == map.get($metadata, defaults, subset)) and not + list.index(map.get($metadata, subsets), $unicodeSubset) + ) + ) { + @each $weight in if($axes, null, $weights) { + @each $axis in $axes { + @each $style in $styles { + $variant: '#{map.get($metadata, id)}-#{if($unicodeSubset, $unicodeSubset, $subset)}-#{if($axis, $axis, $weight)}-#{$style}'; + + $src: (); + @each $format in $formats { + $src: append( + $src, + url('#{$directory}/#{$variant}.#{$format}') + format('#{$format}#{if($axis, '-variations', '')}'), + comma + ); + } + + @content (( + metadata: $metadata, + directory: $directory, + family: $family, + display: $display, + formats: $formats, + subsets: $subsets, + weights: $weights, + styles: $styles, + axes: $axes, + + variant: $variant, + subset: $subset, + unicodeSubset: $unicodeSubset, + unicodeRange: $unicodeRange, + weight: $weight, + axis: $axis, + style: $style, + + font-family: string.quote($family), + font-style: if( + (($axis == full) or ($axis == slnt)) and map.has-key($metadata, axes, slnt), + oblique map.get($metadata, axes, slnt, min) + deg map.get($metadata, axes, slnt, max) + deg, + $style + ), + font-display: $display, + font-weight: if( + (($axis == full) or ($axis == wght)) and map.has-key($metadata, axes, wght), + map.get($metadata, axes, wght, min) map.get($metadata, axes, wght, max), + $weight + ), + font-stretch: if( + (($axis == full) or ($axis == wdth)) and map.has-key($metadata, axes, wdth), + '#{map.get($metadata, axes, wdth, min)}% #{map.get($metadata, axes, wdth, max)}%', + null + ), + src: $src, + unicode-range: $unicodeRange, + )); + } + } + } + } + } + } +} + +@mixin faces( + $metadata: $metadata, + $directory: $directory, + $family: $family, + $display: $display, + $formats: $formats, + $subsets: $subsets, + $weights: $weights, + $styles: $styles, + $axes: $axes, + + // Deprecated + $displayVar: $displayVar +) { + @include generator( + $metadata: $metadata, + $directory: $directory, + $family: $family, + $display: $display, + $formats: $formats, + $subsets: $subsets, + $weights: $weights, + $styles: $styles, + $axes: $axes, + + $displayVar: $displayVar + ) + using ($props) { + /* #{map.get($props, variant)} */ + @font-face { + font-family: map.get($props, font-family); + font-style: map.get($props, font-style); + font-display: map.get($props, font-display); + font-weight: map.get($props, font-weight); + font-stretch: map.get($props, font-stretch); + unicode-range: map.get($props, unicode-range); + src: map.get($props, src); + } + } +} diff --git a/fonts/other/win95fa/unicode.json b/fonts/other/win95fa/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/win95fa/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file From 42f00fb497501f955db5caa424530b3b212fe025 Mon Sep 17 00:00:00 2001 From: Chris Traveis Date: Sun, 15 Oct 2023 15:53:08 -0400 Subject: [PATCH 2/3] remove boilerplate from license --- fonts/other/win95fa/LICENSE | 6 ------ 1 file changed, 6 deletions(-) diff --git a/fonts/other/win95fa/LICENSE b/fonts/other/win95fa/LICENSE index f1a20ac1a8a..075d1aefb5f 100644 --- a/fonts/other/win95fa/LICENSE +++ b/fonts/other/win95fa/LICENSE @@ -1,9 +1,3 @@ -Copyright (c) , (), -with Reserved Font Name . -Copyright (c) , (), -with Reserved Font Name . -Copyright (c) , (). - 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 From 5ab3e383d283d69f03e7706e820385c7fd8d755e Mon Sep 17 00:00:00 2001 From: Chris Traveis Date: Sun, 15 Oct 2023 15:53:36 -0400 Subject: [PATCH 3/3] update source --- fonts/other/win95fa/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fonts/other/win95fa/metadata.json b/fonts/other/win95fa/metadata.json index b8ffb831931..cb626613c99 100644 --- a/fonts/other/win95fa/metadata.json +++ b/fonts/other/win95fa/metadata.json @@ -14,6 +14,6 @@ "url": "https://fontsarena.com/w95fa-by-alina-sava/", "attribution": "Alina Sava" }, - "source": "https://fontsarena.com/wp-content/uploads/2020/01/W95FA.zip", + "source": "https://fontsarena.com/w95fa-by-alina-sava/", "type": "other" } \ No newline at end of file