1XMBDFED(1)                  General Commands Manual                 XMBDFED(1)
2
3
4

NAME

6       xmbdfed - Motif-based BDF font editor
7
8

SYNOPSIS

10       xmbdfed [options] [fonts ...]
11
12

DESCRIPTION

14       xmbdfed  lets  you interactively create new bitmap font files or modify
15       existing ones.  It allows editing multiple fonts and  multiple  glyphs,
16       it allows cut and paste operations between fonts and glyphs and editing
17       font properties.  xmbdfed can import Metafont PK/GF fonts,  Han  Bitmap
18       Font  Format  (HBF)  fonts,  Linux console fonts (PSF, CP, and EGA/VGA)
19       fonts, Sun VF fonts, TrueType (TTF) fonts, or grab a font  from  the  X
20       server.  xmbdfed can export PSF2 Linux console fonts and HEX fonts (see
21       online help).  The editor support two and  four  bits  per  pixel  gray
22       scale fonts.
23
24       xmbdfed works on X Window System Version 11 (X11), Release 5 or Release
25       6, with Motif 1.2.x or Motif 2.x.
26
27

OPTIONS

29       xmbdfed accepts the following command line arguments:
30
31
32       -nc     do not preserve comments  (by  default,  xmbdfed  automatically
33               collects comments that are saved with the font).
34
35       -nu     do not preserve unencoded glyphs (by default, xmbdfed preserves
36               the unencoded glyphs).
37
38       -nm     do not make metrics corrections (by default,  xmbdfed  attempts
39               to make metrics corrections automatically).
40
41       -np     do  not  pad  character-cell  bitmaps (by default, xmbdfed pads
42               character-cell bitmaps with 0's to the cell dimensions when the
43               font is saved).
44
45       -bp     allow blank pages (by default, xmbdfed skips blank pages).
46
47       -ed     do not present the "Really Exit?" dialog (by default, this dia‐
48               log always presented).
49
50       -ps n   set default point size (if unspecified, xmbdfed sets it to 12).
51
52       -hres n set default horizontal resolution.
53
54       -vres n set default vertical resolution.
55
56       -res n  set both default resolutions (if unspecified, xmbdfed sets both
57               horizontal  and  vertical  resolution to that of display, (e.g.
58               90x90 dpi for Sun workstations).
59
60       -sp s   set the default font spacing ("p"  for  Proportional,  "m"  for
61               Monowidth, or "c" for Character Cell).
62
63       -bpp n  set the default bits per pixel for new fonts (1, 2, or 4).
64
65       -eol e  set  the  default  end-of-line  type  ("u" for Unix LF, "d" for
66               DOS/Windows CRLF, or "m" for Macintosh CR).  CR)
67
68       -g glyph-code
69               specify the initial glyph code at startup.  The glyph code  can
70               be  specified in decimal, octal, or hex.  Octal numbers must be
71               prefixed with the digit 0, and hex  numbers  must  be  prefixed
72               with one of: 0x, 0X, U+, U-, \u.
73
74       -pb     do not use the progress bar.  Use the watch cursor instead.
75
76       -cb code-base
77               specify the code base used to display the glyphs encodings (can
78               be "octal", "decimal", or "hexadecimal").
79
80

FONT GRID

82       At the top of each editor window there are  some  fields  and  buttons.
83       These are:
84
85              The "Font" text field is where the font name is set so it can be
86              edited.
87
88              The "Glyph" field is a  label  that  provides  some  information
89              about  glyph  name,  encoding,  and  metrics  when  a  glyph  is
90              selected.  When a range of glyphs are selected, this field  dis‐
91              plays the start and end codes of the range.
92
93              The  push  buttons are used to navigate through the glyph pages.
94              The "Previous Page" and "Next Page" buttons normally skip  glyph
95              pages  that are empty, but that can be changed using the "Setup"
96              dialog.
97
98              If the Shift key is held down while  the  "Next"  or  "Previous"
99              page  buttons is pressed, then the paging behavior will be oppo‐
100              site of the current paging behavior.
101
102              The "Page" field indicates  the  current  glyph  page  and  also
103              allows a specific page number to be entered.  Once a page number
104              is entered, pressing the Return key will cause the Font Grid  to
105              shift to that page.  The page number entered is expected to be a
106              decimal number.
107
108              The "Code" field is provided for situations where the page  num‐
109              ber  is  not  known,  but  the  encoding is known.  The encoding
110              entered in this field must be in the base (8, 10, or 16) that is
111              currently  being used to display glyph encodings (see the "View"
112              menu below).  Once the encoding is entered, pressing the  Return
113              key will cause the Font Grid to shift to the page containing the
114              encoding.
115
116       The main window of each font editor is called the Font Grid.  Each Font
117       Grid has a clipboard used for passing glyphs around.  This clipboard is
118       called FONTGRID_CLIPBOARD.  The format of the data stored to this clip‐
119       board is not documented yet.
120
121       When  a glyph has been modified either by the user or by automatic met‐
122       rics corrections when the font is loaded,  the  glyph  code  above  the
123       glyph cell will be highlighted.
124
125

Font Grid Menus

127       The File menu has the following entries:
128
129       New <Ctrl+N>
130           This  creates a new font using the current defaults for point size,
131           horizontal and vertical resolution, and font spacing.
132
133       Open <Ctrl+O>
134           This opens a new font in the current Font Grid.  If the font in the
135           grid  has been modified, the option to save the font before loading
136           a new one will be given.
137
138       Save <Ctrl+S>
139           Save the current font.  If the current font does not  have  a  file
140           name,  a  file  selection  dialog will pop up so a file name can be
141           entered.
142           When the font is saved, it will automatically generate  a  list  of
143           _XFREE86_GLYPH_RANGE  properties  containing  a list of glyph codes
144           available in the font.
145
146       Save As <Ctrl+W>
147           Save the current font with some other name.
148           When the font is saved, it will automatically generate  a  list  of
149           _XFREE86_GLYPH_RANGE  properties  containing  a list of glyph codes
150           available in the font.
151
152       The Import submenu of the File menu has the following entries:
153
154           PK/GF Font <Ctrl+K>
155               Import a Metafont PK or GF font.
156
157           Console Font <Ctrl+L>
158               Import a binary console font used by Linux and Sun (PSF1, PSF2,
159               CP, vfont, and other font formats).
160
161           HBF Font <Ctrl+H>
162               Import an HBF font.
163
164           Windows Font <Ctrl+B>
165               Import  a  Windows  FON/FNT  font.  This will also import fonts
166               from .EXE and .DLL files as well.
167
168           TrueType Font <Ctrl+Y>
169               Import a TrueType font (.ttf extension) or a  TrueType  collec‐
170               tion (.ttc extension).
171
172           Server Font <Ctrl+G>
173               Import a font from the X server.
174
175       The Export submenu of the File menu has the following entries:
176
177           PSF <Ctrl+F>
178               This will export the current BDF font or the currently selected
179               glyphs to a  PSF2  font.   Glyphs  in  PSF  fonts  are  usually
180               arranged  in a specific way to make them work properly with the
181               basic display driver.  Many of these fonts  come  with  mapping
182               tables  attached that indicate which Unicode characters a glyph
183               can be used for.  The  mapping  table  allows  the  console  to
184               attempt to display Unicode text.
185
186               During  the  export, an option menu will let you select whether
187               to:
188
189                 Export Font with Mapping Table
190                 Export Font Only
191                 Export Mapping Table Only
192
193               Only the first 512 glyphs will be exported to the font.
194
195           HEX
196               This will export the current BDF font into the HEX format  (see
197               http://czyborra.com/unifont/).
198
199       Exit/Close <Ctrl+F4>
200           Exit  the  program  if this is the primary Font Grid or simply hide
201           (unmap) the current Font Grid window.
202
203       The Edit menu has the following entries:
204
205       Copy <Ctrl+C> or <Button3Down>
206           This copies the current selection to the Font Grid clipboard.
207
208       Cut <Ctrl+X> or <Key>Delete or <Key>BackSpace
209           This copies the current selection to the Font  Grid  clipboard  and
210           then deletes the selection.
211
212       Paste <Ctrl+V> or <Button2Down>
213           This  replaces  the glyphs starting at the currently selected posi‐
214           tion with the Font Grid clipboard.
215
216       Overlay <Ctrl+Shift+V> or Ctrl<Button2Down>
217           This merges the Font Grid cliboard with the glyphs starting at  the
218           currently  selected position.  The names of the modified glyphs are
219           not changed.
220
221       Insert <Ctrl+Meta+V> or Shift<Button2Down>
222           This inserts the Font Grid clipboard  in  front  of  the  currently
223           selected position.
224
225       Properties <Ctrl+P>
226           This invokes the font property editor.
227
228       Comments <Ctrl+M>
229           This invokes the font comments editor.
230
231       Font Info <Ctrl+I>
232           This  invokes  a  dialog  that  allows  changes to some of the font
233           information so these values do not have to  be  changed  using  the
234           property  editor.  These values include the default character, font
235           device width (for monowidth and character cell fonts), font  ascent
236           and  descent, font vertical and horizontal resolution, and the font
237           spacing.
238
239       The Font Name submenu of the Edit menu has the following four entries:
240
241           Make XLFD Name
242               If the font does not have an XLFD name, this will save the cur‐
243               rent  font  name  in  the _ORIGINAL_FONT_NAME font property and
244               then generate an XLFD name for the font.
245
246           Update Name From Properties
247               This will update the XLFD font name fields from the font  prop‐
248               erty list.
249
250           Update Properties From Name
251               This will update the font properties from the XLFD font name.
252
253           Update Average Width
254               This  will update the average width field of the XLFD font name
255               and will update the  AVERAGE_WIDTH  font  property  as  a  side
256               effect.
257
258       Name Glyphs
259
260           Unicode Names
261               This  will  rename all the glyphs using names taken from a file
262               in the Unicode Character Database format.  This file can be set
263               in the configuration file or set using the Setup dialog.
264
265           Unicode Values
266               This  will  rename all the glyphs with a hexadecimal value pre‐
267               fixed by 0x, U+, or \u (example: 0x010D, U+010D, \u010D).
268
269       Test Glyphs <Ctrl+Z>
270               This will toggle the glyph test dialog on or off for  the  edi‐
271               tor.  When this is active, selecting a glyph from any Font Grid
272               will also add it to the glyph test dialog.   When  changes  are
273               made to a glyph or the font bounding box, the glyph test dialog
274               will be updated accordingly.
275
276               The glyph test dialog provides a toggle to turn the baseline on
277               or off and another toggle to draw from right to left instead of
278               left to right.
279
280       Setup <Ctrl+T>
281               This will invoke the dialog to edit various  settings  used  by
282               the  editor such as the default point size, resolution and font
283               spacing.
284
285       The View menu has the following entries:
286
287       Unencoded <Ctrl+E>
288           This will toggle between displaying the unencoded (glyphs  with  an
289           ENCODING field of -1) and encoded glyphs.
290
291       Code Base
292           Selects  displaying of glyph encoding.  Options are Octal (base 8),
293           Decimal (base 10) or Hexadecimal (base 16).
294
295       Other Page <Ctrl+Shift+S>
296           This will toggle between the current page and the  last  page  that
297           was viewed.
298
299       Vertical View <Ctrl+Q>
300           This  will  toggle the FontGrid between showing the glyphs horizon‐
301           tally (default) and vertically.
302
303       Messages <Ctrl+A>
304           This will show messages generated when corrections to the font met‐
305           rics are done or errors are encountered.
306
307       The Operations menu has the following entries:
308
309       Translate <Ctrl+D>
310           This  will bring up the dialog for entering the X offset and Y off‐
311           set used to translate the glyph to a new location.
312
313           The option of translating the selected glyphs or all of the  glyphs
314           is provided.
315
316       Rotate <Ctrl+R>
317           This will bring up the dialog for entering the rotation angle.  The
318           rotation is limited to between plus or minus 1 and 359 degrees.
319
320           The option of rotating the selected glyphs or all of the glyphs  is
321           provided.
322
323       Shear <Ctrl+J>
324           This  will  bring up the dialog for entering theangle of the shear.
325           The shear is limited to plus or minus 45 degrees.
326
327           The option of rotating the selected glyphs or all of the glyphs  is
328           provided.
329
330       Embolden <Ctrl+Shift+B>
331           This  will  bring up the dialog for emboldening either the selected
332           or all glyphs.
333
334           To embolden means to make bold.
335
336       The Editors menu has the following entries:
337
338       New <Ctrl+N>
339           This will cause a new editor to be created using  the  point  size,
340           resolution,  and  bits  per  pixel set in the config file, from the
341           command line or from the Setup dialog.
342
343       [editor list]
344           The remaining menu items are all the Font  Grid's  that  have  been
345           created.   Choosing  one  will force that window to be made visible
346           (mapped) and also put that window on top.
347
348

Font Grid Other Features

350       Double clicking the mouse on one of the glyphs will start a Glyph  Edi‐
351       tor for that glyph.
352
353       The  font name can be edited in the Font Grid and page switching can be
354       done with the buttons on the Font Grid.
355
356

GLYPH EDITOR

358       The Glyph Editor provides a simple bitmap editor designed to edit glyph
359       bitmaps  and other glyph information.  The Glyph Editors all use a spe‐
360       cial clipboard used to pass bitmaps between the  Glyph  Editors.   This
361       clipboard is called GLYPHEDIT_CLIPBOARD.
362
363       The  only  limit on the number of Glyph Editors that can be open at one
364       time is the amount of memory.
365
366

Glyph Editor Menus

368       The File menu has the following entries:
369
370       Update <Ctrl+S>
371           This will update the Font Grid with the modified glyph.
372
373       Update and Next <Ctrl+U>
374           This will update the FontGrid with the modified glyph and  move  to
375           the next glyph.
376
377       Update and Previous <Ctrl+B>
378           This  will  update the FontGrid with the modified glyph and move to
379           the previous glyph.
380
381       Import XBM <Ctrl+I>
382           This will pop up a file selection dialog so an X Bitmap file  (.xbm
383           extension) can be selected to be imported into the glyph editor.
384
385           The  imported  bitmap  is  handled  the same way as bitmaps pasted.
386           They are inserted as a selection with the move operation active and
387           do not destroy any bitmap that already exists in the editor.
388
389       Export XBM <Ctrl+O>
390           This  will  pop  up a file selection dialog so that the glyph image
391           can be exported as an X Bitmap file (.xbm extension).
392
393       Close <Ctrl+F4>
394           This will close the Glyph Editor.
395
396       The Edit menu has the following entries:
397
398       Reload <Ctrl+L>
399           This will reload the glyph and discard  any  changes  made  in  the
400           GlyphEditor.
401
402       Resize BBX <Ctrl+R>
403           This  will  allow  changing  the  sizes  of  the glyph bounding box
404           including the left/right bearings and the glyph ascent/descent.  If
405           this  change  causes  the  glyph bounding box to be larger than the
406           font bounding box, the font bounding box will be resized  when  the
407           glyph is saved next.
408
409       Copy <Ctrl+C>
410           This  will copy the currently selected portion of the bitmap to the
411           Glyph Editor clipboard.
412
413       Cut <Ctrl+X>
414           This will copy the currently selected portion of the bitmap to  the
415           Glyph Editor clipboard and then delete the selection.
416
417       Paste <Ctrl+V>
418           This will paste the contents of the Glyph Editor clipboard into the
419           current Glyph Editor with the top-left coordinate of the bitmap  on
420           the  clipboard  pasted at the location of the mouse.  If the bitmap
421           is too big to fit if it is pasted at the mouse location, the bitmap
422           will be shifted until it fits completely in the Glyph Editor.
423
424       Select All <Ctrl+A>
425           This will select the whole glyph bitmap.
426
427       Next Glyph <Ctrl+N>
428           This  will  move the Glyph Editor to the next glyph position in the
429           Font Grid.  If the current glyph has been modified, a  save  prompt
430           will appear before moving to the next glyph.
431
432       Previous Glyph <Ctrl+P>
433           This  will  move the Glyph Editor to the previous glyph position in
434           the Font Grid.  If the current glyph  has  been  modified,  a  save
435           prompt will appear before moving to the previous glyph.
436
437       The Operation menu has the following entries:
438
439       Draw <Ctrl+D>
440           Change the Glyph Editor into Draw mode.
441
442       Move <Ctrl+M>
443           Change the Glyph Editor into Move mode.  Move mode allows selecting
444           a portion of the glyph bitmap and moving it to another location.
445
446       Copy <Ctrl+Y>
447           Change the Glyph Editor into Copy mode.  Copy mode allows copying a
448           portion of the glyph bitmap and moving it to another location.
449
450       Rotate <Ctrl+T>
451           This  will  invoke  the  rotation dialog that allows the degrees of
452           rotation to be specified.   Rotation  can  be  between  1  and  359
453           degrees.
454
455       Shear <Ctrl+E>
456           This  will invoke the shear dialog that allows the degrees of hori‐
457           zontal shear  to  be  specified.   Other  names  for  shearing  are
458           obliquing  or  slanting.   Shearing  is  allowed  between  1 and 45
459           degrees.
460
461       Embolden <Ctrl+H>
462           This will embolden the glyph in a simple manner.
463
464

Glyph Editor Other Features

466       When the mouse is used to shift the bitmap by one of the buttons, hold‐
467       ing the mouse down will cause the activity to repeat.
468
469       When  editing  fonts with two or four bits per pixel, a strip of colors
470       is presented on the left side of the Glyph Editor toolbox.   These  can
471       be  selected  with the mouse or with certain keys (see online help text
472       for details).
473
474

RESOURCES

476       The program understands all of the core X Toolkit  resource  names  and
477       classes as well as:
478
479       noComments (Boolean)
480               Specify  whether  xmbdfed  preserves  comments  or not (default
481               False).
482
483       noUnencodedGlyphs (Boolean)
484               Specify whether xmbdfed preserves unencoded  glyphs  (character
485               code -1) or not (default False).
486
487       noMetricsCorrections (Boolean)
488               Specify   whether  xmbdfed  does  metrics  corrections  or  not
489               (default False).
490
491       padCharacterCells (Boolean)
492               Specify whether character-cell glyphs should be padded to  cell
493               geometry (default False).
494
495       skipBlankGlyphPages (Boolean)
496               Specify  whether  xmbdfed  skips  blank  pages  or not (default
497               True).
498
499       fontPointSize (Cardinal)
500               Sets default point size.
501
502       fontHorizontalResolution (Cardinal)
503               Sets default horizontal resolution.
504
505       fontVerticalResolution (Cardinal)
506               Sets default vertical resolution.
507
508       fontResolution (Cardinal)
509               Sets both default horizontal and vertical resolutions.
510
511       fontSpacing (String)
512               Sets the default font spacing ("p", "m", or "c")
513
514

SEE ALSO

516       xfed(1),  bdftopcf(1),  bdftosnf(1),  psfaddtable(1),   psfgettable(1),
517       pfaedit(1)
518       Glyph  Bitmap Distribution Format (BDF) Specification, Application Note
519       5005, Adobe System Inc, 1993
520       X Logical Font Description, X Consortium
521
522

ACKNOWLEDGMENTS

524       Ross Patterson for his HBF code.
525       der Mouse for his "getbdf" code.
526       K. Carothers and A. Korobka for their "fnt2bdf" code in Wine.
527
528       Mike Stroyan <mike_stroyan@fc.hp.com> for patches.
529       Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si> for  this  manual
530       page.
531       Danny Backx <u27113@kb.be> for the LessTif Imakefile.
532       Donald Page <donaldp@sco.com> for patches.
533       Michal Szymanski <msz@sirius.astrouw.edu.pl> for problem reports.
534       Werner Lemberg <a7971428@unet.univie.ac.at> for problem reports.
535       William F. Maton <wmaton@enterprise.ic.gc.ca> for problem reports.
536       Ivan Nejgebauer <ian@uns.ns.ac.yu> for problem reports.
537       Solofo <solofo@mpi-sb.mpg.de> for problem reports.
538       Dave Bodenstab <imdave@mcs.net> for patches.
539       W.  Chao  <wchao@HRZ.Uni-Bielefeld.DE> for Makefile changes and problem
540       report.
541       Andreas Reuter <ar205@bonzo.geowiss.nat.tu-bs.de> for problem reports.
542       Leonard Dickens <leonard@saul.hipgraphics.com> for  IRIX  6.3  Makefile
543       changes.
544       Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> for suggestions.
545       Jim Knoble <jmknoble@pobox.com> for dialog geometry fixes.
546       Darren  Stuart  Embry <dsembr01@ox.slug.louisville.edu> for HP/UX 10.20
547       X11R6 Makefile additions.
548       Vladimir Volovich <vvv@vvv.vsu.ru> for pointing out something I  forgot
549       to test.
550       Ben Fry <fry@media.mit.edu> for IRIX 6.5.2 variables for the Makefile.
551       J.H.M. Dassen (Ray) <jdassen@debian.org> for bug fixes.
552       Robert Brady <rwb197@ecs.soton.ac.uk> for pointing out a problem.
553       Stefan Monnier <monnier@cs.yale.edu> for a bug report.
554       Humphrey Clerx <humphrey.clerx@eurocontrol.be> for a bug report.
555       Rudolf Cejka <cejkar@dcse.fee.vutbr.cz> for bug fixes and a suggestion.
556       Baruch Even <baruch@ev-en.org> for a bug fix.
557       Sergey Vlasov <vsu@mivlgu.murom.ru> for bug fixes.
558       Daniel Neuburger <daniel.neuburger@lmco.com> for bug fixes.
559       Pierre HANSER <Pierre.Hanser@sxb.bsf.alcatel.fr> for a bug fix.
560       Patrick Hagglund <patrik.hagglund@bredband.net> for FreeType 2 support.
561
562

AUTHOR

564       Mark Leisher
565       Computing Research Lab
566       New Mexico State University
567       Email: mleisher@crl.nmsu.edu
568
569
570
571X Version 11                   09 February 2004                     XMBDFED(1)
Impressum