%\manfnttrue     ^^A remove this line if the manualfont is not on your system
%\UsersGuidetrue ^^A remove this line to print the full documentation.
%
%\iffalse metacomment
%  (c)1995--99 Peter M�ller Neergaard
%
%  This files may be distributed under the terms of the LaTeX Project Public
%  License, as described in lppl.txt in the base LaTeX distribution.
%  Either version 1.0 or, at your option, any later version.
%
%  For information about the copyright of the metafont sources for bbding,
%  please refer to the file .....
%
%  Install by running tex with "bbding.ins".  
% 
%  To get the documentation run latex twice on this file and then print the 
%  file bbding.dvi.  Note that the documentation can be processed without
%  the fontmetrices available, the symbols will however be missing.
%
%  This file is distributed in the hope that it will be useful,
%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
%\fi
% \CheckSum{643}
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
%
% ^^A I would not like to have the standard LaTeX commands in the index
% ^^A This is taken from `doc.dtx'
% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
% \DoNotIndex{\@flushglue,\@gobble,\@input}
% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
% \DoNotIndex{\mathcal,\csname,\def,\documentstyle,\dospecials,\edef}
% \DoNotIndex{\egroup}
% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn}
% \DoNotIndex{\ifcase}
% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
% \DoNotIndex{\strutbox}
% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
% \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary}
% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
% \DoNotIndex{\nopagebreak}
% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
% \DoNotIndex{\[,\{,\},\]}
% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
% \DoNotIndex{\baselineskip,\begin,\tw@}
% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q}
% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H}
% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z}
% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother}
% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment}
% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined}
% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc}
% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar}
% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode}
% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting}
% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf}
% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse}
% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault}
% \DoNotIndex{\bfdefault}
%
% ^^A Exclude commands used for generating the index
% \DoNotIndex{\CodelineIndex,\DeleteShortVerb,\DisableCrossrefs}
% \DoNotIndex{\EnableCrossrefs,\OnlyDescription,\RecordChanges}
%
% \ifUsersGuide
%   \OnlyDescription    
%   \DisableCrossrefs   
% \else
%   \RecordChanges      
% \fi
% 
% \GetFileInfo{bbding.sty}
% 
% \title{The \bbding-package\thanks
%   {This file has \fileversion\ and is dated \filedate}}
% \author{Karel Horak\thanks{Made the \METAFONT-source for the font.} \\
%         Peter M�ller Neergaard\thanks{Implemented the \LaTeXe-package.} \\
%  \texttt{turtle}@\texttt{diku.dk} \quad \texttt{http://www.diku.dk/students/turtle}\\
%         Sergue{\"i} Dachian\thanks{Fixed a bug in the symbols for scissors}}
%
% \maketitle
%
% \begin{abstract}
%   This package provides an easy-to-use interface to the \texttt{bbding} symbol
%   set developed by \emph{Karel Horak}.  The naming conventions is made
%   close to \emph{Zapf-Dingbat} as it can be found in \package{Wordperfect
%   6.0}, however, sometimes shortening the names.
% \end{abstract}
%
% ^^A Two column table of contents --- borrowed from ``doc.dtx''
% \ifmulticols
%   \addtocontents{toc}{\protect\begin{multicols}{2}}
% \fi
%
% {\parskip 0pt                ^^A We have to reset \parskip
%                              ^^A (bug in \LaTeX)
% \tableofcontents
% }
%
% A special thought should be given to \emph{Mauro Orlandini} and \emph{Max
% Hailperin} who developed a macro for setting paragraphs in parallel. This
% saved me for a lot of work, when developing this manual.
%
% \section{Usage and Symbols}
% 
% \noindent
% \bbding\ provides an easy to use interface to the |bbding|-symbolfont
% set. It is loaded by issusing the command
% |\usepackage{bbding}| in your document preamble.
% 
% You have the symbols shown in the following tables at your disposal. All
% the symbols are used issuing the command written to the right of the symbol.
%
% \begin{figure} \small 
% \begin{commandsInColumns}{2}
%   \ScissorRight
%   \ScissorRightBrokenBottom
%   \ScissorRightBrokenTop
%   \ScissorHollowRight
%   \ScissorLeft
%   \ScissorLeftBrokenBottom
%   \ScissorLeftBrokenTop
%   \ScissorHollowLeft
% \end{commandsInColumns}
% \caption{Scissors}
% \end{figure}

%
% \begin{figure} \small 
% \begin{commandsInColumns}{3}
%   \HandRight
%   \HandRightUp
%   \HandCuffRight
%   \HandCuffRightUp
%   \HandLeft
%   \HandLeftUp
%   \HandCuffLeft
%   \HandCuffLeftUp
%   \HandPencilLeft
% \end{commandsInColumns}
% \caption{Hands}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{3}
%   \PencilRight
%   \PencilRightUp
%   \PencilRightDown
%   \PencilLeft
%   \PencilLeftUp
%   \PencilLeftDown
%   \NibRight
%   \NibSolidRight
%   \NibLeft
%   \NibSolidLeft
% \end{commandsInColumns}
% \caption{Writing tools}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{3}
%   \XSolid
%   \XSolidBold
%   \XSolidBrush
%   \Plus
%   \PlusOutline
%   \PlusCenterOpen
%   \PlusThinCenterOpen
%   \Cross
%   \CrossOpenShadow
%   \CrossOutline
%   \CrossBoldOutline
%   \CrossClowerTips
%   \CrossMaltese
% \end{commandsInColumns}
% \caption{Crosses, plusses and the like}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{3}
%   \DavidStar
%   \DavidStarSolid
%   \JackStar
%   \JackStarBold
%   \FourStar
%   \FourStarOpen
%   \FiveStar
%   \FiveStarLines
%   \FiveStarOpen
%   \FiveStarOpenCircled
%   \FiveStarCenterOpen
%   \FiveStarOpenDotted
%   \FiveStarOutline
%   \FiveStarOutlineHeavy
%   \FiveStarConvex
%   \FiveStarShadow
%   \SixStar
%   \EightStar
%   \EightStarBold
%   \EightStarTaper
%   \EightStarConvex
%   \TwelweStar
%   \SixteenStarLight
%   \Asterisk
%   \AsteriskBold
%   \AsteriskCenterOpen
%   \AsteriskThin
%   \AsteriskThinCenterOpen
%   \AsteriskRoundedEnds
%   \FourAsterisk
%   \EightAsterisk
% \end{commandsInColumns}
% \caption{All kind of stars}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{2}
%   \FiveFlowerOpen
%   \FiveFlowerPetal
%   \SixFlowerOpenCenter
%   \SixFlowerRemovedOpenPetal
%   \SixFlowerAlternate
%   \SixFlowerAltPetal
%   \SixFlowerPetalDotted
%   \SixFlowerPetalRemoved
%   \EightFlowerPetalRemoved
%   \EightFlowerPetal
%   \FourClowerOpen
%   \FourClowerSolid
%   \Sparkle
%   \SparkleBold
%   \SnowflakeChevron
%   \SnowflakeChevronBold
%   \Snowflake
% \end{commandsInColumns}
% \caption{Flowers, snowflakes and the like}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{2}
%   \CircleSolid
%   \CircleShadow
%   \HalfCircleRight
%   \HalfCircleLeft
%   \Ellipse
%   \EllipseSolid
%   \EllipseShadow
%   \Square
%   \SquareSolid
%   \SquareShadowBottomRight
%   \SquareShadowTopRight
%   \SquareShadowTopLeft
%   \SquareCastShadowBottomRight
%   \SquareCastShadowTopRight
%   \SquareCastShadowTopLeft
%   \TriangleUp
%   \TriangleDown
%   \DiamondSolid
%   \OrnamentDiamondSolid
%   \RectangleThin
%   \Rectangle
%   \RectangleBold
% \end{commandsInColumns}
% \caption{Geometrical Shapes}
% \end{figure}
%
% \begin{figure} \small 
% \begin{commandsInColumns}{3}
%   \Phone
%   \PhoneHandset
%   \Tape
%   \Plane
%   \Envelope
%   \Peace
%   \Checkmark
%   \CheckmarkBold
%   \SunshineOpenCircled
%   \ArrowBoldRightStrobe
%   \ArrowBoldUpRight
%   \ArrowBoldDownRight
%   \ArrowBoldRightShort
%   \ArrowBoldRightCircled
% \end{commandsInColumns}
% \caption{Miscellaneous}
% \end{figure}
% \clearpage
% \section{How to Install \texttt{bbding}}
% 
% I suppose that you have already got the file |bbding10.mf| containing the \METAFONT-source for the
% \bbding-symbol set from your nearest CTAN-site. It should be placed in a
% directory, where it can be found by \METAFONT. 
% 
% Then generate the font-metrices |bbding10.tfm| using \METAFONT\ (ask your
% system administrator for details). This is done from a command line issusing, say:
% \begin{code}
%   |metafont \mode=|\meta{localmode}|; input bbding10|
% \end{code}
% where \meta{localmode} is one of the modes defined in your local setup
% file, |local.mf|, for \METAFONT. Move the resulting |bbding10.tfm|
% to a directory in the path, where \LaTeX\ looks for |.tfm|-files. If it
% had also generated the bitmap-file, move it to a location, where you
% favourite DVI-viewer can find it.
% 
% As the last thing  install the package file, by running \TeX\ 
% with the file |bbding.ins|. This generates two files: |bbding.sty| and
% |Uding.fd|. |bbding.sty| is the packages file, which is loaded by
% \LaTeX\ and |Uding.fd| contains the loading information about the font.
% 
% If the manualfont |manfnt.tfm|---which is only used to generate the logo
% for \METAFONT---is not installed at your system, you should
% remove the first line of this file
% \begin{code}
%   |%\manfnttrue     ^^A remove this line if|\lttdots\hss
% \end{code}
%
% This file is documented using \package{doc}. This means that documentation
% and commented packagecode is contained in the single file
% |bbding.dtx|. If you want to see the full documentation, you should remove
% the second line of the file |bbding.dtx|
% \begin{code}
%   |%\UsersGuidetrue ^^A remove this line|\lttdots
% \end{code}
% and then run \LaTeX\ on the changed file. After this you should generate 
% the change history using |makeindex|:
% \begin{code}
%   |makeindex -s gglo.ist -o bbding.gls bbding.glo|\hss
% \end{code}
% After this process the file once more.
%
% \medskip
% \parmark[\copyright]^^A
% At last the borrowing formal stuff: You a encouraged to copy, use, delete
% etc.\ the package (|bbding.dtx|, |dingbat.fd| and |semantic.ins|) as much as
% your heart desires as long as you pass it on in complete.
% You are welcome to sneak in the code and get inspiration.  You should just
% remember: {\small \copyright 1993 Karel Horak for the \METAFONT-source and 
% \copyright 1995--1996 Peter M�ller Neergaard for the style file}
%
% \StopEventually{
%  \ifmulticols
%    \addtocontents{toc}{\protect\end{multicols}}
%  \fi
% }
%
% \section{The Code of \texttt{bbding.dtx}}
%
% \ifmulticols
%   \begin{multicols}{2}[\subsection{To e Done (In Priority)}]
% \else
%   \subsection{To Be Done (Priority)}
% \fi
%  
% \begin{columnItemize}
% \item Add check for the existence of |manfnt.tfm| instead of using the
%   flag |\ifmanfnt|. |\checkfont| in |ltxcheck.tex| should be the right
%   place to get the inspiration (thanks to \emph{David Carlisle}).

% \end{columnItemize}
% 
% \ifmulticols
%   \end{multicols}
% \fi
% 
% \subsection{Overview of the Code}
% \changes{1.0}{1996/02/02}{Finished the naming and documentation}
% \changes{1.01}{1999/04/15}{Fixed a bug in the \METAFONT\ source for scissors}
%
% The code consits of five parts: 
% 
% \begin{itemize} 
% \item A hack making it possible to process the rest of the file without
%   the package yet installed.
% \item The package header for |bbding.sty|.
% \item The font definitions, which will be put in |Uding.fd| by
%   \package{docstrip} and which alse should be used, when printing the
%   documentation.  
% \item The name definitions, which primarily is intended for
%   |bbding.sty|. It is also used in the documentation, thereby making the
%   processing of the documentaion possible without the documentation
%   installed.
% \item The driver program for preparing the documentation.
% \end{itemize}
%
% \subsection{Stub for Users Guide and Documentation}
%
% First comes a little hack, that makes \LaTeX\ thinks it is loading the
% package \texttt{bbding.sty}.  In this way the commands in the
% package can be used---without warnings---when printing the documentation.
%    \begin{macrocode}
%<*documentation>
   \makeatletter \def\@currname{bbding}
\def\@currext{sty} 
%</documentation>
%    \end{macrocode}
% |\@currname| and |\@currext| is internal \LaTeX-macros containg the name
% respectively extension of the package currently being loaded.  The code is
% encapsulated in |<*documentation>|\lttdots|</documentation>| so that it is
% not included in the style-file, when installing the package.
%
% \subsection{Header of \texttt{bbding.sty}}
%
% First in |bbding.sty| comes the code that identifies the file as a
% \LaTeXe-package
%    \begin{macrocode}
%<*sty>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bbding}%
  [1999/04/15 v1.01 Dingbats symbols%
  ]
%</sty>
%    \end{macrocode}
%
% \subsection{Defining the Fonts for Use}
% 
% Before using the fonts the declaration of the font family should be done.
% This is (by convention) kept in  |Uding.fd|, which starts by introducing
% itself to \LaTeX.  Then the family |ding| is declared and defined in
% one shape (medium (|n|) weight and width) and it is told that all sizes
% comes from scaling the 10pt font.
% 
%    \begin{macrocode}
%<*fd>
\ProvidesFile{Uding.fd}
  [1996/02/01 v1.0 BBding font definitions%
  ]
\DeclareFontFamily{U}{ding}{}
\DeclareFontShape{U}{ding}{m}{n}{%
  <-> bbding10 }{}
%</fd>
%    \end{macrocode}
%
% |Uding.fd| is not loaded until the font is actually used, which is
% the first time that the command |\dingfamily| is used. This command is
% defined in the packagefile:
%
%    \begin{macrocode}
%<*sty>
\newcommand{\dingfamily}{\fontencoding{U}\fontfamily{ding}\selectfont}
%    \end{macrocode}
%
% \subsection{Definition of Each Symbol}
%
% \begin{macro}{\@chooseSymbol}
%   It would unnormal to use more than one symbol at a time, so I
%   define a macro for chosing one symbol in the font. This macro is 
%   called by each of symbolsmacros. This keeps the definitions of the
%   names simple and probably saves memory. I see no reason to define a
%   ``|\textding|'' command as symbols would be used only one (or perhaps
%   two) at a time.  
%    \begin{macrocode}
\newcommand{\@chooseSymbol}[1]{{\dingfamily\symbol{#1}}}
%    \end{macrocode}
%   This macro does the fontchange locally by encapsulating it in a group and
%   then sets the symbol with the desired number.
% \end{macro}
% 
% Then comes the definition of for each symbol:
% As mentioned in the abstract the naming convention is inspired by the 
% names used in \package{Wordperfect 6.0} font set 5. I have however
% shortened the 
% names. I have made a sligtly difference from the \LaTeX\ convention 
% by capitalizing the first letter of each word, which seems more 
% readable to me.
%    \begin{macrocode}
\newcommand{\ScissorRightBrokenBottom}{\@chooseSymbol{'000}}
\newcommand{\ScissorRight}{\@chooseSymbol{'001}}
\newcommand{\ScissorRightBrokenTop}{\@chooseSymbol{'002}}
\newcommand{\ScissorLeftBrokenBottom}{\@chooseSymbol{'003}}
\newcommand{\ScissorLeft}{\@chooseSymbol{'004}}
\newcommand{\ScissorLeftBrokenTop}{\@chooseSymbol{'005}}
\newcommand{\ScissorHollowRight}{\@chooseSymbol{'006}}
\newcommand{\ScissorHollowLeft}{\@chooseSymbol{'007}}
\newcommand{\Phone}{\@chooseSymbol{'010}}
\newcommand{\PhoneHandset}{\@chooseSymbol{'011}}
\newcommand{\Tape}{\@chooseSymbol{'012}}
\newcommand{\Plane}{\@chooseSymbol{'013}}
\newcommand{\Envelope}{\@chooseSymbol{'014}}
\newcommand{\HandCuffRight}{\@chooseSymbol{'015}}
\newcommand{\HandCuffLeft}{\@chooseSymbol{'016}}
\newcommand{\HandCuffRightUp}{\@chooseSymbol{'017}}
\newcommand{\HandCuffLeftUp}{\@chooseSymbol{'020}}
\newcommand{\HandRight}{\@chooseSymbol{'021}}
\newcommand{\HandLeft}{\@chooseSymbol{'022}}
\newcommand{\HandRightUp}{\@chooseSymbol{'023}}
\newcommand{\HandLeftUp}{\@chooseSymbol{'024}}
\newcommand{\Peace}{\@chooseSymbol{'025}}
\newcommand{\HandPencilLeft}{\@chooseSymbol{'026}}
\newcommand{\PencilRight}{\@chooseSymbol{'027}}
\newcommand{\PencilLeft}{\@chooseSymbol{'030}}
\newcommand{\PencilRightUp}{\@chooseSymbol{'031}}
\newcommand{\PencilLeftUp}{\@chooseSymbol{'032}}
\newcommand{\PencilRightDown}{\@chooseSymbol{'033}}
\newcommand{\PencilLeftDown}{\@chooseSymbol{'034}}
\newcommand{\NibRight}{\@chooseSymbol{'035}}
\newcommand{\NibLeft}{\@chooseSymbol{'036}}
\newcommand{\NibSolidRight}{\@chooseSymbol{'037}}
\newcommand{\NibSolidLeft}{\@chooseSymbol{'040}}
\newcommand{\Checkmark}{\@chooseSymbol{'041}}
\newcommand{\CheckmarkBold}{\@chooseSymbol{'042}}
\newcommand{\XSolid}{\@chooseSymbol{'043}}
\newcommand{\XSolidBold}{\@chooseSymbol{'044}}
\newcommand{\XSolidBrush}{\@chooseSymbol{'045}}
\newcommand{\PlusOutline}{\@chooseSymbol{'046}}
\newcommand{\Plus}{\@chooseSymbol{'047}}
\newcommand{\PlusCenterOpen}{\@chooseSymbol{'050}}
\newcommand{\PlusThinCenterOpen}{\@chooseSymbol{'051}}
\newcommand{\Cross}{\@chooseSymbol{'052}}
\newcommand{\CrossOpenShadow}{\@chooseSymbol{'053}}
\newcommand{\CrossOutline}{\@chooseSymbol{'054}}
\newcommand{\CrossBoldOutline}{\@chooseSymbol{'055}}
\newcommand{\CrossMaltese}{\@chooseSymbol{'056}}
\newcommand{\DavidStarSolid}{\@chooseSymbol{'057}}
\newcommand{\DavidStar}{\@chooseSymbol{'060}}
\newcommand{\FourAsterisk}{\@chooseSymbol{'061}}
\newcommand{\JackStar}{\@chooseSymbol{'062}}
\newcommand{\JackStarBold}{\@chooseSymbol{'063}}
\newcommand{\CrossClowerTips}{\@chooseSymbol{'064}}
\newcommand{\FourStar}{\@chooseSymbol{'065}}
\newcommand{\FourStarOpen}{\@chooseSymbol{'066}}
\newcommand{\FiveStarLines}{\@chooseSymbol{'067}}
\newcommand{\FiveStar}{\@chooseSymbol{'070}}
\newcommand{\FiveStarOpen}{\@chooseSymbol{'071}}
\newcommand{\FiveStarOpenCircled}{\@chooseSymbol{'072}}
\newcommand{\FiveStarCenterOpen}{\@chooseSymbol{'073}}
\newcommand{\FiveStarOpenDotted}{\@chooseSymbol{'074}}
\newcommand{\FiveStarOutline}{\@chooseSymbol{'075}}
\newcommand{\FiveStarOutlineHeavy}{\@chooseSymbol{'076}}
\newcommand{\FiveStarConvex}{\@chooseSymbol{'077}}
\newcommand{\FiveStarShadow}{\@chooseSymbol{'100}}
\newcommand{\AsteriskBold}{\@chooseSymbol{'101}}
\newcommand{\AsteriskCenterOpen}{\@chooseSymbol{'102}}
\newcommand{\AsteriskThin}{\@chooseSymbol{'103}}
\newcommand{\AsteriskThinCenterOpen}{\@chooseSymbol{'104}}
\newcommand{\EightStarTaper}{\@chooseSymbol{'105}}
\newcommand{\EightStarConvex}{\@chooseSymbol{'106}}
\newcommand{\SixStar}{\@chooseSymbol{'107}}
\newcommand{\EightStar}{\@chooseSymbol{'110}}
\newcommand{\EightStarBold}{\@chooseSymbol{'111}}
\newcommand{\TwelweStar}{\@chooseSymbol{'112}}
\newcommand{\SixteenStarLight}{\@chooseSymbol{'113}}
\newcommand{\SixFlowerPetalRemoved}{\@chooseSymbol{'114}}
\newcommand{\SixFlowerOpenCenter}{\@chooseSymbol{'115}}
\newcommand{\Asterisk}{\@chooseSymbol{'116}}
\newcommand{\SixFlowerAlternate}{\@chooseSymbol{'117}}
\newcommand{\FiveFlowerPetal}{\@chooseSymbol{'120}}
\newcommand{\SixFlowerPetalDotted}{\@chooseSymbol{'121}}
\newcommand{\FiveFlowerOpen}{\@chooseSymbol{'122}}
\newcommand{\EightFlowerPetal}{\@chooseSymbol{'123}}
\newcommand{\SunshineOpenCircled}{\@chooseSymbol{'124}}
\newcommand{\SixFlowerAltPetal}{\@chooseSymbol{'125}}
\newcommand{\FourClowerOpen}{\@chooseSymbol{'126}}
\newcommand{\FourClowerSolid}{\@chooseSymbol{'127}}
\newcommand{\AsteriskRoundedEnds}{\@chooseSymbol{'130}}
\newcommand{\EightFlowerPetalRemoved}{\@chooseSymbol{'131}}
\newcommand{\EightAsterisk}{\@chooseSymbol{'132}}
\newcommand{\SixFlowerRemovedOpenPetal}{\@chooseSymbol{'133}}
\newcommand{\SparkleBold}{\@chooseSymbol{'134}}
\newcommand{\Sparkle}{\@chooseSymbol{'135}}
\newcommand{\SnowflakeChevron}{\@chooseSymbol{'136}}
\newcommand{\SnowflakeChevronBold}{\@chooseSymbol{'137}}
\newcommand{\Snowflake}{\@chooseSymbol{'140}}
\newcommand{\CircleSolid}{\@chooseSymbol{'141}}
\newcommand{\Ellipse}{\@chooseSymbol{'142}}
\newcommand{\EllipseSolid}{\@chooseSymbol{'143}}
\newcommand{\CircleShadow}{\@chooseSymbol{'144}}
\newcommand{\EllipseShadow}{\@chooseSymbol{'145}}
\newcommand{\Square}{\@chooseSymbol{'146}}
\newcommand{\SquareSolid}{\@chooseSymbol{'147}}
\newcommand{\SquareShadowBottomRight}{\@chooseSymbol{'150}}
\newcommand{\SquareShadowTopRight}{\@chooseSymbol{'151}}
\newcommand{\SquareShadowTopLeft}{\@chooseSymbol{'152}}
\newcommand{\SquareCastShadowBottomRight}{\@chooseSymbol{'153}}
\newcommand{\SquareCastShadowTopRight}{\@chooseSymbol{'154}}
\newcommand{\SquareCastShadowTopLeft}{\@chooseSymbol{'155}}
\newcommand{\TriangleUp}{\@chooseSymbol{'156}}
\newcommand{\TriangleDown}{\@chooseSymbol{'157}}
\newcommand{\DiamondSolid}{\@chooseSymbol{'160}}
\newcommand{\OrnamentDiamondSolid}{\@chooseSymbol{'161}}
\newcommand{\HalfCircleRight}{\@chooseSymbol{'162}}
\newcommand{\HalfCircleLeft}{\@chooseSymbol{'163}}
\newcommand{\RectangleThin}{\@chooseSymbol{'164}}
\newcommand{\Rectangle}{\@chooseSymbol{'165}}
\newcommand{\RectangleBold}{\@chooseSymbol{'166}}
\newcommand{\ArrowBoldRightStrobe}{\@chooseSymbol{'167}}
\newcommand{\ArrowBoldUpRight}{\@chooseSymbol{'170}}
\newcommand{\ArrowBoldDownRight}{\@chooseSymbol{'171}}
\newcommand{\ArrowBoldRightShort}{\@chooseSymbol{'172}}
\newcommand{\ArrowBoldRightCircled}{\@chooseSymbol{'173}}
%</sty>
%    \end{macrocode}
% When naming I have tried to keep a maxium of four words per name. I have
% however made a few exception to have a consistent naming.
%
% \subsection{Driver for the Documentation}
%
% The package-file (|bbding.dtx|) is ended by the \LaTeX-preamble to produce
% the documentation.  By placing it at the end, all the commands in the
% package can be used when processing the documentation, though the
% package is not yet installed on the system. The fontmetrices and -bitmaps
% should however be generated before.
%    \begin{macrocode}
%<*documentation>
\documentclass{ltxdoc} 
\usepackage[T1]{fontenc}

\newif\ifmulticols
  \IfFileExists{multicol.sty}{\multicolstrue}{}

\newif\ifmanfnt 
\newif\ifUsersGuide

\newcommand{\lttdots}{\ensuremath{\mathtt{\ldots}}}
\newcommand{\CSname}[1]{\texttt{\protect\bslash#1}}
\newcommand{\package}[1]{\textsf{#1}}
\newcommand{\bbding}{\texttt{bbding}}

\DeclareFontFamily{U}{manual}{} 
\DeclareFontShape{U}{manual}{m}{n}{<->  manfnt }{} 
\newcommand{\METAFONT}{%
  \ifmanfnt 
    {\fontencoding{U}\fontfamily{manual}\selectfont
     \symbol{47}\symbol{48}\symbol{49}\symbol{50}\-%
     \symbol{51}\symbol{52}\symbol{53}\symbol{49}}%
  \else METAFONT\fi}


\def\GetInfo#1{%
  \def\filename{#1}%
  {\def\ver##1(##2)##3\relax{%
     \def\tc{##1}%
     \def\td{##2}%
     \ifx \td\empty %
     \else %
      \edef\td{$\csname ##2\endcsname$}%
     \fi}%
   \def\tb##1 v##2 ##3\end{%
   \gdef\filedate{##1}%
     \ver ##2()\relax%
     \xdef\fileversion{\tc\expandafter\noexpand\td}%
    \gdef\fileinfo{##3}}%
  \edef\ta{\csname ver@#1\endcsname}%
  \expandafter\tb\ta\end\relax}}

\def\setn@me#1#2{$\backslash$#2}
{\catcode`\^^M=12%
 \gdef\st@rtenv{\@ifnextchar^^M{\dropnext\setCommand}{\setCommand}}%
 \gdef\setCommand#1#2^^M{%
   \hbox to 1cm{#1}\hbox{\expandafter\setn@me\string#1} %
 \@ifnextchar\end{}{\setCommand}%
}}


