Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GBDFED(1)		     General Commands Manual		       GBDFED(1)

NAME
     gbdfed - GTK-based BDF font editor

SYNOPSIS
     gbdfed [options] [fonts ...]

DESCRIPTION
     gbdfed lets you interactively create new bitmap font files or modify exist-
     ing  ones.  It allows editing multiple fonts and multiple glyphs, it allows
     cut and paste operations between fonts and glyphs and editing font  proper-
     ties.  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  charac-
	     ter-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 hor-
	     izontal 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/Win-
	     dows 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 pre-
	     fixed 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" dia-
	    log.

	    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, hor-
	 izontal 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 avail-
	 able 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 avail-
	 able 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 (un-
	 map) 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 start-
	 ing 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 cur-
	 rently 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	informa-
	 tion  so these values do not have to be changed using the property edi-
	 tor.  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  gener-
	     ate 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 ac-
	     cordingly.

	     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  EN-
	 CODING field of -1) and encoded glyphs.

     Code Base
	 Selects displaying of glyph encoding.	Options are Octal (base 8), Dec-
	 imal (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 ro-
	 tation is limited to between plus or minus 1 and 359 degrees.

	 The option of rotating the selected glyphs or all of the glyphs is pro-
	 vided.

     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 pro-
	 vided.

     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,  reso-
	 lution,  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  cre-
	 ated.	 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 GlyphEd-
	 itor.

     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  ap-
	 pear 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 rota-
	 tion 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 ex-
	 pected to be in hexadecimal.

Glyph Editor Other Features
     When the mouse is used to shift the bitmap using one of the buttons,  hold-
     ing the mouse down will cause the activity to repeat.

PROPERTIES
SEE ALSO
     xmbdfed(1),  xfed(1),  bdftopcf(1),  bdftosnf(1),	psfaddtable(1),  psfget-
     table(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 re-
     port.
     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  edit-
     ing 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>

GTK2				23 February 2010		       GBDFED(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gbdfed&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help