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.
Framework To Ease Operating with Quantum Computers

QType Framework To Ease Operating with Quantum Computers Concept # define an array of 15 cubits:

Antonio Párraga Navarro 2 Jun 06, 2022
IG Trading Algos and Scripts in Python

IG_Trading_Algo_Scripts_Python IG Trading Algos and Scripts in Python This project is a collection of my work over 2 years building IG Trading Algorit

191 Oct 11, 2022
A Lego Mindstorm robot for dealing out cards based on a birds-eye view of a poker table and given ArUco fiducial tags.

A Lego Mindstorm robot for dealing out cards based on a birds-eye view of a poker table and given ArUco fiducial tags.

4 Dec 06, 2021
An extensive password manager built using Python, multiple implementations. Something to meet everyone's taste.

An awesome open-sourced password manager! Explore the docs » View Demo · Report Bug · Request Feature 🐍 Python Password Manager 🔐 An extensive passw

Sam R 7 Sep 28, 2021
jmespath.rs Python binding

rjmespath-py jmespath.rs Python binding.

messense 3 Dec 14, 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
A new mini-batch framework for optimal transport in deep generative models, deep domain adaptation, approximate Bayesian computation, color transfer, and gradient flow.

BoMb-OT Python3 implementation of the papers On Transportation of Mini-batches: A Hierarchical Approach and Improving Mini-batch Optimal Transport via

Khai Ba Nguyen 18 Nov 14, 2022
Prometheus exporter for Spigot accounts

SpigotExporter Prometheus exporter for Spigot accounts What it provides SpigotExporter will output metrics for each of your plugins and a cumulative d

Jacob Bashista 5 Dec 20, 2021
SiliconCompiler is an open source compiler framework that automates translation from source code to silicon.

SiliconCompiler is an open source compiler framework that aims to automate translation from source code to silicon.

siliconcompiler 539 Jan 04, 2023
A small program to vote for Councilors at 42 Heilbronn.

This Docker container is build to run on server an provide an easy to use interface for every student to vote for their councillors. To run docker on

Kevin Hirsig 2 Jan 17, 2022
Demo repository for Saltconf21 talk - Testing strategies for Salt states

Saltconf21 testing strategies Demonstration repository for my Saltconf21 talk "Strategies for testing Salt states" Talk recording Slides and demos Get

Barney Sowood 3 Mar 31, 2022
Find functions without canary check (or similar)

Ghidra Check Protector Which non-trivial functions don't reference the stack canary checker (or other, user-defined function)? Place your cursor to th

buherator 3 Jan 17, 2022
SimplePyBLE - Python bindings for SimpleBLE

The ultimate fully-fledged cross-platform Python BLE library, designed for simplicity and ease of use.

Open Bluetooth Toolbox 27 Aug 28, 2022
Fast STL (ASCII & Binary) importer for Blender

blender-fast-stl-importer Fast STL (ASCII & Binary) importer for Blender based on https://en.wikipedia.org/wiki/STL_(file_format) Technical notes: flo

Iyad Ahmed 7 Apr 17, 2022
Unofficial Valorant documentation and tools for third party developers

Valorant Third Party Toolkit This repository contains unofficial Valorant documentation and tools for third party developers. Our goal is to centraliz

Noah Kim 20 Dec 21, 2022
⚡KiCad library containing footprints and symbols for inductive analog keyboard switches

Inductive Analog Switches This library contains footprints and symbols for inductive analog keyboard switches for use with the Texas Instruments LDC13

Elias Sjögreen 3 Jun 30, 2022
Python Commodore BBS multi-client

python-cbm-bbs-petscii Python Commodore BBS multi-client This is intended for commodore 64, c128 and most commodore compatible machines (as the new Co

7 Sep 16, 2022
Tomador de ramos UC automatico para Windows, Linux y macOS

auto-ramos v2.0 Tomador de ramos UC automatico para Windows, Linux y macOS Funcion Este script de Python tiene como principal objetivo hacer que la to

Open Source eUC 13 Jun 29, 2022
Automates the fixing of problems reported by yamllint by parsing its output

yamlfixer yamlfixer automates the fixing of problems reported by yamllint by parsing its output. Usage This software automatically fixes some errors a

OPT Nouvelle Caledonie 26 Dec 26, 2022
Sync SiYuanNote & Yuque.

SiyuanYuque Sync SiYuanNote & Yuque. Install Use pip to install. pip install SiyuanYuque Execute like this: python -m SiyuanYuque Remember to create a

Clouder 23 Nov 25, 2022