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.
Rates how pog a word or user is. Not random and does have *some* kind of algorithm to it.

PogRater :D Rates how pogchamp a word is :D A fun project coded by JBYT27 using Python3 Have you ever wondered how pog a word is? Well, congrats, you

an aspirin 2 Jun 25, 2022
This is the Halloween edition of my Flask Greeting App - HAPPY HALLOWEEEN EVERYONE! :)

HalloweenGreetingApp HAPPY HALLOWEEN EVERYONE! :) This is the Halloween Edition of my Flask Greeting App! Please note, this application is mean to be

Mariya 2 Feb 04, 2022
Up to date simple useragent faker with real world database

fake-useragent info: Up to date simple useragent faker with real world database Features grabs up to date useragent from useragentstring.com randomize

Victor K. 2.9k Jan 04, 2023
NeoInterface - Neo4j made easy for Python programmers!

Neointerface - Neo4j made easy for Python programmers! A Python interface to use the Neo4j graph database, and simplify its use. class NeoInterface: C

15 Dec 15, 2022
Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with places after the decimal.

Shruti Dhave 2 Nov 29, 2021
Minutaria is a basic educational Python timer used to learn python and software testing libraries.

minutaria minutaria is a basic educational Python timer. The project is educational, it aims to teach myself programming, python programming, python's

1 Jul 16, 2021
Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder

Cylinder-Volume-Calculator Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder. Size : 10.5 mb compat

Abhijeet 4 Nov 07, 2022
Generate Gaussian 09 input files for the rotamers of an input compound.

Rotapy Purpose Generate Gaussian 09 input files for the rotamers of an input compound. Distance to the axis of rotation remains constant throughout th

1 Jul 16, 2021
ABT aka Animated Background Tool is a windows only python program that makes it that you can have animated background.

ABT ABT aka Animated Background Tool is a windows only python program that makes it that you can have animated background. 𝓡𝓔𝓐𝓓 𝓜𝓔, An Important

Yeeterboi4 2 Jul 16, 2022
CEI Natural Disaster Tracking Portal

CEI Natural Disaster Tracking Portal (cc) Climatic Eye of ISCI We are an initiative that conducts studies in the field of Space Science, publishes pro

Baris Dincer 7 Dec 24, 2022
Criando um jogo de naves espaciais com Pygame. Para iniciantes em Python

Curso de Programação de Jogos com Pygame Criando um jogo de naves espaciais com Pygame. Para iniciantes em Python Pré-requisitos Antes de começar este

Flávio Codeço Coelho 33 Dec 02, 2022
Minimalistic Gridworld Environment (MiniGrid)

Minimalistic Gridworld Environment (MiniGrid) There are other gridworld Gym environments out there, but this one is designed to be particularly simple

Maxime Chevalier-Boisvert 1.7k Jan 03, 2023
General Purpose Python Library by Techman

General Purpose Python Library by Techman

Jack Hubbard 0 Feb 09, 2022
This is sample project needed for security course to connect web service to database

secufaku This is sample project needed for security course to "connect web service to database". Why it suits alignment purpose It connects to postgre

Mark Nicholson 6 May 15, 2022
Explores the python bytecode, provides some tools to access it for fun and profit.

Pyasmtools - looking at the python bytecode for fun and profit. The pyasmtools library is made up of two parts A python bytecode disassembler . See Py

Michael Moser 299 Jan 04, 2023
:snake: Complete C99 parser in pure Python

pycparser v2.20 Contents 1 Introduction 1.1 What is pycparser? 1.2 What is it good for? 1.3 Which version of C does pycparser support? 1.4 What gramma

Eli Bendersky 2.8k Dec 29, 2022
A tool to quickly create codeforces contest directories with templates.

Codeforces Template Tool I created this tool to help me quickly set up codeforces contests/singular problems with templates. Tested for windows, shoul

1 Jun 02, 2022
A simple python project that can find Tangkeke in a given image.

A simple python project that can find Tangkeke in a given image. Make the real Tangkeke image as a kernel to convolute the target image. The area wher

张志衡 1 Dec 08, 2021
Turn crypto miner on/off depending on powerwall charge level

Mining Crypto with Tesla Solar and Powerwalls This script turns a crypto miner on and off when the Tesla Powerwall level drops/rises above a certain t

Matt 1 Nov 09, 2021
This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time

This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time. It uses SQLAlchemy for ORM and Alembic for database migrations.

Majid Iranpour 5 Apr 16, 2022