|
|
| |
GBDFED(1) |
FreeBSD General Commands Manual |
GBDFED(1) |
gbdfed - GTK-based BDF font editor
gbdfed [options] [fonts ...]
gbdfed lets you interactively create new bitmap font files or modify
existing ones. It allows editing multiple fonts and multiple glyphs, it allows
cut and paste operations between fonts and glyphs and editing font properties.
gbdfed can import Metafont PK/GF fonts, Han Bitmap Font Format (HBF)
fonts, Linux console fonts (PSF, CP, and EGA/VGA) fonts, Sun VF fonts,
OpenType/TrueType (OTF/TTF) fonts, or grab a font from the X server (when
running under X11). gbdfed can export PSF2 Linux console fonts and HEX
fonts (see online help).
gbdfed works on X Window System Version 11 (X11), Release 5
or 6, with GTK+ 2.6 or greater. It may work on Windows, but hasn't been
tested yet.
gbdfed accepts the following command line arguments:
- -nc
- do not preserve comments (by default, gbdfed automatically collects
comments that are saved with the font).
- -nu
- do not preserve unencoded glyphs (by default, gbdfed preserves the
unencoded glyphs).
- -nm
- do not make metrics corrections (by default, gbdfed attempts to
make metrics corrections automatically).
- -np
- do not pad character-cell bitmaps (by default, gbdfed pads
character-cell bitmaps with 0's to the cell dimensions when the font is
saved).
- -bp
- allow blank pages (by default, gbdfed skips blank pages).
- -ed
- do not present the "Really Exit?" dialog (by default, this
dialog always presented).
- -ps n
- set default point size (if unspecified, gbdfed sets it to 12).
- -hres n
- set default horizontal resolution.
- -vres n
- set default vertical resolution.
- -res n
- set both default resolutions (if unspecified, gbdfed sets both
horizontal and vertical resolution to that of display, (e.g. 90x90 dpi for
Sun workstations).
- -sp s
- set the default font spacing ("p" for Proportional,
"m" for Monowidth, or "c" for Character Cell).
- -eol e
- set the default end-of-line type ("u" for Unix LF, "d"
for DOS/Windows CRLF, or "m" for Macintosh CR). CR)
- -g glyph-code
- specify the initial glyph code at startup. The glyph code can be specified
in decimal, octal, or hex. Octal numbers must be prefixed with the digit
0, and hex numbers must be prefixed with one of: 0x, 0X, U+, U-,
\u.
- -cb code-base
- specify the code base used to display the glyphs encodings (can be
"octal", "decimal", or "hexadecimal").
At the top of each editor window there are some fields and buttons. These are:
- The "Font" text field is where the font name is set so it can be
edited.
The "Glyph" field is a label that provides some
information about glyph name, encoding, and metrics when a glyph is
selected. When a range of glyphs are selected, this field displays the
start and end codes of the range.
The push buttons are used to navigate through the glyph pages.
The "Previous Page" and "Next Page" buttons normally
skip glyph pages that are empty, but that can be changed using the
"Preferences" dialog.
The "Page" field indicates the current glyph page
and also allows a specific page number to be entered. Once a page number
is entered, pressing the Return key will cause the Font Grid to shift to
that page. The page number entered is assumed to be a decimal
number.
The "Code" field is provided for situations where
the page number is not known, but the encoding is known. The encoding
entered in this field must be in the base (8, 10, or 16) that is
currently being used to display glyph encodings (see the
"View" menu below). Once the encoding is entered, pressing the
Return key will cause the Font Grid to shift to the page containing the
encoding.
The main window of each font editor is called the Font
Grid. Each Font Grid has a clipboard used for passing glyphs around.
This clipboard is called FONTGRID_CLIPBOARD. The format of the data
stored to this clipboard is not documented yet.
When a glyph has been modified either by the user or by automatic
metrics corrections when the font is loaded, the glyph code above the glyph
cell will be highlighted.
The File menu has the following entries:
- New <Ctrl+N>
- This creates a new font using the current defaults for point size,
horizontal and vertical resolution, and font spacing.
- Open <Ctrl+O>
- This opens a new font in the current Font Grid. If the font in the grid
has been modified, the option to save the font before loading a new one
will be given.
- Save <Ctrl+S>
- Save the current font. If the current font does not have a file name, a
file selection dialog will pop up so a file name can be entered.
When the font is saved, it will automatically generate a list of
_XFREE86_GLYPH_RANGE properties containing a list of glyph codes available
in the font.
- Save As <Ctrl+W>
- Save the current font with some other name.
When the font is saved, it will automatically generate a list of
_XFREE86_GLYPH_RANGE properties containing a list of glyph codes available
in the font.
The Import submenu of the File menu has the
following entries:
-
PK/GF Font <Ctrl+K>
- Import a Metafont PK or GF font.
-
Console Font <Ctrl+L>
- Import a binary console font used by Linux and Sun (PSF1, PSF2, CP, vfont,
and other font formats).
-
HBF Font <Ctrl+H>
- Import an HBF font. Only available if HBF support is compiled into
gbdfed.
-
Windows Font <Ctrl+B>
- Import a Windows FON/FNT font. This will also import fonts from .EXE and
.DLL files as well.
-
OpenType/TrueType Font <Ctrl+Y>
- Import an OpenType/TrueType font (.otf or .ttf extension) or a TrueType
collection (.ttc extension).
-
Server Font <Ctrl+G>
- Import a font from the X server if running under the X Windowing
System.
The Export submenu of the File menu has the
following entries:
-
PSF <Ctrl+F>
- This will export the current BDF font or the currently selected glyphs to
a PSF2 font. Glyphs in PSF fonts are usually arranged in a specific way to
make them work properly with the basic display driver. Many of these fonts
come with mapping tables attached that indicate which Unicode characters a
glyph can be used for. The mapping table allows the console to attempt to
display Unicode text.
During the export, an option menu will let you select whether
to:
-
Export Font with Mapping Table
-
Export Font Only
Export Mapping Table Only
-
Only the first 512 glyphs will be exported to the font.
-
HEX
-
This will export the current BDF font into the HEX format (see
http://czyborra.com/unifont/).
- Exit/Close <Ctrl+F4>
- Exit the program if this is the primary Font Grid or simply hide (unmap)
the current Font Grid window.
The Edit menu has the following entries:
- Copy <Ctrl+C> or <Button3Down>
- This copies the current selection to the Font Grid clipboard.
- Cut <Ctrl+X> or <Key>Delete or
<Key>BackSpace
- This copies the current selection to the Font Grid clipboard and then
deletes the selection.
- Paste <Ctrl+V> or <Button2Down>
- This replaces the glyphs starting at the currently selected position with
the Font Grid clipboard.
- Overlay <Ctrl+Shift+V> or Ctrl<Button2Down>
- This merges the glyphs on the Font Grid cliboard with the glyphs starting
at the currently selected position. This means that the bitmaps are
actually combined together. The names of the modified glyphs are not
changed.
- Insert <Ctrl+Meta+V> or Shift<Button2Down>
- This inserts the glyphs on the Font Grid clipboard in front of the
currently selected position.
- Properties <Ctrl+P>
- This invokes the font property editor.
- Comments <Ctrl+M>
- This invokes the font comments editor.
- Font Info <Ctrl+I>
- This invokes a dialog that allows changes to some of the font information
so these values do not have to be changed using the property editor. These
values include the default character, font device width (for monowidth and
character cell fonts), font ascent and descent, font vertical and
horizontal resolution, and the font spacing.
The Font Name submenu of the Edit menu has the
following four entries:
-
Make XLFD Name
- If the font does not have an XLFD name, this will save the current font
name in the _ORIGINAL_FONT_NAME font property and then generate an
XLFD name for the font.
-
Update Name From Properties
- This will update the XLFD font name fields from the font property
list.
-
Update Properties From Name
- This will update the font properties from the XLFD font name.
-
Update Average Width
- This will update the average width field of the XLFD font name and will
update the AVERAGE_WIDTH font property as a side effect.
- Name Glyphs
-
Unicode Names
- This will rename all the glyphs using names taken from a file in the
Unicode Character Database format. This file can be set in the
configuration file or set using the Setup dialog.
-
Unicode Values
- This will rename all the glyphs with a hexadecimal value prefixed by 0x,
U+, or \u (example: 0x010D, U+010D, \u010D).
- Test Glyphs <Ctrl+Z>
- This will toggle the glyph test dialog on or off for the editor. When this
is active, selecting a glyph from any Font Grid will also add it to the
glyph test dialog. When changes are made to a glyph or the font bounding
box, the glyph test dialog will be updated accordingly.
The glyph test dialog provides a toggle to turn the baseline
on or off and another toggle to draw from right to left instead of left
to right.
- Setup <Ctrl+T>
- This will invoke the dialog to edit various settings used by the editor
such as the default point size, resolution and font spacing.
The View menu has the following entries:
- Unencoded <Ctrl+E>
- This will toggle between displaying the unencoded (glyphs with an
ENCODING field of -1) and encoded glyphs.
- Code Base
- Selects displaying of glyph encoding. Options are Octal (base 8), Decimal
(base 10) or Hexadecimal (base 16).
- Other Page <Ctrl+Shift+S>
- This will toggle between the current page and the last page that was
viewed.
- Vertical View <Ctrl+Q>
- This will toggle the FontGrid between showing the glyphs horizontally
(default) and vertically.
- Messages <Ctrl+A>
- This will show messages generated when corrections to the font metrics are
done or errors are encountered.
The Operations menu has the following entries:
- Translate <Ctrl+D>
- This will bring up the dialog for entering the X offset and Y offset used
to translate the glyph to a new location.
The option of translating the selected glyphs or all of the
glyphs is provided.
- Rotate <Ctrl+R>
- This will bring up the dialog for entering the rotation angle. The
rotation is limited to between plus or minus 1 and 359 degrees.
The option of rotating the selected glyphs or all of the
glyphs is provided.
- Shear <Ctrl+J>
- This will bring up the dialog for entering theangle of the shear. The
shear is limited to plus or minus 45 degrees.
The option of rotating the selected glyphs or all of the
glyphs is provided.
- Embolden <Ctrl+Shift+B>
- This will bring up the dialog for emboldening either the selected or all
glyphs.
To embolden means to make bold.
The Editors menu has the following entries:
- New <Ctrl+N>
- This will cause a new editor to be created using the point size,
resolution, and bits per pixel set in the config file, from the command
line or from the Setup dialog.
- [editor list]
- The remaining menu items are all the Font Grid's that have been created.
Choosing one will force that window to be made visible (mapped) and also
put that window on top.
Double clicking the mouse on one of the glyphs will start a Glyph Editor for
that glyph.
The font name can be edited in the Font Grid and page switching
can be done with the buttons on the Font Grid.
The Glyph Editor provides a simple bitmap editor designed to edit glyph
bitmaps and other glyph information. The Glyph Editors all use a special
clipboard used to pass bitmaps between the Glyph Editors. This clipboard is
called GLYPHEDIT_CLIPBOARD.
The only limit on the number of Glyph Editors that can be open at
one time is the amount of memory.
The File menu has the following entries:
- Update <Ctrl+S>
- This will update the Font Grid with the modified glyph.
To the right of the Glyph Name field is a button that performs the same
function.
- Update and Next <Ctrl+U>
- This will update the FontGrid with the modified glyph and move to the next
glyph.
- Update and Previous <Ctrl+B>
- This will update the FontGrid with the modified glyph and move to the
previous glyph.
- Close <Ctrl+F4>
- This will close the Glyph Editor.
The Edit menu has the following entries:
- Reload <Ctrl+L>
- This will reload the glyph and discard any changes made in the
GlyphEditor.
- Copy <Ctrl+C>
- This will copy the currently selected portion of the bitmap to the Glyph
Editor clipboard.
- Cut <Ctrl+X>
- This will copy the currently selected portion of the bitmap to the Glyph
Editor clipboard and then delete the selection.
- Paste <Ctrl+V>
- This will paste the contents of the Glyph Editor clipboard into the
current Glyph Editor with the top-left coordinate of the bitmap on the
clipboard pasted at the location of the mouse. If the bitmap is too big to
fit if it is pasted at the mouse location, the bitmap will be shifted
until it fits completely in the Glyph Editor.
- Select All <Ctrl+A>
- This will select the whole glyph bitmap.
- Next Glyph <Ctrl+N>
- This will move the Glyph Editor to the next glyph position in the Font
Grid. If the current glyph has been modified, a save prompt will appear
before moving to the next glyph.
To the right of the Glyph Name field is a button that performs the same
function.
- Previous Glyph <Ctrl+P>
- This will move the Glyph Editor to the previous glyph position in the Font
Grid. If the current glyph has been modified, a save prompt will appear
before moving to the previous glyph.
To the right of the Glyph Name field is a button that performs the same
function.
The Operation menu has the following entries:
- Draw <Ctrl+D>
- Change the Glyph Editor into Draw mode.
- Move <Ctrl+M>
- Change the Glyph Editor into Move mode. Move mode allows selecting a
portion of the glyph bitmap and moving it to another location.
- Copy <Ctrl+Y>
- Change the Glyph Editor into Copy mode. Copy mode allows copying a portion
of the glyph bitmap and moving it to another location.
- Rotate <Ctrl+T>
- This will invoke the rotation dialog that allows the degrees of rotation
to be specified. Rotation can be between 1 and 359 degrees.
- Shear <Ctrl+E>
- This will invoke the shear dialog that allows the degrees of horizontal
shear to be specified. Other names for shearing are obliquing or slanting.
Shearing is allowed between 1 and 45 degrees.
- Embolden <Ctrl+H>
- This will embolden the glyph in a simple manner.
- Resize BBX <Ctrl+R>
- This will allow changing the sizes of the glyph bounding box including the
left/right bearings and the glyph ascent/descent. If this change causes
the glyph bounding box to be larger than the font bounding box, the font
bounding box will be resized when the glyph is saved next.
- Edit PSF Unicode Mappings <Ctrl+F>
- This allows adding, deleting and editing of Unicode mappings for fonts
that will be exported as PSF fonts. The code valued entered are expected
to be in hexadecimal.
When the mouse is used to shift the bitmap using one of the buttons, holding the
mouse down will cause the activity to repeat.
xmbdfed(1), xfed(1), bdftopcf(1), bdftosnf(1), psfaddtable(1), psfgettable(1),
fontforge(1)
Glyph Bitmap Distribution Format (BDF) Specification, Application Note
5005, Adobe System Inc, 1993
X Logical Font Description, X Consortium
Ross Patterson for his HBF code.
der Mouse for his "getbdf" code.
K. Carothers and A. Korobka for their "fnt2bdf" code in Wine.
Mike Stroyan <mike_stroyan@fc.hp.com> for patches.
Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si> for this manual
page.
Danny Backx <u27113@kb.be> for the LessTif Imakefile.
Donald Page <donaldp@sco.com> for patches.
Michal Szymanski <msz@sirius.astrouw.edu.pl> for problem reports.
Werner Lemberg <a7971428@unet.univie.ac.at> for problem reports.
William F. Maton <wmaton@enterprise.ic.gc.ca> for problem reports.
Ivan Nejgebauer <ian@uns.ns.ac.yu> for problem reports.
Solofo <solofo@mpi-sb.mpg.de> for problem reports.
Dave Bodenstab <imdave@mcs.net> for patches.
W. Chao <wchao@HRZ.Uni-Bielefeld.DE> for Makefile changes and problem
report.
Andreas Reuter <ar205@bonzo.geowiss.nat.tu-bs.de> for problem reports.
Leonard Dickens <leonard@saul.hipgraphics.com> for IRIX 6.3 Makefile
changes.
Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> for suggestions.
Jim Knoble <jmknoble@pobox.com> for dialog geometry fixes.
Darren Stuart Embry <dsembr01@ox.slug.louisville.edu> for HP/UX 10.20
X11R6 Makefile additions.
Vladimir Volovich <vvv@vvv.vsu.ru> for pointing out something I forgot
to test.
Ben Fry <fry@media.mit.edu> for IRIX 6.5.2 variables for the Makefile.
J.H.M. Dassen (Ray) <jdassen@debian.org> for bug fixes.
Robert Brady <rwb197@ecs.soton.ac.uk> for pointing out a problem.
Stefan Monnier <monnier@cs.yale.edu> for a bug report.
Humphrey Clerx <humphrey.clerx@eurocontrol.be> for a bug report.
Rudolf Cejka <cejkar@dcse.fee.vutbr.cz> for bug fixes and a suggestion.
Baruch Even <baruch@ev-en.org> for a bug fix.
Sergey Vlasov <vsu@mivlgu.murom.ru> for bug fixes.
Daniel Neuburger <daniel.neuburger@lmco.com> for bug fixes.
Pierre HANSER <Pierre.Hanser@sxb.bsf.alcatel.fr> for a bug fix.
Patrick Hagglund <patrik.hagglund@bredband.net> for FreeType 2 support.
James Cloos <cloos@jhcloos.com> for pointing out problems.
Ming Hua <minghua@rice.edu> for pointing out problems.
Viktor Urban <viktor@icc-atcsolutions.com> for pointing out problems.
Jiri "BlueBear" Dluhos <modry.medved@seznam.cz> for providing
64-bit fixes.
Jan Engelhardt <jengelh@linux01.gwdg.de> help text improvements and
missing prototype.
Daniel Richard G. <skunk@iSKUNK.ORG> for help on 64-bit architectures.
Baruch Even <baruch@ev-en.org> for help on 64-bit architectures.
Ming Hua <minghua.debian@gmail.com> for an unsuspected warning.
Ryan Hill <dirtyepic@gentoo.org> for import dialog crash report.
Don Knuth (https://bugs.launchpad.net/ubuntu/+source/gbdfed/+bug/172836) for
reporting spelling, gramatical and behavior problems.
Tim Allen <screwtape@froup.com> for discovering glyph and font spacing
bugs.
Daniel Quarras <dqarras@yahoo.com> for discovering a PSF unicode map
editing problem.
Bertrand Janin <tamentis@neopulsar.org> for improving the GlyphEditor
user interface.
Peter Volkov <pva@gentoo.org> for fixing a name collision.
Tom "spot" Callaway <tcallawa@redhat.com> for fixing a linking
problem.
Mark Leisher <mleisher@gmail.com>
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |