Add self-hosted Google Fonts infrastructure

- Create @font-face CSS files for Roboto, Noto Sans, Fira Sans
- Add download script for Google Fonts (download-google-fonts.sh)
- Add GOOGLE_FONTS_README.md with download instructions
- Font files ready for woff2 files to be added

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-07 20:42:51 +00:00
parent 4e81b95fdf
commit 6130302312
5 changed files with 351 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
/* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
This file is part of a Moko Consulting project.
SPDX-License-Identifier: GPL-3.0-or-later
# FILE INFORMATION
DEFGROUP: Joomla.Template.Site
INGROUP: MokoCassiopeia.Styles
PATH: ./media/templates/site/mokocassiopeia/css/fonts/fira-sans.css
VERSION: 03.08.05
BRIEF: Fira Sans font family definitions (self-hosted)
*/
/* Fira Sans Thin (100) */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url('../../fonts/fira-sans-v17-latin-100.woff2') format('woff2');
}
/* Fira Sans Light (300) */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../../fonts/fira-sans-v17-latin-300.woff2') format('woff2');
}
/* Fira Sans Regular (400) */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../fonts/fira-sans-v17-latin-regular.woff2') format('woff2');
}
/* Fira Sans Bold (700) */
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../fonts/fira-sans-v17-latin-700.woff2') format('woff2');
}

View File

@@ -0,0 +1,50 @@
/* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
This file is part of a Moko Consulting project.
SPDX-License-Identifier: GPL-3.0-or-later
# FILE INFORMATION
DEFGROUP: Joomla.Template.Site
INGROUP: MokoCassiopeia.Styles
PATH: ./media/templates/site/mokocassiopeia/css/fonts/noto-sans.css
VERSION: 03.08.05
BRIEF: Noto Sans font family definitions (self-hosted)
*/
/* Noto Sans Thin (100) */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url('../../fonts/noto-sans-v36-latin-100.woff2') format('woff2');
}
/* Noto Sans Light (300) */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../../fonts/noto-sans-v36-latin-300.woff2') format('woff2');
}
/* Noto Sans Regular (400) */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../fonts/noto-sans-v36-latin-regular.woff2') format('woff2');
}
/* Noto Sans Bold (700) */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../fonts/noto-sans-v36-latin-700.woff2') format('woff2');
}

View File

@@ -0,0 +1,50 @@
/* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
This file is part of a Moko Consulting project.
SPDX-License-Identifier: GPL-3.0-or-later
# FILE INFORMATION
DEFGROUP: Joomla.Template.Site
INGROUP: MokoCassiopeia.Styles
PATH: ./media/templates/site/mokocassiopeia/css/fonts/roboto.css
VERSION: 03.08.05
BRIEF: Roboto font family definitions (self-hosted)
*/
/* Roboto Thin (100) */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url('../../fonts/roboto-v30-latin-100.woff2') format('woff2');
}
/* Roboto Light (300) */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../../fonts/roboto-v30-latin-300.woff2') format('woff2');
}
/* Roboto Regular (400) */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../../fonts/roboto-v30-latin-regular.woff2') format('woff2');
}
/* Roboto Bold (700) */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../../fonts/roboto-v30-latin-700.woff2') format('woff2');
}