diff --git a/fonts/other/redaction-10/400-italic.css b/fonts/other/redaction-10/400-italic.css new file mode 100644 index 00000000000..22d5b79c1a1 --- /dev/null +++ b/fonts/other/redaction-10/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-400-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-italic.woff2) format('woff2'), url(./files/redaction-10-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/400.css b/fonts/other/redaction-10/400.css new file mode 100644 index 00000000000..dc9391be81b --- /dev/null +++ b/fonts/other/redaction-10/400.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-400-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-normal.woff2) format('woff2'), url(./files/redaction-10-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/700-italic.css b/fonts/other/redaction-10/700-italic.css new file mode 100644 index 00000000000..1dd9a18f4d8 --- /dev/null +++ b/fonts/other/redaction-10/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-700-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-italic.woff2) format('woff2'), url(./files/redaction-10-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/700.css b/fonts/other/redaction-10/700.css new file mode 100644 index 00000000000..6e19ee3e67e --- /dev/null +++ b/fonts/other/redaction-10/700.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-700-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-normal.woff2) format('woff2'), url(./files/redaction-10-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/CHANGELOG.md b/fonts/other/redaction-10/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-10/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/redaction-10/LICENSE b/fonts/other/redaction-10/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-10/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-10/README.md b/fonts/other/redaction-10/README.md new file mode 100644 index 00000000000..0e70fa110f3 --- /dev/null +++ b/fonts/other/redaction-10/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 10 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-10?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-10) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-10)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-10)](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 “Redaction 10” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-10) 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/redaction-10 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-10"; // Defaults to weight 400 +import "@fontsource/redaction-10/400.css"; // Specify weight +import "@fontsource/redaction-10/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-10). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 10"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction-10/files/redaction-10-latin-400-italic.woff b/fonts/other/redaction-10/files/redaction-10-latin-400-italic.woff new file mode 100644 index 00000000000..216ed8a84be Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-400-italic.woff differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-400-italic.woff2 b/fonts/other/redaction-10/files/redaction-10-latin-400-italic.woff2 new file mode 100644 index 00000000000..1746de1ffdc Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff b/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff new file mode 100644 index 00000000000..15feed163ff Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff2 b/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff2 new file mode 100644 index 00000000000..0095a6abaee Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff b/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff new file mode 100644 index 00000000000..330e90eb4ac Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff2 b/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff2 new file mode 100644 index 00000000000..c6bf1b1a180 Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff b/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff new file mode 100644 index 00000000000..330e90eb4ac Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff differ diff --git a/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff2 b/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff2 new file mode 100644 index 00000000000..c6bf1b1a180 Binary files /dev/null and b/fonts/other/redaction-10/files/redaction-10-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-10/index.css b/fonts/other/redaction-10/index.css new file mode 100644 index 00000000000..dc9391be81b --- /dev/null +++ b/fonts/other/redaction-10/index.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-400-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-normal.woff2) format('woff2'), url(./files/redaction-10-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin-400-italic.css b/fonts/other/redaction-10/latin-400-italic.css new file mode 100644 index 00000000000..22d5b79c1a1 --- /dev/null +++ b/fonts/other/redaction-10/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-400-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-italic.woff2) format('woff2'), url(./files/redaction-10-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin-400.css b/fonts/other/redaction-10/latin-400.css new file mode 100644 index 00000000000..dc9391be81b --- /dev/null +++ b/fonts/other/redaction-10/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-400-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-normal.woff2) format('woff2'), url(./files/redaction-10-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin-700-italic.css b/fonts/other/redaction-10/latin-700-italic.css new file mode 100644 index 00000000000..1dd9a18f4d8 --- /dev/null +++ b/fonts/other/redaction-10/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-700-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-italic.woff2) format('woff2'), url(./files/redaction-10-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin-700.css b/fonts/other/redaction-10/latin-700.css new file mode 100644 index 00000000000..6e19ee3e67e --- /dev/null +++ b/fonts/other/redaction-10/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-10-latin-700-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-normal.woff2) format('woff2'), url(./files/redaction-10-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin-italic.css b/fonts/other/redaction-10/latin-italic.css new file mode 100644 index 00000000000..e74e41bdd77 --- /dev/null +++ b/fonts/other/redaction-10/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-10-latin-400-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-italic.woff2) format('woff2'), url(./files/redaction-10-latin-400-italic.woff) format('woff'); +} + +/* redaction-10-latin-700-italic */ +@font-face { + font-family: 'Redaction 10'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-italic.woff2) format('woff2'), url(./files/redaction-10-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/latin.css b/fonts/other/redaction-10/latin.css new file mode 100644 index 00000000000..c4ee1204203 --- /dev/null +++ b/fonts/other/redaction-10/latin.css @@ -0,0 +1,17 @@ +/* redaction-10-latin-400-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-10-latin-400-normal.woff2) format('woff2'), url(./files/redaction-10-latin-400-normal.woff) format('woff'); +} + +/* redaction-10-latin-700-normal */ +@font-face { + font-family: 'Redaction 10'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-10-latin-700-normal.woff2) format('woff2'), url(./files/redaction-10-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-10/metadata.json b/fonts/other/redaction-10/metadata.json new file mode 100644 index 00000000000..591cc78d2ac --- /dev/null +++ b/fonts/other/redaction-10/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-10", + "family": "Redaction 10", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-06", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction-10/package.json b/fonts/other/redaction-10/package.json new file mode 100644 index 00000000000..7fcfb4f149b --- /dev/null +++ b/fonts/other/redaction-10/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-10", + "version": "5.0.0", + "description": "Self-host the Redaction 10 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-10", + "Redaction 10", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-10", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-10" + } +} \ No newline at end of file diff --git a/fonts/other/redaction-10/scss/metadata.scss b/fonts/other/redaction-10/scss/metadata.scss new file mode 100644 index 00000000000..94331d88b60 --- /dev/null +++ b/fonts/other/redaction-10/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-10' !default; +$family: 'Redaction 10' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-10/scss/mixins.scss b/fonts/other/redaction-10/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-10/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/redaction-10/unicode.json b/fonts/other/redaction-10/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-10/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction-100/400-italic.css b/fonts/other/redaction-100/400-italic.css new file mode 100644 index 00000000000..4e83f184a70 --- /dev/null +++ b/fonts/other/redaction-100/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-400-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-italic.woff2) format('woff2'), url(./files/redaction-100-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/400.css b/fonts/other/redaction-100/400.css new file mode 100644 index 00000000000..3b745166579 --- /dev/null +++ b/fonts/other/redaction-100/400.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-400-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-normal.woff2) format('woff2'), url(./files/redaction-100-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/700-italic.css b/fonts/other/redaction-100/700-italic.css new file mode 100644 index 00000000000..f2a2db7d875 --- /dev/null +++ b/fonts/other/redaction-100/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-700-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-italic.woff2) format('woff2'), url(./files/redaction-100-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/700.css b/fonts/other/redaction-100/700.css new file mode 100644 index 00000000000..cb5dda98460 --- /dev/null +++ b/fonts/other/redaction-100/700.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-700-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-normal.woff2) format('woff2'), url(./files/redaction-100-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/CHANGELOG.md b/fonts/other/redaction-100/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-100/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/redaction-100/LICENSE b/fonts/other/redaction-100/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-100/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-100/README.md b/fonts/other/redaction-100/README.md new file mode 100644 index 00000000000..c7e41d5eb43 --- /dev/null +++ b/fonts/other/redaction-100/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 100 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-100?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-100) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-100)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-100)](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 “Redaction 100” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-100) 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/redaction-100 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-100"; // Defaults to weight 400 +import "@fontsource/redaction-100/400.css"; // Specify weight +import "@fontsource/redaction-100/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-100). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 100"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction-100/files/redaction-100-latin-400-italic.woff b/fonts/other/redaction-100/files/redaction-100-latin-400-italic.woff new file mode 100644 index 00000000000..2a176cb74b9 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-400-italic.woff differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-400-italic.woff2 b/fonts/other/redaction-100/files/redaction-100-latin-400-italic.woff2 new file mode 100644 index 00000000000..706d8ad2677 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff b/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff new file mode 100644 index 00000000000..9b8b57d1be9 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff2 b/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff2 new file mode 100644 index 00000000000..cdd97e8d2c1 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff b/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff new file mode 100644 index 00000000000..07a8c8754b3 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff2 b/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff2 new file mode 100644 index 00000000000..71e0a10696e Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff b/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff new file mode 100644 index 00000000000..07a8c8754b3 Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff differ diff --git a/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff2 b/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff2 new file mode 100644 index 00000000000..71e0a10696e Binary files /dev/null and b/fonts/other/redaction-100/files/redaction-100-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-100/index.css b/fonts/other/redaction-100/index.css new file mode 100644 index 00000000000..3b745166579 --- /dev/null +++ b/fonts/other/redaction-100/index.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-400-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-normal.woff2) format('woff2'), url(./files/redaction-100-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin-400-italic.css b/fonts/other/redaction-100/latin-400-italic.css new file mode 100644 index 00000000000..4e83f184a70 --- /dev/null +++ b/fonts/other/redaction-100/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-400-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-italic.woff2) format('woff2'), url(./files/redaction-100-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin-400.css b/fonts/other/redaction-100/latin-400.css new file mode 100644 index 00000000000..3b745166579 --- /dev/null +++ b/fonts/other/redaction-100/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-400-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-normal.woff2) format('woff2'), url(./files/redaction-100-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin-700-italic.css b/fonts/other/redaction-100/latin-700-italic.css new file mode 100644 index 00000000000..f2a2db7d875 --- /dev/null +++ b/fonts/other/redaction-100/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-700-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-italic.woff2) format('woff2'), url(./files/redaction-100-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin-700.css b/fonts/other/redaction-100/latin-700.css new file mode 100644 index 00000000000..cb5dda98460 --- /dev/null +++ b/fonts/other/redaction-100/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-100-latin-700-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-normal.woff2) format('woff2'), url(./files/redaction-100-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin-italic.css b/fonts/other/redaction-100/latin-italic.css new file mode 100644 index 00000000000..7829ad07f60 --- /dev/null +++ b/fonts/other/redaction-100/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-100-latin-400-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-italic.woff2) format('woff2'), url(./files/redaction-100-latin-400-italic.woff) format('woff'); +} + +/* redaction-100-latin-700-italic */ +@font-face { + font-family: 'Redaction 100'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-italic.woff2) format('woff2'), url(./files/redaction-100-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/latin.css b/fonts/other/redaction-100/latin.css new file mode 100644 index 00000000000..c626247c54b --- /dev/null +++ b/fonts/other/redaction-100/latin.css @@ -0,0 +1,17 @@ +/* redaction-100-latin-400-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-100-latin-400-normal.woff2) format('woff2'), url(./files/redaction-100-latin-400-normal.woff) format('woff'); +} + +/* redaction-100-latin-700-normal */ +@font-face { + font-family: 'Redaction 100'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-100-latin-700-normal.woff2) format('woff2'), url(./files/redaction-100-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-100/metadata.json b/fonts/other/redaction-100/metadata.json new file mode 100644 index 00000000000..dd55cce272c --- /dev/null +++ b/fonts/other/redaction-100/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-100", + "family": "Redaction 100", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-07", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction-100/package.json b/fonts/other/redaction-100/package.json new file mode 100644 index 00000000000..f18dea6f0f7 --- /dev/null +++ b/fonts/other/redaction-100/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-100", + "version": "5.0.0", + "description": "Self-host the Redaction 100 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-100", + "Redaction 100", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-100", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-100" + } +} \ No newline at end of file diff --git a/fonts/other/redaction-100/scss/metadata.scss b/fonts/other/redaction-100/scss/metadata.scss new file mode 100644 index 00000000000..967854860b3 --- /dev/null +++ b/fonts/other/redaction-100/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-100' !default; +$family: 'Redaction 100' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-100/scss/mixins.scss b/fonts/other/redaction-100/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-100/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/redaction-100/unicode.json b/fonts/other/redaction-100/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-100/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction-20/400-italic.css b/fonts/other/redaction-20/400-italic.css new file mode 100644 index 00000000000..a1cd7ed0ba4 --- /dev/null +++ b/fonts/other/redaction-20/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-400-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-italic.woff2) format('woff2'), url(./files/redaction-20-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/400.css b/fonts/other/redaction-20/400.css new file mode 100644 index 00000000000..b5c830da50e --- /dev/null +++ b/fonts/other/redaction-20/400.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-400-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-normal.woff2) format('woff2'), url(./files/redaction-20-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/700-italic.css b/fonts/other/redaction-20/700-italic.css new file mode 100644 index 00000000000..06f89641847 --- /dev/null +++ b/fonts/other/redaction-20/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-700-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-italic.woff2) format('woff2'), url(./files/redaction-20-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/700.css b/fonts/other/redaction-20/700.css new file mode 100644 index 00000000000..af5f63fddcb --- /dev/null +++ b/fonts/other/redaction-20/700.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-700-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-normal.woff2) format('woff2'), url(./files/redaction-20-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/CHANGELOG.md b/fonts/other/redaction-20/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-20/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/redaction-20/LICENSE b/fonts/other/redaction-20/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-20/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-20/README.md b/fonts/other/redaction-20/README.md new file mode 100644 index 00000000000..27febd36a05 --- /dev/null +++ b/fonts/other/redaction-20/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 20 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-20?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-20) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-20)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-20)](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 “Redaction 20” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-20) 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/redaction-20 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-20"; // Defaults to weight 400 +import "@fontsource/redaction-20/400.css"; // Specify weight +import "@fontsource/redaction-20/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-20). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 20"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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). diff --git a/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff b/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff new file mode 100644 index 00000000000..a55392c2a75 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff2 b/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff2 new file mode 100644 index 00000000000..72fc2066229 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff b/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff new file mode 100644 index 00000000000..eb22ff3dc09 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff2 b/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff2 new file mode 100644 index 00000000000..adbe2704ba0 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff b/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff new file mode 100644 index 00000000000..8cf63f16285 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff2 b/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff2 new file mode 100644 index 00000000000..c4e29e56cf7 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff b/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff new file mode 100644 index 00000000000..8cf63f16285 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff differ diff --git a/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff2 b/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff2 new file mode 100644 index 00000000000..c4e29e56cf7 Binary files /dev/null and b/fonts/other/redaction-20/files/redaction-20-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-20/index.css b/fonts/other/redaction-20/index.css new file mode 100644 index 00000000000..b5c830da50e --- /dev/null +++ b/fonts/other/redaction-20/index.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-400-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-normal.woff2) format('woff2'), url(./files/redaction-20-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin-400-italic.css b/fonts/other/redaction-20/latin-400-italic.css new file mode 100644 index 00000000000..a1cd7ed0ba4 --- /dev/null +++ b/fonts/other/redaction-20/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-400-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-italic.woff2) format('woff2'), url(./files/redaction-20-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin-400.css b/fonts/other/redaction-20/latin-400.css new file mode 100644 index 00000000000..b5c830da50e --- /dev/null +++ b/fonts/other/redaction-20/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-400-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-normal.woff2) format('woff2'), url(./files/redaction-20-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin-700-italic.css b/fonts/other/redaction-20/latin-700-italic.css new file mode 100644 index 00000000000..06f89641847 --- /dev/null +++ b/fonts/other/redaction-20/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-700-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-italic.woff2) format('woff2'), url(./files/redaction-20-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin-700.css b/fonts/other/redaction-20/latin-700.css new file mode 100644 index 00000000000..af5f63fddcb --- /dev/null +++ b/fonts/other/redaction-20/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-20-latin-700-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-normal.woff2) format('woff2'), url(./files/redaction-20-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin-italic.css b/fonts/other/redaction-20/latin-italic.css new file mode 100644 index 00000000000..56421e1008d --- /dev/null +++ b/fonts/other/redaction-20/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-20-latin-400-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-italic.woff2) format('woff2'), url(./files/redaction-20-latin-400-italic.woff) format('woff'); +} + +/* redaction-20-latin-700-italic */ +@font-face { + font-family: 'Redaction 20'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-italic.woff2) format('woff2'), url(./files/redaction-20-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/latin.css b/fonts/other/redaction-20/latin.css new file mode 100644 index 00000000000..9deab1cf31d --- /dev/null +++ b/fonts/other/redaction-20/latin.css @@ -0,0 +1,17 @@ +/* redaction-20-latin-400-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-20-latin-400-normal.woff2) format('woff2'), url(./files/redaction-20-latin-400-normal.woff) format('woff'); +} + +/* redaction-20-latin-700-normal */ +@font-face { + font-family: 'Redaction 20'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-20-latin-700-normal.woff2) format('woff2'), url(./files/redaction-20-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-20/metadata.json b/fonts/other/redaction-20/metadata.json new file mode 100644 index 00000000000..5f131e35344 --- /dev/null +++ b/fonts/other/redaction-20/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-20", + "family": "Redaction 20", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-07", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} diff --git a/fonts/other/redaction-20/package.json b/fonts/other/redaction-20/package.json new file mode 100644 index 00000000000..08e72ef3879 --- /dev/null +++ b/fonts/other/redaction-20/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-20", + "version": "5.0.0", + "description": "Self-host the Redaction 20 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-20", + "Redaction 20", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-20", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-20" + } +} diff --git a/fonts/other/redaction-20/scss/metadata.scss b/fonts/other/redaction-20/scss/metadata.scss new file mode 100644 index 00000000000..8886ec9b239 --- /dev/null +++ b/fonts/other/redaction-20/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-20' !default; +$family: 'Redaction 20' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-20/scss/mixins.scss b/fonts/other/redaction-20/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-20/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/redaction-20/unicode.json b/fonts/other/redaction-20/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-20/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction-35/400-italic.css b/fonts/other/redaction-35/400-italic.css new file mode 100644 index 00000000000..526b8986066 --- /dev/null +++ b/fonts/other/redaction-35/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-400-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-italic.woff2) format('woff2'), url(./files/redaction-35-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/400.css b/fonts/other/redaction-35/400.css new file mode 100644 index 00000000000..1ee16232b73 --- /dev/null +++ b/fonts/other/redaction-35/400.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-400-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-normal.woff2) format('woff2'), url(./files/redaction-35-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/700-italic.css b/fonts/other/redaction-35/700-italic.css new file mode 100644 index 00000000000..473f609da5e --- /dev/null +++ b/fonts/other/redaction-35/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-700-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-italic.woff2) format('woff2'), url(./files/redaction-35-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/700.css b/fonts/other/redaction-35/700.css new file mode 100644 index 00000000000..735d7d94731 --- /dev/null +++ b/fonts/other/redaction-35/700.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-700-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-normal.woff2) format('woff2'), url(./files/redaction-35-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/CHANGELOG.md b/fonts/other/redaction-35/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-35/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/redaction-35/LICENSE b/fonts/other/redaction-35/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-35/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-35/README.md b/fonts/other/redaction-35/README.md new file mode 100644 index 00000000000..fb2d4aa91ed --- /dev/null +++ b/fonts/other/redaction-35/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 35 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-35?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-35) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-35)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-35)](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 “Redaction 35” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-35) 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/redaction-35 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-35"; // Defaults to weight 400 +import "@fontsource/redaction-35/400.css"; // Specify weight +import "@fontsource/redaction-35/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-35). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 35"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction-35/files/redaction-35-latin-400-italic.woff b/fonts/other/redaction-35/files/redaction-35-latin-400-italic.woff new file mode 100644 index 00000000000..9f79602abf5 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-400-italic.woff differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-400-italic.woff2 b/fonts/other/redaction-35/files/redaction-35-latin-400-italic.woff2 new file mode 100644 index 00000000000..18e54ff100c Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff b/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff new file mode 100644 index 00000000000..606825f09c5 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff2 b/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff2 new file mode 100644 index 00000000000..52a9ff67ef1 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff b/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff new file mode 100644 index 00000000000..6fd1d097904 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff2 b/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff2 new file mode 100644 index 00000000000..737e8be44b0 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff b/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff new file mode 100644 index 00000000000..6fd1d097904 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff differ diff --git a/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff2 b/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff2 new file mode 100644 index 00000000000..737e8be44b0 Binary files /dev/null and b/fonts/other/redaction-35/files/redaction-35-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-35/index.css b/fonts/other/redaction-35/index.css new file mode 100644 index 00000000000..1ee16232b73 --- /dev/null +++ b/fonts/other/redaction-35/index.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-400-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-normal.woff2) format('woff2'), url(./files/redaction-35-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin-400-italic.css b/fonts/other/redaction-35/latin-400-italic.css new file mode 100644 index 00000000000..526b8986066 --- /dev/null +++ b/fonts/other/redaction-35/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-400-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-italic.woff2) format('woff2'), url(./files/redaction-35-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin-400.css b/fonts/other/redaction-35/latin-400.css new file mode 100644 index 00000000000..1ee16232b73 --- /dev/null +++ b/fonts/other/redaction-35/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-400-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-normal.woff2) format('woff2'), url(./files/redaction-35-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin-700-italic.css b/fonts/other/redaction-35/latin-700-italic.css new file mode 100644 index 00000000000..473f609da5e --- /dev/null +++ b/fonts/other/redaction-35/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-700-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-italic.woff2) format('woff2'), url(./files/redaction-35-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin-700.css b/fonts/other/redaction-35/latin-700.css new file mode 100644 index 00000000000..735d7d94731 --- /dev/null +++ b/fonts/other/redaction-35/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-35-latin-700-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-normal.woff2) format('woff2'), url(./files/redaction-35-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin-italic.css b/fonts/other/redaction-35/latin-italic.css new file mode 100644 index 00000000000..51ddf4d8bdd --- /dev/null +++ b/fonts/other/redaction-35/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-35-latin-400-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-italic.woff2) format('woff2'), url(./files/redaction-35-latin-400-italic.woff) format('woff'); +} + +/* redaction-35-latin-700-italic */ +@font-face { + font-family: 'Redaction 35'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-italic.woff2) format('woff2'), url(./files/redaction-35-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/latin.css b/fonts/other/redaction-35/latin.css new file mode 100644 index 00000000000..7b4596638f2 --- /dev/null +++ b/fonts/other/redaction-35/latin.css @@ -0,0 +1,17 @@ +/* redaction-35-latin-400-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-35-latin-400-normal.woff2) format('woff2'), url(./files/redaction-35-latin-400-normal.woff) format('woff'); +} + +/* redaction-35-latin-700-normal */ +@font-face { + font-family: 'Redaction 35'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-35-latin-700-normal.woff2) format('woff2'), url(./files/redaction-35-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-35/metadata.json b/fonts/other/redaction-35/metadata.json new file mode 100644 index 00000000000..baf60b1e067 --- /dev/null +++ b/fonts/other/redaction-35/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-35", + "family": "Redaction 35", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-07", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction-35/package.json b/fonts/other/redaction-35/package.json new file mode 100644 index 00000000000..8bb8cbaa609 --- /dev/null +++ b/fonts/other/redaction-35/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-35", + "version": "5.0.0", + "description": "Self-host the Redaction 35 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-35", + "Redaction 35", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-35", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-35" + } +} \ No newline at end of file diff --git a/fonts/other/redaction-35/scss/metadata.scss b/fonts/other/redaction-35/scss/metadata.scss new file mode 100644 index 00000000000..3ab30fc5819 --- /dev/null +++ b/fonts/other/redaction-35/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-35' !default; +$family: 'Redaction 35' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-35/scss/mixins.scss b/fonts/other/redaction-35/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-35/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/redaction-35/unicode.json b/fonts/other/redaction-35/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-35/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction-50/400-italic.css b/fonts/other/redaction-50/400-italic.css new file mode 100644 index 00000000000..3931e974601 --- /dev/null +++ b/fonts/other/redaction-50/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-400-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-italic.woff2) format('woff2'), url(./files/redaction-50-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/400.css b/fonts/other/redaction-50/400.css new file mode 100644 index 00000000000..2c27c183233 --- /dev/null +++ b/fonts/other/redaction-50/400.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-400-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-normal.woff2) format('woff2'), url(./files/redaction-50-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/700-italic.css b/fonts/other/redaction-50/700-italic.css new file mode 100644 index 00000000000..f60337399e9 --- /dev/null +++ b/fonts/other/redaction-50/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-700-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-italic.woff2) format('woff2'), url(./files/redaction-50-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/700.css b/fonts/other/redaction-50/700.css new file mode 100644 index 00000000000..cfb9d153c2d --- /dev/null +++ b/fonts/other/redaction-50/700.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-700-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-normal.woff2) format('woff2'), url(./files/redaction-50-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/CHANGELOG.md b/fonts/other/redaction-50/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-50/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/redaction-50/LICENSE b/fonts/other/redaction-50/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-50/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-50/README.md b/fonts/other/redaction-50/README.md new file mode 100644 index 00000000000..6e87798dccd --- /dev/null +++ b/fonts/other/redaction-50/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 50 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-50?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-50) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-50)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-50)](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 “Redaction 50” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-50) 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/redaction-50 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-50"; // Defaults to weight 400 +import "@fontsource/redaction-50/400.css"; // Specify weight +import "@fontsource/redaction-50/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-50). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 50"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction-50/files/redaction-50-latin-400-italic.woff b/fonts/other/redaction-50/files/redaction-50-latin-400-italic.woff new file mode 100644 index 00000000000..0827aea80c4 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-400-italic.woff differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-400-italic.woff2 b/fonts/other/redaction-50/files/redaction-50-latin-400-italic.woff2 new file mode 100644 index 00000000000..13e52f0dbe0 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff b/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff new file mode 100644 index 00000000000..3b8b174ebc9 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff2 b/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff2 new file mode 100644 index 00000000000..26ea3489673 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff b/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff new file mode 100644 index 00000000000..b7a2f6f891c Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff2 b/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff2 new file mode 100644 index 00000000000..af22835e272 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff b/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff new file mode 100644 index 00000000000..b7a2f6f891c Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff differ diff --git a/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff2 b/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff2 new file mode 100644 index 00000000000..af22835e272 Binary files /dev/null and b/fonts/other/redaction-50/files/redaction-50-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-50/index.css b/fonts/other/redaction-50/index.css new file mode 100644 index 00000000000..2c27c183233 --- /dev/null +++ b/fonts/other/redaction-50/index.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-400-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-normal.woff2) format('woff2'), url(./files/redaction-50-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin-400-italic.css b/fonts/other/redaction-50/latin-400-italic.css new file mode 100644 index 00000000000..3931e974601 --- /dev/null +++ b/fonts/other/redaction-50/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-400-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-italic.woff2) format('woff2'), url(./files/redaction-50-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin-400.css b/fonts/other/redaction-50/latin-400.css new file mode 100644 index 00000000000..2c27c183233 --- /dev/null +++ b/fonts/other/redaction-50/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-400-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-normal.woff2) format('woff2'), url(./files/redaction-50-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin-700-italic.css b/fonts/other/redaction-50/latin-700-italic.css new file mode 100644 index 00000000000..f60337399e9 --- /dev/null +++ b/fonts/other/redaction-50/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-700-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-italic.woff2) format('woff2'), url(./files/redaction-50-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin-700.css b/fonts/other/redaction-50/latin-700.css new file mode 100644 index 00000000000..cfb9d153c2d --- /dev/null +++ b/fonts/other/redaction-50/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-50-latin-700-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-normal.woff2) format('woff2'), url(./files/redaction-50-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin-italic.css b/fonts/other/redaction-50/latin-italic.css new file mode 100644 index 00000000000..8822d8cc0c9 --- /dev/null +++ b/fonts/other/redaction-50/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-50-latin-400-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-italic.woff2) format('woff2'), url(./files/redaction-50-latin-400-italic.woff) format('woff'); +} + +/* redaction-50-latin-700-italic */ +@font-face { + font-family: 'Redaction 50'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-italic.woff2) format('woff2'), url(./files/redaction-50-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/latin.css b/fonts/other/redaction-50/latin.css new file mode 100644 index 00000000000..b47e9437bbe --- /dev/null +++ b/fonts/other/redaction-50/latin.css @@ -0,0 +1,17 @@ +/* redaction-50-latin-400-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-50-latin-400-normal.woff2) format('woff2'), url(./files/redaction-50-latin-400-normal.woff) format('woff'); +} + +/* redaction-50-latin-700-normal */ +@font-face { + font-family: 'Redaction 50'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-50-latin-700-normal.woff2) format('woff2'), url(./files/redaction-50-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-50/metadata.json b/fonts/other/redaction-50/metadata.json new file mode 100644 index 00000000000..c3ad224b84d --- /dev/null +++ b/fonts/other/redaction-50/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-50", + "family": "Redaction 50", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-07", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction-50/package.json b/fonts/other/redaction-50/package.json new file mode 100644 index 00000000000..1c413c84ac6 --- /dev/null +++ b/fonts/other/redaction-50/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-50", + "version": "5.0.0", + "description": "Self-host the Redaction 50 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-50", + "Redaction 50", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-50", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-50" + } +} \ No newline at end of file diff --git a/fonts/other/redaction-50/scss/metadata.scss b/fonts/other/redaction-50/scss/metadata.scss new file mode 100644 index 00000000000..571f36bf6e4 --- /dev/null +++ b/fonts/other/redaction-50/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-50' !default; +$family: 'Redaction 50' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-50/scss/mixins.scss b/fonts/other/redaction-50/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-50/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/redaction-50/unicode.json b/fonts/other/redaction-50/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-50/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction-70/400-italic.css b/fonts/other/redaction-70/400-italic.css new file mode 100644 index 00000000000..b1de1ff7b8f --- /dev/null +++ b/fonts/other/redaction-70/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-400-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-italic.woff2) format('woff2'), url(./files/redaction-70-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/400.css b/fonts/other/redaction-70/400.css new file mode 100644 index 00000000000..49322a4b4b9 --- /dev/null +++ b/fonts/other/redaction-70/400.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-400-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-normal.woff2) format('woff2'), url(./files/redaction-70-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/700-italic.css b/fonts/other/redaction-70/700-italic.css new file mode 100644 index 00000000000..9bf042637d3 --- /dev/null +++ b/fonts/other/redaction-70/700-italic.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-700-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-italic.woff2) format('woff2'), url(./files/redaction-70-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/700.css b/fonts/other/redaction-70/700.css new file mode 100644 index 00000000000..e59fbc49156 --- /dev/null +++ b/fonts/other/redaction-70/700.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-700-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-normal.woff2) format('woff2'), url(./files/redaction-70-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/CHANGELOG.md b/fonts/other/redaction-70/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction-70/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/redaction-70/LICENSE b/fonts/other/redaction-70/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction-70/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction-70/README.md b/fonts/other/redaction-70/README.md new file mode 100644 index 00000000000..7ac3697b531 --- /dev/null +++ b/fonts/other/redaction-70/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction 70 + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction-70?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction-70) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction-70)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction-70)](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 “Redaction 70” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction-70) 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/redaction-70 +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction-70"; // Defaults to weight 400 +import "@fontsource/redaction-70/400.css"; // Specify weight +import "@fontsource/redaction-70/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction-70). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction 70"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction-70/files/redaction-70-latin-400-italic.woff b/fonts/other/redaction-70/files/redaction-70-latin-400-italic.woff new file mode 100644 index 00000000000..09576938dc7 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-400-italic.woff differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-400-italic.woff2 b/fonts/other/redaction-70/files/redaction-70-latin-400-italic.woff2 new file mode 100644 index 00000000000..e97449d023f Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff b/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff new file mode 100644 index 00000000000..fbf893ef5c9 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff2 b/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff2 new file mode 100644 index 00000000000..4ccafe4c57a Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff b/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff new file mode 100644 index 00000000000..477ec91a032 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff2 b/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff2 new file mode 100644 index 00000000000..929a5999c63 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff b/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff new file mode 100644 index 00000000000..477ec91a032 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff differ diff --git a/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff2 b/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff2 new file mode 100644 index 00000000000..929a5999c63 Binary files /dev/null and b/fonts/other/redaction-70/files/redaction-70-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction-70/index.css b/fonts/other/redaction-70/index.css new file mode 100644 index 00000000000..49322a4b4b9 --- /dev/null +++ b/fonts/other/redaction-70/index.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-400-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-normal.woff2) format('woff2'), url(./files/redaction-70-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin-400-italic.css b/fonts/other/redaction-70/latin-400-italic.css new file mode 100644 index 00000000000..b1de1ff7b8f --- /dev/null +++ b/fonts/other/redaction-70/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-400-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-italic.woff2) format('woff2'), url(./files/redaction-70-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin-400.css b/fonts/other/redaction-70/latin-400.css new file mode 100644 index 00000000000..49322a4b4b9 --- /dev/null +++ b/fonts/other/redaction-70/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-400-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-normal.woff2) format('woff2'), url(./files/redaction-70-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin-700-italic.css b/fonts/other/redaction-70/latin-700-italic.css new file mode 100644 index 00000000000..9bf042637d3 --- /dev/null +++ b/fonts/other/redaction-70/latin-700-italic.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-700-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-italic.woff2) format('woff2'), url(./files/redaction-70-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin-700.css b/fonts/other/redaction-70/latin-700.css new file mode 100644 index 00000000000..e59fbc49156 --- /dev/null +++ b/fonts/other/redaction-70/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-70-latin-700-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-normal.woff2) format('woff2'), url(./files/redaction-70-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin-italic.css b/fonts/other/redaction-70/latin-italic.css new file mode 100644 index 00000000000..c32213944f8 --- /dev/null +++ b/fonts/other/redaction-70/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-70-latin-400-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-italic.woff2) format('woff2'), url(./files/redaction-70-latin-400-italic.woff) format('woff'); +} + +/* redaction-70-latin-700-italic */ +@font-face { + font-family: 'Redaction 70'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-italic.woff2) format('woff2'), url(./files/redaction-70-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/latin.css b/fonts/other/redaction-70/latin.css new file mode 100644 index 00000000000..59a0a1e0775 --- /dev/null +++ b/fonts/other/redaction-70/latin.css @@ -0,0 +1,17 @@ +/* redaction-70-latin-400-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-70-latin-400-normal.woff2) format('woff2'), url(./files/redaction-70-latin-400-normal.woff) format('woff'); +} + +/* redaction-70-latin-700-normal */ +@font-face { + font-family: 'Redaction 70'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-70-latin-700-normal.woff2) format('woff2'), url(./files/redaction-70-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction-70/metadata.json b/fonts/other/redaction-70/metadata.json new file mode 100644 index 00000000000..ea9fe53bd7c --- /dev/null +++ b/fonts/other/redaction-70/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction-70", + "family": "Redaction 70", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-07", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction-70/package.json b/fonts/other/redaction-70/package.json new file mode 100644 index 00000000000..a8756f7a38e --- /dev/null +++ b/fonts/other/redaction-70/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction-70", + "version": "5.0.0", + "description": "Self-host the Redaction 70 font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction-70", + "Redaction 70", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction-70", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction-70" + } +} \ No newline at end of file diff --git a/fonts/other/redaction-70/scss/metadata.scss b/fonts/other/redaction-70/scss/metadata.scss new file mode 100644 index 00000000000..519e00d782c --- /dev/null +++ b/fonts/other/redaction-70/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction-70' !default; +$family: 'Redaction 70' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction-70/scss/mixins.scss b/fonts/other/redaction-70/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction-70/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/redaction-70/unicode.json b/fonts/other/redaction-70/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction-70/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/fonts/other/redaction/400-italic.css b/fonts/other/redaction/400-italic.css new file mode 100644 index 00000000000..04eb3270121 --- /dev/null +++ b/fonts/other/redaction/400-italic.css @@ -0,0 +1,8 @@ +/* redaction-latin-400-italic */ +@font-face { + font-family: 'Redaction'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-italic.woff2) format('woff2'), url(./files/redaction-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/400.css b/fonts/other/redaction/400.css new file mode 100644 index 00000000000..e867f309017 --- /dev/null +++ b/fonts/other/redaction/400.css @@ -0,0 +1,8 @@ +/* redaction-latin-400-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-normal.woff2) format('woff2'), url(./files/redaction-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/700.css b/fonts/other/redaction/700.css new file mode 100644 index 00000000000..7fae15e8ab0 --- /dev/null +++ b/fonts/other/redaction/700.css @@ -0,0 +1,8 @@ +/* redaction-latin-700-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-latin-700-normal.woff2) format('woff2'), url(./files/redaction-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/CHANGELOG.md b/fonts/other/redaction/CHANGELOG.md new file mode 100644 index 00000000000..e798685bbf8 --- /dev/null +++ b/fonts/other/redaction/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/redaction/LICENSE b/fonts/other/redaction/LICENSE new file mode 100644 index 00000000000..42c923c29d0 --- /dev/null +++ b/fonts/other/redaction/LICENSE @@ -0,0 +1,50 @@ +## License + +Copyright 2019 MCKL Inc. +This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1. and also the LGPL 2.1 + +The Open Font license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +The GNU LGPL can be found at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html + + + +#### 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. \ No newline at end of file diff --git a/fonts/other/redaction/README.md b/fonts/other/redaction/README.md new file mode 100644 index 00000000000..473cd3caec7 --- /dev/null +++ b/fonts/other/redaction/README.md @@ -0,0 +1,47 @@ +# Fontsource Redaction + +[![npm (scoped)](https://img.shields.io/npm/v/@fontsource/redaction?color=brightgreen)](https://www.npmjs.com/package/@fontsource/redaction) [![Generic badge](https://img.shields.io/badge/fontsource-passing-brightgreen)](https://github.com/fontsource/fontsource) [![Monthly downloads](https://badgen.net/npm/dm/@fontsource/redaction)](https://github.com/fontsource/fontsource) [![Total downloads](https://badgen.net/npm/dt/@fontsource/redaction)](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 “Redaction” font. Please visit the main [Fontsource website](https://fontsource.org/fonts/redaction) 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/redaction +``` + +Within your app entry file or site component, import it in. + +```javascript +import "@fontsource/redaction"; // Defaults to weight 400 +import "@fontsource/redaction/400.css"; // Specify weight +import "@fontsource/redaction/400-italic.css"; // Specify weight and style +``` + +Supported variables: +- Weights: `[400,700]` +- Styles: `[normal,italic]` +- 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/redaction). + +Finally, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS. + +```css +body { + font-family: "Redaction"; +} +``` + +## 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. + +Jeremy Mickel +[OFL-1.1](https://www.redaction.us/) + +## 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/redaction/files/redaction-latin-400-italic.woff b/fonts/other/redaction/files/redaction-latin-400-italic.woff new file mode 100644 index 00000000000..590e0d9b5e7 Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-400-italic.woff differ diff --git a/fonts/other/redaction/files/redaction-latin-400-italic.woff2 b/fonts/other/redaction/files/redaction-latin-400-italic.woff2 new file mode 100644 index 00000000000..1bd3c5c96e1 Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-400-italic.woff2 differ diff --git a/fonts/other/redaction/files/redaction-latin-400-normal.woff b/fonts/other/redaction/files/redaction-latin-400-normal.woff new file mode 100644 index 00000000000..2c7250a5d12 Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-400-normal.woff differ diff --git a/fonts/other/redaction/files/redaction-latin-400-normal.woff2 b/fonts/other/redaction/files/redaction-latin-400-normal.woff2 new file mode 100644 index 00000000000..d1876548fa8 Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-400-normal.woff2 differ diff --git a/fonts/other/redaction/files/redaction-latin-700-italic.woff b/fonts/other/redaction/files/redaction-latin-700-italic.woff new file mode 100644 index 00000000000..1e70bc735bf Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-700-italic.woff differ diff --git a/fonts/other/redaction/files/redaction-latin-700-italic.woff2 b/fonts/other/redaction/files/redaction-latin-700-italic.woff2 new file mode 100644 index 00000000000..392d60d822b Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-700-italic.woff2 differ diff --git a/fonts/other/redaction/files/redaction-latin-700-normal.woff b/fonts/other/redaction/files/redaction-latin-700-normal.woff new file mode 100644 index 00000000000..1e70bc735bf Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-700-normal.woff differ diff --git a/fonts/other/redaction/files/redaction-latin-700-normal.woff2 b/fonts/other/redaction/files/redaction-latin-700-normal.woff2 new file mode 100644 index 00000000000..392d60d822b Binary files /dev/null and b/fonts/other/redaction/files/redaction-latin-700-normal.woff2 differ diff --git a/fonts/other/redaction/index.css b/fonts/other/redaction/index.css new file mode 100644 index 00000000000..e867f309017 --- /dev/null +++ b/fonts/other/redaction/index.css @@ -0,0 +1,8 @@ +/* redaction-latin-400-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-normal.woff2) format('woff2'), url(./files/redaction-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/latin-400-italic.css b/fonts/other/redaction/latin-400-italic.css new file mode 100644 index 00000000000..04eb3270121 --- /dev/null +++ b/fonts/other/redaction/latin-400-italic.css @@ -0,0 +1,8 @@ +/* redaction-latin-400-italic */ +@font-face { + font-family: 'Redaction'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-italic.woff2) format('woff2'), url(./files/redaction-latin-400-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/latin-400.css b/fonts/other/redaction/latin-400.css new file mode 100644 index 00000000000..e867f309017 --- /dev/null +++ b/fonts/other/redaction/latin-400.css @@ -0,0 +1,8 @@ +/* redaction-latin-400-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-normal.woff2) format('woff2'), url(./files/redaction-latin-400-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/latin-700.css b/fonts/other/redaction/latin-700.css new file mode 100644 index 00000000000..7fae15e8ab0 --- /dev/null +++ b/fonts/other/redaction/latin-700.css @@ -0,0 +1,8 @@ +/* redaction-latin-700-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-latin-700-normal.woff2) format('woff2'), url(./files/redaction-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/latin-italic.css b/fonts/other/redaction/latin-italic.css new file mode 100644 index 00000000000..947ea998482 --- /dev/null +++ b/fonts/other/redaction/latin-italic.css @@ -0,0 +1,17 @@ +/* redaction-latin-400-italic */ +@font-face { + font-family: 'Redaction'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-italic.woff2) format('woff2'), url(./files/redaction-latin-400-italic.woff) format('woff'); +} + +/* redaction-latin-700-italic */ +@font-face { + font-family: 'Redaction'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-latin-700-italic.woff2) format('woff2'), url(./files/redaction-latin-700-italic.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/latin.css b/fonts/other/redaction/latin.css new file mode 100644 index 00000000000..2ba36663f58 --- /dev/null +++ b/fonts/other/redaction/latin.css @@ -0,0 +1,17 @@ +/* redaction-latin-400-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/redaction-latin-400-normal.woff2) format('woff2'), url(./files/redaction-latin-400-normal.woff) format('woff'); +} + +/* redaction-latin-700-normal */ +@font-face { + font-family: 'Redaction'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/redaction-latin-700-normal.woff2) format('woff2'), url(./files/redaction-latin-700-normal.woff) format('woff'); +} \ No newline at end of file diff --git a/fonts/other/redaction/metadata.json b/fonts/other/redaction/metadata.json new file mode 100644 index 00000000000..b91934b3412 --- /dev/null +++ b/fonts/other/redaction/metadata.json @@ -0,0 +1,19 @@ +{ + "id": "redaction", + "family": "Redaction", + "subsets": ["latin"], + "weights": [400, 700], + "styles": ["normal", "italic"], + "defSubset": "latin", + "variable": false, + "lastModified": "2024-04-06", + "version": "v1.0", + "category": "serif", + "license": { + "type": "OFL-1.1", + "url": "https://www.redaction.us/", + "attribution": "Jeremy Mickel" + }, + "source": "https://www.redaction.us/static/redaction.zip", + "type": "other" +} \ No newline at end of file diff --git a/fonts/other/redaction/package.json b/fonts/other/redaction/package.json new file mode 100644 index 00000000000..bdf83178f08 --- /dev/null +++ b/fonts/other/redaction/package.json @@ -0,0 +1,29 @@ +{ + "name": "@fontsource/redaction", + "version": "5.0.0", + "description": "Self-host the Redaction font in a neatly bundled NPM package.", + "main": "index.css", + "publishConfig": {"access": "public"}, + "keywords": [ + "fontsource", + "font", + "font family", + "google fonts", + "redaction", + "Redaction", + "css", + "sass", + "front-end", + "web", + "typeface", + "variable" + ], + "author": "Jeremy Mickel", + "license": "OFL-1.1", + "homepage": "https://fontsource.org/fonts/redaction", + "repository": { + "type": "git", + "url": "https://github.com/fontsource/font-files.git", + "directory": "fonts/other/redaction" + } +} \ No newline at end of file diff --git a/fonts/other/redaction/scss/metadata.scss b/fonts/other/redaction/scss/metadata.scss new file mode 100644 index 00000000000..df0c3b878cf --- /dev/null +++ b/fonts/other/redaction/scss/metadata.scss @@ -0,0 +1,14 @@ +$id: 'redaction' !default; +$family: 'Redaction' !default; +$category: serif !default; +$subsets: (latin) !default; +$weights: (400, 700) !default; +$styles: (normal, italic) !default; +$axes: null !default; +$defaults: ( + subset: latin, + weight: 400, + style: normal, + axis: null, +) !default; +$unicode: null !default; diff --git a/fonts/other/redaction/scss/mixins.scss b/fonts/other/redaction/scss/mixins.scss new file mode 100644 index 00000000000..4d1c6c3aaf7 --- /dev/null +++ b/fonts/other/redaction/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/redaction/unicode.json b/fonts/other/redaction/unicode.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/fonts/other/redaction/unicode.json @@ -0,0 +1 @@ +{} \ No newline at end of file