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
       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 col-
	       lects 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 dia-
	       log 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  se-
	      lected.	When  a	 range of glyphs are selected, this field dis-
	      plays 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 "Prefer-
	      ences" dialog.

	      The "Page" field indicates the current glyph page	and  also  al-
	      lows  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  num-
	      ber  is  not known, but the encoding is known.  The encoding en-
	      tered 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 clip-
       board is	not documented yet.

       When  a glyph has been modified either by the user or by	automatic met-
       rics 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 en-
	   tered.
	   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 Window-
	       ing 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  at-
	       tempt 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 posi-
	   tion	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  in-
	   formation so	these values do	not have to be changed using the prop-
	   erty	 editor.  These	values include the default character, font de-
	   vice	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 cur-
	       rent 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 prop-
	       erty 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 ef-
	       fect.

       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 pre-
	       fixed 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  edi-
	       tor.  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 horizon-
	   tally (default) and vertically.

       Messages	<Ctrl+A>
	   This	will show messages generated when corrections to the font met-
	   rics	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  off-
	   set 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  Edi-
       tor 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  spe-
       cial  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 ro-
	   tation 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 hori-
	   zontal shear	 to  be	 specified.   Other  names  for	 shearing  are
	   obliquing  or  slanting.   Shearing is allowed between 1 and	45 de-
	   grees.

       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  in-
	   cluding  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), 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
       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.launch-
       pad.net/ubuntu/+source/gbdfed/+bug/172836) for reporting	spelling, gra-
       matical 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>

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.0>

home | help