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.
Password manager using MySQL and Python 3.10.2

Password Manager Password manager using MySQL and Python 3.10.2 Installation Install my-project with github git clone https://github.com/AyaanSiddiq

1 Feb 18, 2022
Better GitHub statistics images for your profile, with stats from private and public repos

Better GitHub statistics images for your profile, with stats from private and public repos

Jacob Strieb 2k Dec 30, 2022
适用于HoshinoBot下的雀魂插件。可进行近期对局查询、查询个人数据等功能,更多功能正在扩展

Majsoul_bot This is a Majsoul plugin for HoshinoBot 这是一个HoshinoBot的雀魂相关插件 本项目目前正在扩展,后续会扩展更多功能,敬请期待 前言 项目地址:https://github.com/DaiShengSheng/Majsoul_bo

黛笙笙 33 Dec 14, 2022
An open source server for Super Mario Bros. 35

SMB35 A custom server for Super Mario Bros. 35 This server is highly experimental. Do not expect it to work without flaws.

Yannik Marchand 162 Dec 07, 2022
Translation patch for Hololive ERROR

Translation patch for Hololive ERROR How do I install the patch? Grab the Translation.zip file for the latest version from the releases page, and unzi

18 Jul 20, 2022
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
Multitrack exporter for OP-Z

Underbridge for OP-Z Multitrack exporter Description Exports patterns and projects individual audio tracks to seperate folders for use in your DAW. Py

Thomas Herrmann 71 Dec 25, 2022
NORETURN is an esoteric programming language, based around the idea of not going back

NORETURN NORETURN is an esoteric programming language, based around the idea of not going back Concept Program coded in noreturn runs over one array,

1 Dec 15, 2021
A python program for rick rolling people.

Rickware A python program for rick rolling people. (And annoying them too) What is rick roll? Read this wikipedia article - Rickrolling About program

2 Jan 18, 2022
Бэкапалка таблиц mysql 8 через брокер сообщений nats

nats-mysql-tables-backup Бэкап таблиц mysql 8 через брокер сообщений nats (проверено и работает в ubuntu 20.04, при наличии python 3.8) ПРИМЕРЫ: Ниже

Constantine 1 Dec 13, 2021
x-tools is a collection of tools developed in Python

x-tools X-tools is a collection of tools developed in Python Commands\

5 Jan 24, 2022
A free website that keeps the people informed about housing and evictions.

Eviction Tracker Currently helping verify detainer warrant data for middle Tennessee - via Middle TN DSA - Red Door Collective Features Presents data

Red Door Collective 7 Dec 14, 2022
A simply program to find active jackbox.tv game codes

PeepingJack A simply program to find active jackbox.tv game codes How does this work? It uses a threadpool to loop through all possible codes in a ran

3 Mar 20, 2022
🍏 Make Thinc faster on macOS by calling into Apple's native Accelerate library

🍏 Make Thinc faster on macOS by calling into Apple's native Accelerate library

Explosion 81 Nov 26, 2022
Stori QA Automation Challenge

Stori-QA-Automation-Challenge This is the repository is created for the Stori QA Intern Automation Engineer Challenge! In this you can find the Requir

Daniel Castañeda 0 Feb 20, 2022
Strong Typing in Python with Decorators

typy Strong Typing in Python with Decorators Description This light-weight library provides decorators that can be used to implement strongly-typed be

Ekin 0 Feb 06, 2022
We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them.

We want to check several batch of web URLs (1~100 K) and find the phishing website/URL among them. This module is designed to do the URL/web attestation by using the API from NUS-Phishperida-Project.

3 Dec 28, 2022
Very simple encoding scheme that will encode data as a series of OwOs or UwUs.

OwO Encoder Very simple encoding scheme that will encode data as a series of OwOs or UwUs. The encoder is a simple state machine. Still needs a decode

1 Nov 15, 2021
Yet another Airflow plugin using CLI command as RESTful api, supports Airflow v2.X.

中文版文档 Airflow Extended API Plugin Airflow Extended API, which export airflow CLI command as REST-ful API to extend the ability of airflow official API

Eric Cao 106 Nov 09, 2022
An app about keyboards, originating from the design of u/Sonnenschirm

keebapp-backend An app about keyboards, originating from the design of u/Sonnenschirm Setup Firstly, ensure that the environment for python is install

8 Sep 04, 2022