fonttools
raveberry
Our great sponsors
fonttools | raveberry | |
---|---|---|
17 | 20 | |
4,022 | 698 | |
1.9% | - | |
9.9 | 6.0 | |
6 days ago | 7 days ago | |
Python | Python | |
MIT License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fonttools
-
The new Google Fonts: find what you’re looking for
The tool parent and sibling comment listed allows you to do basic subsetting [1], and generates the formats you need. If you do this more often, it is of course useful to learn how to do this yourself. A commonly used tool is pyftsubset, part of fonttools [2]
-
Retro Pixel Font - A new font and the intro of how to make it
In short, I draw glyphs in png and use python to build fonts (by https://github.com/fonttools/fonttools ). I agreed on some rules and then everything became simple. No required professional font editer.
- I created a language for font design using FontForge
-
Self-Hosting Fonts - No more excuses
What I like the most is that you can also download google-fonts and convert them automatically. Webfont-Kit-Generator uses fonttools (written in Python), that's pretty cool too.
-
How much do custom fonts affect an app size?
A drawback to icon fonts is that by default, you are carrying all of the glyphs in an icon font along for the ride. You can mitigate that by using a tool like fonttools to strip out the unused font glyphs.
-
Montserrat cyrillic issues?
If you want to look inside a font file, you can use the ttx command line tool (included with fontTools) to convert binary fonts to human-readable XML format. You can also open them in a font editor like FontForge or Glyphs if you want a GUI, but font editors may not show you everything that's inside the file.
-
10 ways to speed up web font loading
Font subsetting means trimming your fonts down to only the characters you need. Subsetting can yield massive amounts of size savings without having any drawbacks as long as you are not using the characters you remove. The simplest way to do this is subsetting to remove languages that you do not use. For example, take Inter, one of the most popular fonts. If you include all languages, which includes the Latin alphabet, Cyrillic, Vietnamese, and Greek, the size of the WOFF2 font is 95kb. However, chances are you are not using all of those languages. If you remove all characters outside of the English language, the size is reduced to just 16kb! There are many ways to subset fonts, including Google Fonts (and by extension, Google Webfonts Helper), Everything Fonts, and fontTools.
-
The pdfplumber module is awesome
If you're in the first case, here's a good place to start reading: https://github.com/adobe-type-tools/cmap-resources. If you're in either the second or the third case, you'll have to use a library like fontTools (see here: https://github.com/fonttools/fonttools) to query the font's cmap table in reverse---if the subsetter didn't strip it out when embedding the font, that is! Note that this isn't guaranteed to work or yield a unique result, especially with non-Latin scripts.
-
How I reduced Raveberry's transferred frontend code by 90%
Similar to the approach used for the css code, the fonts were also modified to only contain used symbols. A script parses html and javascript files to find used identifiers. Then, fonttools is used to create a subtyped font file with only these symbols. Since Raveberry only uses a small set of icons and Font Awesome provides a lot of them, this approach eliminates the vast majority. The resulting font files are 6.7KB and 2.3KB, much smaller than the original ones.
raveberry
-
Raveberry with Docker and SSL
You don't need to use that project, though. You could probably use Traefik, although I've never worked with it and I'm not sure whether this is the right tool for this purpose. You could also modify the nginx config and mount it into the raveberry-nginx container:
-
Optimal setup
One important thing: Since you want to use Spotify, you can not use a 64-bit OS. The reason is that the library providing the interface was deprecated years ago and is not available as a 64bit version.
The default streaming password is "raveberry:raveberry". You can change it on the icecast admin interface at http://raveberry.local:8000/admin, see also here.
-
Looking for a party collaborative playlist list
You can try Raveberry. It does support also local files.
-
Using an LED Ring with Raveberry
Raveberry is a project that makes parties more fun by allowing everybody to influence the music. With an LED ring in the transparent case of the Raspberry Pi, I tried to make it visually interesting as well. I want to share with you how the ring is connected and controlled, how I made the lights react to the music and how I modified the colors to make them a little more appealing.
-
this hasn't aged well
Take a look at Raveberry, it can play spotify playlists (though you need to set it up yourself)
-
Rythm shutdown Megathread
I'm using Raveberry now not as much powerfull but does the job very well.
-
Setting up remote URL
In order to do the forwarding, you need to configure a web server on your server. An example nginx config can be found here. This config listens on port 80 and forwards all traffic to port 9070. In this case Raveberry would do a reverse ssh tunnel that maps the pi's port 80 to port 9070 of your server. This way the pi thinks users connect directly to Raveberry and the devices of the users think they communicate directly with your server. The example file does not include https configuration. You would need to add that or run the provided configuration behind a proxy that already handles it. (eg nginx-proxy)
nano reverse-proxy.conf 5. paste the code from here 6. Copy the configuration from /etc/nginx/sites-available to /etc/nginx/sites-enabled ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf 7. Test the Nginx configuration file
-
One Year of Raveberry
It's been a little over a year since Raveberry was released to the public with this post. For those that don't know, Raveberry is a music server that uses people's votes to determine the order in which songs are played (like a social jukebox).
What are some alternatives?
mopidy-youtube - Mopidy extension for playing music from YouTube
MusicBot - 🎶 A Discord music bot that's easy to set up and run yourself!
shareberry - Shareberry is an Android app that makes it possible to share songs to Raveberry.
WLED - Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
RPi-Jukebox-RFID - A Raspberry Pi jukebox, playing local music, podcasts, web radio and streams triggered by RFID cards, web app or home automation. All plug and play via USB. GPIO scripts available.
Navidrome Music Server - 🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
deezer-downloader - Download music from Deezer with a nice front end
rpi_ws281x - Userspace Raspberry Pi PWM library for WS281X LEDs
spotify-downloader - Download songs,playlists and even albums from spotify within a matter of seconds in a variety of different formats like m4a,mp3,wav and even flac with spotify downloader
spotlightify - The Spotify overlay controller
mopidy-spotify - Mopidy extension for playing music from Spotify
django-compressor - Compresses linked and inline javascript or CSS into a single cached file.