Giter Club home page Giter Club logo

font-downloader's Introduction

Font Downloader

master

About

One day I was bored of my terminal font and wanted to switch, unfortunately going through the entire process of searching Google Fonts for a font, then downloading, then copying and pasting it into my .fonts folder to only then test a font was a pain. So I decided to create this app!

Download on Flathub

Screenshots

How to compile

If you use GNOME Builder, simply cloning the project is enough, otherwise you need to install libhandy as a dependency.

Dependencies in Fedora:

sudo dnf install cmake meson ninja 
sudo dnf install libhandy1-dev

Then build using meson:

git clone https://github.com/GustavoPeredo/font-downloader.git
cd font-downloader
mkdir build
meson build .
cd build
ninja
ninja install

To run it from terminal:

fontdownloader

Translations!

They are here and need your help! Don't be afraid to open an issue or contribute to the translations here: https://poeditor.com/join/project?hash=hfnXv8Iw4o

To-Dos

  • Learn how po works
  • Do some translations
  • See if it is ready for flatpak
  • Add GtkFileChooser dialog for user to choose where to download fonts to
  • Create settings panel (default installation directory and dark mode)
  • Create about window
  • Visual feedback for when fonts are done installing/downloading
  • Show a little check for when a font is already installed
  • Add new filters (depending on alphabet, will probably require a redesign of the app)
  • Optimize code
  • Update to libhandy 1.0 and update glade files accordingly
  • Find a way to remove the "back_button" without check-resize
  • Fix fonts names
  • Translate new strings
  • Migrate to gitlab

Proudly part of the GNOME Circle

GNOME Circle

font-downloader's People

Contributors

bertob avatar dos1 avatar frandieguez avatar georgesstavracas avatar gustavoperedo avatar gustavosilveiragss avatar imhemish avatar kbdharun avatar kianmeng avatar manuq avatar sophie-h avatar tchx84 avatar usnetv avatar vikdevelop avatar wjt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

font-downloader's Issues

Tags for versions

Hi Gustavo! Thanks for an amazing app!

I'd just like to make a comment that git tags for versions will be very useful for package maintainer so they could know which commit should be used for a specific version. I see that in the appdata file version 8.0.0 has been added in this commit however in the flatpak config this commit is used. This is very confusing for package maintainers and since I would like to make a package for Arch Linux, I'm not completely sure which commit should be used. A tag for each version would remove said confusion completely 😁.

Split headerbar glitch

There's some weird rounding glitch on the headerbar background around the divider, and the divider is also the wrong color:

image

Moar progressbars!

Sometimes, especially with slower internet connections or latency, it can take a second or two to preview fonts, or many seconds to download+install, or to load more items in the list of fonts. In all of those situations, I think the app should show a progressbar (or spinner, or something) to indicate that something is going on and the UI (or operation) is not ready/done.

After clicking the "Install" button on the various "Fira" fonts, for example, the app locked up for nearly a minute on my end. While that is an extreme case I suppose, it would be nice if there was a progressbar or something.

Croatian translation

Please remove the file hr.co from the po folder. I don't know why it's there, but the should only be the file hr.po.

Filter Fonts by Language

Dear Gustavo,

In addition to filter by "Font Type", could you please, add a feature to filter by "Language" to easily search for Tajik and Russian or Cyrillic based compatible fonts:

Example of Compatible font for Cyrillic based languages:
Compatible

Example of Incompatible font for Cyrillic based languages:
Incompatible

Thank you for prompt reply,
Victor Ibragimov

Request: make font size adjustable

Hi! I find the current font size too small to be sure if that's the font I want to use.

In this screenshot you can see that there's a lot of unused space in the window:

image

Would be nice to be able to make it huge so I don't need to go to google fonts to check.

Thank you! :-)

Tajik Language Support

Hi,

Could you please, add Tajik language for Font Downloader.

Thank you for prompt reply,
Victor Ibragimov

Use Hdy/AdwPreferencesDialog

The preferences are a bit weird-looking, in large part because they don't use listboxes. I'd port as much of it as possible to the standard Hdy/Adw preferences widgets.

image

For the first section I'd try something like the subsetting preferences in Webfont Kit Generator:

image

Russian Language Support

Dear Gustavo,

Please, add Russian language to Font Downloader.
It is now 100% translated at POEditor portal.

Have a wonderful day!
Victor Ibragimov

About dialog

In the About dialog:

  1. Can the version please be added?
  2. The Close button does not work.

image

What do you think?

Thank you

Linux Mint 20.2 Cinnamon

Remove debian folder

I accidentally created a MR some time ago adding the debian folder. These files are meant to be separately distributed when building the package. Please apologize my error and remove these again.

Christmas-themed icon is weird

