\hypertarget{unibmp2hex_8c}{}\doxysection{src/unibmp2hex.c File Reference}
\label{unibmp2hex_8c}\index{src/unibmp2hex.c@{src/unibmp2hex.c}}


unibmp2hex -\/ Turn a .bmp or .wbmp glyph matrix into a GNU Unifont hex glyph set of 256 characters  


{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
Include dependency graph for unibmp2hex.\+c\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=260pt]{unibmp2hex_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{unibmp2hex_8c_ad7871643c05865c80f5d8050aead2b57}{MAXBUF}}~256
\begin{DoxyCompactList}\small\item\em Maximum input file line length -\/ 1. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{unibmp2hex_8c_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em The main function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}} \mbox{[}16\mbox{]}\mbox{[}4\mbox{]}
\begin{DoxyCompactList}\small\item\em 32 bit representation of 16x8 0..F bitmap \end{DoxyCompactList}\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} =0
\begin{DoxyCompactList}\small\item\em Unicode plane number, 0..0xff ff ff. \end{DoxyCompactList}\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_a23c536e061c3387fee66c7f6250f2b58}{planeset}} =0
\begin{DoxyCompactList}\small\item\em =1\+: use plane specified with -\/p parameter \end{DoxyCompactList}\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_af7ab3cd5a9f70af7701580cdf283636c}{flip}} =0
\begin{DoxyCompactList}\small\item\em =1 if we\textquotesingle{}re transposing glyph matrix \end{DoxyCompactList}\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_a77fe45bfa888a90761ae6dc8627fdd5e}{forcewide}} =0
\begin{DoxyCompactList}\small\item\em =1 to set each glyph to 16 pixels wide \end{DoxyCompactList}\item 
unsigned \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}} \mbox{[}6\mbox{]}\mbox{[}4\mbox{]}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>char \mbox{\hyperlink{unibmp2hex_8c_a302e295f63562b3cde509543f55e8b40}{filetype}} \mbox{[}2\mbox{]}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a8bc95708c758a6400d8692f2d0fcbaeb}{file\_size}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a5e717370aa45ce88b5aab4b3ee9a229c}{image\_offset}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a9887067178ee219532f0deed18b9830a}{info\_size}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a2474a5474cbff19523a51eb1de01cda4}{width}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_ad12fc34ce789bce6c8a05d8a17138534}{height}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a09feee87e1a744e9fde5ec34236ec2d7}{nplanes}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_ad61ad0d2af12c84996d1edf78ac9ee1c}{bits\_per\_pixel}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a08ab33a48474b8c74426c82413bde98e}{compression}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a98c9a8ca94afbc85988b2fc030e50048}{image\_size}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a21e28a58c23e42d93b09ca10d433f218}{x\_ppm}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a12ee22c87bcca357c98490a4419e39f1}{y\_ppm}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_aeac67cf686cea9cb1d69661714767244}{ncolors}}\\
\>int \mbox{\hyperlink{unibmp2hex_8c_a4f274c9be8642f200b0eab9250f773c2}{important\_colors}}\\
\} \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}\\

\end{tabbing}\item 
unsigned char \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\+\_\+table}} \mbox{[}256\mbox{]}\mbox{[}4\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
unibmp2hex -\/ Turn a .bmp or .wbmp glyph matrix into a GNU Unifont hex glyph set of 256 characters 

\begin{DoxyAuthor}{Author}
Paul Hardy, unifoundry $<$at$>$ unifoundry.\+com, December 2007
\end{DoxyAuthor}
\begin{DoxyCopyright}{Copyright}
Copyright (C) 2007, 2008, 2013, 2017, 2019, 2022 Paul Hardy
\end{DoxyCopyright}
Synopsis\+: unibmp2hex \mbox{[}-\/iin\+\_\+file.\+bmp\mbox{]} \mbox{[}-\/oout\+\_\+file.\+hex\mbox{]} \mbox{[}-\/phex\+\_\+page\+\_\+num\mbox{]} \mbox{[}-\/w\mbox{]} 

Definition in file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.



\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{unibmp2hex_8c_ad7871643c05865c80f5d8050aead2b57}\label{unibmp2hex_8c_ad7871643c05865c80f5d8050aead2b57}} 
\index{unibmp2hex.c@{unibmp2hex.c}!MAXBUF@{MAXBUF}}
\index{MAXBUF@{MAXBUF}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{MAXBUF}{MAXBUF}}
{\footnotesize\ttfamily \#define MAXBUF~256}



Maximum input file line length -\/ 1. 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00116}{116}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{unibmp2hex_8c_a0ddf1224851353fc92bfbff6f499fa97}\label{unibmp2hex_8c_a0ddf1224851353fc92bfbff6f499fa97}} 
\index{unibmp2hex.c@{unibmp2hex.c}!main@{main}}
\index{main@{main}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{main()}{main()}}
{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc,  }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}



The main function. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em argc} & The count of command line arguments. \\
\hline
\mbox{\texttt{ in}}  & {\em argv} & Pointer to array of command line arguments. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This program exits with status 0. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00161}{161}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.


\begin{DoxyCode}{0}
\DoxyCodeLine{00162 \{}
\DoxyCodeLine{00163 }
\DoxyCodeLine{00164    \textcolor{keywordtype}{int} i, j, k;               \textcolor{comment}{/* loop variables                       */}}
\DoxyCodeLine{00165    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} inchar;       \textcolor{comment}{/* temporary input character */}}
\DoxyCodeLine{00166    \textcolor{keywordtype}{char} header[\mbox{\hyperlink{unibmp2hex_8c_ad7871643c05865c80f5d8050aead2b57}{MAXBUF}}];        \textcolor{comment}{/* input buffer for bitmap file header */}}
\DoxyCodeLine{00167    \textcolor{keywordtype}{int} wbmp=0; \textcolor{comment}{/* =0 for Windows Bitmap (.bmp); 1 for Wireless Bitmap (.wbmp) */}}
\DoxyCodeLine{00168    \textcolor{keywordtype}{int} fatal; \textcolor{comment}{/* =1 if a fatal error occurred */}}
\DoxyCodeLine{00169    \textcolor{keywordtype}{int} match; \textcolor{comment}{/* =1 if we're still matching a pattern, 0 if no match */}}
\DoxyCodeLine{00170    \textcolor{keywordtype}{int} empty1, empty2; \textcolor{comment}{/* =1 if bytes tested are all zeroes */}}
\DoxyCodeLine{00171    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} thischar1[16], thischar2[16]; \textcolor{comment}{/* bytes of hex char */}}
\DoxyCodeLine{00172    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} thischar0[16], thischar3[16]; \textcolor{comment}{/* bytes for quadruple-\/width */}}
\DoxyCodeLine{00173    \textcolor{keywordtype}{int} thisrow; \textcolor{comment}{/* index to point into thischar1[] and thischar2[] */}}
\DoxyCodeLine{00174    \textcolor{keywordtype}{int} tmpsum;  \textcolor{comment}{/* temporary sum to see if a character is blank */}}
\DoxyCodeLine{00175    \textcolor{keywordtype}{unsigned} this\_pixel;  \textcolor{comment}{/* color of one pixel, if > 1 bit per pixel */}}
\DoxyCodeLine{00176    \textcolor{keywordtype}{unsigned} next\_pixels; \textcolor{comment}{/* pending group of 8 pixels being read */}}
\DoxyCodeLine{00177    \textcolor{keywordtype}{unsigned} color\_mask = 0x00;  \textcolor{comment}{/* to invert monochrome bitmap, set to 0xFF */}}
\DoxyCodeLine{00178 }
\DoxyCodeLine{00179    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} bitmap[17*32][18*32/8]; \textcolor{comment}{/* final bitmap */}}
\DoxyCodeLine{00180    \textcolor{comment}{/* For wide array:}}
\DoxyCodeLine{00181 \textcolor{comment}{         0 = don't force glyph to double-\/width;}}
\DoxyCodeLine{00182 \textcolor{comment}{         1 = force glyph to double-\/width;}}
\DoxyCodeLine{00183 \textcolor{comment}{         4 = force glyph to quadruple-\/width.}}
\DoxyCodeLine{00184 \textcolor{comment}{   */}}
\DoxyCodeLine{00185    \textcolor{keywordtype}{char} wide[0x200000]=\{0x200000 * 0\};}
\DoxyCodeLine{00186 }
\DoxyCodeLine{00187    \textcolor{keywordtype}{char} *infile=\textcolor{stringliteral}{"{}"{}}, *outfile=\textcolor{stringliteral}{"{}"{}};  \textcolor{comment}{/* names of input and output files */}}
\DoxyCodeLine{00188    FILE *infp, *outfp;      \textcolor{comment}{/* file pointers of input and output files */}}
\DoxyCodeLine{00189 }
\DoxyCodeLine{00190    \textcolor{keywordflow}{if} (argc > 1) \{}
\DoxyCodeLine{00191       \textcolor{keywordflow}{for} (i = 1; i < argc; i++) \{}
\DoxyCodeLine{00192          \textcolor{keywordflow}{if} (argv[i][0] == \textcolor{charliteral}{'-\/'}) \{  \textcolor{comment}{/* this is an option argument */}}
\DoxyCodeLine{00193             \textcolor{keywordflow}{switch} (argv[i][1]) \{}
\DoxyCodeLine{00194                \textcolor{keywordflow}{case} \textcolor{charliteral}{'i'}:  \textcolor{comment}{/* name of input file */}}
\DoxyCodeLine{00195                   infile = \&argv[i][2];}
\DoxyCodeLine{00196                   \textcolor{keywordflow}{break};}
\DoxyCodeLine{00197                \textcolor{keywordflow}{case} \textcolor{charliteral}{'o'}:  \textcolor{comment}{/* name of output file */}}
\DoxyCodeLine{00198                   outfile = \&argv[i][2];}
\DoxyCodeLine{00199                   \textcolor{keywordflow}{break};}
\DoxyCodeLine{00200                \textcolor{keywordflow}{case} \textcolor{charliteral}{'p'}:  \textcolor{comment}{/* specify a Unicode plane */}}
\DoxyCodeLine{00201                   sscanf (\&argv[i][2], \textcolor{stringliteral}{"{}\%x"{}}, \&\mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}}); \textcolor{comment}{/* Get Unicode plane */}}
\DoxyCodeLine{00202                   \mbox{\hyperlink{unibmp2hex_8c_a23c536e061c3387fee66c7f6250f2b58}{planeset}} = 1; \textcolor{comment}{/* Use specified range, not what's in bitmap */}}
\DoxyCodeLine{00203                   \textcolor{keywordflow}{break};}
\DoxyCodeLine{00204                \textcolor{keywordflow}{case} \textcolor{charliteral}{'w'}: \textcolor{comment}{/* force wide (16 pixels) for each glyph */}}
\DoxyCodeLine{00205                   \mbox{\hyperlink{unibmp2hex_8c_a77fe45bfa888a90761ae6dc8627fdd5e}{forcewide}} = 1;}
\DoxyCodeLine{00206                   \textcolor{keywordflow}{break};}
\DoxyCodeLine{00207                \textcolor{keywordflow}{default}:   \textcolor{comment}{/* if unrecognized option, print list and exit */}}
\DoxyCodeLine{00208                   fprintf (stderr, \textcolor{stringliteral}{"{}\(\backslash\)nSyntax:\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00209                   fprintf (stderr, \textcolor{stringliteral}{"{}   \%s -\/p<Unicode\_Page> "{}}, argv[0]);}
\DoxyCodeLine{00210                   fprintf (stderr, \textcolor{stringliteral}{"{}-\/i<Input\_File> -\/o<Output\_File> -\/w\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00211                   fprintf (stderr, \textcolor{stringliteral}{"{}   -\/w specifies .wbmp output instead of "{}});}
\DoxyCodeLine{00212                   fprintf (stderr, \textcolor{stringliteral}{"{}default Windows .bmp output.\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00213                   fprintf (stderr, \textcolor{stringliteral}{"{}   -\/p is followed by 1 to 6 "{}});}
\DoxyCodeLine{00214                   fprintf (stderr, \textcolor{stringliteral}{"{}Unicode plane hex digits "{}});}
\DoxyCodeLine{00215                   fprintf (stderr, \textcolor{stringliteral}{"{}(default is Page 0).\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00216                   fprintf (stderr, \textcolor{stringliteral}{"{}\(\backslash\)nExample:\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00217                   fprintf (stderr, \textcolor{stringliteral}{"{}   \%s -\/p83 -\/iunifont.hex -\/ou83.bmp\(\backslash\)n\(\backslash\)n\(\backslash\)n"{}},}
\DoxyCodeLine{00218                          argv[0]);}
\DoxyCodeLine{00219                   exit (1);}
\DoxyCodeLine{00220             \}}
\DoxyCodeLine{00221          \}}
\DoxyCodeLine{00222       \}}
\DoxyCodeLine{00223    \}}
\DoxyCodeLine{00224    \textcolor{comment}{/*}}
\DoxyCodeLine{00225 \textcolor{comment}{      Make sure we can open any I/O files that were specified before}}
\DoxyCodeLine{00226 \textcolor{comment}{      doing anything else.}}
\DoxyCodeLine{00227 \textcolor{comment}{   */}}
\DoxyCodeLine{00228    \textcolor{keywordflow}{if} (strlen (infile) > 0) \{}
\DoxyCodeLine{00229       \textcolor{keywordflow}{if} ((infp = fopen (infile, \textcolor{stringliteral}{"{}r"{}})) == NULL) \{}
\DoxyCodeLine{00230          fprintf (stderr, \textcolor{stringliteral}{"{}Error: can't open \%s for input.\(\backslash\)n"{}}, infile);}
\DoxyCodeLine{00231          exit (1);}
\DoxyCodeLine{00232       \}}
\DoxyCodeLine{00233    \}}
\DoxyCodeLine{00234    \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{00235       infp = stdin;}
\DoxyCodeLine{00236    \}}
\DoxyCodeLine{00237    \textcolor{keywordflow}{if} (strlen (outfile) > 0) \{}
\DoxyCodeLine{00238       \textcolor{keywordflow}{if} ((outfp = fopen (outfile, \textcolor{stringliteral}{"{}w"{}})) == NULL) \{}
\DoxyCodeLine{00239          fprintf (stderr, \textcolor{stringliteral}{"{}Error: can't open \%s for output.\(\backslash\)n"{}}, outfile);}
\DoxyCodeLine{00240          exit (1);}
\DoxyCodeLine{00241       \}}
\DoxyCodeLine{00242    \}}
\DoxyCodeLine{00243    \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{00244       outfp = stdout;}
\DoxyCodeLine{00245    \}}
\DoxyCodeLine{00246    \textcolor{comment}{/*}}
\DoxyCodeLine{00247 \textcolor{comment}{      Initialize selected code points for double width (16x16).}}
\DoxyCodeLine{00248 \textcolor{comment}{      Double-\/width is forced in cases where a glyph (usually a combining}}
\DoxyCodeLine{00249 \textcolor{comment}{      glyph) only occupies the left-\/hand side of a 16x16 grid, but must}}
\DoxyCodeLine{00250 \textcolor{comment}{      be rendered as double-\/width to appear properly with other glyphs}}
\DoxyCodeLine{00251 \textcolor{comment}{      in a given script.  If additions were made to a script after}}
\DoxyCodeLine{00252 \textcolor{comment}{      Unicode 5.0, the Unicode version is given in parentheses after}}
\DoxyCodeLine{00253 \textcolor{comment}{      the script name.}}
\DoxyCodeLine{00254 \textcolor{comment}{   */}}
\DoxyCodeLine{00255    \textcolor{keywordflow}{for} (i = 0x0700; i <= 0x074F; i++) wide[i] = 1; \textcolor{comment}{/* Syriac                 */}}
\DoxyCodeLine{00256    \textcolor{keywordflow}{for} (i = 0x0800; i <= 0x083F; i++) wide[i] = 1; \textcolor{comment}{/* Samaritan (5.2)        */}}
\DoxyCodeLine{00257    \textcolor{keywordflow}{for} (i = 0x0900; i <= 0x0DFF; i++) wide[i] = 1; \textcolor{comment}{/* Indic                  */}}
\DoxyCodeLine{00258    \textcolor{keywordflow}{for} (i = 0x1000; i <= 0x109F; i++) wide[i] = 1; \textcolor{comment}{/* Myanmar                */}}
\DoxyCodeLine{00259    \textcolor{keywordflow}{for} (i = 0x1100; i <= 0x11FF; i++) wide[i] = 1; \textcolor{comment}{/* Hangul Jamo            */}}
\DoxyCodeLine{00260    \textcolor{keywordflow}{for} (i = 0x1400; i <= 0x167F; i++) wide[i] = 1; \textcolor{comment}{/* Canadian Aboriginal    */}}
\DoxyCodeLine{00261    \textcolor{keywordflow}{for} (i = 0x1700; i <= 0x171F; i++) wide[i] = 1; \textcolor{comment}{/* Tagalog                */}}
\DoxyCodeLine{00262    \textcolor{keywordflow}{for} (i = 0x1720; i <= 0x173F; i++) wide[i] = 1; \textcolor{comment}{/* Hanunoo                */}}
\DoxyCodeLine{00263    \textcolor{keywordflow}{for} (i = 0x1740; i <= 0x175F; i++) wide[i] = 1; \textcolor{comment}{/* Buhid                  */}}
\DoxyCodeLine{00264    \textcolor{keywordflow}{for} (i = 0x1760; i <= 0x177F; i++) wide[i] = 1; \textcolor{comment}{/* Tagbanwa               */}}
\DoxyCodeLine{00265    \textcolor{keywordflow}{for} (i = 0x1780; i <= 0x17FF; i++) wide[i] = 1; \textcolor{comment}{/* Khmer                  */}}
\DoxyCodeLine{00266    \textcolor{keywordflow}{for} (i = 0x18B0; i <= 0x18FF; i++) wide[i] = 1; \textcolor{comment}{/* Ext. Can. Aboriginal   */}}
\DoxyCodeLine{00267    \textcolor{keywordflow}{for} (i = 0x1800; i <= 0x18AF; i++) wide[i] = 1; \textcolor{comment}{/* Mongolian              */}}
\DoxyCodeLine{00268    \textcolor{keywordflow}{for} (i = 0x1900; i <= 0x194F; i++) wide[i] = 1; \textcolor{comment}{/* Limbu                  */}}
\DoxyCodeLine{00269 \textcolor{comment}{// for (i = 0x1980; i <= 0x19DF; i++) wide[i] = 1; /* New Tai Lue            */}}
\DoxyCodeLine{00270    \textcolor{keywordflow}{for} (i = 0x1A00; i <= 0x1A1F; i++) wide[i] = 1; \textcolor{comment}{/* Buginese               */}}
\DoxyCodeLine{00271    \textcolor{keywordflow}{for} (i = 0x1A20; i <= 0x1AAF; i++) wide[i] = 1; \textcolor{comment}{/* Tai Tham (5.2)         */}}
\DoxyCodeLine{00272    \textcolor{keywordflow}{for} (i = 0x1B00; i <= 0x1B7F; i++) wide[i] = 1; \textcolor{comment}{/* Balinese               */}}
\DoxyCodeLine{00273    \textcolor{keywordflow}{for} (i = 0x1B80; i <= 0x1BBF; i++) wide[i] = 1; \textcolor{comment}{/* Sundanese (5.1)        */}}
\DoxyCodeLine{00274    \textcolor{keywordflow}{for} (i = 0x1BC0; i <= 0x1BFF; i++) wide[i] = 1; \textcolor{comment}{/* Batak (6.0)            */}}
\DoxyCodeLine{00275    \textcolor{keywordflow}{for} (i = 0x1C00; i <= 0x1C4F; i++) wide[i] = 1; \textcolor{comment}{/* Lepcha (5.1)           */}}
\DoxyCodeLine{00276    \textcolor{keywordflow}{for} (i = 0x1CC0; i <= 0x1CCF; i++) wide[i] = 1; \textcolor{comment}{/* Sundanese Supplement   */}}
\DoxyCodeLine{00277    \textcolor{keywordflow}{for} (i = 0x1CD0; i <= 0x1CFF; i++) wide[i] = 1; \textcolor{comment}{/* Vedic Extensions (5.2) */}}
\DoxyCodeLine{00278    wide[0x2329] = wide[0x232A] = 1; \textcolor{comment}{/* Left-\/ \& Right-\/pointing Angle Brackets */}}
\DoxyCodeLine{00279    \textcolor{keywordflow}{for} (i = 0x2E80; i <= 0xA4CF; i++) wide[i] = 1; \textcolor{comment}{/* CJK                    */}}
\DoxyCodeLine{00280 \textcolor{comment}{// for (i = 0x9FD8; i <= 0x9FE9; i++) wide[i] = 4; /* CJK quadruple-\/width    */}}
\DoxyCodeLine{00281    \textcolor{keywordflow}{for} (i = 0xA900; i <= 0xA92F; i++) wide[i] = 1; \textcolor{comment}{/* Kayah Li (5.1)         */}}
\DoxyCodeLine{00282    \textcolor{keywordflow}{for} (i = 0xA930; i <= 0xA95F; i++) wide[i] = 1; \textcolor{comment}{/* Rejang (5.1)           */}}
\DoxyCodeLine{00283    \textcolor{keywordflow}{for} (i = 0xA960; i <= 0xA97F; i++) wide[i] = 1; \textcolor{comment}{/* Hangul Jamo Extended-\/A */}}
\DoxyCodeLine{00284    \textcolor{keywordflow}{for} (i = 0xA980; i <= 0xA9DF; i++) wide[i] = 1; \textcolor{comment}{/* Javanese (5.2)         */}}
\DoxyCodeLine{00285    \textcolor{keywordflow}{for} (i = 0xAA00; i <= 0xAA5F; i++) wide[i] = 1; \textcolor{comment}{/* Cham (5.1)             */}}
\DoxyCodeLine{00286    \textcolor{keywordflow}{for} (i = 0xA9E0; i <= 0xA9FF; i++) wide[i] = 1; \textcolor{comment}{/* Myanmar Extended-\/B     */}}
\DoxyCodeLine{00287    \textcolor{keywordflow}{for} (i = 0xAA00; i <= 0xAA5F; i++) wide[i] = 1; \textcolor{comment}{/* Cham                   */}}
\DoxyCodeLine{00288    \textcolor{keywordflow}{for} (i = 0xAA60; i <= 0xAA7F; i++) wide[i] = 1; \textcolor{comment}{/* Myanmar Extended-\/A     */}}
\DoxyCodeLine{00289    \textcolor{keywordflow}{for} (i = 0xAAE0; i <= 0xAAFF; i++) wide[i] = 1; \textcolor{comment}{/* Meetei Mayek Ext (6.0) */}}
\DoxyCodeLine{00290    \textcolor{keywordflow}{for} (i = 0xABC0; i <= 0xABFF; i++) wide[i] = 1; \textcolor{comment}{/* Meetei Mayek (5.2)     */}}
\DoxyCodeLine{00291    \textcolor{keywordflow}{for} (i = 0xAC00; i <= 0xD7AF; i++) wide[i] = 1; \textcolor{comment}{/* Hangul Syllables       */}}
\DoxyCodeLine{00292    \textcolor{keywordflow}{for} (i = 0xD7B0; i <= 0xD7FF; i++) wide[i] = 1; \textcolor{comment}{/* Hangul Jamo Extended-\/B */}}
\DoxyCodeLine{00293    \textcolor{keywordflow}{for} (i = 0xF900; i <= 0xFAFF; i++) wide[i] = 1; \textcolor{comment}{/* CJK Compatibility      */}}
\DoxyCodeLine{00294    \textcolor{keywordflow}{for} (i = 0xFE10; i <= 0xFE1F; i++) wide[i] = 1; \textcolor{comment}{/* Vertical Forms         */}}
\DoxyCodeLine{00295    \textcolor{keywordflow}{for} (i = 0xFE30; i <= 0xFE60; i++) wide[i] = 1; \textcolor{comment}{/* CJK Compatibility Forms*/}}
\DoxyCodeLine{00296    \textcolor{keywordflow}{for} (i = 0xFFE0; i <= 0xFFE6; i++) wide[i] = 1; \textcolor{comment}{/* CJK Compatibility Forms*/}}
\DoxyCodeLine{00297 }
\DoxyCodeLine{00298    wide[0x303F] = 0; \textcolor{comment}{/* CJK half-\/space fill */}}
\DoxyCodeLine{00299 }
\DoxyCodeLine{00300    \textcolor{comment}{/* Supplemental Multilingual Plane (Plane 01) */}}
\DoxyCodeLine{00301    \textcolor{keywordflow}{for} (i = 0x0105C0; i <= 0x0105FF; i++) wide[i] = 1; \textcolor{comment}{/* Todhri             */}}
\DoxyCodeLine{00302    \textcolor{keywordflow}{for} (i = 0x010A00; i <= 0x010A5F; i++) wide[i] = 1; \textcolor{comment}{/* Kharoshthi         */}}
\DoxyCodeLine{00303    \textcolor{keywordflow}{for} (i = 0x011000; i <= 0x01107F; i++) wide[i] = 1; \textcolor{comment}{/* Brahmi             */}}
\DoxyCodeLine{00304    \textcolor{keywordflow}{for} (i = 0x011080; i <= 0x0110CF; i++) wide[i] = 1; \textcolor{comment}{/* Kaithi             */}}
\DoxyCodeLine{00305    \textcolor{keywordflow}{for} (i = 0x011100; i <= 0x01114F; i++) wide[i] = 1; \textcolor{comment}{/* Chakma             */}}
\DoxyCodeLine{00306    \textcolor{keywordflow}{for} (i = 0x011180; i <= 0x0111DF; i++) wide[i] = 1; \textcolor{comment}{/* Sharada            */}}
\DoxyCodeLine{00307    \textcolor{keywordflow}{for} (i = 0x011200; i <= 0x01124F; i++) wide[i] = 1; \textcolor{comment}{/* Khojki             */}}
\DoxyCodeLine{00308    \textcolor{keywordflow}{for} (i = 0x0112B0; i <= 0x0112FF; i++) wide[i] = 1; \textcolor{comment}{/* Khudawadi          */}}
\DoxyCodeLine{00309    \textcolor{keywordflow}{for} (i = 0x011300; i <= 0x01137F; i++) wide[i] = 1; \textcolor{comment}{/* Grantha            */}}
\DoxyCodeLine{00310    \textcolor{keywordflow}{for} (i = 0x011380; i <= 0x0113FF; i++) wide[i] = 1; \textcolor{comment}{/* Tulu-\/Tigalari      */}}
\DoxyCodeLine{00311    \textcolor{keywordflow}{for} (i = 0x011400; i <= 0x01147F; i++) wide[i] = 1; \textcolor{comment}{/* Newa               */}}
\DoxyCodeLine{00312    \textcolor{keywordflow}{for} (i = 0x011480; i <= 0x0114DF; i++) wide[i] = 1; \textcolor{comment}{/* Tirhuta            */}}
\DoxyCodeLine{00313    \textcolor{keywordflow}{for} (i = 0x011580; i <= 0x0115FF; i++) wide[i] = 1; \textcolor{comment}{/* Siddham            */}}
\DoxyCodeLine{00314    \textcolor{keywordflow}{for} (i = 0x011600; i <= 0x01165F; i++) wide[i] = 1; \textcolor{comment}{/* Modi               */}}
\DoxyCodeLine{00315    \textcolor{keywordflow}{for} (i = 0x011660; i <= 0x01167F; i++) wide[i] = 1; \textcolor{comment}{/* Mongolian Suppl.   */}}
\DoxyCodeLine{00316    \textcolor{keywordflow}{for} (i = 0x011680; i <= 0x0116CF; i++) wide[i] = 1; \textcolor{comment}{/* Takri              */}}
\DoxyCodeLine{00317    \textcolor{keywordflow}{for} (i = 0x0116D0; i <= 0x0116FF; i++) wide[i] = 1; \textcolor{comment}{/* Myanmar Extended-\/C */}}
\DoxyCodeLine{00318    \textcolor{keywordflow}{for} (i = 0x011700; i <= 0x01173F; i++) wide[i] = 1; \textcolor{comment}{/* Ahom               */}}
\DoxyCodeLine{00319    \textcolor{keywordflow}{for} (i = 0x011800; i <= 0x01184F; i++) wide[i] = 1; \textcolor{comment}{/* Dogra              */}}
\DoxyCodeLine{00320    \textcolor{keywordflow}{for} (i = 0x011900; i <= 0x01195F; i++) wide[i] = 1; \textcolor{comment}{/* Dives Akuru        */}}
\DoxyCodeLine{00321    \textcolor{keywordflow}{for} (i = 0x0119A0; i <= 0x0119FF; i++) wide[i] = 1; \textcolor{comment}{/* Nandinagari        */}}
\DoxyCodeLine{00322    \textcolor{keywordflow}{for} (i = 0x011A00; i <= 0x011A4F; i++) wide[i] = 1; \textcolor{comment}{/* Zanabazar Square   */}}
\DoxyCodeLine{00323    \textcolor{keywordflow}{for} (i = 0x011A50; i <= 0x011AAF; i++) wide[i] = 1; \textcolor{comment}{/* Soyombo            */}}
\DoxyCodeLine{00324    \textcolor{keywordflow}{for} (i = 0x011B00; i <= 0x011B5F; i++) wide[i] = 1;\textcolor{comment}{/*Devanagari Extended-\/A*/}}
\DoxyCodeLine{00325    \textcolor{keywordflow}{for} (i = 0x011F00; i <= 0x011F5F; i++) wide[i] = 1; \textcolor{comment}{/* Kawi               */}}
\DoxyCodeLine{00326    \textcolor{keywordflow}{for} (i = 0x011C00; i <= 0x011C6F; i++) wide[i] = 1; \textcolor{comment}{/* Bhaiksuki          */}}
\DoxyCodeLine{00327    \textcolor{keywordflow}{for} (i = 0x011C70; i <= 0x011CBF; i++) wide[i] = 1; \textcolor{comment}{/* Marchen            */}}
\DoxyCodeLine{00328    \textcolor{keywordflow}{for} (i = 0x011D00; i <= 0x011D5F; i++) wide[i] = 1; \textcolor{comment}{/* Masaram Gondi      */}}
\DoxyCodeLine{00329    \textcolor{keywordflow}{for} (i = 0x011EE0; i <= 0x011EFF; i++) wide[i] = 1; \textcolor{comment}{/* Makasar            */}}
\DoxyCodeLine{00330    \textcolor{keywordflow}{for} (i = 0x011F00; i <= 0x011F5F; i++) wide[i] = 1; \textcolor{comment}{/* Kawi               */}}
\DoxyCodeLine{00331    \textcolor{keywordflow}{for} (i = 0x012F90; i <= 0x012FFF; i++) wide[i] = 1; \textcolor{comment}{/* Cypro-\/Minoan       */}}
\DoxyCodeLine{00332    \textcolor{comment}{/* Make Bassa Vah all single width or all double width */}}
\DoxyCodeLine{00333    \textcolor{keywordflow}{for} (i = 0x016100; i <= 0x01613F; i++) wide[i] = 1; \textcolor{comment}{/* Gurung Khema       */}}
\DoxyCodeLine{00334    \textcolor{keywordflow}{for} (i = 0x016AD0; i <= 0x016AFF; i++) wide[i] = 1; \textcolor{comment}{/* Bassa Vah          */}}
\DoxyCodeLine{00335    \textcolor{keywordflow}{for} (i = 0x016B00; i <= 0x016B8F; i++) wide[i] = 1; \textcolor{comment}{/* Pahawh Hmong       */}}
\DoxyCodeLine{00336    \textcolor{keywordflow}{for} (i = 0x016D40; i <= 0x016D7F; i++) wide[i] = 1; \textcolor{comment}{/* Kirat Rai          */}}
\DoxyCodeLine{00337    \textcolor{keywordflow}{for} (i = 0x016F00; i <= 0x016F9F; i++) wide[i] = 1; \textcolor{comment}{/* Miao               */}}
\DoxyCodeLine{00338    \textcolor{keywordflow}{for} (i = 0x016FE0; i <= 0x016FFF; i++) wide[i] = 1; \textcolor{comment}{/* Ideograph Sym/Punct*/}}
\DoxyCodeLine{00339    \textcolor{keywordflow}{for} (i = 0x017000; i <= 0x0187FF; i++) wide[i] = 1; \textcolor{comment}{/* Tangut             */}}
\DoxyCodeLine{00340    \textcolor{keywordflow}{for} (i = 0x018800; i <= 0x018AFF; i++) wide[i] = 1; \textcolor{comment}{/* Tangut Components  */}}
\DoxyCodeLine{00341    \textcolor{keywordflow}{for} (i = 0x018B00; i <= 0x018CFF; i++) wide[i] = 1; \textcolor{comment}{/* Khitan Small Script*/}}
\DoxyCodeLine{00342    \textcolor{keywordflow}{for} (i = 0x01AFF0; i <= 0x01AFFF; i++) wide[i] = 1; \textcolor{comment}{/* Kana Extended-\/B    */}}
\DoxyCodeLine{00343    \textcolor{keywordflow}{for} (i = 0x01B000; i <= 0x01B0FF; i++) wide[i] = 1; \textcolor{comment}{/* Kana Supplement    */}}
\DoxyCodeLine{00344    \textcolor{keywordflow}{for} (i = 0x01B100; i <= 0x01B12F; i++) wide[i] = 1; \textcolor{comment}{/* Kana Extended-\/A    */}}
\DoxyCodeLine{00345    \textcolor{keywordflow}{for} (i = 0x01B170; i <= 0x01B2FF; i++) wide[i] = 1; \textcolor{comment}{/* Nushu              */}}
\DoxyCodeLine{00346    \textcolor{keywordflow}{for} (i = 0x01CF00; i <= 0x01CFCF; i++) wide[i] = 1; \textcolor{comment}{/* Znamenny Musical   */}}
\DoxyCodeLine{00347    \textcolor{keywordflow}{for} (i = 0x01D800; i <= 0x01DAAF; i++) wide[i] = 1; \textcolor{comment}{/* Sutton SignWriting */}}
\DoxyCodeLine{00348    \textcolor{keywordflow}{for} (i = 0x01E2C0; i <= 0x01E2FF; i++) wide[i] = 1; \textcolor{comment}{/* Wancho             */}}
\DoxyCodeLine{00349    \textcolor{keywordflow}{for} (i = 0x01E500; i <= 0x01E5FF; i++) wide[i] = 1; \textcolor{comment}{/* Ol Onal            */}}
\DoxyCodeLine{00350    \textcolor{keywordflow}{for} (i = 0x01E800; i <= 0x01E8DF; i++) wide[i] = 1; \textcolor{comment}{/* Mende Kikakui      */}}
\DoxyCodeLine{00351    \textcolor{keywordflow}{for} (i = 0x01F200; i <= 0x01F2FF; i++) wide[i] = 1; \textcolor{comment}{/* Encl Ideograp Suppl*/}}
\DoxyCodeLine{00352    wide[0x01F5E7] = 1;                                 \textcolor{comment}{/* Three Rays Right   */}}
\DoxyCodeLine{00353 }
\DoxyCodeLine{00354    \textcolor{comment}{/*}}
\DoxyCodeLine{00355 \textcolor{comment}{      Determine whether or not the file is a Microsoft Windows Bitmap file.}}
\DoxyCodeLine{00356 \textcolor{comment}{      If it starts with 'B', 'M', assume it's a Windows Bitmap file.}}
\DoxyCodeLine{00357 \textcolor{comment}{      Otherwise, assume it's a Wireless Bitmap file.}}
\DoxyCodeLine{00358 \textcolor{comment}{}}
\DoxyCodeLine{00359 \textcolor{comment}{      WARNING: There isn't much in the way of error checking here -\/-\/}}
\DoxyCodeLine{00360 \textcolor{comment}{      if you give it a file that wasn't first created by hex2bmp.c,}}
\DoxyCodeLine{00361 \textcolor{comment}{      all bets are off.}}
\DoxyCodeLine{00362 \textcolor{comment}{   */}}
\DoxyCodeLine{00363    fatal = 0;  \textcolor{comment}{/* assume everything is okay with reading input file */}}
\DoxyCodeLine{00364    \textcolor{keywordflow}{if} ((header[0] = fgetc (infp)) != EOF) \{}
\DoxyCodeLine{00365       \textcolor{keywordflow}{if} ((header[1] = fgetc (infp)) != EOF) \{}
\DoxyCodeLine{00366          \textcolor{keywordflow}{if} (header[0] == \textcolor{charliteral}{'B'} \&\& header[1] == \textcolor{charliteral}{'M'}) \{}
\DoxyCodeLine{00367             wbmp = 0; \textcolor{comment}{/* Not a Wireless Bitmap -\/-\/ it's a Windows Bitmap */}}
\DoxyCodeLine{00368          \}}
\DoxyCodeLine{00369          \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{00370             wbmp = 1; \textcolor{comment}{/* Assume it's a Wireless Bitmap */}}
\DoxyCodeLine{00371          \}}
\DoxyCodeLine{00372       \}}
\DoxyCodeLine{00373       \textcolor{keywordflow}{else}}
\DoxyCodeLine{00374          fatal = 1;}
\DoxyCodeLine{00375    \}}
\DoxyCodeLine{00376    \textcolor{keywordflow}{else}}
\DoxyCodeLine{00377       fatal = 1;}
\DoxyCodeLine{00378 }
\DoxyCodeLine{00379    \textcolor{keywordflow}{if} (fatal) \{}
\DoxyCodeLine{00380       fprintf (stderr, \textcolor{stringliteral}{"{}Fatal error; end of input file.\(\backslash\)n\(\backslash\)n"{}});}
\DoxyCodeLine{00381       exit (1);}
\DoxyCodeLine{00382    \}}
\DoxyCodeLine{00383    \textcolor{comment}{/*}}
\DoxyCodeLine{00384 \textcolor{comment}{      If this is a Wireless Bitmap (.wbmp) format file,}}
\DoxyCodeLine{00385 \textcolor{comment}{      skip the header and point to the start of the bitmap itself.}}
\DoxyCodeLine{00386 \textcolor{comment}{   */}}
\DoxyCodeLine{00387    \textcolor{keywordflow}{if} (wbmp) \{}
\DoxyCodeLine{00388       \textcolor{keywordflow}{for} (i=2; i<6; i++)}
\DoxyCodeLine{00389          header[i] = fgetc (infp);}
\DoxyCodeLine{00390       \textcolor{comment}{/*}}
\DoxyCodeLine{00391 \textcolor{comment}{         Now read the bitmap.}}
\DoxyCodeLine{00392 \textcolor{comment}{      */}}
\DoxyCodeLine{00393       \textcolor{keywordflow}{for} (i=0; i < 32*17; i++) \{}
\DoxyCodeLine{00394          \textcolor{keywordflow}{for} (j=0; j < 32*18/8; j++) \{}
\DoxyCodeLine{00395             inchar = fgetc (infp);}
\DoxyCodeLine{00396             bitmap[i][j] = \string~inchar;  \textcolor{comment}{/* invert bits for proper color */}}
\DoxyCodeLine{00397          \}}
\DoxyCodeLine{00398       \}}
\DoxyCodeLine{00399    \}}
\DoxyCodeLine{00400    \textcolor{comment}{/*}}
\DoxyCodeLine{00401 \textcolor{comment}{      Otherwise, treat this as a Windows Bitmap file, because we checked}}
\DoxyCodeLine{00402 \textcolor{comment}{      that it began with "{}BM"{}.  Save the header contents for future use.}}
\DoxyCodeLine{00403 \textcolor{comment}{      Expect a 14 byte standard BITMAPFILEHEADER format header followed}}
\DoxyCodeLine{00404 \textcolor{comment}{      by a 40 byte standard BITMAPINFOHEADER Device Independent Bitmap}}
\DoxyCodeLine{00405 \textcolor{comment}{      header, with data stored in little-\/endian format.}}
\DoxyCodeLine{00406 \textcolor{comment}{   */}}
\DoxyCodeLine{00407    \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{00408       \textcolor{keywordflow}{for} (i = 2; i < 54; i++)}
\DoxyCodeLine{00409          header[i] = fgetc (infp);}
\DoxyCodeLine{00410 }
\DoxyCodeLine{00411       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.filetype[0] = \textcolor{charliteral}{'B'};}
\DoxyCodeLine{00412       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.filetype[1] = \textcolor{charliteral}{'M'};}
\DoxyCodeLine{00413 }
\DoxyCodeLine{00414       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.file\_size =}
\DoxyCodeLine{00415           (header[2] \& 0xFF)        | ((header[3] \& 0xFF) <<  8) |}
\DoxyCodeLine{00416          ((header[4] \& 0xFF) << 16) | ((header[5] \& 0xFF) << 24);}
\DoxyCodeLine{00417 }
\DoxyCodeLine{00418       \textcolor{comment}{/* header bytes 6..9 are reserved */}}
\DoxyCodeLine{00419 }
\DoxyCodeLine{00420       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.image\_offset =}
\DoxyCodeLine{00421           (header[10] \& 0xFF)        | ((header[11] \& 0xFF) <<  8) |}
\DoxyCodeLine{00422          ((header[12] \& 0xFF) << 16) | ((header[13] \& 0xFF) << 24);}
\DoxyCodeLine{00423 }
\DoxyCodeLine{00424       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.info\_size =}
\DoxyCodeLine{00425           (header[14] \& 0xFF)        | ((header[15] \& 0xFF) <<  8) |}
\DoxyCodeLine{00426          ((header[16] \& 0xFF) << 16) | ((header[17] \& 0xFF) << 24);}
\DoxyCodeLine{00427 }
\DoxyCodeLine{00428       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.width =}
\DoxyCodeLine{00429           (header[18] \& 0xFF)        | ((header[19] \& 0xFF) <<  8) |}
\DoxyCodeLine{00430          ((header[20] \& 0xFF) << 16) | ((header[21] \& 0xFF) << 24);}
\DoxyCodeLine{00431 }
\DoxyCodeLine{00432       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.height =}
\DoxyCodeLine{00433           (header[22] \& 0xFF)        | ((header[23] \& 0xFF) <<  8) |}
\DoxyCodeLine{00434          ((header[24] \& 0xFF) << 16) | ((header[25] \& 0xFF) << 24);}
\DoxyCodeLine{00435 }
\DoxyCodeLine{00436       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.nplanes =}
\DoxyCodeLine{00437           (header[26] \& 0xFF)        | ((header[27] \& 0xFF) <<  8);}
\DoxyCodeLine{00438 }
\DoxyCodeLine{00439       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel =}
\DoxyCodeLine{00440           (header[28] \& 0xFF)        | ((header[29] \& 0xFF) <<  8);}
\DoxyCodeLine{00441 }
\DoxyCodeLine{00442       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.compression =}
\DoxyCodeLine{00443           (header[30] \& 0xFF)        | ((header[31] \& 0xFF) <<  8) |}
\DoxyCodeLine{00444          ((header[32] \& 0xFF) << 16) | ((header[33] \& 0xFF) << 24);}
\DoxyCodeLine{00445 }
\DoxyCodeLine{00446       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.image\_size =}
\DoxyCodeLine{00447           (header[34] \& 0xFF)        | ((header[35] \& 0xFF) <<  8) |}
\DoxyCodeLine{00448          ((header[36] \& 0xFF) << 16) | ((header[37] \& 0xFF) << 24);}
\DoxyCodeLine{00449 }
\DoxyCodeLine{00450       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.x\_ppm =}
\DoxyCodeLine{00451           (header[38] \& 0xFF)        | ((header[39] \& 0xFF) <<  8) |}
\DoxyCodeLine{00452          ((header[40] \& 0xFF) << 16) | ((header[41] \& 0xFF) << 24);}
\DoxyCodeLine{00453 }
\DoxyCodeLine{00454       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.y\_ppm =}
\DoxyCodeLine{00455           (header[42] \& 0xFF)        | ((header[43] \& 0xFF) <<  8) |}
\DoxyCodeLine{00456          ((header[44] \& 0xFF) << 16) | ((header[45] \& 0xFF) << 24);}
\DoxyCodeLine{00457 }
\DoxyCodeLine{00458       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors =}
\DoxyCodeLine{00459           (header[46] \& 0xFF)        | ((header[47] \& 0xFF) <<  8) |}
\DoxyCodeLine{00460          ((header[48] \& 0xFF) << 16) | ((header[49] \& 0xFF) << 24);}
\DoxyCodeLine{00461 }
\DoxyCodeLine{00462       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.important\_colors =}
\DoxyCodeLine{00463           (header[50] \& 0xFF)        | ((header[51] \& 0xFF) <<  8) |}
\DoxyCodeLine{00464          ((header[52] \& 0xFF) << 16) | ((header[53] \& 0xFF) << 24);}
\DoxyCodeLine{00465 }
\DoxyCodeLine{00466       \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors == 0)}
\DoxyCodeLine{00467          \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors = 1 << \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel;}
\DoxyCodeLine{00468 }
\DoxyCodeLine{00469       \textcolor{comment}{/* If a Color Table exists, read it */}}
\DoxyCodeLine{00470       \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors > 0 \&\& \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel <= 8) \{}
\DoxyCodeLine{00471          \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors; i++) \{}
\DoxyCodeLine{00472             \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[i][0] = fgetc (infp);  \textcolor{comment}{/* Red   */}}
\DoxyCodeLine{00473             \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[i][1] = fgetc (infp);  \textcolor{comment}{/* Green */}}
\DoxyCodeLine{00474             \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[i][2] = fgetc (infp);  \textcolor{comment}{/* Blue  */}}
\DoxyCodeLine{00475             \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[i][3] = fgetc (infp);  \textcolor{comment}{/* Alpha */}}
\DoxyCodeLine{00476          \}}
\DoxyCodeLine{00477          \textcolor{comment}{/*}}
\DoxyCodeLine{00478 \textcolor{comment}{            Determine from the first color table entry whether we}}
\DoxyCodeLine{00479 \textcolor{comment}{            are inverting the resulting bitmap image.}}
\DoxyCodeLine{00480 \textcolor{comment}{         */}}
\DoxyCodeLine{00481          \textcolor{keywordflow}{if} ( (\mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[0][0] + \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[0][1] + \mbox{\hyperlink{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}{color\_table}}[0][2]) }
\DoxyCodeLine{00482               < (3 * 128) ) \{}
\DoxyCodeLine{00483             color\_mask = 0xFF;}
\DoxyCodeLine{00484          \}}
\DoxyCodeLine{00485       \}}
\DoxyCodeLine{00486 }
\DoxyCodeLine{00487 \textcolor{preprocessor}{\#ifdef DEBUG}}
\DoxyCodeLine{00488 }
\DoxyCodeLine{00489       \textcolor{comment}{/*}}
\DoxyCodeLine{00490 \textcolor{comment}{         Print header info for possibly adding support for}}
\DoxyCodeLine{00491 \textcolor{comment}{         additional file formats in the future, to determine}}
\DoxyCodeLine{00492 \textcolor{comment}{         how the bitmap is encoded.}}
\DoxyCodeLine{00493 \textcolor{comment}{      */}}
\DoxyCodeLine{00494       fprintf (stderr, \textcolor{stringliteral}{"{}Filetype: '\%c\%c'\(\backslash\)n"{}},}
\DoxyCodeLine{00495                        \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.filetype[0], \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.filetype[1]);}
\DoxyCodeLine{00496       fprintf (stderr, \textcolor{stringliteral}{"{}File Size: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.file\_size);}
\DoxyCodeLine{00497       fprintf (stderr, \textcolor{stringliteral}{"{}Image Offset: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.image\_offset);}
\DoxyCodeLine{00498       fprintf (stderr, \textcolor{stringliteral}{"{}Info Header Size: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.info\_size);}
\DoxyCodeLine{00499       fprintf (stderr, \textcolor{stringliteral}{"{}Image Width: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.width);}
\DoxyCodeLine{00500       fprintf (stderr, \textcolor{stringliteral}{"{}Image Height: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.height);}
\DoxyCodeLine{00501       fprintf (stderr, \textcolor{stringliteral}{"{}Number of Planes: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.nplanes);}
\DoxyCodeLine{00502       fprintf (stderr, \textcolor{stringliteral}{"{}Bits per Pixel: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel);}
\DoxyCodeLine{00503       fprintf (stderr, \textcolor{stringliteral}{"{}Compression Method: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.compression);}
\DoxyCodeLine{00504       fprintf (stderr, \textcolor{stringliteral}{"{}Image Size: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.image\_size);}
\DoxyCodeLine{00505       fprintf (stderr, \textcolor{stringliteral}{"{}X Pixels per Meter: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.x\_ppm);}
\DoxyCodeLine{00506       fprintf (stderr, \textcolor{stringliteral}{"{}Y Pixels per Meter: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.y\_ppm);}
\DoxyCodeLine{00507       fprintf (stderr, \textcolor{stringliteral}{"{}Number of Colors: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.ncolors);}
\DoxyCodeLine{00508       fprintf (stderr, \textcolor{stringliteral}{"{}Important Colors: \%d\(\backslash\)n"{}}, \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.important\_colors);}
\DoxyCodeLine{00509 }
\DoxyCodeLine{00510 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00511 }
\DoxyCodeLine{00512       \textcolor{comment}{/*}}
\DoxyCodeLine{00513 \textcolor{comment}{         Now read the bitmap.}}
\DoxyCodeLine{00514 \textcolor{comment}{      */}}
\DoxyCodeLine{00515       \textcolor{keywordflow}{for} (i = 32*17-\/1; i >= 0; i-\/-\/) \{}
\DoxyCodeLine{00516          \textcolor{keywordflow}{for} (j=0; j < 32*18/8; j++) \{}
\DoxyCodeLine{00517             next\_pixels = 0x00;  \textcolor{comment}{/* initialize next group of 8 pixels */}}
\DoxyCodeLine{00518             \textcolor{comment}{/* Read a monochrome image -\/-\/ the original case */}}
\DoxyCodeLine{00519             \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel == 1) \{}
\DoxyCodeLine{00520                next\_pixels = fgetc (infp);}
\DoxyCodeLine{00521             \}}
\DoxyCodeLine{00522             \textcolor{comment}{/* Read a 32 bit per pixel RGB image; convert to monochrome */}}
\DoxyCodeLine{00523             \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ( \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel == 24 ||}
\DoxyCodeLine{00524                       \mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel == 32) \{}
\DoxyCodeLine{00525                next\_pixels = 0;}
\DoxyCodeLine{00526                \textcolor{keywordflow}{for} (k = 0; k < 8; k++) \{  \textcolor{comment}{/* get next 8 pixels */}}
\DoxyCodeLine{00527                   this\_pixel = (fgetc (infp) \& 0xFF) +}
\DoxyCodeLine{00528                                (fgetc (infp) \& 0xFF) +}
\DoxyCodeLine{00529                                (fgetc (infp) \& 0xFF);}
\DoxyCodeLine{00530 }
\DoxyCodeLine{00531                   \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.bits\_per\_pixel == 32) \{}
\DoxyCodeLine{00532                      (void) fgetc (infp);  \textcolor{comment}{/* ignore alpha value */}}
\DoxyCodeLine{00533                   \}}
\DoxyCodeLine{00534 }
\DoxyCodeLine{00535                   \textcolor{comment}{/* convert RGB color space to monochrome */}}
\DoxyCodeLine{00536                   \textcolor{keywordflow}{if} (this\_pixel >= (128 * 3))}
\DoxyCodeLine{00537                      this\_pixel = 0;}
\DoxyCodeLine{00538                   \textcolor{keywordflow}{else}}
\DoxyCodeLine{00539                      this\_pixel = 1;}
\DoxyCodeLine{00540 }
\DoxyCodeLine{00541                   \textcolor{comment}{/* shift next pixel color into place for 8 pixels total */}}
\DoxyCodeLine{00542                   next\_pixels = (next\_pixels << 1) | this\_pixel;}
\DoxyCodeLine{00543                \}}
\DoxyCodeLine{00544             \}}
\DoxyCodeLine{00545             \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}{bmp\_header}}.height < 0) \{  \textcolor{comment}{/* Bitmap drawn top to bottom */}}
\DoxyCodeLine{00546                bitmap [(32*17-\/1) -\/ i] [j] = next\_pixels;}
\DoxyCodeLine{00547             \}}
\DoxyCodeLine{00548             \textcolor{keywordflow}{else} \{  \textcolor{comment}{/* Bitmap drawn bottom to top */}}
\DoxyCodeLine{00549                bitmap [i][j] = next\_pixels;}
\DoxyCodeLine{00550             \}}
\DoxyCodeLine{00551          \}}
\DoxyCodeLine{00552       \}}
\DoxyCodeLine{00553 }
\DoxyCodeLine{00554       \textcolor{comment}{/*}}
\DoxyCodeLine{00555 \textcolor{comment}{         If any bits are set in color\_mask, apply it to}}
\DoxyCodeLine{00556 \textcolor{comment}{         entire bitmap to invert black <-\/-\/> white.}}
\DoxyCodeLine{00557 \textcolor{comment}{      */}}
\DoxyCodeLine{00558       \textcolor{keywordflow}{if} (color\_mask != 0x00) \{}
\DoxyCodeLine{00559          \textcolor{keywordflow}{for} (i = 32*17-\/1; i >= 0; i-\/-\/) \{}
\DoxyCodeLine{00560             \textcolor{keywordflow}{for} (j=0; j < 32*18/8; j++) \{}
\DoxyCodeLine{00561                bitmap [i][j] \string^= color\_mask;}
\DoxyCodeLine{00562             \}}
\DoxyCodeLine{00563          \}}
\DoxyCodeLine{00564       \}}
\DoxyCodeLine{00565 }
\DoxyCodeLine{00566    \}}
\DoxyCodeLine{00567 }
\DoxyCodeLine{00568    \textcolor{comment}{/*}}
\DoxyCodeLine{00569 \textcolor{comment}{      We've read the entire file.  Now close the input file pointer.}}
\DoxyCodeLine{00570 \textcolor{comment}{   */}}
\DoxyCodeLine{00571    fclose (infp);}
\DoxyCodeLine{00572   \textcolor{comment}{/*}}
\DoxyCodeLine{00573 \textcolor{comment}{      We now have the header portion in the header[] array,}}
\DoxyCodeLine{00574 \textcolor{comment}{      and have the bitmap portion from top-\/to-\/bottom in the bitmap[] array.}}
\DoxyCodeLine{00575 \textcolor{comment}{   */}}
\DoxyCodeLine{00576    \textcolor{comment}{/*}}
\DoxyCodeLine{00577 \textcolor{comment}{      If no Unicode range (U+nnnnnn00 through U+nnnnnnFF) was specified}}
\DoxyCodeLine{00578 \textcolor{comment}{      with a -\/p parameter, determine the range from the digits in the}}
\DoxyCodeLine{00579 \textcolor{comment}{      bitmap itself.}}
\DoxyCodeLine{00580 \textcolor{comment}{}}
\DoxyCodeLine{00581 \textcolor{comment}{      Store bitmaps for the hex digit patterns that this file uses.}}
\DoxyCodeLine{00582 \textcolor{comment}{   */}}
\DoxyCodeLine{00583    \textcolor{keywordflow}{if} (!\mbox{\hyperlink{unibmp2hex_8c_a23c536e061c3387fee66c7f6250f2b58}{planeset}}) \{  \textcolor{comment}{/* If Unicode range not specified with -\/p parameter */}}
\DoxyCodeLine{00584       \textcolor{keywordflow}{for} (i = 0x0; i <= 0xF; i++) \{  \textcolor{comment}{/* hex digit pattern we're storing */}}
\DoxyCodeLine{00585          \textcolor{keywordflow}{for} (j = 0; j < 4; j++) \{}
\DoxyCodeLine{00586             \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}}[i][j]   =}
\DoxyCodeLine{00587                ((unsigned)bitmap[32 * (i+1) + 4 * j + 8    ][6] << 24 ) |}
\DoxyCodeLine{00588                ((\textcolor{keywordtype}{unsigned})bitmap[32 * (i+1) + 4 * j + 8 + 1][6] << 16 ) |}
\DoxyCodeLine{00589                ((unsigned)bitmap[32 * (i+1) + 4 * j + 8 + 2][6] <<  8 ) |}
\DoxyCodeLine{00590                ((\textcolor{keywordtype}{unsigned})bitmap[32 * (i+1) + 4 * j + 8 + 3][6]       );}
\DoxyCodeLine{00591          \}}
\DoxyCodeLine{00592       \}}
\DoxyCodeLine{00593       \textcolor{comment}{/*}}
\DoxyCodeLine{00594 \textcolor{comment}{         Read the Unicode plane digits into arrays for comparison, to}}
\DoxyCodeLine{00595 \textcolor{comment}{         determine the upper four hex digits of the glyph addresses.}}
\DoxyCodeLine{00596 \textcolor{comment}{      */}}
\DoxyCodeLine{00597       \textcolor{keywordflow}{for} (i = 0; i < 4; i++) \{}
\DoxyCodeLine{00598          \textcolor{keywordflow}{for} (j = 0; j < 4; j++) \{}
\DoxyCodeLine{00599             \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][j] =}
\DoxyCodeLine{00600                ((unsigned)bitmap[32 * 0 + 4 * j + 8 + 1][i + 3] << 24 ) |}
\DoxyCodeLine{00601                ((unsigned)bitmap[32 * 0 + 4 * j + 8 + 2][i + 3] << 16 ) |}
\DoxyCodeLine{00602                ((unsigned)bitmap[32 * 0 + 4 * j + 8 + 3][i + 3] <<  8 ) |}
\DoxyCodeLine{00603                ((unsigned)bitmap[32 * 0 + 4 * j + 8 + 4][i + 3]       );}
\DoxyCodeLine{00604          \}}
\DoxyCodeLine{00605       \}}
\DoxyCodeLine{00606    }
\DoxyCodeLine{00607       tmpsum = 0;}
\DoxyCodeLine{00608       \textcolor{keywordflow}{for} (i = 4; i < 6; i++) \{}
\DoxyCodeLine{00609          \textcolor{keywordflow}{for} (j = 0; j < 4; j++) \{}
\DoxyCodeLine{00610             \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][j] =}
\DoxyCodeLine{00611                ((unsigned)bitmap[32 * 1 + 4 * j + 8    ][i] << 24 ) |}
\DoxyCodeLine{00612                ((unsigned)bitmap[32 * 1 + 4 * j + 8 + 1][i] << 16 ) |}
\DoxyCodeLine{00613                ((unsigned)bitmap[32 * 1 + 4 * j + 8 + 2][i] <<  8 ) |}
\DoxyCodeLine{00614                ((unsigned)bitmap[32 * 1 + 4 * j + 8 + 3][i]       );}
\DoxyCodeLine{00615             tmpsum |= \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][j];}
\DoxyCodeLine{00616          \}}
\DoxyCodeLine{00617       \}}
\DoxyCodeLine{00618       \textcolor{keywordflow}{if} (tmpsum == 0) \{  \textcolor{comment}{/* the glyph matrix is transposed */}}
\DoxyCodeLine{00619          \mbox{\hyperlink{unibmp2hex_8c_af7ab3cd5a9f70af7701580cdf283636c}{flip}} = 1;  \textcolor{comment}{/* note transposed order for processing glyphs in matrix */}}
\DoxyCodeLine{00620          \textcolor{comment}{/*}}
\DoxyCodeLine{00621 \textcolor{comment}{            Get 5th and 6th hex digits by shifting first column header left by}}
\DoxyCodeLine{00622 \textcolor{comment}{            1.5 columns, thereby shifting the hex digit right after the leading}}
\DoxyCodeLine{00623 \textcolor{comment}{            "{}U+nnnn"{} page number.}}
\DoxyCodeLine{00624 \textcolor{comment}{         */}}
\DoxyCodeLine{00625          \textcolor{keywordflow}{for} (i = 0x08; i < 0x18; i++) \{}
\DoxyCodeLine{00626             bitmap[i][7] = (bitmap[i][8] << 4) | ((bitmap[i][ 9] >> 4) \& 0xf);}
\DoxyCodeLine{00627             bitmap[i][8] = (bitmap[i][9] << 4) | ((bitmap[i][10] >> 4) \& 0xf);}
\DoxyCodeLine{00628          \}}
\DoxyCodeLine{00629          \textcolor{keywordflow}{for} (i = 4; i < 6; i++) \{}
\DoxyCodeLine{00630             \textcolor{keywordflow}{for} (j = 0; j < 4; j++) \{}
\DoxyCodeLine{00631                \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][j] =}
\DoxyCodeLine{00632                   ((unsigned)bitmap[4 * j + 8 + 1][i + 3] << 24 ) |}
\DoxyCodeLine{00633                   ((unsigned)bitmap[4 * j + 8 + 2][i + 3] << 16 ) |}
\DoxyCodeLine{00634                   ((unsigned)bitmap[4 * j + 8 + 3][i + 3] <<  8 ) |}
\DoxyCodeLine{00635                   ((unsigned)bitmap[4 * j + 8 + 4][i + 3]       );}
\DoxyCodeLine{00636             \}}
\DoxyCodeLine{00637          \}}
\DoxyCodeLine{00638       \}}
\DoxyCodeLine{00639    }
\DoxyCodeLine{00640       \textcolor{comment}{/*}}
\DoxyCodeLine{00641 \textcolor{comment}{         Now determine the Unicode plane by comparing unidigit[0..5] to}}
\DoxyCodeLine{00642 \textcolor{comment}{         the hexdigit[0x0..0xF] array.}}
\DoxyCodeLine{00643 \textcolor{comment}{      */}}
\DoxyCodeLine{00644       \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} = 0;}
\DoxyCodeLine{00645       \textcolor{keywordflow}{for} (i=0; i<6; i++) \{ \textcolor{comment}{/* go through one bitmap digit at a time */}}
\DoxyCodeLine{00646          match = 0; \textcolor{comment}{/* haven't found pattern yet */}}
\DoxyCodeLine{00647          \textcolor{keywordflow}{for} (j = 0x0; !match \&\& j <= 0xF; j++) \{}
\DoxyCodeLine{00648             \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][0] == \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}}[j][0] \&\&}
\DoxyCodeLine{00649                 \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][1] == \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}}[j][1] \&\&}
\DoxyCodeLine{00650                 \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][2] == \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}}[j][2] \&\&}
\DoxyCodeLine{00651                 \mbox{\hyperlink{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}{unidigit}}[i][3] == \mbox{\hyperlink{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}{hexdigit}}[j][3]) \{ \textcolor{comment}{/* we found the digit */}}
\DoxyCodeLine{00652                \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} |= j;}
\DoxyCodeLine{00653                match = 1;}
\DoxyCodeLine{00654             \}}
\DoxyCodeLine{00655          \}}
\DoxyCodeLine{00656          \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} <<= 4;}
\DoxyCodeLine{00657       \}}
\DoxyCodeLine{00658       \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} >>= 4;}
\DoxyCodeLine{00659    \}}
\DoxyCodeLine{00660    \textcolor{comment}{/*}}
\DoxyCodeLine{00661 \textcolor{comment}{      Now read each glyph and print it as hex.}}
\DoxyCodeLine{00662 \textcolor{comment}{   */}}
\DoxyCodeLine{00663    \textcolor{keywordflow}{for} (i = 0x0; i <= 0xf; i++) \{}
\DoxyCodeLine{00664       \textcolor{keywordflow}{for} (j = 0x0; j <= 0xf; j++) \{}
\DoxyCodeLine{00665          \textcolor{keywordflow}{for} (k = 0; k < 16; k++) \{}
\DoxyCodeLine{00666             \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_af7ab3cd5a9f70af7701580cdf283636c}{flip}}) \{  \textcolor{comment}{/* transpose glyph matrix */}}
\DoxyCodeLine{00667                thischar0[k] = bitmap[32*(j+1) + k + 7][4 * (i+2)    ];}
\DoxyCodeLine{00668                thischar1[k] = bitmap[32*(j+1) + k + 7][4 * (i+2) + 1];}
\DoxyCodeLine{00669                thischar2[k] = bitmap[32*(j+1) + k + 7][4 * (i+2) + 2];}
\DoxyCodeLine{00670                thischar3[k] = bitmap[32*(j+1) + k + 7][4 * (i+2) + 3];}
\DoxyCodeLine{00671             \}}
\DoxyCodeLine{00672             \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{00673                thischar0[k] = bitmap[32*(i+1) + k + 7][4 * (j+2)    ];}
\DoxyCodeLine{00674                thischar1[k] = bitmap[32*(i+1) + k + 7][4 * (j+2) + 1];}
\DoxyCodeLine{00675                thischar2[k] = bitmap[32*(i+1) + k + 7][4 * (j+2) + 2];}
\DoxyCodeLine{00676                thischar3[k] = bitmap[32*(i+1) + k + 7][4 * (j+2) + 3];}
\DoxyCodeLine{00677             \}}
\DoxyCodeLine{00678          \}}
\DoxyCodeLine{00679          \textcolor{comment}{/*}}
\DoxyCodeLine{00680 \textcolor{comment}{            If the second half of the 16*16 character is all zeroes, this}}
\DoxyCodeLine{00681 \textcolor{comment}{            character is only 8 bits wide, so print a half-\/width character.}}
\DoxyCodeLine{00682 \textcolor{comment}{         */}}
\DoxyCodeLine{00683          empty1 = empty2 = 1;}
\DoxyCodeLine{00684          \textcolor{keywordflow}{for} (k=0; (empty1 || empty2) \&\& k < 16; k++) \{}
\DoxyCodeLine{00685             \textcolor{keywordflow}{if} (thischar1[k] != 0) empty1 = 0;}
\DoxyCodeLine{00686             \textcolor{keywordflow}{if} (thischar2[k] != 0) empty2 = 0;}
\DoxyCodeLine{00687             \}}
\DoxyCodeLine{00688          \textcolor{comment}{/*}}
\DoxyCodeLine{00689 \textcolor{comment}{            Only print this glyph if it isn't blank.}}
\DoxyCodeLine{00690 \textcolor{comment}{         */}}
\DoxyCodeLine{00691          \textcolor{keywordflow}{if} (!empty1 || !empty2) \{}
\DoxyCodeLine{00692             \textcolor{comment}{/*}}
\DoxyCodeLine{00693 \textcolor{comment}{               If the second half is empty, this is a half-\/width character.}}
\DoxyCodeLine{00694 \textcolor{comment}{               Only print the first half.}}
\DoxyCodeLine{00695 \textcolor{comment}{            */}}
\DoxyCodeLine{00696             \textcolor{comment}{/*}}
\DoxyCodeLine{00697 \textcolor{comment}{               Original GNU Unifont format is four hexadecimal digit character}}
\DoxyCodeLine{00698 \textcolor{comment}{               code followed by a colon followed by a hex string.  Add support}}
\DoxyCodeLine{00699 \textcolor{comment}{               for codes beyond the Basic Multilingual Plane.}}
\DoxyCodeLine{00700 \textcolor{comment}{}}
\DoxyCodeLine{00701 \textcolor{comment}{               Unicode ranges from U+0000 to U+10FFFF, so print either a}}
\DoxyCodeLine{00702 \textcolor{comment}{               4-\/digit or a 6-\/digit code point.  Note that this software}}
\DoxyCodeLine{00703 \textcolor{comment}{               should support up to an 8-\/digit code point, extending beyond}}
\DoxyCodeLine{00704 \textcolor{comment}{               the normal Unicode range, but this has not been fully tested.}}
\DoxyCodeLine{00705 \textcolor{comment}{            */}}
\DoxyCodeLine{00706             \textcolor{keywordflow}{if} (\mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} > 0xff)}
\DoxyCodeLine{00707                fprintf (outfp, \textcolor{stringliteral}{"{}\%04X\%X\%X:"{}}, \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}}, i, j); \textcolor{comment}{// 6 digit code pt.}}
\DoxyCodeLine{00708             \textcolor{keywordflow}{else}}
\DoxyCodeLine{00709                fprintf (outfp, \textcolor{stringliteral}{"{}\%02X\%X\%X:"{}}, \mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}}, i, j); \textcolor{comment}{// 4 digit code pt.}}
\DoxyCodeLine{00710             \textcolor{keywordflow}{for} (thisrow=0; thisrow<16; thisrow++) \{}
\DoxyCodeLine{00711                \textcolor{comment}{/*}}
\DoxyCodeLine{00712 \textcolor{comment}{                  If second half is empty and we're not forcing this}}
\DoxyCodeLine{00713 \textcolor{comment}{                  code point to double width, print as single width.}}
\DoxyCodeLine{00714 \textcolor{comment}{               */}}
\DoxyCodeLine{00715                \textcolor{keywordflow}{if} (!\mbox{\hyperlink{unibmp2hex_8c_a77fe45bfa888a90761ae6dc8627fdd5e}{forcewide}} \&\&}
\DoxyCodeLine{00716                    empty2 \&\& !wide[(\mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} << 8) | (i << 4) | j]) \{}
\DoxyCodeLine{00717                   fprintf (outfp,}
\DoxyCodeLine{00718                           \textcolor{stringliteral}{"{}\%02X"{}},}
\DoxyCodeLine{00719                           thischar1[thisrow]);}
\DoxyCodeLine{00720                \}}
\DoxyCodeLine{00721                \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (wide[(\mbox{\hyperlink{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}{uniplane}} << 8) | (i << 4) | j] == 4) \{}
\DoxyCodeLine{00722                   \textcolor{comment}{/* quadruple-\/width; force 32nd pixel to zero */}}
\DoxyCodeLine{00723                   fprintf (outfp,}
\DoxyCodeLine{00724                           \textcolor{stringliteral}{"{}\%02X\%02X\%02X\%02X"{}},}
\DoxyCodeLine{00725                           thischar0[thisrow], thischar1[thisrow],}
\DoxyCodeLine{00726                           thischar2[thisrow], thischar3[thisrow] \& 0xFE);}
\DoxyCodeLine{00727                \}}
\DoxyCodeLine{00728                \textcolor{keywordflow}{else} \{ \textcolor{comment}{/* treat as double-\/width */}}
\DoxyCodeLine{00729                   fprintf (outfp,}
\DoxyCodeLine{00730                           \textcolor{stringliteral}{"{}\%02X\%02X"{}},}
\DoxyCodeLine{00731                           thischar1[thisrow], thischar2[thisrow]);}
\DoxyCodeLine{00732                \}}
\DoxyCodeLine{00733             \}}
\DoxyCodeLine{00734             fprintf (outfp, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{00735          \}}
\DoxyCodeLine{00736       \}}
\DoxyCodeLine{00737    \}}
\DoxyCodeLine{00738    exit (0);}
\DoxyCodeLine{00739 \}}

\end{DoxyCode}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{unibmp2hex_8c_ad61ad0d2af12c84996d1edf78ac9ee1c}\label{unibmp2hex_8c_ad61ad0d2af12c84996d1edf78ac9ee1c}} 
\index{unibmp2hex.c@{unibmp2hex.c}!bits\_per\_pixel@{bits\_per\_pixel}}
\index{bits\_per\_pixel@{bits\_per\_pixel}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{bits\_per\_pixel}{bits\_per\_pixel}}
{\footnotesize\ttfamily int bits\+\_\+per\+\_\+pixel}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00139}{139}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}\label{unibmp2hex_8c_a8b1d9ca32eaf9f66c2a2d2d7761b8526}} 
\index{unibmp2hex.c@{unibmp2hex.c}!bmp\_header@{bmp\_header}}
\index{bmp\_header@{bmp\_header}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{}{}}
{\footnotesize\ttfamily struct  \{ ... \}  bmp\+\_\+header}

Bitmap Header parameters \mbox{\Hypertarget{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}\label{unibmp2hex_8c_aa2196ad512cd5cffe3c54f7798f1b286}} 
\index{unibmp2hex.c@{unibmp2hex.c}!color\_table@{color\_table}}
\index{color\_table@{color\_table}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{color\_table}{color\_table}}
{\footnotesize\ttfamily unsigned char color\+\_\+table\mbox{[}256\mbox{]}\mbox{[}4\mbox{]}}

Bitmap Color \mbox{\hyperlink{struct_table}{Table}} -- maximum of 256 colors in a BMP file 

Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00149}{149}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a08ab33a48474b8c74426c82413bde98e}\label{unibmp2hex_8c_a08ab33a48474b8c74426c82413bde98e}} 
\index{unibmp2hex.c@{unibmp2hex.c}!compression@{compression}}
\index{compression@{compression}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{compression}{compression}}
{\footnotesize\ttfamily int compression}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00140}{140}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a8bc95708c758a6400d8692f2d0fcbaeb}\label{unibmp2hex_8c_a8bc95708c758a6400d8692f2d0fcbaeb}} 
\index{unibmp2hex.c@{unibmp2hex.c}!file\_size@{file\_size}}
\index{file\_size@{file\_size}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{file\_size}{file\_size}}
{\footnotesize\ttfamily int file\+\_\+size}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00133}{133}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a302e295f63562b3cde509543f55e8b40}\label{unibmp2hex_8c_a302e295f63562b3cde509543f55e8b40}} 
\index{unibmp2hex.c@{unibmp2hex.c}!filetype@{filetype}}
\index{filetype@{filetype}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{filetype}{filetype}}
{\footnotesize\ttfamily char filetype\mbox{[}2\mbox{]}}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00132}{132}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_af7ab3cd5a9f70af7701580cdf283636c}\label{unibmp2hex_8c_af7ab3cd5a9f70af7701580cdf283636c}} 
\index{unibmp2hex.c@{unibmp2hex.c}!flip@{flip}}
\index{flip@{flip}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{flip}{flip}}
{\footnotesize\ttfamily unsigned flip =0}



=1 if we\textquotesingle{}re transposing glyph matrix 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00123}{123}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a77fe45bfa888a90761ae6dc8627fdd5e}\label{unibmp2hex_8c_a77fe45bfa888a90761ae6dc8627fdd5e}} 
\index{unibmp2hex.c@{unibmp2hex.c}!forcewide@{forcewide}}
\index{forcewide@{forcewide}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{forcewide}{forcewide}}
{\footnotesize\ttfamily unsigned forcewide =0}



