Font Helper for Figma for Linux OS

Font Helper is a simple http server witch get requests from figma on localhost, reads fonts and gives it to the Figma

Font Helper

Font Helper for Figma for Linux OS.

Install

Copy this in terminal

or:

How it works

Font Helper is a simple http server which get requests from figma on localhost, reads fonts and gives it to the Figma. When You open a figma project in a browser Figma send local http request in Your system. Font Helper replies on this request and returns list of fonts.

How to add directories

You can change Font Helper config file under non-root user. The config file is a simple JSON file.

After that You need to restart Font Helper for apply changes:

Where is logs

The app put all logs into the /var/log/fonthelper directory. When Font Helper starts it create a new log file in the directory each time.

Check status of Font Helper

Just type this in terminal for check status of Font Helper:

How to update Font Helper

You don't need update it manually. Font Helper updates automatically via fonthelper-updater.service service.
If you didn't disable it :)

How to disable auto updates

Just disable updater via terminal:


And for enabling of auto updates:

Check of installed version

In terminal:

Issues

Collection of the latest Issues

skyyy777

skyyy777

3

Hey, I get a 500 Internal Server Error when Figma tries to load fonts. Am I doing something wrong? Screenshot from 2022-05-22 22-32-43

lab360-ch

lab360-ch

6

Lately, Figma tries to load the local fonts with an additional query parameter freetype_minimum_api_version.

Here is an example of the request URL: http://127.0.0.1:18412/figma/font-file?file=<font_path>&freetype_minimum_api_version=20

In the current Implementation, additional query parameters are not handled.

I implemented a simple parsing of the query parameters to fix this issue in the Pull request #29.

Hopefully this pull request gets accepted, that this cool service will work again.

Best regards and thanks to the creator of this project

NicolasShoFischer

NicolasShoFischer

0

Hi,

I added some fonts to my Figma project and everything was working fine. The next day i return to my project but the added fonts are being reported as missing (even though i had no problems with them the day before). After some inspection we realized the URL from where the font comes is being parsed wrong by font-helper.

this is what the URL for the font looks like: http://127.0.0.1:18412/figma/font-file?file=%2Fhome%2Fnsf%2F.fonts%2Ff%2FFrutiger-Medium.otf&freetype_minimum_api_version=20

" &freetype_minimum_api_version=20 " - this part is being added by the font-helper, thus corrupting the path.

Thanks in advance for a fix, some help or a correction if i am misunderstanding something here.

diegosomar

diegosomar

0

Hi! Yesterday I opened Figma (browser) and "ARIAL" was no longer available. The same occours with all my local fonts. I tested in 3 browsers: MS Edge, Google Chrome and Firefox.

Local fonts were on the service's list but the status was 404 (on each local font). The fonthelper.service was running.

Some hours ago, the problem was resolved. I thought it was some bug of Figma itself and it was fixed on their server. But today, the fonthelper.service not start anymore.

I use the fonthelper.service up to 2 years. This problem suddenly occours.

My Service Log (after reboot the pc)

My Environment

Does anyone know what could have happened to the service not working anymore?

maxjf1

maxjf1

0

I don't know if this issue can be solved with this tool or it's a figma issue.

For some reason, only in linux, font weights doesn't appear propperly on properties or CSS inspection. All font weights appears as normal / 400.

Inspecting an element with bold / 700 font, this is what appears on the Typography section: image

In CSS code inspection, this appears: image

But if i inspect CSS as an list like below, the correct font appears image

TECHNOFAB11

TECHNOFAB11

0

My log instantly grew to 2MB just because this got spammed thousands of times: [2021-04-29 09:50:43.167149 +02:00] WARN [/home/ruut/.cargo/registry/src/github.com-1ecc6299db9ec823/finder-0.1.5/src/lib.rs:169] Not a directory (os error 20)

Additional infos would be great, like which path it tried

TECHNOFAB11

TECHNOFAB11

0

On Opensuse Tumbleweed systemd service files don't go into /lib/systemd/system but /etc/systemd/system Had to change the install script or otherwise it would obviously fail.

A check in the install script would probably be a good idea

maxjf1

maxjf1

4

Thanks for this great tool! Saving Linux users lifes!

I intend to use figma for a short time, so i just wanted to know how to uninstall this tool, but README.md doesn't provide much information (only how to disable automatic updates).

Also, i had to add fonts in ~/.local/share/fonts and ~/.fonts folders. I know they are not default on every linux, but would be great to have this tip in the settings section.

Anyway thanks for the help

abienz

abienz

bug
0

Firstly, FontHelper is working with system fonts and the default config.

When I add my local user fonts: /home/USERNAME/.local/share/fonts I get and error with the service and it fails to load, here is the output from the stacktrace.

Also is the path correct in this line? thread 'main' panicked at 'Thread pool worker panicked', /home/ruut/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped_threadpool-0.1.9/src/lib.rs:236:13

jjspace

jjspace

bug
5

Font Helper seems to be working correctly and serves the correct files to Figma once I set up the font paths correctly. However when viewing the logs it's full of hundreds of lines of this WARN statement:

  1. it seem to be built with src references to ruut's home directory which obviously doesn't exist on my computer
  2. the error isn't telling me what's "not a directory" so I have no idea how to address the problem. the only directories defined in my /etc/figma-linux/fonthelper config are valid directories with fonts in them.

I'm running on Fedora 29. Let me know any other info I can provide

Versions

Find the latest versions by id

Information - Updated Jun 22, 2022

Stars: 259
Forks: 17
Issues: 17

pancurses is a curses library for Rust that supports both Linux and Windows

by abstracting away the backend that it uses

pancurses is a curses library for Rust that supports both Linux and Windows

Native Rust library for managing Linux Control Groups (cgroups)

This crate, curently, only supports the original, V1 hierarchy

Native Rust library for managing Linux Control Groups (cgroups)

The Rust spidev seeks to provide full access to the Linux spidev

The following is not an exhaustive demonstration of the Spidev

The Rust spidev seeks to provide full access to the Linux spidev

a minimal Linux kernel module written in rust

A recent build of Rust (latest nightly)

a minimal Linux kernel module written in rust

Rust Linux Worker

The Service executes arbitrary Linux commands on behalf of clients

Rust Linux Worker

Direct, unsafe Rust bindings for Linux's perf_event_open system call

This crate exports unsafe Rust wrappers for Linux system calls for accessing

Direct, unsafe Rust bindings for Linux's perf_event_open system call

A safe, sane Rust interface to libseccomp on Linux

Note: This is not a high-level interface; most functions/methods in this library directly correspond to a libseccomp function

A safe, sane Rust interface to libseccomp on Linux

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Transparent TCP proxy with iptables -j REDIRECT or nft redirect to

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Linux-Device-Driver-Rust

This is a twain Repo of Linux-Device-Driver is a long time work in which I rewrite all examples in

Linux-Device-Driver-Rust

Simple, performant hot-reloading for Rust

Requires Rust nightly and only works on Linux and Windows for now

Simple, performant hot-reloading for Rust
Facebook Instagram Twitter GitHub Dribbble
Privacy