Changing the app icon with the season may seem cute in theory, but it's pretty jarring in practice. App icons suddenly having holiday decorations on them on your system is unexpected and weird. As a Circle app I don't think this is a good precedent to set for other apps, imagine what the app grid would look like if everyone did this :)

Weird header bar on empty state

On the empty state the headerbar contains a number of inactive controls, which looks weird and is a bit confusing, especially since the text on the green button is illegible.

The right side of the headerbar should just be emtpy when nothing is selected, like e.g. in Fractal.

image

Add font management support

I think font-downloader can split into three pages/tabs like gnome-software for different usage:

  • discover/explore page: explore and install fonts
  • installed/manage page: list and uninstall/manage the fonts installed
  • update page: update fonts

Or, update can merge with installed/manage. Thank you.

App icon: Minor refresh

Eventually I think it'd be good to find a better metaphor for this icon, but since the app is already in Circle it's important to improve the icon sooner rather than later. Just redrawing the current metaphor in a more polished way is already a nice improvement, so I'd go with that for now.

Here's an attempt:

image

cc @jimmac

Move metadata from description to dedicated tags

Currently there's some metadata in the description that is normally in actual dedicated tags (translations, contact email):

image

At the same time, the tags with this information are missing in the metadata section:

image

It'd be great to move the metadata to the appropriate place, because this makes the links easier to find and actually go to, since you can just click the rows.

FileNotFoundError: [Errno 2] No such file or directory: '/app/share/fontdownloader/fontdownloader/webfonts.json'

The following exception is raised when launching font-downloader:

$ fontdownloader 
Traceback (most recent call last):
  File "/usr/bin/fontdownloader", line 40, in <module>
    from fontdownloader import main
  File "/usr/share/fontdownloader/fontdownloader/main.py", line 27, in <module>
    from .window import FontdownloaderWindow
  File "/usr/share/fontdownloader/fontdownloader/window.py", line 30, in <module>
    webfontsData = json.load(open("/app/share/fontdownloader/fontdownloader/webfonts.json", 'r'))
FileNotFoundError: [Errno 2] No such file or directory: '/app/share/fontdownloader/fontdownloader/webfonts.json'

Environment: Arch Linux 64-bit, font-downloader built from latest commit (0016e0a)

Not starting in Ubuntu 20.1

Hi,
I installed it on a fresh installation of Ubuntu. when running I got the following message:

flatpak run org.gustavoperedo.FontDownloader
Gtk-Message: 12:09:20.512: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
File "/app/share/fontdownloader/fontdownloader/main.py", line 38, in do_activate
win = FontdownloaderWindow(application=self)
File "/app/share/fontdownloader/fontdownloader/window.py", line 215, in init
self.checkForInstalledFonts()
File "/app/share/fontdownloader/fontdownloader/window.py", line 444, in checkForInstalledFonts
onlyfiles = [f for f in listdir(defaultPath) if path.isfile(path.join(defaultPath, f))]
FileNotFoundError: [Errno 2] No such file or directory: '/home/parallels/.local/share/fonts'
Gtk-Message: 12:09:21.217: Failed to load module "canberra-gtk-module"
Gtk-Message: 12:09:21.218: Failed to load module "canberra-gtk-module"

Wide availability on standard repositories

Dear Gustavo,

Could you please, make Font Downloader widely available on standard repositories for easier installation and upgrade on any distributions, like Debian, Ubuntu, KDE neon, Linux Mint, Mageia and others on command line as sudo apt install fontdownloader or via Software managers?

Thank you for prompt reply,
Victor Ibragimov

Program crashes when on "Install"

Issue

The program crashes every time the "Install" button is pressed.

Information

Distro: Zorin OS 16 Beta (Based on Ubuntu 20.04)

Showcase

2021-07-13.19-13-26.mp4

I don't know how to get logs.

Update translations

Hi,
I updated the Spanish translation in poeditor.com. Mainly to match GNOME Fonts by translating "font" to "tipografía", which is more appropiate than the current "fuente". Could you trigger a new release?

Improve some strings

No major changes, just adding . at the end of some phrases and correcting some English misspells.

How to compile on Ubuntu and Debian

Dear Gustavo,

Could you please, provide an information on how to install dependencies and build Font Downloader on Ubuntu and Debian, so I could build and test Tajik and Russian translations in there.

Thank you for prompt reply,
Victor Ibragimov

Option to disable animations

I find it really annoying the animations when opening a new font. It would be really cool if we had an option to disable it or change it.

Font source and version indication

Some fonts are updating regularly. E.g. FiraCode has version 5.2 released June 12.

It will be much more informative and convenient if there was an indication of from where and which version of the font I'm downloading with this tool.

Take system-installed fonts into account

It would be nice if the app was aware of fonts already available system-wide (ex: installed with dnf) so that it indicates that it is "Installed - system" or something, so I don't end up downloading fonts I already have.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.