=1 to set each glyph to 16 pixels wide 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00124}{124}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_ad12fc34ce789bce6c8a05d8a17138534}\label{unibmp2hex_8c_ad12fc34ce789bce6c8a05d8a17138534}} 
\index{unibmp2hex.c@{unibmp2hex.c}!height@{height}}
\index{height@{height}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{height}{height}}
{\footnotesize\ttfamily int height}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00137}{137}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}\label{unibmp2hex_8c_a8e50648544568f9274781c2c90acdd78}} 
\index{unibmp2hex.c@{unibmp2hex.c}!hexdigit@{hexdigit}}
\index{hexdigit@{hexdigit}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{hexdigit}{hexdigit}}
{\footnotesize\ttfamily unsigned hexdigit\mbox{[}16\mbox{]}\mbox{[}4\mbox{]}}



32 bit representation of 16x8 0..F bitmap 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00119}{119}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a5e717370aa45ce88b5aab4b3ee9a229c}\label{unibmp2hex_8c_a5e717370aa45ce88b5aab4b3ee9a229c}} 
\index{unibmp2hex.c@{unibmp2hex.c}!image\_offset@{image\_offset}}
\index{image\_offset@{image\_offset}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{image\_offset}{image\_offset}}
{\footnotesize\ttfamily int image\+\_\+offset}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00134}{134}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a98c9a8ca94afbc85988b2fc030e50048}\label{unibmp2hex_8c_a98c9a8ca94afbc85988b2fc030e50048}} 
\index{unibmp2hex.c@{unibmp2hex.c}!image\_size@{image\_size}}
\index{image\_size@{image\_size}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{image\_size}{image\_size}}
{\footnotesize\ttfamily int image\+\_\+size}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00141}{141}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a4f274c9be8642f200b0eab9250f773c2}\label{unibmp2hex_8c_a4f274c9be8642f200b0eab9250f773c2}} 
\index{unibmp2hex.c@{unibmp2hex.c}!important\_colors@{important\_colors}}
\index{important\_colors@{important\_colors}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{important\_colors}{important\_colors}}
{\footnotesize\ttfamily int important\+\_\+colors}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00145}{145}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a9887067178ee219532f0deed18b9830a}\label{unibmp2hex_8c_a9887067178ee219532f0deed18b9830a}} 
\index{unibmp2hex.c@{unibmp2hex.c}!info\_size@{info\_size}}
\index{info\_size@{info\_size}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{info\_size}{info\_size}}
{\footnotesize\ttfamily int info\+\_\+size}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00135}{135}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_aeac67cf686cea9cb1d69661714767244}\label{unibmp2hex_8c_aeac67cf686cea9cb1d69661714767244}} 
\index{unibmp2hex.c@{unibmp2hex.c}!ncolors@{ncolors}}
\index{ncolors@{ncolors}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{ncolors}{ncolors}}
{\footnotesize\ttfamily int ncolors}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00144}{144}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a09feee87e1a744e9fde5ec34236ec2d7}\label{unibmp2hex_8c_a09feee87e1a744e9fde5ec34236ec2d7}} 
\index{unibmp2hex.c@{unibmp2hex.c}!nplanes@{nplanes}}
\index{nplanes@{nplanes}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{nplanes}{nplanes}}
{\footnotesize\ttfamily int nplanes}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00138}{138}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a23c536e061c3387fee66c7f6250f2b58}\label{unibmp2hex_8c_a23c536e061c3387fee66c7f6250f2b58}} 
\index{unibmp2hex.c@{unibmp2hex.c}!planeset@{planeset}}
\index{planeset@{planeset}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{planeset}{planeset}}
{\footnotesize\ttfamily unsigned planeset =0}



