matrixFont
About application
matrixFont allows you to create and edit raster fonts, and generate C code to include the created font into a software project.
The main usage area is software project development using graphical user interface in embedded systems.
Features
-
raster font:
- character sizes from 1 × 1 to 100 × 100 (technically up to 512 × 512);
- character range from 0 to 255;
- charset (encoding) selection;
- compact native RHF file format;
- support for loading/saving fonts in RBF format;
-
project creating:
- from system font;
- from code (support of matrixFont, AdaFruit GFX, LCD Vision V1.34 formats);
- from character map image with metadata;
-
character editor:
- easy editing with mouse;
- scaling workspace with mouse wheel;
- copy, paste and move characters;
- importing image into character;
- history of editing operations for each character;
- operations: invert, display, rotate, shift, pinch, center characters;
- batch editing of all font characters;
-
navigation and preview:
- character navigator with character display;
- search for characters by code or name;
- view sample text;
- character map;
- exporting character map to image;
-
tools:
- changing character range of font;
- changing font character size;
- character size optimization;
- C code generator with fine-tuning;
-
interface:
- intuitive and user-friendly design,
- full support for different display densities,
- localization support,
- theme support: light and dark,
- flexibility - customization of appearance, colors, etc.,
-
and also:
- detailed user manual,
- support for online updates.
Сompilation
Compilation details (may lose relevance over time):
- FPC has a RegExpr module that comes with the compiler. However, it is usually rarely updated. Update it manually: copy the files with replacement from
.\libraries\TRegExpr\src\
to<LAZARUS_DIR>\fpc\<VERSION>\source\packages\regexpr\src\
. This module is also used in system modules, so you need to update the compiled object files. To do this, do the following:- Open in the IDE the project
testregexpr.lpi
from the catalog<LAZARUS_DIR>\fpc\<VERSION>\source\packages\regexpr\tests\
and compile it for all required target platforms, e.g. forx86_64-win64
andi386-win32
. If it doesn't compile immediately, comment out the lines pointed to by the compiler and compile again. - Go to the catalog
<LAZARUS_DIR>\fpc\<VERSION>\source\packages\regexpr\tests\lib\
. - Copy the files with replacement from the subdirectories
<TARGET>
to the appropriate catalogs<LAZARUS_DIR>\fpc\<VERSION>\units\<TARGET>\regexpr
.
- Open in the IDE the project
Installation
matrixFont can be installed as a regular application. A portable version is also available, which does not require installation and works from any directory. The installation and portable files are available under Releases: this is the best way to get the latest version.
Internet and Updates
matrixFont uses Internet access only to check for updates. An update is only requested from the gitlab.com server. The application does not require network access for normal operation. If no network is available, matrixFont will simply fail to check for updates.
Note.
If matrixFont has been installed for all users (using administrator rights, of course), it will fail to update when run normally as a user because the user does not have permission to modify files. In this case, when matrixFont prompts to update, close it, run it again as administrator and update.
How to use
User Manual in Russian — help/matrixFont-help.md.
An introductory article on the topic of fonts and about app (Rus) — Шрифты для графического дисплея? Это же очень просто.
Localization
Want to see the matrixFont interface in your native language? Join the translation of matrixFont. Start translating by choosing one of the following options:
- Translate Gettext files directly from the repository, following the instructions in the help.
The translation will be added in the next release if it covers at least 2/3 (~67%).
Liability
matrixFont is provided for free use, without any warranty or technical support. You use the application at your own discretion and are solely responsible for the results of its functioning.
Issues and suggestions
If you find a bug in the application or want to suggest something to improve the application, please go to the Issues section of the matrixFont project. First investigate if a similar or the same issue has been opened before. Do not create duplicate issues, update or reopen existing ones - this speeds up their review. If your issue has not been raised before, create a new issue.
If your native language is not Russian or Ukrainian, please write your messages in English. You can also add a translation into Russian or Ukrainian below the original if you want.
Your questions and suggestions help improve matrixFont.
Сopyright and credits
Copyright 2015-2025 Riva, FreeBSD License, modified. Changelog (Ru).
Developed in Free Pascal RAD IDE Lazarus v3.0, Free Pascal Compiler v3.2.2.
The installer for Windows is created in Inno Setup. Copyright (C) 1997-2023, Jordan Russell, Martijn Laan.
Installer icon: icon-icons.com, CC BY 4.0.
Dependencies
- TRegExpr — regular expressions engine in pure Object Pascal. Copyright (c) 1999-2004 Andrey V. Sorokin.
- metadarkstyle — package that adds dark theme to your program under windows 10. Copyright (c) 2023 zamtmn.
- BGRABitmap — a package designed to modify and create images with transparency.
- BGRA Controls — a set of graphical UI elements. Author: Lainz.
- ImageSVGListDsgn — a list of SVG images instead of regular bitmaps. Copyright (c) 2023 Riva.
- AppFeaturesPkg — package for customizing GUI applications and implementing standard application functionality. Copyright (c) 2024 Riva.
- OnlineUpdater — package for updating application from online repository. Copyright (c) 2023 Riva.
- OpenSSL DLLs v1.1.1w: License — toolkit for general-purpose cryptography and secure communication. Copyright (c) 1998-2023 The OpenSSL Project Authors. Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson.