diff --git a/lib/font-logos/.github/workflows/release.yml b/lib/font-logos/.github/workflows/release.yml
deleted file mode 100644
index 08a58cf..0000000
--- a/lib/font-logos/.github/workflows/release.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-# This creates a Release Draft
-# Adjust the release message in the web GUI and publish the release there.
-
-name: Draft a Release
-
-on:
- workflow_dispatch:
-
-jobs:
- setup-release-draft:
- runs-on: ubuntu-latest
- steps:
- - name: Fetch repo
- uses: actions/checkout@v4
-
- - name: Fetch dependencies
- run: |
- sudo apt update -y -q
- sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q
- npm install nunjucks
-
- # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release
- # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10
- # On the other hand ... why not be on the latest release always?
- - name: Fetch FontForge
- run: |
- sudo apt install fuse -y -q
- curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \
- --output fontforge
- chmod u+x fontforge
- echo Try appimage
- ./fontforge --version
- export PATH=`pwd`:$PATH
- echo "PATH=$PATH" >> $GITHUB_ENV
- echo Try appimage with path
- fontforge --version
-
- - name: Determine version
- id: rel_ver
- run: |
- REL_VERSION=$(jq -r '.version' package.json)
- echo "Release version ${REL_VERSION}"
- echo "ver=${REL_VERSION}" >> $GITHUB_OUTPUT
-
- - name: Create the assets
- run: |
- make
-
- - name: Crate archive
- id: archive
- run: |
- make pack
- ZIPFILE=$(ls font-logos-*zip )
- echo "ZIPFILE=${ZIPFILE}"
- echo "filename=${ZIPFILE}" >> $GITHUB_OUTPUT
-
- - name: Adjust release tag
- uses: EndBug/latest-tag@v1
- with:
- ref: "v${{ steps.rel_ver.outputs.ver }}"
-
- - name: Create release draft
- uses: softprops/action-gh-release@v2
- with:
- draft: true
- tag_name: "v${{ steps.rel_ver.outputs.ver }}"
- files: |
- ${{ steps.archive.outputs.filename }}
- generate_release_notes: true
diff --git a/lib/font-logos/.github/workflows/release_npm.yml b/lib/font-logos/.github/workflows/release_npm.yml
deleted file mode 100644
index 4e52067..0000000
--- a/lib/font-logos/.github/workflows/release_npm.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-# This pushes out a new npm release
-# It will be triggered once the release draft is published
-
-name: Publish release to npm
-
-on:
- release:
- types:
- - released
- workflow_dispatch:
-
-jobs:
- npm-publish:
- runs-on: ubuntu-latest
- steps:
- - name: Fetch repo
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Check if we are on correct commit
- run: |
- REL_VERSION=v$(jq -r '.version' package.json)
- GIT_VERSION=$(git describe --tags)
- echo "Release version ${REL_VERSION}"
- echo "Git tag version ${GIT_VERSION}"
- if [ "${REL_VERSION}" != "${GIT_VERSION}" ]; then \
- echo "This is probably not what you want"; \
- exit 1; \
- fi
-
- - name: Fetch dependencies
- run: |
- sudo apt update -y -q
- sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q
- npm install nunjucks
-
- # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release
- # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10
- # On the other hand ... why not be on the latest release always?
- - name: Fetch FontForge
- run: |
- sudo apt install fuse -y -q
- curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \
- --output fontforge
- chmod u+x fontforge
- echo Try appimage
- ./fontforge --version
- export PATH=`pwd`:$PATH
- echo "PATH=$PATH" >> $GITHUB_ENV
- echo Try appimage with path
- fontforge --version
-
- - name: Setup .npmrc file to publish to npm
- uses: actions/setup-node@v4
- with:
- node-version: '20.x'
- registry-url: 'https://registry.npmjs.org'
-
- - name: Build the artifacts
- run: |
- npm ci
- make
-
- - name: Publish to npm
- run: |
- npm publish
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/lib/font-logos/.github/workflows/update-assets.yml b/lib/font-logos/.github/workflows/update-assets.yml
deleted file mode 100644
index 1f47b7e..0000000
--- a/lib/font-logos/.github/workflows/update-assets.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-name: Update assets
-
-on:
- push:
- branches: [ master ]
- paths:
- - icons.tsv
- - vectors/*
- workflow_dispatch:
-
-jobs:
- update_assets:
- runs-on: ubuntu-latest
- steps:
- - name: Fetch repo
- uses: actions/checkout@v4
-
- - name: Fetch dependencies
- run: |
- sudo apt update -y -q
- sudo apt install jq nodejs wkhtmltopdf -y -q
- npm install nunjucks
-
- # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release
- # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10
- # On the other hand ... why not be on the latest release always?
- - name: Fetch FontForge
- run: |
- sudo apt install fuse -y -q
- curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \
- --output fontforge
- chmod u+x fontforge
- echo Try appimage
- ./fontforge --version
- export PATH=`pwd`:$PATH
- echo "PATH=$PATH" >> $GITHUB_ENV
- echo Try appimage with path
- fontforge --version
-
- - name: Create the assets
- run: |
- make
-
- - name: Commit preview image back to repo
- uses: EndBug/add-and-commit@v9
- with:
- add: 'assets/readme-header.png'
- message: "[ci] Update preview image"
- committer_name: GitHub Actions
- committer_email: 41898282+github-actions[bot]@users.noreply.github.com
-
- - name: Deploy assets to gh-pages
- uses: JamesIves/github-pages-deploy-action@v4
- with:
- folder: assets
- target-folder: assets
- commit-message: "[ci] Update assets"
- git-config-name: GitHub Actions
- git-config-email: 41898282+github-actions[bot]@users.noreply.github.com
- clean: false
diff --git a/lib/font-logos/.github/workflows/update_readme.yml b/lib/font-logos/.github/workflows/update_readme.yml
deleted file mode 100644
index ebd389b..0000000
--- a/lib/font-logos/.github/workflows/update_readme.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# This creates and commits an updated readme
-# It will be triggered once the release draft is published
-
-name: Update README
-
-on:
- release:
- types:
- - released
- workflow_dispatch:
-
-jobs:
- update-readme:
- runs-on: ubuntu-latest
- steps:
- - name: Fetch repo
- uses: actions/checkout@v4
-
- - name: Fetch dependencies
- run: |
- sudo apt update -y -q
- sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q
- npm install nunjucks
-
- # Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release
- # This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10
- # On the other hand ... why not be on the latest release always?
- - name: Fetch FontForge
- run: |
- sudo apt install fuse -y -q
- curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \
- --output fontforge
- chmod u+x fontforge
- echo Try appimage
- ./fontforge --version
- export PATH=`pwd`:$PATH
- echo "PATH=$PATH" >> $GITHUB_ENV
- echo Try appimage with path
- fontforge --version
-
- - name: Build the artifacts
- run: |
- npm ci
- make
-
- - name: Commit new README back to repo
- uses: EndBug/add-and-commit@v9
- with:
- add: 'README.md'
- message: "[ci] Update README.md"
- committer_name: GitHub Actions
- committer_email: 41898282+github-actions[bot]@users.noreply.github.com
diff --git a/lib/font-logos/.gitignore b/lib/font-logos/.gitignore
deleted file mode 100644
index 611a06f..0000000
--- a/lib/font-logos/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-assets/*
-!assets/readme-header.png
-!assets/README.md
-.fontcustom-manifest.json
-*.zip
-*.tgz
-Gemfile.lock
-node_modules
diff --git a/lib/font-logos/Makefile b/lib/font-logos/Makefile
deleted file mode 100644
index 4efe057..0000000
--- a/lib/font-logos/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-name := font-logos
-dest := assets
-out_json_ext := .out.json
-font_exts := .ttf .woff .woff2 $(out_json_ext)
-font_assets := $(foreach ext,$(font_exts),$(dest)/$(name)$(ext))
-json_file = $(dest)/$(name).json
-version = $(shell jq -r .version package.json)
-
-START_CODEPOINT ?= 0xf300
-preview_width := 888
-
-export START_CODEPOINT
-export FONT_NAME=$(name)
-export OUTPUT_DIR=$(dest)
-export JSON_FILE=$(json_file)
-export COPYRIGHT=Copyright (c) 2014-$(shell date '+%Y'), Lukas W
-export VENDORURL=$(shell jq -r .homepage package.json)
-
-all_files=$(font_assets) $(dest)/$(name).css $(dest)/preview.html $(dest)/readme-header.png README.md
-
-.PHONY: all
-all: $(all_files)
-
-.PHONY: pack
-pack: $(dest)/$(name)-$(version).zip
-
-$(name)-$(version).tgz: $(all_files)
- npm pack
-
-$(dest)/$(name)-$(version).zip: $(name)-$(version).tgz
- $(eval dir := $(shell mktemp -d))
- npm pack
- tar -xf $(name)-$(version).tgz -C $(dir)
- cd $(dir) && \
- mv $(dir)/package $(dir)/$(name)-$(version) && \
- zip -r $(shell pwd)/$(name)-$(version).zip $(name)-$(version)
- rm -r $(dir)
-
-.SECONDEXPANSION:
-
-$(json_file): scripts/generate-json.mjs icons.tsv package.json
- node scripts/generate-json.mjs
-
-$(font_assets)&: scripts/generate-font.py icons.tsv $(shell find vectors) $(json_file)
- if command -v fontforge; then \
- fontforge --script $(shell pwd)/$< ; \
- else \
- python $< ;\
- fi
-
-%: templates/$$*.njk icons.tsv scripts/render-template.mjs $(json_file) $(dest)/$(name)$(out_json_ext)
- node scripts/render-template.mjs $< $@
-
-$(dest)/readme-header.png: $(dest)/readme-header.html $(font_assets) $(dest)/font-logos.css
- wkhtmltoimage --enable-local-file-access --width $(preview_width) --disable-smart-width $< $@
diff --git a/lib/font-logos/assets/font-logos.css b/lib/font-logos/assets/font-logos.css
new file mode 100644
index 0000000..b867292
--- /dev/null
+++ b/lib/font-logos/assets/font-logos.css
@@ -0,0 +1,565 @@
+
+@font-face {
+ font-display: auto;
+ font-family: "font-logos";
+ font-style: normal;
+ font-weight: normal;
+ src:url("font-logos.woff?v=1.2.0") format("woff"),url("font-logos.woff2?v=1.2.0") format("woff2"),url("font-logos.ttf?v=1.2.0") format("truetype")}
+
+.fl-alpine::before,
+.fl-aosc::before,
+.fl-apple::before,
+.fl-archlinux::before,
+.fl-centos::before,
+.fl-coreos::before,
+.fl-debian::before,
+.fl-devuan::before,
+.fl-docker::before,
+.fl-elementary::before,
+.fl-fedora::before,
+.fl-fedora-inverse::before,
+.fl-freebsd::before,
+.fl-gentoo::before,
+.fl-linuxmint::before,
+.fl-linuxmint-inverse::before,
+.fl-mageia::before,
+.fl-mandriva::before,
+.fl-manjaro::before,
+.fl-nixos::before,
+.fl-opensuse::before,
+.fl-raspberry-pi::before,
+.fl-redhat::before,
+.fl-sabayon::before,
+.fl-slackware::before,
+.fl-slackware-inverse::before,
+.fl-tux::before,
+.fl-ubuntu::before,
+.fl-ubuntu-inverse::before,
+.fl-almalinux::before,
+.fl-archlabs::before,
+.fl-artix::before,
+.fl-budgie::before,
+.fl-deepin::before,
+.fl-endeavour::before,
+.fl-ferris::before,
+.fl-flathub::before,
+.fl-gnu-guix::before,
+.fl-illumos::before,
+.fl-kali-linux::before,
+.fl-openbsd::before,
+.fl-parrot::before,
+.fl-pop-os::before,
+.fl-rocky-linux::before,
+.fl-snappy::before,
+.fl-solus::before,
+.fl-void::before,
+.fl-zorin::before,
+.fl-codeberg::before,
+.fl-kde-neon::before,
+.fl-kde-plasma::before,
+.fl-kubuntu::before,
+.fl-kubuntu-inverse::before,
+.fl-forgejo::before,
+.fl-freecad::before,
+.fl-garuda::before,
+.fl-gimp::before,
+.fl-gitea::before,
+.fl-hyperbola::before,
+.fl-inkscape::before,
+.fl-kdenlive::before,
+.fl-krita::before,
+.fl-lxle::before,
+.fl-mxlinux::before,
+.fl-parabola::before,
+.fl-puppy::before,
+.fl-qubesos::before,
+.fl-tails::before,
+.fl-trisquel::before,
+.fl-archcraft::before,
+.fl-arcolinux::before,
+.fl-biglinux::before,
+.fl-crystal::before,
+.fl-locos::before,
+.fl-xerolinux::before,
+.fl-arduino::before,
+.fl-kicad::before,
+.fl-octoprint::before,
+.fl-openscad::before,
+.fl-osh::before,
+.fl-oshwa::before,
+.fl-prusaslicer::before,
+.fl-reprap::before,
+.fl-riscv::before,
+.fl-awesome::before,
+.fl-bspwm::before,
+.fl-dwm::before,
+.fl-enlightenment::before,
+.fl-fluxbox::before,
+.fl-hyprland::before,
+.fl-i3::before,
+.fl-jwm::before,
+.fl-qtile::before,
+.fl-sway::before,
+.fl-xmonad::before,
+.fl-cinnamon::before,
+.fl-freedesktop::before,
+.fl-gnome::before,
+.fl-gtk::before,
+.fl-lxde::before,
+.fl-lxqt::before,
+.fl-mate::before,
+.fl-vanilla::before,
+.fl-wayland::before,
+.fl-xfce::before,
+.fl-xorg::before,
+.fl-fdroid::before,
+.fl-fosdem::before,
+.fl-osi::before,
+.fl-wikimedia::before,
+.fl-mpv::before,
+.fl-neovim::before,
+.fl-thunderbird::before,
+.fl-tor::before,
+.fl-vscodium::before,
+.fl-kde::before,
+.fl-postmarketos::before,
+.fl-qt::before,
+.fl-libreoffice::before,
+.fl-libreofficebase::before,
+.fl-libreofficecalc::before,
+.fl-libreofficedraw::before,
+.fl-libreofficeimpress::before,
+.fl-libreofficemath::before,
+.fl-libreofficewriter::before,
+.fl-tumbleweed::before,
+.fl-leap::before,
+.fl-typst::before,
+.fl-nobara::before
+ {
+ display: inline-block;
+ font-family: "font-logos";
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-smoothing: antialiased;
+}
+
+.fl-fw {
+ text-align: center;
+ width: 1em;
+}
+.fl-alpine::before {
+ content: "\f300";
+}
+.fl-aosc::before {
+ content: "\f301";
+}
+.fl-apple::before {
+ content: "\f302";
+}
+.fl-archlinux::before {
+ content: "\f303";
+}
+.fl-centos::before {
+ content: "\f304";
+}
+.fl-coreos::before {
+ content: "\f305";
+}
+.fl-debian::before {
+ content: "\f306";
+}
+.fl-devuan::before {
+ content: "\f307";
+}
+.fl-docker::before {
+ content: "\f308";
+}
+.fl-elementary::before {
+ content: "\f309";
+}
+.fl-fedora::before {
+ content: "\f30a";
+}
+.fl-fedora-inverse::before {
+ content: "\f30b";
+}
+.fl-freebsd::before {
+ content: "\f30c";
+}
+.fl-gentoo::before {
+ content: "\f30d";
+}
+.fl-linuxmint::before {
+ content: "\f30e";
+}
+.fl-linuxmint-inverse::before {
+ content: "\f30f";
+}
+.fl-mageia::before {
+ content: "\f310";
+}
+.fl-mandriva::before {
+ content: "\f311";
+}
+.fl-manjaro::before {
+ content: "\f312";
+}
+.fl-nixos::before {
+ content: "\f313";
+}
+.fl-opensuse::before {
+ content: "\f314";
+}
+.fl-raspberry-pi::before {
+ content: "\f315";
+}
+.fl-redhat::before {
+ content: "\f316";
+}
+.fl-sabayon::before {
+ content: "\f317";
+}
+.fl-slackware::before {
+ content: "\f318";
+}
+.fl-slackware-inverse::before {
+ content: "\f319";
+}
+.fl-tux::before {
+ content: "\f31a";
+}
+.fl-ubuntu::before {
+ content: "\f31b";
+}
+.fl-ubuntu-inverse::before {
+ content: "\f31c";
+}
+.fl-almalinux::before {
+ content: "\f31d";
+}
+.fl-archlabs::before {
+ content: "\f31e";
+}
+.fl-artix::before {
+ content: "\f31f";
+}
+.fl-budgie::before {
+ content: "\f320";
+}
+.fl-deepin::before {
+ content: "\f321";
+}
+.fl-endeavour::before {
+ content: "\f322";
+}
+.fl-ferris::before {
+ content: "\f323";
+}
+.fl-flathub::before {
+ content: "\f324";
+}
+.fl-gnu-guix::before {
+ content: "\f325";
+}
+.fl-illumos::before {
+ content: "\f326";
+}
+.fl-kali-linux::before {
+ content: "\f327";
+}
+.fl-fw.fl-kali-linux::before {
+ font-size: 0.7496339677891655em;
+ line-height: 1.333984375em;
+}
+.fl-openbsd::before {
+ content: "\f328";
+}
+.fl-fw.fl-openbsd::before {
+ font-size: 0.9961089494163424em;
+ line-height: 1.00390625em;
+}
+.fl-parrot::before {
+ content: "\f329";
+}
+.fl-pop-os::before {
+ content: "\f32a";
+}
+.fl-rocky-linux::before {
+ content: "\f32b";
+}
+.fl-snappy::before {
+ content: "\f32c";
+}
+.fl-solus::before {
+ content: "\f32d";
+}
+.fl-void::before {
+ content: "\f32e";
+}
+.fl-zorin::before {
+ content: "\f32f";
+}
+.fl-codeberg::before {
+ content: "\f330";
+}
+.fl-kde-neon::before {
+ content: "\f331";
+}
+.fl-kde-plasma::before {
+ content: "\f332";
+}
+.fl-kubuntu::before {
+ content: "\f333";
+}
+.fl-kubuntu-inverse::before {
+ content: "\f334";
+}
+.fl-forgejo::before {
+ content: "\f335";
+}
+.fl-freecad::before {
+ content: "\f336";
+}
+.fl-garuda::before {
+ content: "\f337";
+}
+.fl-gimp::before {
+ content: "\f338";
+}
+.fl-gitea::before {
+ content: "\f339";
+}
+.fl-hyperbola::before {
+ content: "\f33a";
+}
+.fl-inkscape::before {
+ content: "\f33b";
+}
+.fl-kdenlive::before {
+ content: "\f33c";
+}
+.fl-krita::before {
+ content: "\f33d";
+}
+.fl-fw.fl-krita::before {
+ font-size: 0.9980506822612085em;
+ line-height: 1.001953125em;
+}
+.fl-lxle::before {
+ content: "\f33e";
+}
+.fl-mxlinux::before {
+ content: "\f33f";
+}
+.fl-parabola::before {
+ content: "\f340";
+}
+.fl-puppy::before {
+ content: "\f341";
+}
+.fl-qubesos::before {
+ content: "\f342";
+}
+.fl-tails::before {
+ content: "\f343";
+}
+.fl-trisquel::before {
+ content: "\f344";
+}
+.fl-fw.fl-trisquel::before {
+ font-size: 0.9980506822612085em;
+ line-height: 1.001953125em;
+}
+.fl-archcraft::before {
+ content: "\f345";
+}
+.fl-arcolinux::before {
+ content: "\f346";
+}
+.fl-biglinux::before {
+ content: "\f347";
+}
+.fl-crystal::before {
+ content: "\f348";
+}
+.fl-locos::before {
+ content: "\f349";
+}
+.fl-xerolinux::before {
+ content: "\f34a";
+}
+.fl-arduino::before {
+ content: "\f34b";
+}
+.fl-kicad::before {
+ content: "\f34c";
+}
+.fl-octoprint::before {
+ content: "\f34d";
+}
+.fl-openscad::before {
+ content: "\f34e";
+}
+.fl-osh::before {
+ content: "\f34f";
+}
+.fl-oshwa::before {
+ content: "\f350";
+}
+.fl-prusaslicer::before {
+ content: "\f351";
+}
+.fl-reprap::before {
+ content: "\f352";
+}
+.fl-riscv::before {
+ content: "\f353";
+}
+.fl-awesome::before {
+ content: "\f354";
+}
+.fl-bspwm::before {
+ content: "\f355";
+}
+.fl-dwm::before {
+ content: "\f356";
+}
+.fl-enlightenment::before {
+ content: "\f357";
+}
+.fl-fluxbox::before {
+ content: "\f358";
+}
+.fl-fw.fl-fluxbox::before {
+ font-size: 0.9980506822612085em;
+ line-height: 1.001953125em;
+}
+.fl-hyprland::before {
+ content: "\f359";
+}
+.fl-i3::before {
+ content: "\f35a";
+}
+.fl-jwm::before {
+ content: "\f35b";
+}
+.fl-qtile::before {
+ content: "\f35c";
+}
+.fl-sway::before {
+ content: "\f35d";
+}
+.fl-xmonad::before {
+ content: "\f35e";
+}
+.fl-cinnamon::before {
+ content: "\f35f";
+}
+.fl-freedesktop::before {
+ content: "\f360";
+}
+.fl-fw.fl-freedesktop::before {
+ font-size: 0.9961089494163424em;
+ line-height: 1.00390625em;
+}
+.fl-gnome::before {
+ content: "\f361";
+}
+.fl-gtk::before {
+ content: "\f362";
+}
+.fl-lxde::before {
+ content: "\f363";
+}
+.fl-lxqt::before {
+ content: "\f364";
+}
+.fl-mate::before {
+ content: "\f365";
+}
+.fl-vanilla::before {
+ content: "\f366";
+}
+.fl-wayland::before {
+ content: "\f367";
+}
+.fl-xfce::before {
+ content: "\f368";
+}
+.fl-xorg::before {
+ content: "\f369";
+}
+.fl-fdroid::before {
+ content: "\f36a";
+}
+.fl-fosdem::before {
+ content: "\f36b";
+}
+.fl-osi::before {
+ content: "\f36c";
+}
+.fl-wikimedia::before {
+ content: "\f36d";
+}
+.fl-mpv::before {
+ content: "\f36e";
+}
+.fl-neovim::before {
+ content: "\f36f";
+}
+.fl-thunderbird::before {
+ content: "\f370";
+}
+.fl-tor::before {
+ content: "\f371";
+}
+.fl-vscodium::before {
+ content: "\f372";
+}
+.fl-kde::before {
+ content: "\f373";
+}
+.fl-postmarketos::before {
+ content: "\f374";
+}
+.fl-qt::before {
+ content: "\f375";
+}
+.fl-libreoffice::before {
+ content: "\f376";
+}
+.fl-libreofficebase::before {
+ content: "\f377";
+}
+.fl-libreofficecalc::before {
+ content: "\f378";
+}
+.fl-libreofficedraw::before {
+ content: "\f379";
+}
+.fl-libreofficeimpress::before {
+ content: "\f37a";
+}
+.fl-libreofficemath::before {
+ content: "\f37b";
+}
+.fl-libreofficewriter::before {
+ content: "\f37c";
+}
+.fl-tumbleweed::before {
+ content: "\f37d";
+}
+.fl-leap::before {
+ content: "\f37e";
+}
+.fl-typst::before {
+ content: "\f37f";
+}
+.fl-nobara::before {
+ content: "\f380";
+}
\ No newline at end of file
diff --git a/lib/font-logos/assets/font-logos.ttf b/lib/font-logos/assets/font-logos.ttf
new file mode 100644
index 0000000..8e80201
Binary files /dev/null and b/lib/font-logos/assets/font-logos.ttf differ
diff --git a/lib/font-logos/assets/font-logos.woff b/lib/font-logos/assets/font-logos.woff
new file mode 100644
index 0000000..55d5f5e
Binary files /dev/null and b/lib/font-logos/assets/font-logos.woff differ
diff --git a/lib/font-logos/assets/font-logos.woff2 b/lib/font-logos/assets/font-logos.woff2
new file mode 100644
index 0000000..803a327
Binary files /dev/null and b/lib/font-logos/assets/font-logos.woff2 differ
diff --git a/lib/font-logos/assets/readme-header.png b/lib/font-logos/assets/readme-header.png
deleted file mode 100644
index a6c6030..0000000
Binary files a/lib/font-logos/assets/readme-header.png and /dev/null differ
diff --git a/lib/font-logos/icons.tsv b/lib/font-logos/icons.tsv
deleted file mode 100644
index fea6040..0000000
--- a/lib/font-logos/icons.tsv
+++ /dev/null
@@ -1,126 +0,0 @@
-offset name id
-0 Alpine alpine
-1 AOSC OS aosc
-2 Apple apple
-3 Arch Linux archlinux
-4 CentOS centos
-5 CoreOS coreos
-6 Debian debian
-7 Devuan devuan
-8 Docker docker
-9 elementary OS elementary
-10 Fedora fedora
-11 Fedora (inverse) fedora-inverse
-12 FreeBSD freebsd
-13 Gentoo gentoo
-14 Linux Mint linuxmint
-15 Linux Mint (inverse) linuxmint-inverse
-16 Mageia mageia
-17 Mandriva mandriva
-18 Manjaro manjaro
-19 NixOS nixos
-20 OpenSUSE opensuse
-21 Raspberry pi raspberry-pi
-22 Red Hat redhat
-23 Sabayon sabayon
-24 Slackware slackware
-25 Slackware (inverse) slackware-inverse
-26 Tux tux
-27 Ubuntu ubuntu
-28 Ubuntu (inverse) ubuntu-inverse
-29 Alma Linux almalinux
-30 ArchLabs archlabs
-31 Artix Linux artix
-32 Budgie budgie
-33 Deepin deepin
-34 Endeavour OS endeavour
-35 Ferris ferris
-36 Flathub flathub
-37 GNU Guix gnu-guix
-38 illumos illumos
-39 Kali Linux kali-linux
-40 OpenBSD openbsd
-41 Parrot OS parrot
-42 Pop!_OS pop-os
-43 Rocky Linux rocky-linux
-44 Snappy snappy
-45 Solus solus
-46 Void void
-47 Zorin OS zorin
-48 Codeberg codeberg
-49 KDE Neon kde-neon
-50 KDE Plasma kde-plasma
-51 Kubuntu kubuntu
-52 Kubuntu (inverse) kubuntu-inverse
-53 Forgejo forgejo
-54 FreeCAD freecad
-55 Garuda Linux garuda
-56 GIMP gimp
-57 Gitea gitea
-58 Hyperbola GNU/Linux-libre hyperbola
-59 Inkscape inkscape
-60 Kdenlive kdenlive
-61 Krita krita
-62 LXLE Linux lxle
-63 MX Linux mxlinux
-64 Parabola GNU/Linux-libre parabola
-65 Puppy Linux puppy
-66 QubesOS qubesos
-67 Tails tails
-68 Trisquel GNU/Linux trisquel
-69 Archcraft archcraft
-70 ArcoLinux arcolinux
-71 BigLinux biglinux
-72 Crystal Linux crystal
-73 Loc-OS locos
-74 XeroLinux xerolinux
-75 Arduino arduino
-76 KiCad kicad
-77 Octoprint octoprint
-78 OpenSCAD openscad
-79 OSH osh
-80 OSHWA oshwa
-81 Prusa Slicer prusaslicer
-82 RepRap reprap
-83 RISC-V riscv
-84 Awesome WM awesome
-85 bspwm bspwm
-86 dwm dwm
-87 Enlightenment enlightenment
-88 Fluxbox fluxbox
-89 Hyprland hyprland
-90 i3 i3
-91 JWM jwm
-92 Qtile qtile
-93 Sway sway
-94 Xmonad xmonad
-95 Cinnamon cinnamon
-96 freedesktop.org freedesktop
-97 GNOME gnome
-98 GTK gtk
-99 LXDE lxde
-100 LXQt lxqt
-101 MATE mate
-102 Vanilla OS vanilla
-103 Wayland wayland
-104 XFCE xfce
-105 Xorg xorg
-106 F-droid fdroid
-107 FOSDEM fosdem
-108 OSI osi
-109 Wikimedia wikimedia
-110 mpv mpv
-111 Neovim neovim
-112 Thunderbird thunderbird
-113 Tor Browser tor
-114 VS Codium vscodium
-115 KDE kde
-116 PostmarketOS postmarketos
-117 Qt qt
-118 LibreOffice libreoffice
-119 LibreOffice Base libreofficebase
-120 LibreOffice Calc libreofficecalc
-121 LibreOffice Draw libreofficedraw
-122 LibreOffice Impress libreofficeimpress
-123 LibreOffice Math libreofficemath
-124 LibreOffice Writer libreofficewriter
diff --git a/lib/font-logos/package-lock.json b/lib/font-logos/package-lock.json
deleted file mode 100644
index 751f664..0000000
--- a/lib/font-logos/package-lock.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "font-logos",
- "version": "1.2.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "font-logos",
- "version": "1.2.0",
- "license": "Unlicense",
- "dependencies": {
- "font-logos": "^1.2.0"
- },
- "devDependencies": {
- "lodash.merge": "^4.6.2",
- "nunjucks": "^3.2.4"
- }
- },
- "node_modules/a-sync-waterfall": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
- "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
- "dev": true
- },
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
- },
- "node_modules/commander": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/font-logos": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/font-logos/-/font-logos-1.2.0.tgz",
- "integrity": "sha512-LQYjEmXRXCYk0jg/lZMMM9tonmAfaVbBRsn7J0XwWcjXKIN6ZqNakOWhn/Sjt7jBocaQhrHx1EWAFGv6R0zQKw=="
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/nunjucks": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz",
- "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==",
- "dev": true,
- "dependencies": {
- "a-sync-waterfall": "^1.0.0",
- "asap": "^2.0.3",
- "commander": "^5.1.0"
- },
- "bin": {
- "nunjucks-precompile": "bin/precompile"
- },
- "engines": {
- "node": ">= 6.9.0"
- },
- "peerDependencies": {
- "chokidar": "^3.3.0"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- }
- }
-}
diff --git a/lib/font-logos/package.json b/lib/font-logos/package.json
index a7be592..4a2cc69 100644
--- a/lib/font-logos/package.json
+++ b/lib/font-logos/package.json
@@ -1,7 +1,7 @@
{
"name": "font-logos",
"description": "An icon font providing popular linux distros' logos",
- "version": "1.2.0",
+ "version": "1.3.0",
"style": "assets/font-logos.css",
"authors": [
"Lukas W (https://github.com/Lukas-W)"
@@ -26,8 +26,5 @@
"devDependencies": {
"lodash.merge": "^4.6.2",
"nunjucks": "^3.2.4"
- },
- "dependencies": {
- "font-logos": "^1.2.0"
}
}
diff --git a/lib/font-logos/scripts/data.mjs b/lib/font-logos/scripts/data.mjs
deleted file mode 100644
index f1035e6..0000000
--- a/lib/font-logos/scripts/data.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-import fs from 'fs';
-export default JSON.parse(
- fs.readFileSync(`${process.env.OUTPUT_DIR}/${process.env.FONT_NAME}.json`)
-);
diff --git a/lib/font-logos/scripts/generate-font.py b/lib/font-logos/scripts/generate-font.py
deleted file mode 100644
index 51dc93d..0000000
--- a/lib/font-logos/scripts/generate-font.py
+++ /dev/null
@@ -1,69 +0,0 @@
-import os
-import sys
-import tempfile
-import json
-import fontforge
-
-# Need to change working directory in case we run via AppImage
-os.chdir(os.path.join(os.path.dirname(sys.argv[0]), '..'))
-
-autowidth = False
-font_em = 512
-font_design_size = 16
-jsonfile = os.environ['JSON_FILE']
-fontname = os.environ['FONT_NAME']
-outputdir = os.environ['OUTPUT_DIR']
-vectorsdir = 'vectors'
-start_codepoint = int(os.environ['START_CODEPOINT'], base=0)
-design_px = font_em // font_design_size
-outjsonfile = os.path.join(outputdir, fontname+'.out.json')
-font = fontforge.font()
-# font.encoding = 'UnicodeFull'
-font.fontname = fontname
-font.familyname = fontname
-font.fullname = fontname
-font.design_size = font_design_size
-font.em = font_em
-font.copyright = os.environ['COPYRIGHT']
-
-# if autowidth:
-# font.autoWidth(0, 0, font.em)
-font.autoWidth(0, 0, font.em)
-
-# Add valid space glyph to avoid "unknown character" box on IE11
-glyph = font.createChar(32)
-glyph.width = 200
-
-outputInfo = {
- 'em': font.em,
- 'icons': {},
-}
-
-def addIcon(iconId, icon):
- glyph = font.createChar(icon['codepoint'], icon['name'])
- glyph.importOutlines(
- os.path.join(vectorsdir, (iconId+'.svg')),
- )
- glyph.left_side_bearing = 0
- glyph.right_side_bearing = 0
-
- outputInfo['icons'][iconId] = {
- 'width': glyph.width,
- }
-
-with open(jsonfile) as f:
- fontData = json.load(f)
-
-for iconId, icon in fontData['icons'].items():
- addIcon(iconId, icon)
-
-font.appendSFNTName("English (US)", "Version", fontData['version']['string'])
-font.appendSFNTName("English (US)", "Vendor URL", os.environ['VENDORURL'])
-font.version = fontData['version']['string']
-
-font.generate(os.path.join(outputdir, fontname + '.ttf'))
-font.generate(os.path.join(outputdir, fontname + '.woff'))
-font.generate(os.path.join(outputdir, fontname + '.woff2'))
-
-with open(outjsonfile, 'w') as f:
- json.dump(outputInfo, f, indent=2)
diff --git a/lib/font-logos/scripts/generate-json.mjs b/lib/font-logos/scripts/generate-json.mjs
deleted file mode 100644
index 19f68e9..0000000
--- a/lib/font-logos/scripts/generate-json.mjs
+++ /dev/null
@@ -1,39 +0,0 @@
-import fs from 'node:fs/promises';
-import {tsvFileToObjects} from './tsv.mjs';
-const iconsFile = './icons.tsv';
-
-async function getIcons() {
- const startCodepoint = parseInt(process.env.START_CODEPOINT);
- let icons = tsvFileToObjects(iconsFile, {
- 'offset': parseInt,
- 'scale': s => s.toLowerCase() === 'true',
- })
- .map(r => ({...r, codepoint: startCodepoint + r.offset}))
- .map(r => ({...r, variant: r.id.endsWith('-inverse')}))
- .map(({id, ...r}) => [id, r])
- ;
- icons = Object.fromEntries(icons);
- return icons;
-}
-
-async function readPackage() {
- return JSON.parse(await fs.readFile('package.json'));
-}
-
-const {version} = await readPackage();
-const [major, minor, patch] = version.match(/^(\d+)\.(\d+)\.(\d+)/).slice(1);
-
-const data = {
- name: process.env.FONT_NAME,
- version: {
- string: version,
- major, minor, patch,
- stable: parseInt(major) > 0 ? major : `${major}.${minor}.${patch}`,
- },
- icons: await getIcons(),
-};
-
-await fs.writeFile(
- process.env.OUTPUT_DIR + '/' + process.env.FONT_NAME + '.json',
- JSON.stringify(data, null, 2)
-);
diff --git a/lib/font-logos/scripts/render-template.mjs b/lib/font-logos/scripts/render-template.mjs
deleted file mode 100644
index 406b5f7..0000000
--- a/lib/font-logos/scripts/render-template.mjs
+++ /dev/null
@@ -1,32 +0,0 @@
-import fs from 'node:fs';
-import nunjucks from 'nunjucks';
-import font from './data.mjs';
-import merge from 'lodash.merge';
-
-const [templateFile, outFile] = process.argv.slice(2);
-
-const outInfo = JSON.parse(
- fs.readFileSync(`${process.env.OUTPUT_DIR}/${process.env.FONT_NAME}.out.json`));
-
-const context = {
- font: merge(font, outInfo),
- classPrefix: 'fl-',
- formats: [
- {name: 'woff', ext: 'woff'},
- {name: 'woff2', ext: 'woff2'},
- {name: 'truetype', ext: 'ttf'},
- ],
- icons: font.icons,
- uniqueIcons: Object.fromEntries(Object.entries(font.icons).filter(([,icon]) => !icon.variant)),
-};
-
-const env = new nunjucks.Environment(new nunjucks.FileSystemLoader(), {
- throwOnUndefined: true,
-});
-env.addFilter('keys', obj => Object.keys(obj));
-env.addFilter('values', obj => Object.values(obj));
-env.addFilter('column', (objs, col) => objs.map(o => o[col]));
-env.addFilter('map', (array, fn) => array.map(fn));
-env.addFilter('maxLength', array => Math.max(...array.map(x => x.length)));
-
-fs.writeFileSync(outFile, env.render(templateFile, context));
diff --git a/lib/font-logos/scripts/tsv.mjs b/lib/font-logos/scripts/tsv.mjs
deleted file mode 100644
index 4f467fb..0000000
--- a/lib/font-logos/scripts/tsv.mjs
+++ /dev/null
@@ -1,30 +0,0 @@
-import fs from 'node:fs';
-
-const I = x=>x;
-
-export function tsvFileToObjects(file, parsers) {
- let [cols, ...rows] = fs.readFileSync(file, 'utf8')
- .toString()
- .split('\n')
- .map(r => r
- .split('\t')
- // Allow for multiple \t between columns
- .map(t => t.trim())
- .filter(I)
- )
- // Remove empty rows
- .filter(r => r.length)
- ;
-
- // Sanity check rows
- const invalidRows = rows.filter(r => r.length !== cols.length);
- if (invalidRows.length) {
- throw new Error(`Some rows have wrong number of columns:\n${invalidRows.join('\n')}`);
- }
-
- return rows.map(r => Object.fromEntries(
- cols.map(
- (c, i) => [c, (parsers[c] || I)(r[i])]
- )
- ));
-}
diff --git a/lib/font-logos/templates/README.md.njk b/lib/font-logos/templates/README.md.njk
deleted file mode 100644
index 628a23e..0000000
--- a/lib/font-logos/templates/README.md.njk
+++ /dev/null
@@ -1,82 +0,0 @@
-# {{ font.name }} #
-
-![Available logos](assets/readme-header.png)
-
-{{ font.name }} is an icon font containing logos of popular linux distributions and other open source software.
-
-*Note:* All brand icons are trademarks of their respective owners and should only be used to represent the company or product to which they refer.
-
-## Installation ##
-
-Install the font by downloading and unpacking the latest release's zip manually or installing it from npm:
-
- npm install {{ font.name }}
-
-To use the font, include `assets/{{ font.name }}.css` as well as the
-fonts in your project and use the CSS classes listed below.
-
-
-
-Alternatively just link to it using a CDN such as [jsDelivr](//jsdelivr.com):
-
-
-
-## Usage ##
-
-Include an icon using the corresponding CSS class in an empty element:
-
-
-
-Add `fl-fw` as class for a fixed width icon.
-
-If you want to insert a glyph of this font on a GNU/Linux system press `Ctrl + Shift + u`, release the keys and then type the code point, for instance: `Ctrl + Shift + u` and `f31a` will insert the `Tux` glyph.
-
-Available logos are:
-
-{%- macro img(id) %}{% endmacro %}
-{%- macro class(id) %}`fl-{{ id }}`{% endmacro %}
-{%- macro code(id) %}``{% endmacro %}
-{%- set ids = icons|keys|sort %}
-{%- set nameW = icons|values|column('name')|maxLength %}
-{%- set maxIdLength = ids|maxLength %}
-{%- set imgW = maxIdLength + img("")|length %}
-{%- set classW = maxIdLength + class("")|length %}
-{%- set codeW = maxIdLength + code("")|length %}
-
-| {{ "Distribution"|center(nameW) }} | {{ "CSS class"|center(classW) }} | {{ "Code"|center(codeW) }} | Code point | {{ "Image"|center(imgW) }} |
-| {{ "-".repeat(nameW) }} | {{ "-".repeat(classW) }} | {{ "-".repeat(codeW) }} | :--------: | :{{ "-".repeat(imgW-2) }}: |
-{%- for id in ids %}
-{%- set icon=icons[id] %}
-| {{ icon.name.padEnd(nameW) }} | {{ class(id).padEnd(classW) }} | {{ code(id).padEnd(codeW)|safe }} | `0x{{ icon.codepoint.toString(16) }}` | {{ img(id).padEnd(imgW)|safe }} |
-{%- endfor %}
-
-## Building ##
-
-Make sure you have the following dependencies installed:
-* Node, Python and jq to run the build scripts
-* [FontForge](//fontforge.org) to generate the fonts
-* [wkhtmltopdf](http://wkhtmltopdf.org/) to generate this readme's preview image
-
-Then run `npm install`/`yarn install` and `make`.
-
-## Releasing ##
-
-If you are a maintainer of this repository and a new release is to be published
-* Make sure all PRs (that shall be pulled) are pulled
- * The PRs add new `svg`s in `vectors/`
- * The `icons.tsv` is ammended (i.e. new icons added at the bottom)
-* Every time the `svg`s or `icons.tsv` is touched in the `master` branch (i.e. through pulling) the preview image is updated
-* Note that the `README.md` is NOT updated. You can manually modify it do indicate/add recently added but not released icons.
-* Once the release seems ready:
-* Edit the version number in `package.json` (and push that change to `master`)
-* Trigger the "Draft a Release" workflow manually on the Actions page (on the `master` branch)
- * The workflow will add a git tag for the release
-* Go to the releases list and find the draft release
- * Edit the description etc pp and finally
- * Push "publish release"
- * The release is published on Github
-* Automatically the "Update README" workflow is triggered
- * The `README.md` is regenerated (the preview should already be up to date, see above)
-* Automatically the "Publish release to npm" workflow is triggered
- * If the npm token is not expired the release is pushed to NPM
- * You need to publish on NPM manually if token is expired (expected)
diff --git a/lib/font-logos/templates/assets/font-logos.css.njk b/lib/font-logos/templates/assets/font-logos.css.njk
deleted file mode 100644
index 3500670..0000000
--- a/lib/font-logos/templates/assets/font-logos.css.njk
+++ /dev/null
@@ -1,43 +0,0 @@
-{% set fwClass = classPrefix+'fw' %}
-@font-face {
- font-display: auto;
- font-family: "{{ font.name }}";
- font-style: normal;
- font-weight: normal;
- src:
- {%- for format in formats -%}
- url("{{ font.name }}.{{ format.ext }}?v={{ font.version.string|urlencode }}") format("{{ format.name }}"){% if not loop.last %},{% endif %}
- {%- endfor -%}
-}
-
-{% for id, icon in icons -%}
-.{{ classPrefix }}{{ id }}::before{% if not loop.last %}, {% endif %}
-{% endfor %} {
- display: inline-block;
- font-family: "{{ font.name }}";
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-rendering: auto;
- line-height: 1;
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- font-smoothing: antialiased;
-}
-
-.{{ fwClass }} {
- text-align: center;
- width: 1em;
-}
-
-{%- for id, icon in icons %}
-.{{ classPrefix }}{{ id }}::before {
- content: "\{{ icon.codepoint.toString(16) }}";
-}
-{%- if icon.width > font.em %}
-.{{ fwClass }}.{{ classPrefix }}{{ id }}::before {
- font-size: {{ font.em/icon.width }}em;
- line-height: {{ icon.width/font.em }}em;
-}
-{%- endif -%}
-{%- endfor -%}
diff --git a/lib/font-logos/templates/assets/preview.html.njk b/lib/font-logos/templates/assets/preview.html.njk
deleted file mode 100644
index ebf2678..0000000
--- a/lib/font-logos/templates/assets/preview.html.njk
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
fl-{{ id }} |
- {% for size in [12,14,16,18,20,24,28,32,36,42,48,54] %}
- - - {{size}}px - | - {% endfor %} -