\newtoks\p@rm@rk 
\newcommand{\setparagraphmark}[1]{\p@rm@rk={#1}}
\newcommand{\parmark}[1][\the\p@rm@rk]{%
  \setbox0=\hbox{\huge #1}%
  \clubpenalty=10000%
  \noindent\hangindent=\wd0 \hangafter=-2%
  \llap{\raise.35em\hbox{\vbox to0pt{\box0 \vss}\hfill}}}

\newenvironment{code}{\begin{verse}\small}{\end{verse}}
\newenvironment{columnItemize}%
  {\begin{list}%
    {$\bullet$}%
    {\settowidth{\labelwidth}{$\bullet$}%
     \setlength{\leftmargin}{5mm}%
     \setlength{\labelsep}{\leftmargin}%
     \addtolength{\labelsep}{-\labelwidth}}}%
  {\end{list}}

\newcount\c@lumnsleft
\newcount\t@talcolumns
\newdimen\c@lumnwidth
\newenvironment{commandsInColumns}[1]{%
  \t@talcolumns=#1\advance\t@talcolumns-1\c@lumnsleft=\t@talcolumns%
  \c@lumnwidth=-2em\multiply\c@lumnwidth by \t@talcolumns%
  \advance\c@lumnwidth by\hsize \divide\c@lumnwidth by #1%
  \vskip\z@     % Ensures vertical mode
  \catcode`\^^M=12%
  \hbox\bgroup%
  \st@rtenv%
}
{\ifnum\c@lumnsleft=\t@talcolumns \egroup
 \else \egroup \fi}

{\catcode`\^^M=12%
 \gdef\st@rtenv{\@ifnextchar^^M{\dr@pnext\doNextComm@nd}{\doNextComm@nd}}%
 \gdef\setComm@nd#1#2^^M{%
   \hbox to \c@lumnwidth%
     {\hbox to .5cm{#1\hss}\hbox{\expandafter\setn@me\string#1.}\hss}%
   \advance\c@lumnsleft-1%
   \ifnum\c@lumnsleft>0%
     \hskip2em%
   \else%
     \egroup%
     \hbox\bgroup%
     \c@lumnsleft\t@talcolumns%
   \fi%
   \doNextComm@nd%
  }}
\def\dr@pnext#1#2{#1}
\def\doNextComm@nd{\@ifnextchar\end{}{\setComm@nd}}%
\def\setn@me#1#2.{\CSname{#2}}
  % Removes the first character (^^M) of the name generated by string

{\catcode`\%=11
\typeout{}
\typeout{NOTE: If LaTeX complains}
\typeout{\@spaces\@spaces Font U/manual/m/n/9 manfnt at 9.0 not loadable: ...}
\typeout{\@spaces\space\space then remove the very first line of this file}
\typeout{\@spaces\@spaces %\protect\manfnttrue\space ...}
\typeout{}
}

\makeatother

\begin{document} 
   \DocInput{bbding.dtx}
\end{document}
%</documentation>
%    \end{macrocode}
% The documentpreamble loads \package{ltxdoc}, which is the standard
% \LaTeXe-class for documentation and issues commands about
% charactertables. Then it defines a bunch of commands (described below),
% that had eased my typing of the documentation. 
% It issues some ``relaxing'' typeouts to the user, and at last it is ready
% to really process the documenation, which is done by
% loading itself once more using  \package{docstrip}.
%
% The commands defined are
% \begin{description}
% \item[\CSname{ifmulticols}] conditional ensuring that \TeX\ branches over
%   parts setting up multiple columns, when this is not provided.
% \item[\CSname{ifmanfnt}] conditional telling whether the manualfont used
%   for the \emph{The \TeX-book} is available. The font is used to generate
%   the \METAFONT-logo and it is declared to NFSS anyway, as it will only be
%   loaded up on request. The user will have to manually set this conditional to
%   false to avoid using the |manfnt|, which is done by removing the first
%   line. I thought it safer to ask the user to remove something written,
%   than adding something ``unwritten''.%  
% \item[\CSname{ifUsersGuide}] conditional telling wether only the users
%   guide is wanted. As with |\ifmanfnt| the user will have to remove the
%   first line of the file to get the full documentation.
% \item[\CSname{lttdots}] gives ellipsis in a typewriter-font
% \item[\CSname{CSname}] typeset a commandname when it is not possible using 
%   the standard notation, \verb+|+\lttdots\verb+|+, from \package{ltxdoc} (eg.\ in
%   headers). Intentionally given a name close to \TeX's |\csname|.
% \item[\CSname{package}] sets the name of \LaTeX-package.
% \item[\CSname{bbding}] gives the package-symbol (name in a typewriter-font)
% \item[\CSname{GetInfo}] defines the commands |\fileversion|, |\filedate|
%   and |\fileinfo| with information about \bbding\
%   as provided in
%   |\providespackage|. It is mainly borrowed from a command with the same
%   name in \package{ltxdoc} but has been changed to type the additional
%   greek letter in the package version provided in parenthesis.
% \item[\CSname{parmark} and \CSname{setparagraphmark}] is used to set a
% given symbol in front of a paragraph. |\setparagraphmark| defines the
% symbol to be used by |\parmark|, if no argument is given explicit.
% \item[\texttt{code}] Environment for displaying examples in the Users Guide.
% \item[\texttt{columnitemize}] Makes an itemizing where the bullet is not
%   idented, which would make the text too narrow when using columns.
% \item[\texttt{commandsInColumns}] Is as specialized environment---nearly
%   deserving its own package. I owe a special thanks to \emph{Mauro
%   Orlandini} and \emph{Max Hailperin} for developing a much-like
%   environment, which gave me much inspiration. 
%
%   The environment is used to show the commands of \bbding\ in
%   columns. Inside the environment each line contains a entry, which is set
%   across the page in the number of columns given by the parameter. On each
%   line the first token not being a space is taken as the command. It is
%   first set and then its name is set in a \texttt{typewriter} font.
% 
%   \textbf{Some notes on the code}: First thing in the environment is to
%   calculate the width of the columns, 
%   \[
%     \CSname{c@lumnwidth} = \frac{\textrm{textwidth} - (\textrm{no.\ of columns}-1)*\textrm{column skip}}{\textrm{no.\ of columns}}
%   \]
%   Then the counters are initialised and \TeX\ is forced into vertical
%   mode. Each line is being build in a |\hbox|, which is first started in
%   the \emph{beginning definition} of the environment. When the given
%   number of columns have been set, the box is ended (and thereby
%   added to the vertical list) and a new one is started.
%
%   |\setComm@nd| finds one line and sets in a |\hbox| with the calculated
%   width. It is therefore declared in a group, where \emph{carriage return}
%   (\verb+^^M+) is turned into a \emph{other} character. The actual setting is
%   done by |\setn@me|, which matches out the relevant part produced by the
%   primitive |\string|. After the command is set, it is tested if this line is
%   done, ie.\ the correct number of columns have been set. In that case
%   it is ended as described above, otherwise \LaTeX\ skips to the
%   next column. At last |\doNextComm@nd| testes if there is a new command
%   or it has reaced the |\end| of the environment.
% \end{description}
%
% \Finale \sloppy \PrintChanges
\endinput