vfontxform(1)

NAME
vfontxform - Apply various transformations to a BSD vfont file

SYNOPSIS
vfontxform [--first=FIRST] [--last=LAST] [--256] [--bold=RANGE] [--double=RANGE] [--flip=RANGE] [--repeat=RANGE] [--thin=RANGE] [--strip] [--codepage=CODEPAGE] [--setcodepage=CODEPAGE] [--permute=FILE] [--v1] [--v2] [--big-endian] [--little-endian] [INPUTFILE [OUTPUTFILE]]

DESCRIPTION
vfontxform extracts some or all characters from a font in the BSD vfont format, applies various transformations, and saves the result as another vfont font. Subsets can be extracted as a range of characters, as a codepage, or both.

The character ranges passed to --bold, --double and so on are optional. If present, they are formed as a comma-separated list - each element is nnn for a single character, nnn-nnn for a contiguous set of characters. For example, to apply --repeat to characters 8,10 and 179 to 223: --repeat=8,10,179-223

OPTIONS

--codepage=x
    Extracts only the characters in the given codepage (requires the source PSF file to have a Unicode directory). Any characters in the codepage not present in the source font are replaced by blanks. The codepage can be specified by number or name; see psfpages(1) for a list of acceptable codepage names.

--setcodepage=x
    Replace any Unicode information in the extracted font by the Unicode mappings for the specified codepage. Note that this option does not change the character bitmaps in any way.

--strip
    Forces the output font to be written with no Unicode directory, even if the source font had one.

--first=n
    Extracts characters starting at the specified character.

--last=n
    Extracts characters up to and including the specified character.

--256
    Equivalent to --first=0 --last=255.

--permute=filename
    Rearrange the character bitmaps in the output file. This only affects character bitmaps, not the Unicode directory. The filename passed to --permute can be "-" for standard input; its format should be a series of lines, each containing two numbers separated by a comma. The first number is the character number to change from, and the second is the number to change to. For example, two lines, the first reading "65,66" and the second reading "66,65", will swap the glyphs for A and B. Anything after a # or ; is a comment. The numbers used relate to the source file, before any subset is extracted.

--bold=RANGE
    Makes characters bold by drawing them twice. Note that if no --width option is supplied, this will make the target font one pixel wider than the source font.

--double=RANGE
    Doubles each row in the source character.

--flip=RANGE
    Mirror characters left/right.

--thin=RANGE
    Makes characters thin by reducing vertical lines wider than one pixel.

--v1
    Output in the original vfont(5) format. This is subject to the limitations of the format: At most 256 characters, at most 127x127 pixels per character, and no Unicode directory.

--v2
    Output in vfont2(5) format. This allows more characters, larger bitmaps, and Unicode, but is currently supported only by psftools utilities.

--big-endian
    When writing in the original vfont format, create a big-endian file (suitable for platforms such as SunOS).

--little-endian
    When writing in the original vfont format, create a little-endian file.

If a codepage and --first / --last are both specified, the --first / --last apply to the subset of characters extracted by the codepage. Similarly all character ranges on --bold, --thin etc. apply to the extracted subset.

SEE ALSO
psfpages(1),psfxform(1)

AUTHOR
John Elliott <seasip.webmaster@gmail.com>.