Gba-free-fonts - Free font resources for GBA game development

Overview

gba-free-fonts

Free font resources for GBA game development

This repo contains many free-to-use fonts which are ready-to-use in your GBA project.

Note: source code are under zlib license, fonts are under their own licenses.

Fonts & Licenses

Font License Characters Preview
HanaMin(Hanazono Mincho) / 花園明朝 / 花园宋体 Hanazono Font License + SIL OFL 1.1 101912
GNU Unifont GNU GPLv2+ with the GNU Font Embedding Exception + SIL OFL 1.1 78934
Unscii GNU GPLv2+ with the GNU Font Embedding Exception 64315
BabelStone Han Arphic Public License 59664
Source Han Serif(Noto Serif CJK) / 思源宋体 / 思源宋體 / 源ノ明朝 / 본명조 SIL OFL 1.1 44748
Source Han Sans(Noto Sans CJK) / 思源黑体 / 思源黑體 / 源ノ角ゴシック / 본고딕 SIL OFL 1.1 42222
Source Han Mono / 思源等宽 / 思源等寬 / 源ノ等幅 / 본모노 SIL OFL 1.1 44798
WQY(Wen Quan Yi)(Spring of Letters) Zen Hei / 文泉驿正黑 GPL 42285
WQY(Wen Quan Yi)(Spring of Letters) Micro Hei / 文泉驿微米黑 Apache License 2.0 + GNU GPLv3 with font embedding exceptions 34600

Guide

For Butano

This is an example to show how to use a font in your project.

  1. Install Pillow
# For MSYS2/MinGW-w64 users
pacman -S mingw-w64-x86_64-python-pillow
# For WSL2/Ubuntu/Debian users
sudo apt-get install python3-pil
# For Mac users
brew install pillow
# For FreeBSD users
pkg install py38-pillow
# For CentOS users
yum install python3-pillow
# For Fedora Linux users
dnf install python3-pillow
# For Arch Linux users
pacman -S python37-pillow
  1. Set path in Makefile
# FONTS is a list of directories containing font files.
FONTS       :=  
# TEXTS is a list of directories or filenames containing text files.
TEXTS       :=  
  1. Bind it to a bn::sprite_text_generator in source code
#include "xxx_sprite_font.h"
bn::sprite_text_generator text_generator(xxx_sprite_font);

Others

History: it starts here.

You might also like...
An ongoing curated list of frameworks, libraries, learning tutorials, software and resources in Python Language.
An ongoing curated list of frameworks, libraries, learning tutorials, software and resources in Python Language.

Python Development Welcome to the world of Python. An ongoing curated list of frameworks, libraries, learning tutorials, software and resources in Pyt

Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery
Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

Prophet is a tool to discover resources detailed for cloud migration, cloud backup and disaster recovery

Tools, guides, and resources for blockchain analysts to interface with data on the Ergo platform.

Ergo Intelligence Objective Provide a suite of easy-to-use toolkits, guides, and resources for blockchain analysts and data scientists to quickly unde

Collection of script & resources for Foundry's Nuke software.
Collection of script & resources for Foundry's Nuke software.

Author: Liam Collod. Collections of scripting stuff I wrote for Foundry's Nuke software. Utilisation You can have a look at the README.md file in each

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources.

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources. It provides the necessary user stream data and order book data for trading in a format one would expect from a centralized exchange API.

An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to art and design.
An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to art and design.

Awesome AI for Art & Design An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to a

UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

UdemyPy UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses. How does it work? For publishing

an opensourced roblox group finder writen in python 100% free and virus-free

Roblox-Group-Finder an opensourced roblox group finder writen in python 100% free and virus-free note : if you don't want install python or just use w

A lightweight solution for local Particle development.
A lightweight solution for local Particle development.

neopo A lightweight solution for local Particle development. Features Builds Particle projects locally without any overhead. Compatible with Particle

Comments
  • Fix freeze on subprocess communicate

    Fix freeze on subprocess communicate

    System Info

    Ubuntu 20.04 Python 3.8.10 Pillow 9.2.0 devkitARM-r58-2 Butano 12.0.0

    Behavior

    On the system above, if I type make on the example, it hangs forever on this line.

    https://github.com/laqieer/gba-free-fonts/blob/1074470a77e34064d263e6076cad728da1429801/tools/butano/butano_fonts_tool.py#L56

    ~/gba-free-fonts/examples/butano$ make
    ^CTraceback (most recent call last):
      File "../../tools/butano/butano_fonts_tool.py", line 277, in <module>
        process_fonts(args.fonts, args.build, args.texts)
      File "../../tools/butano/butano_fonts_tool.py", line 252, in process_fonts
        process_texts_files(texts_file_paths, characters_file_path)
      File "../../tools/butano/butano_fonts_tool.py", line 56, in process_texts_files
        text = subprocess.check_output([os.environ['DEVKITARM'] + '/bin/arm-none-eabi-cpp', '-fpreprocessed', texts_file_path],shell=True).decode('utf-8')
      File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
        return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
      File "/usr/lib/python3.8/subprocess.py", line 495, in run
        stdout, stderr = process.communicate(input, timeout=timeout)
      File "/usr/lib/python3.8/subprocess.py", line 1015, in communicate
        stdout = self.stdout.read()
    KeyboardInterrupt
    make: *** [/home/ubuntu/butano/butano/butano.mak:167: all] Interrupt
    

    Fix

    Removing shell=True from this line fixes this issue (at least for me). Related article

    ~/gba-free-fonts/examples/butano$ make
    hanamin.fnt
    unifont.fnt
    ...
    
    opened by copyrat90 0
  • Fix: PIL `ADAPTIVE` DeprecationWarning

    Fix: PIL `ADAPTIVE` DeprecationWarning

    This commit fixes the warning below, which pops up in Pillow v9.2.0.

    ...\gba-free-fonts\tools\butano\butano_fonts_tool.py:215:
    DeprecationWarning: ADAPTIVE is deprecated and will be removed in Pillow 10 (2023-07-01). Use Palette.ADAPTIVE instead.
    
    opened by copyrat90 0
