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>