FontForge is a free, light and very powerful tool to edit fonts. You can use it as stand alone graphical software or as python library.
# Use python3.10
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fontforge/fontforge
sudo apt-get install fontforge python3-fontforge
# In your IDE (such as PyCharm) use the system interpreter instead of creating a new virtual environment
import fontforge
...
# https://fontforge.org/docs/scripting/python.htm
Link to GUI tutorial to edit glyphs here.
Useful notes for FontForge GUI version:
If you edited a glyph and you want to generate the .ttf file, go to File > Generate fonts. In case of this warning: “Non integral coordinates” you can simply go to the glyphs table, right click on the edited glyph and select “To Int”. You are now able to regenerate the font without errors.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.