Releases(v1.2)
Owner
A programmer who loves GBA homebrew development, reverse engineering and fire emblem modding.
Leveraging pythonic forces to defeat different coding challenges 🐍

Pyforces Leveraging pythonic forces to defeat different coding challenges! Table of Contents Pyforces Tests Pyforces Pyforces is a study repo with a c

Igor Grillo Peternella 8 Dec 14, 2022
A small Blender addon for changing an object's local orientation while in edit mode

A small Blender addon for changing an object's local orientation while in edit mode.

Jonathan Lampel 50 Jan 06, 2023
MinimalGearDisplay, Assetto Corsa app

MinimalGearDisplay MinimalGearDisplay, Assetto Corsa app. Just displays the current gear you are on. Download and Install To use this app, clone or do

1 Jan 10, 2022
The ROS publisher/subscriber example packaged as a snap

publisher-subscriber The ROS publisher/subscriber example packaged as a snap, based on ROS Noetic and Ubuntu Core 20. Strictly confined. This example

3 Dec 03, 2021
A basic ticketing software.

Ticketer A basic ticketing software. Screenshots Program Launched Issuing Ticket Show your Ticket Entry Done Program Exited Code Features to implement

Samyak Jain 2 Feb 10, 2022
Synthetik Python Mod - A save editor tool for the game Synthetik written in python

Synthetik_Python_Mod A save editor tool for the game Synthetik written in python

2 Sep 10, 2022
I³ Tracker for Essential Open Innovation Datasets

I³ Tracker for Essential Open Innovation Datasets This repository is set up to track, version, and contribute updates to the I³ Essential Open Innovat

1 Feb 08, 2022
Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.

Retrying Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just

Ray Holder 1.9k Dec 29, 2022
This repo is related to Google Coding Challenge, given to Bright Network Internship Experience 2021.

BrightNetworkUK-GCC-2021 This repo is related to Google Coding Challenge, given to Bright Network Internship Experience 2021. Language used here is py

Dareer Ahmad Mufti 28 May 23, 2022
A simplified python interface to COPASI.

BasiCO This project hosts a simplified python interface to COPASI. While all functionality from COPASI is exposed via automatically generated SWIG wra

COPASI 8 Dec 21, 2022
pyToledo is a Python library to interact with the common virtual learning environment for the Association KU Leuven (Toledo).

pyToledo pyToledo is a Python library to interact with the common virtual learning environment for the Association KU Leuven a.k.a Toledo. Motivation

Daan Vervacke 5 Jan 03, 2022
Customisable coding font with alternates, ligatures and contextual positioning

Guide Ligature Support Links Log License Guide Live Preview + Download larsenwork.com/monoid Install Quit your editor/program. Unzip and open the fold

Andreas Larsen 7.6k Dec 30, 2022
A ULauncher/Albert extension that supports currency, units and date time conversion, as well as a calculator that supports complex numbers and functions.

Ulauncher/Albert Calculate Anything Ulauncher/Albert Calculate Anything is an extension for Ulauncher and Albert to calculate things like currency, ti

tchar 67 Jan 01, 2023
Check a discord message and give it a percentage of scamminess

scamChecker Check a discord message and give it a percentage of scamminess Run the bot, and run the command !scamCheck and it will return a percentage

3 Sep 22, 2022
ticguide: quick + painless TESS observing information

ticguide: quick + painless TESS observing information Complementary to the TESS observing tool tvguide (see also WTV), which tells you if your target

Ashley Chontos 5 Nov 05, 2022
Watcher for systemdrun user scopes

Systemctl Memory Watcher Animated watcher for systemdrun user scopes. Usage Launch some process in your GNU-Linux or compatible OS with systemd-run co

Antonio Vanegas 2 Jan 20, 2022
Wisdom Tree is a concentration app i am working on.

Wisdom Tree Wisdom Tree is a tui concentration app I am working on. Inspired by the wisdom tree in Plants vs. Zombies which gives in-game tips when it

NO ONE 241 Jan 01, 2023
Python library for creating and parsing HSReplay XML files

python-hsreplay A python module for HSReplay support. https://hearthsim.info/hsreplay/ Installation The library is available on PyPI. pip install hsre

HearthSim 45 Mar 28, 2022
Architectural Patterns implementation by using notification handler module prototype

This repository covers singleton, indirection, factory, adaptor, mediator patterns in python language by using university hypothetical notification module prototype. The code is just for demonstratin

Muhammad Umair 2 Jan 08, 2022
pgvector support for Python

pgvector-python pgvector support for Python Great for online recommendations 🎉 Supports Django, SQLAlchemy, Psycopg 2, Psycopg 3, and asyncpg Install

Andrew Kane 37 Dec 20, 2022