Provided by: gbdfed_1.6-4_amd64 bug

NAME

       gbdfed - GTK-based BDF font editor

SYNOPSIS

       gbdfed [options] [fonts ...]

DESCRIPTION

       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.

OPTIONS

       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").

FONT GRID

       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.

Font Grid Menus

       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.

Font Grid Other Features

       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.

GLYPH EDITOR

       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.

Glyph Editor Menus

       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.

Glyph Editor Other Features

       When the mouse is used to shift the bitmap using one of the  buttons,  holding  the  mouse
       down will cause the activity to repeat.

PROPERTIES

SEE ALSO

       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

ACKNOWLEDGMENTS

       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.

AUTHOR

       Mark Leisher <mleisher@gmail.com>