lib/DtHelp: remove register keyword
[oweals/cde.git] / cde / lib / DtHelp / AsciiSpc.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these libraries and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $TOG: AsciiSpc.c /main/6 1999/02/24 12:04:30 mgreess $ */
24 /************************************<+>*************************************
25  ****************************************************************************
26  **
27  **   File:      AsciiSpc.c
28  **
29  **   Project:   Cde Help Library
30  **
31  **   Description: This file resolves an <spc> spec into an ascii 
32  **                representation of the special character.
33  **
34  **  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 Hewlett-Packard Company
35  **
36  **  (c) Copyright 1993, 1994 Hewlett-Packard Company
37  **  (c) Copyright 1993, 1994 International Business Machines Corp.
38  **  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
39  **  (c) Copyright 1993, 1994 Novell, Inc.
40  ****************************************************************************
41  ************************************<+>*************************************/
42
43 /*
44  * system includes
45  */
46 #include <string.h>
47
48 /*
49  * private includes
50  */
51 #include "AsciiSpcI.h"
52
53 #ifdef NLS16
54 #endif
55
56 /********    Private Function Declarations    ********/
57
58 /********    End Public Function Declarations    ********/
59
60 /******************************************************************************
61  *
62  * Private variables and defines.
63  *
64  *****************************************************************************/
65 typedef struct {
66         const char      *symbol;
67         const char      *spc_string;
68 } SpecialSymbolTable;
69
70
71 static  SpecialSymbolTable SpcTable[] =
72
73 /*
74  * comment out the entries that map to a blank.
75  * The last entry will catch them and map them to a blank
76  * anyway. This will shorten the table by quite a bit.
77  */
78       /*{"[aacute]", " "         },  *ISOlat1, small a, acute accent */
79       /*{"[acirc ]", " "         },  *ISOlat1, small a, circumflex   */
80       /*{"[aelig ]", " "         },  *ISOlat1, small ae diphthong    */
81       /*{"[agrave]", " "         },  *ISOlat1, small a, grave accent */
82       /*{"[alpha ]", " "         },  *ISOgrk3, Greek, small alpha    */
83       /*{"[aleph ]", " "         },  *ISOtech, aleph, Hebrews        */
84         {"[amp   ]", "&"         }, /*ISOnum , ampersand             */
85         {"[and   ]", "^"         }, /*ISOtech, wedge, logical and    */ 
86       /*{"[ang   ]", " "         },  *ISOamso, angle                 */
87       /*{"[angst ]", " "         },  *ISOtech, Angstrom, cap A, ring */
88         {"[ap    ]", "~="        }, /*ISOtech, approximately equal   */ 
89         {"[apos  ]", "'"         }, /*ISOnum , apostrophe            */
90       /*{"[aring ]", " "         },  *ISOlat1, small a, ring         */
91         {"[ast   ]", "*"         }, /*ISOnum , asterisk              */
92       /*{"[atilde]", " "         },  *ISOlat1, small a, tilde        */
93       /*{"[auml  ]", " "         },  *ISOlat1, small a, umlaut mark  */
94       /*{"[beta  ]", " "         },  *ISOgrk3, Greek, small beta     */
95       /*{"[blank ]", " "         },  *ISOpub , significant blank     */
96       /*{"[bottom]", " "         },  *ISOtech, bottom symbol         */
97         {"[bsol  ]", "\\"        }, /*ISOnum , backslash, rev solidus*/
98         {"[bull  ]", "*"         }, /*ISOpub , round bullet,filled   */ 
99       /*{"[brvbar]", "|"         },  *ISOnum , broken vertical bar   */
100       /*{"[cap   ]", " "         },  *ISOtech, intersection          */
101       /*{"[ccedil]", " "         },  *ISOlat1, small c, cedilla      */
102       /*{"[cent  ]", " "         },  *ISOnum , cent sign             */
103       /*{"[chi   ]", " "         },  *ISOgrk3, Greek, small chi      */
104       /*{"[clubs ]", " "         },  *ISOpub , clubs suit symbol     */
105         {"[colon ]", ":"         }, /*ISOnum , colon                 */
106         {"[comma ]", ","         }, /*ISOnum , comma                 */
107         {"[commat]", "@"         }, /*ISOnum , commercial at         */
108       /*{"[cong  ]", " "         },  *ISOtech, congruent with        */
109       /*{"[copy  ]", " "         },  *ISOnum , copyright symbol      */
110         {"[cup   ]", "U"         }, /*ISOtech, union or logical sum  */ 
111       /*{"[curren]", " "         },  *ISOnum , general currency sign */
112       /*{"[darr  ]", " "         },  *ISOnum , downward arrow        */
113       /*{"[dArr  ]", " "         },  *ISOamsa, down double arrow     */
114         {"[dash  ]", "-"         }, /*ISOpub , dash                  */
115       /*{"[deg   ]", " "         },  *ISOnum , degree sign           */
116       /*{"[delta ]", " "         },  *ISOgrk3, Greek, small delta    */
117       /*{"[diams ]", " "         },  *ISOpub , diamond suit symbol   */
118         {"[divide]", "/"         }, /*ISOnum , divide sign           */ 
119         {"[dollar]", "$"         }, /*ISOnum , dollar sign           */
120       /*{"[eacute]", " "         },  *ISOlat1, small e, acute accent */
121       /*{"[ecirc ]", " "         },  *ISOlat1, small e, circumflex   */
122       /*{"[egrave]", " "         },  *ISOlat1, small e, grave accent */
123       /*{"[empty ]", " "         },  *ISOamso, empty string, o/slash */
124       /*{"[epsiv ]", " "         },  *ISOgrk3, Greek,sm epsilon, var */
125         {"[equals]", "="         }, /*ISOnum , equals sign           */
126       /*{"[equiv ]", " "         },  *ISOtech, identical with        */
127       /*{"[eta   ]", " "         },  *ISOgrk3, Greek, small eta      */
128       /*{"[eth   ]", " "         },  *ISOlat1, small eth, Icelandic  */
129       /*{"[euml  ]", " "         },  *ISOlat1, small e, umlaut mark  */
130         {"[excl  ]", "!"         }, /*ISOnum , exclamation mark      */
131       /*{"[exist ]", " "         },  *ISOtech, at least one exists   */
132       /*{"[forall]", " "         },  *ISOtech, for all               */
133         {"[frac12]", "1/2"       }, /*ISOnum , fraction one-half     */ 
134         {"[frac13]", "1/3"       }, /*ISOnum , fraction one-third    */ 
135         {"[frac14]", "1/4"       }, /*ISOnum , fraction one-quarter  */ 
136         {"[frac15]", "1/5"       }, /*ISOnum , fraction one-fifth    */ 
137         {"[frac16]", "1/6"       }, /*ISOnum , fraction one-sixth    */ 
138         {"[frac18]", "1/8"       }, /*ISOnum , fraction one-eight    */
139         {"[frac23]", "2/3"       }, /*ISOnum , fraction two-thirds   */ 
140         {"[frac25]", "2/5"       }, /*ISOnum , fraction two-fifths   */ 
141         {"[frac34]", "3/4"       }, /*ISOnum , fraction three-quarter*/ 
142         {"[frac35]", "3/5"       }, /*ISOnum , fraction three-fifths */ 
143         {"[frac38]", "3/8"       }, /*ISOnum , fraction three-eights */
144         {"[frac45]", "4/5"       }, /*ISOnum , fraction four-fifths  */ 
145         {"[frac56]", "5/6"       }, /*ISOnum , fraction five-sixths  */ 
146         {"[frac58]", "5/8"       }, /*ISOnum , fraction five-eights  */
147         {"[frac78]", "7/8"       }, /*ISOnum , fraction seven-eights */
148       /*{"[gamma ]", " "         },  *ISOgrk3, Greek, small gamma    */
149         {"[ge    ]", ">="        }, /*ISOtech, greater-than-or-equal */ 
150         {"[gt    ]", ">"         }, /*ISOnum , greater than sign     */
151         {"[half  ]", "1/2"       }, /*ISOnum , fraction one-half     */ 
152         {"[harr  ]", "<-->"      }, /*ISOamsa, left & right arrow    */ 
153         {"[hArr  ]", "<<==>>"    }, /*ISOamsa, l & r double arrow    */ 
154       /*{"[hearts]", " "         },  *ISOpub , hearts suit symbol    */
155         {"[hellip]", "..."       }, /*ISOpub , ellipsis(horizontal)  */ 
156         {"[horbar]", "--"        }, /*ISOnum , horizontal bar        */ 
157         {"[hyphen]", "-"         }, /*ISOnum , hyphen                */
158       /*{"[iacute]", " "         },  *ISOlat1, small i, acute accent */
159       /*{"[icirc ]", " "         },  *ISOlat1, small i, circumflex   */
160       /*{"[iexcl ]", " "         },  *ISOnum , inverted ! mark       */
161       /*{"[igrave]", " "         },  *ISOlat1, small i, grave accent */
162       /*{"[image ]", " "         },  *ISOamso,imaginary number symbol*/
163       /*{"[infin ]", " "         },  *ISOtech, infinity              */
164       /*{"[int   ]", " "         },  *ISOtech, intergral operator    */
165       /*{"[iota  ]", " "         },  *ISOgrk3, Greek, small iota     */
166       /*{"[iquest]", " "         },  *ISOnum , inverted ? mark       */
167       /*{"[isin  ]", " "         },  *ISOtech, set membership        */
168       /*{"[iuml  ]", " "         },  *ISOlat1, small i, umlaut mark  */
169       /*{"[kappa ]", " "         },  *ISOgrk3, Greek, small kappa    */
170       /*{"[lambda]", " "         },  *ISOgrk3, Greek, small lambda   */
171       /*{"[lang  ]", " "         },  *ISOtech, left angle bracket    */
172         {"[laquo ]", "<<"        }, /*ISOnum , left angle quotation  */ 
173         {"[larr  ]", "<--"       }, /*ISOnum , leftward arrow        */ 
174         {"[lArr  ]", "<=="       }, /*ISOtech, is implied by         */ 
175         {"[lcub  ]", "{"         }, /*ISOnum , left curly brace      */
176         {"[ldquo ]", "\""        }, /*ISOnum , left double quote     */ 
177         {"[le    ]", "=<"        }, /*ISOtech, less-than-or-equal    */ 
178         {"[lowbar]", "_"         }, /*ISOnum , low line              */
179         {"[lpar  ]", "("         }, /*ISOnum , left parenthesis      */
180         {"[lsqb  ]", "["         }, /*ISOnum , left square bracket   */
181         {"[lsquo ]", "`"         }, /*ISOnum , left single quote     */ 
182         {"[lsquor]", ","         }, /*ISOnum,rising single quote(low)*/ 
183         {"[lt    ]", "<"         }, /*ISOnum , less-than sign        */
184         {"[mdash ]", "--"        }, /*ISOpub , em dash(long dash)    */ 
185       /*{"[micro ]", " "         },  *ISOnum , micro                 */
186       /*{"[middot]", " "         },  *ISOnum , middle dot            */
187         {"[minus ]", "-"         }, /*ISOtech, minus sign            */ 
188         {"[mldr  ]", "...."      }, /*ISOpub , em leader             */
189         {"[mnplus]", "-/+"       }, /*ISOtech, minus-or-plus sign    */
190       /*{"[mu    ]", " "         },  *ISOgrk3, Greek, small mu       */
191       /*{"[nabla ]", " "         },  *ISOtech, del, Hamilton operator*/
192         {"[nbsp  ]", " "         }, /*ISOnum , no break space        */
193         {"[ndash ]", "-"         }, /*ISOpub , en dash(short dash)   */ 
194         {"[ne    ]", "!="        }, /*ISOtech, not equal             */ 
195       /*{"[ni    ]", " "         },  *ISOtech, contains              */
196         {"[nldr  ]", ".."        }, /*ISOpub , double baseline dot   */
197       /*{"[not   ]", " "         },  *ISOnum , not                   */
198       /*{"[notin ]", " "         },  *ISOtech, negated set membership*/
199       /*{"[ntilde]", " "         },  *ISOlat1, small N, tilde        */
200       /*{"[nu    ]", " "         },  *ISOgrk3, Greek, small nu       */
201         {"[num   ]", "#"         }, /*ISOnum , number sign           */
202       /*{"[oacute]", " "         },  *ISOlat1, small o, acute accent */
203       /*{"[ocirc ]", " "         },  *ISOlat1, small o, circumflex   */
204       /*{"[ograve]", " "         },  *ISOlat1, small o, grave accent */
205       /*{"[ohm   ]", " "         },  *ISOnum , ohm                   */
206       /*{"[omega ]", " "         },  *ISOgrk3, Greek, small omega    */
207       /*{"[oplus ]", " "         },  *ISOamsb, plus sign in circle   */
208         {"[or    ]", "V"         }, /*ISOtech, vee, logical or       */ 
209       /*{"[ordf  ]", " "         },  *ISOnum , ordinal indicator, fem*/
210       /*{"[ordm  ]", " "         },  *ISOnum , ordinal indicator,male*/
211       /*{"[oslash]", " "         },  *ISOlat1, small o, slash        */
212       /*{"[osol  ]", " "         },  *ISOamsb, slash in circle       */
213       /*{"[otilde]", " "         },  *ISOlat1, small o, tilde        */
214       /*{"[otimes]", " "         },  *ISOamsb,multiply sign in circle*/
215       /*{"[ouml  ]", " "         },  *ISOlat1, small o, umlaut mark  */
216       /*{"[over  ]", " "         },  *made up, over symbol           */
217         {"[par   ]", "||"        }, /*ISOtech, parallel              */ 
218       /*{"[para  ]", " "         },  *ISOnum , paragraph sign        */
219       /*{"[part  ]", " "         },  *ISOtech, partial differential  */
220         {"[percnt]", "%"         }, /*ISOnum , percent sign          */
221         {"[period]", "."         }, /*ISOnum , full stop, period     */
222       /*{"[perp  ]", " "         },  *ISOtech, perpendicular         */
223       /*{"[phis  ]", " "         },  *ISOgrk3, Greek, small phi      */
224       /*{"[pi    ]", " "         },  *ISOgrk3, Greek, small pi       */
225       /*{"[piv   ]", " "         },  *ISOgrk3, Greek, small pi, var  */
226         {"[plus  ]", "+"         }, /*ISOnum , plus sign             */
227         {"[plusmn]", "+/-"       }, /*ISOnum , plus or minus sign    */ 
228         {"[pound ]", "#"         }, /*ISOnum , pound sign            */ 
229         {"[prime ]", "\'"        }, /*ISOtech, prime or minute       */ 
230       /*{"[prop  ]", " "         },  *ISOtech, proportional to       */
231       /*{"[psi   ]", " "         },  *ISOgrk3, Greek, small psi      */
232         {"[quest ]", "?"         }, /*ISOnum , question mark         */
233         {"[quot  ]", "'"         }, /*ISOnum , quote mark            */ 
234       /*{"[radic ]", " "         },  *ISOtech, radical               */
235       /*{"[rang  ]", " "         },  *ISOtech, right angle bracket   */
236         {"[raquo ]", ">>"        }, /*ISOnum , right angle quotation */ 
237         {"[rarr  ]", "-->"       }, /*ISOnum , rightward arrow       */ 
238         {"[rArr  ]", "==>>"      }, /*ISOtech, right double arrow    */ 
239         {"[rcub  ]", "}"         }, /*ISOnum , right curly brace     */
240         {"[rdquo ]", "\""        }, /*ISOnum , right double quote    */
241       /*{"[real  ]", " "         },  *ISOamso, real number symbol    */
242       /*{"[reg   ]", " "         },  *ISOnum,circledR,registered sign*/
243       /*{"[rho   ]", " "         },  *ISOgrk3, Greek, small rho      */
244         {"[rpar  ]", ")"         }, /*ISOnum , right parenthesis     */
245         {"[rsqb  ]", "]"         }, /*ISOnum , right square bracket  */
246         {"[rsquo ]", "'"         }, /*ISOnum , right single quote    */
247       /*{"[sect  ]", " "         },  *ISOnum , section sign          */
248         {"[semi  ]", ";"         }, /*ISOnum , semicolon             */
249         {"[shy   ]", "-"         }, /*ISOnum , soft hypen            */ 
250       /*{"[sigma ]", " "         },  *ISOgrk3, Greek, small sigma    */
251         {"[sim   ]", "~"         }, /*ISOtech, similar to            */ 
252         {"[sime  ]", "~="        }, /*ISOtech, similar, equals       */ 
253         {"[sol   ]", "/"         }, /*ISOnum , solidus               */
254       /*{"[spades]", " "         },  *ISOpub , spades suit symbol    */
255       /*{"[sub   ]", " "         },  *ISOtech, subset/is implied by  */
256       /*{"[sung  ]", " "         },  *ISOnum , musical note(sung txt)*/
257       /*{"[sube  ]", " "         },  *ISOtech, subset, equals        */
258       /*{"[sup   ]", " "         },  *ISOtech, superset or implies   */
259       /*{"[sup1  ]", " "         },  *ISOnum , superscript one       */
260       /*{"[sup2  ]", " "         },  *ISOnum , superscript two       */
261       /*{"[sup3  ]", " "         },  *ISOnum , superscript three     */
262       /*{"[supe  ]", " "         },  *ISOtech, superset, equals      */
263       /*{"[szlig ]", " "         },  *ISOlat1, small sharp s, German */
264       /*{"[tau   ]", " "         },  *ISOgrk3, Greek, small tau      */
265       /*{"[there4]", " "         },  *ISOtech, therefore             */
266       /*{"[thetas]", " "         },  *ISOgrk3, Greek, small theta    */
267       /*{"[thetav]", " "         },  *ISOgrk3, Greek, small theta,var*/
268       /*{"[thorn ]", " "         },  *ISOlat1, small thorn, Icelandic*/
269         {"[times ]", "x"         }, /*ISOnum , multipy sign          */ 
270         {"[tprime]", "'''"       }, /*ISOtech, triple prime          */ 
271       /*{"[trade ]", " "         },  *ISOnum , trade mark sign       */
272       /*{"[uacute]", " "         },  *ISOlat1, small u, acute accent */
273       /*{"[ucirc ]", " "         },  *ISOlat1, small u, circumflex   */
274       /*{"[ugrave]", " "         },  *ISOlat1, small u, grave accent */
275       /*{"[uarr  ]", " "         },  *ISOnum , upward arrow          */
276       /*{"[uArr  ]", " "         },  *ISOamsa, up double arrow       */
277       /*{"[upsi  ]", " "         },  *ISOgrk3, Greek, small upsilon  */
278       /*{"[uuml  ]", " "         },  *ISOlat1, small u, umlaut mark  */
279         {"[vellip]", ".\n.\n.\n" }, /*ISOpub , vertical ellipsis     */ 
280         {"[verbar]", "|"         }, /*ISOnum , vertical bar          */ 
281       /*{"[weierp]", " "         },  *ISOamso, Weierstrass p         */
282       /*{"[xi    ]", " "         },  *ISOgrk3, Greek, small xi       */
283       /*{"[yacute]", " "         },  *ISOlat1, small y, acute accent */
284       /*{"[yen   ]", " "         },  *ISOnum , yen sign              */
285       /*{"[yuml  ]", " "         },  *ISOlat1, small y, umlaut mark  */
286       /*{"[zeta  ]", " "         },  *ISOgrk3, Greek, small zeta     */
287       /*{"[Aacute]", " "         },  *ISOlat1, capital a,acute accent*/
288       /*{"[Acirc ]", " "         },  *ISOlat1, capital a,circumflex  */
289       /*{"[AElig ]", " "         },  *ISOlat1, capital ae diphthong  */
290       /*{"[Agrave]", " "         },  *ISOlat1, capital a,grave accent*/
291       /*{"[Aring ]", " "         },  *ISOlat1, capital a,ring        */
292       /*{"[Atilde]", " "         },  *ISOlat1, capital a,tilde       */
293       /*{"[Auml  ]", " "         },  *ISOlat1, capital a,umlaut mark */
294       /*{"[Ccedil]", " "         },  *ISOlat1, capital c, cedilla    */
295       /*{"[Delta ]", " "         },  *ISOgrk3, Greek, large delta    */
296       /*{"[Dot   ]", " "         },  *ISOtech, dieresis or umlaut mrk*/
297       /*{"[DotDot]", " "         },  *ISOtech, four dots above       */
298       /*{"[Eacute]", " "         },  *ISOlat1, capital E,acute accent*/
299       /*{"[Ecirc ]", " "         },  *ISOlat1, capital E,circumflex  */
300       /*{"[Egrave]", " "         },  *ISOlat1, capital E,grave accent*/
301       /*{"[ETH   ]", " "         },  *ISOlat1, capital Eth, Icelandic*/
302       /*{"[Euml  ]", " "         },  *ISOlat1, capital E,umlaut mark */
303       /*{"[Gamma ]", " "         },  *ISOgrk3, Greek, large gamma    */
304       /*{"[Iacute]", " "         },  *ISOlat1, capital I,acute accent*/
305       /*{"[Icirc ]", " "         },  *ISOlat1, capital I,circumflex  */
306       /*{"[Igrave]", " "         },  *ISOlat1, capital I,grave accent*/
307       /*{"[Iuml  ]", " "         },  *ISOlat1, capital I,umlaut mark */
308       /*{"[Lambda]", " "         },  *ISOgrk3, Greek, large lambda   */
309       /*{"[Ntilde]", " "         },  *ISOlat1, capital N, tilde      */
310       /*{"[Oacute]", " "         },  *ISOlat1, capital O,acute accent*/
311       /*{"[Ocirc ]", " "         },  *ISOlat1, capital O,circumflex  */
312       /*{"[Ograve]", " "         },  *ISOlat1, capital O,grave accent*/
313       /*{"[Omega ]", " "         },  *ISOgrk3, Greek, large omega    */
314       /*{"[Oslash]", " "         },  *ISOlat1, capital O, slash      */
315       /*{"[Otilde]", " "         },  *ISOlat1, capital O, tilde      */
316       /*{"[Ouml  ]", " "         },  *ISOlat1, capital O,umlaut mark */
317       /*{"[Pi    ]", " "         },  *ISOgrk3, Greek, large pi       */
318         {"[Prime ]", "\""        }, /*ISOtech, double prime/second   */ 
319       /*{"[Phi   ]", " "         },  *ISOgrk3, Greek, large phi      */
320       /*{"[Psi   ]", " "         },  *ISOgrk3, Greek, large psi      */
321       /*{"[Sigma ]", " "         },  *ISOgrk3, Greek, large sigma    */
322       /*{"[Theta ]", " "         },  *ISOgrk3, Greek, large theta    */
323       /*{"[THORN ]", " "         },  *ISOlat1,capital THORN,Icelandic*/
324       /*{"[Uacute]", " "         },  *ISOgrk3, Greek, large theta    */
325       /*{"[Ucirc ]", " "         },  *ISOlat1, capital U,acute accent*/
326       /*{"[Ugrave]", " "         },  *ISOlat1, capital U,circumflex  */
327       /*{"[Upsi  ]", " "         },  *ISOgrk3, Greek, large upsilon  */
328       /*{"[Uuml  ]", " "         },  *ISOlat1, capital U,umlaut mark */
329         {"[Verbar]", "||"        }, /*ISOtech, dbl vertical bar      */ 
330       /*{"[Xi    ]", " "         },  *ISOgrk3, Greek, large xi       */
331       /*{"[Yacute]", " "         },  *ISOlat1, capital Y,acute accent*/
332         { NULL     , " "         }, /* default character to use      */
333 };
334
335 /******************************************************************************
336  *
337  * Semi Public functions
338  *
339  ******************************************************************************/
340 /*****************************************************************************
341  * Function:    const char *_DtHelpCeResolveSpcToAscii ();
342  *
343  * Parameters:
344  *
345  * Returns:
346  *
347  * Purpose:
348  *
349  *****************************************************************************/
350 const char *
351 _DtHelpCeResolveSpcToAscii (
352     const char  *spc_symbol)
353 {
354     int          i = 0;
355
356     if (NULL == spc_symbol)
357       return NULL;
358
359     while (NULL != SpcTable[i].symbol &&
360            0 != strcmp(SpcTable[i].symbol, spc_symbol))
361       i++;
362
363     if (SpcTable[i].symbol != NULL)
364       return (SpcTable[i].spc_string);
365
366     return NULL;
367 }