# # Copyright 2015, 2016, 2017, 2018, 2024 # (c) Mohammed Isam Mohammed [mohammed_isam1984@yahoo.com] # # file: README # This file is part of fontopia. # # fontopia is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # fontopia is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with fontopia. If not, see <http://www.gnu.org/licenses/>. # About: ====== Fontopia is an easy-to-use, text-based, console font editor. What this means in simple English is that you can edit the fonts that your GNU/Linux kernel is using to display your text on text-based (vs graphical) terminals. Unlike other console text editors which usually work on one PSF version, or work on unicode tables only, or allow very minimal glyph editing, fontopia provides all these functions together: - It works on both PSF 1 & 2, you can even change file type and save it to disk in the other version. - It allows exporting and importing of unicode tables from external files. - It provides a user-friendly, easy-to-use glyph editor. - It can easily change font metrics, e.g. length, width, height... Console font files are commonly of PSF type (of which there are two versions), or of CP type (legacy fonts). Fontopia works with PSF files of both versions, as well as CP fonts, BDF files and raw font files. Package dependencies: ===================== Fontopia needs the GnuDOS and ncurses packages in order to run. Furthermore, if you are going to compile Fontopia from the source, you will need the following header files: dialogs.h, kbd.h and screen.h. These files are part of the GnuDOS package. If you don't have GnuDOS installed on your system, you can download the sources from https://ftp.gnu.org/gnu/gnudos/, compile and install them, then retry running or compiling Fontopia. Alternatively, if you are using an RPM-based distro, you can download and install the RPM from places like: https://pkgs.org/download/gnudos. Additionally, Fedora, CentOS and RHEL users can use yum/dnf to install GnuDOS from the official repos. (Note: if you are installing GnuDOS from an RPM repo, and you want to compile Fontopia from the source, you will need to install the 'gnudos-devel' package in addition to the 'gnudos' package. The former package includes the above header files, which are needed to compile Fontopia from the source). Supported formats: ================== - PSF 1 and 2 - Linux Code pages (CP) - Raw fonts - BDF fonts (beta) - PCF font and Windows FON files support are under development WARNING: ======== (1) There is a major downside currently: fontopia doesn't work with unicode sequences properly (at least not in all cases). If you export a unicode table, edit it, and then import it to a fontfile, you should be safe. (2) Note that if you changed the font version from CP to any other version, only the ACTIVE font will be changed, as the other font formats (PSF, Raw, BDF) don't support multiple fonts inside the same font file. In this case, you will need to open the original CP file multiple times, every time select a different font size (by using '1'-'4' number keys) and convert to the new font version, then reopen the original CP file, select another font size, convert it, and so on. Navigation: =========== Using the editor is very easy: (1) Navigate the glyphs on the right side window using the arrow keys. Edit a single glyph using ENTER (or TAB). (2) Navigate the bits that form a single bit (on the left side window) using arrow keys. Press ENTER or SPACE to set/unset the desired bit. Go back to right window (glyph list) using TAB. (3) To zoom in (make the glyph on the left look bigger), press Z. (4) To zoom out, press X. (5) To open a new file, press CTRL+O. (6) To create a new font from scratch, press CTRL+N. (7) To save your work, press CTRL+S. (8) To save with a new filename, press CTRL+D (aka Save As..). (9) To quit the editor, press CTRL+Q. (10) To show help, press CTRL+H. (11) To copy a glyph, press CTRL+C. (12) To cut a glyph, press CTRL+X. (13) To paste a glyph, press CTRL+V. (14) To show about dialog box, press A. (15) To switch buffer mode (on/off), press CTRL+B. (16) To clear a glyph (i.e. remove all bits), press C. (17) To invert a glyph, press D. (18) To export font unicode table (by default to a file with same original file name plus .tab extension), press E. (19) To flip a glyph horizontally, press H. (20) To import unicode table from another file, press I. (21) To show these keys without the extra jargon, press K. (22) To show font metrics window, press M. (23) To change codepage of a CP font, press P. If font is in BDF format, P shows properties (or metadata). (24) To remove unicode table from font, press CTRL+R. (25) To set a glyph (i.e. set all bits), press S. (26) To show font unicode table, press U. (27) To flip a glyph vertically, press V. (28) To export font glyphs in textual format (by default to a file with same original file name plus .glyph extension), press W. You can alternatively export glyphs to a C source file by pressing CTRL+W. (29) If editing a CP font and you want to change the active font (e.g. edit the 8x8 font instead of the 16x8 font you are currently editing) press any key from '1' to '4' and the respective font will be the active font to be edited. You can go back and forth by using the number keys. The unicode values that are mapped to a specific glyph are shown on the status bar (the bottom strip) to the right side. That should make you ready to move around and edit your fonts. Have fun!.