EnglishFrenchSpanish

Ad


OnWorks favicon

bdf2psf - Online in the Cloud

Run bdf2psf in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command bdf2psf that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


bdf2psf - convert a BDF font to PSF format for the Linux console

SYNOPSIS


bdf2psf [--fb] [--log logfile] bdf{+bdf} equivalence{+equivalence} symbols{+[:]symbols}
size psf [sfm]

DESCRIPTION


The program bdf2psf translates BDF fonts to PSF format. It accepts fonts with arbitrary
size of the font matrix. If the width of the glyph matrix of the source font is 7 or 9
pixels then it generates fonts with width of 8 pixels.

OPTIONS


--fb Generate font for framebuffer. There are two important differences between the
framebuffer and the text mode. First, all fonts in text mode have to have matrix 8
pixels width. They also have to have either 256 or 512 glyphs. Second, in most text
modes the hardware does some magic in order to use 8 pixels width fonts as if they
were 9 pixels width. In order to achieve this the video hardware copies the 8th
column in the 9th column of the glyphs with codes from 0xC0 to 0xDF and from 0x1C0
to 0x1DF. Bdf2psf is very careful when deciding where to place a particular glyph
and as a result the encoding of the generated font is more or less arbitrary.

--log logfile
Record in the file logfile any problems during the conversion.

bdf{+bdf}
The "+"-separated list of the source BDF font(s). When a particular symbol is
defined in more than one of the specified fonts then fonts listed first take
precedence.

equivalence{+equivalence}
A "+"-separated list of files defining an equivalence relation between the glyphs.
See the section EQUIVALENCE FILES below.

symbols{+[:]symbols}
A "+"-separated list of files describing character sets. The generated font will
support all specified character sets. When there is no space in the PSF font for
all symbols, the character sets listed first take precedence. When a colon before
a character set is specified no warnings will be issued for symbols that could not
be placed in the font. See the section CHARACTER SETS below.

size The size of the PSF font. Usually 256 or 512 glyphs.

psf The name of the generated font. If a file with this name already exists it will be
overwritten.

sfm Save in the file sfm the SFM of the generated font. This parameter is optional.

CHARACTER SETS


The encodings of the traditional console fonts a similar to the standard encodings of the
different languages. For example there are fonts for all variants of ISO 8859. This is
redundant, for example ISO 8859-1, ISO 8859-9 and ISO 8859-15 differ only by few
characters and can be easily covered by only one font.

In order to determine the minimal set of character sets a clustering algorithm has been
used. The source code of fontconfig contains lists of the characters that most languages
require - one list per language. We started with one character set per language and used
the clustering algorithm in order to join the character sets to bigger. The character
sets described in files installed in the directory fontsets were the result of the
algorithm. These files list the unicodes of the symbols of the character set, one per
line. Comments starting with a sharp sign are also allowed.

The files ascii.set, linux.set, freebsd.set and useful.set contain four special character
sets. The first lists the ASCII symbols and the second and the third list the symbols
from the so called alternate character set (see section "Line Graphics" of terminfo(5)) -
one for Linux and one for FreeBSD. Notice that in order to limit itself to the cp437
character set, the Linux console driver does some approximations of the symbols from the
alternate character set. For example it prints U+256A (BOX DRAWINGS VERTICAL SINGLE AND
HORIZONTAL DOUBLE) instead of the not-equal sign. The file linux.set lists the symbols
used by the Linux console driver (i.e. U+256A instead of the not-equal sign). The symbols
from freebsd.set are not fixed by the FreeBSD kernel, but there too there are some
approximations.

In most cases there is more available space in the fonts than necessary. The spare codes
can be filled with the symbols from the useful.set special character set. It is
convenient to use a colon before the name of useful.set on the command line of bdf2psf so
no warnings are issued when there is no space in the font for some of these symbols.

EQUIVALENCE FILES


The equivalence files define an equivalence relation between unicodes. The sharp sign is
used for comments, the empty lines are ignored. All other lines should list two or more
unicodes. Only one glyph will be allocated in the PSF font for these unicodes.

Example:

U+2126 U+03A9
# U+2126: OHM SIGN
# U+03A9: GREEK CAPITAL LETTER OMEGA
U+041D U+0048
# U+041D: CYRILLIC CAPITAL LETTER EN
# U+0048: LATIN CAPITAL LETTER H

This equivalence file says that U+2126 (the Ohm sign) and U+03A9 (Omega) have the same
look so only one glyph is enough for them. And also U+041D (Cyrillic En) and U+0048 (Latin
H) look the same.

Two equivalence files are provided - standard.equivalents and arabic.equivalents. The
first one can be used for all fonts. The purpose of the second is to reduce the number of
the necessary glyphs for the Arabic letters at the cost of the font quality. It should be
used only for fonts that have to support Arabic but there is not enough space in the PSF
font for all Arabic characters. The Uni1 character set is a character set that requires
arabic.equivalents.

Use bdf2psf online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

Linux commands

Ad