=1\+: use plane specified with -\/p parameter 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00122}{122}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}\label{unibmp2hex_8c_a4000465b001e714b0bfa857e4956a76c}} 
\index{unibmp2hex.c@{unibmp2hex.c}!unidigit@{unidigit}}
\index{unidigit@{unidigit}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{unidigit}{unidigit}}
{\footnotesize\ttfamily unsigned unidigit\mbox{[}6\mbox{]}\mbox{[}4\mbox{]}}

The six Unicode plane digits, from left-\/most (0) to right-\/most (5) 

Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00127}{127}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}\label{unibmp2hex_8c_a6ab9015718d2f37f1420e7a0b53713ec}} 
\index{unibmp2hex.c@{unibmp2hex.c}!uniplane@{uniplane}}
\index{uniplane@{uniplane}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{uniplane}{uniplane}}
{\footnotesize\ttfamily unsigned uniplane =0}



Unicode plane number, 0..0xff ff ff. 



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00121}{121}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a2474a5474cbff19523a51eb1de01cda4}\label{unibmp2hex_8c_a2474a5474cbff19523a51eb1de01cda4}} 
\index{unibmp2hex.c@{unibmp2hex.c}!width@{width}}
\index{width@{width}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{width}{width}}
{\footnotesize\ttfamily int width}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00136}{136}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a21e28a58c23e42d93b09ca10d433f218}\label{unibmp2hex_8c_a21e28a58c23e42d93b09ca10d433f218}} 
\index{unibmp2hex.c@{unibmp2hex.c}!x\_ppm@{x\_ppm}}
\index{x\_ppm@{x\_ppm}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{x\_ppm}{x\_ppm}}
{\footnotesize\ttfamily int x\+\_\+ppm}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00142}{142}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

\mbox{\Hypertarget{unibmp2hex_8c_a12ee22c87bcca357c98490a4419e39f1}\label{unibmp2hex_8c_a12ee22c87bcca357c98490a4419e39f1}} 
\index{unibmp2hex.c@{unibmp2hex.c}!y\_ppm@{y\_ppm}}
\index{y\_ppm@{y\_ppm}!unibmp2hex.c@{unibmp2hex.c}}
\doxysubsubsection{\texorpdfstring{y\_ppm}{y\_ppm}}
{\footnotesize\ttfamily int y\+\_\+ppm}



Definition at line \mbox{\hyperlink{unibmp2hex_8c_source_l00143}{143}} of file \mbox{\hyperlink{unibmp2hex_8c_source}{unibmp2hex.\+c}}.

