	SUBROUTINE SPECIAL_SYM_CODE (text, decicode)

C for any of a long list of text names used in html for special symbols, return
C the decimal code. We will use this to make the UAF8 unicode for special characters
C in the PyFerret fonts

C Simplisitic implelentation - better to have the info in a file which could be 
C updated?

	CHARACTER*(*)	text
	INTEGER		decicode

C Initialize
	decicode = -1

	IF (text .EQ. 'bksp') decicode =       8

C Math Greek and Symbols
	IF (text .EQ. 'fnof') decicode =       402
	IF (text .EQ. 'Alpha') decicode =      913
	IF (text .EQ. 'Beta') decicode =       914
	IF (text .EQ. 'Gamma') decicode =      915
	IF (text .EQ. 'Delta') decicode =      916
	IF (text .EQ. 'Epsilon') decicode =    917
	IF (text .EQ. 'Zeta') decicode =       918
	IF (text .EQ. 'Eta') decicode =        919
	IF (text .EQ. 'Theta') decicode =      920
	IF (text .EQ. 'Iota') decicode =       921
	IF (text .EQ. 'Kappa') decicode =      922
	IF (text .EQ. 'Lambda') decicode =     923
	IF (text .EQ. 'Mu') decicode =         924
	IF (text .EQ. 'Nu') decicode =         925
	IF (text .EQ. 'Xi') decicode =         926
	IF (text .EQ. 'Omicron') decicode =    927
	IF (text .EQ. 'Pi') decicode =         928
	IF (text .EQ. 'Rho') decicode =        929
	IF (text .EQ. 'Sigma') decicode =      931
	IF (text .EQ. 'Tau') decicode =        932
	IF (text .EQ. 'Upsilon') decicode =    933
	IF (text .EQ. 'Phi') decicode =        934
	IF (text .EQ. 'Chi') decicode =        935
	IF (text .EQ. 'Psi') decicode =        936
	IF (text .EQ. 'Omega') decicode =      937
	IF (text .EQ. 'alpha') decicode =      945
	IF (text .EQ. 'beta') decicode =       946
	IF (text .EQ. 'gamma') decicode =      947
	IF (text .EQ. 'delta') decicode =      948
	IF (text .EQ. 'epsilon') decicode =    949
	IF (text .EQ. 'zeta') decicode =       950
	IF (text .EQ. 'eta') decicode =        951
	IF (text .EQ. 'theta') decicode =      952
	IF (text .EQ. 'iota') decicode =       953
	IF (text .EQ. 'kappa') decicode =      954
	IF (text .EQ. 'lambda') decicode =     955
	IF (text .EQ. 'mu') decicode =         956
	IF (text .EQ. 'nu') decicode =         957
	IF (text .EQ. 'xi') decicode =         958
	IF (text .EQ. 'omicron') decicode =    959
	IF (text .EQ. 'pi') decicode =         960
	IF (text .EQ. 'rho') decicode =        961
	IF (text .EQ. 'sigmaf') decicode =     962
	IF (text .EQ. 'sigma') decicode =      963
	IF (text .EQ. 'tau') decicode =        964
	IF (text .EQ. 'upsilon') decicode =    965
	IF (text .EQ. 'phi') decicode =        966
	IF (text .EQ. 'chi') decicode =        967
	IF (text .EQ. 'psi') decicode =        968
	IF (text .EQ. 'omega') decicode =      969
	IF (text .EQ. 'thetasym') decicode =   977
	IF (text .EQ. 'upsih') decicode =      978
	IF (text .EQ. 'piv') decicode =        982
	IF (text .EQ. 'bull') decicode =      8226
	IF (text .EQ. 'hellip') decicode =    8230
	IF (text .EQ. 'prime') decicode =     8242
	IF (text .EQ. 'Prime') decicode =     8243
	IF (text .EQ. 'oline') decicode =     8254
	IF (text .EQ. 'frasl') decicode =     8260
	IF (text .EQ. 'weierp') decicode =    8472
	IF (text .EQ. 'image') decicode =     8465
	IF (text .EQ. 'real') decicode =      8476
	IF (text .EQ. 'trade') decicode =     8482
	IF (text .EQ. 'alefsym') decicode =   8501
	IF (text .EQ. 'larr') decicode =      8592
	IF (text .EQ. 'uarr') decicode =      8593
	IF (text .EQ. 'rarr') decicode =      8594
	IF (text .EQ. 'darr') decicode =      8595
	IF (text .EQ. 'harr') decicode =      8596
	IF (text .EQ. 'crarr') decicode =     8629
	IF (text .EQ. 'lArr') decicode =      8656
	IF (text .EQ. 'uArr') decicode =      8657
	IF (text .EQ. 'rArr') decicode =      8658
	IF (text .EQ. 'dArr') decicode =      8659
	IF (text .EQ. 'hArr') decicode =      8660
	IF (text .EQ. 'forall') decicode =    8704
	IF (text .EQ. 'part') decicode =      8706
	IF (text .EQ. 'exist') decicode =     8707
	IF (text .EQ. 'empty') decicode =     8709
	IF (text .EQ. 'nabla') decicode =     8711
	IF (text .EQ. 'isin') decicode =      8712
	IF (text .EQ. 'notin') decicode =     8713
	IF (text .EQ. 'ni') decicode =        8715
	IF (text .EQ. 'prod') decicode =      8719
	IF (text .EQ. 'sum') decicode =       8721
	IF (text .EQ. 'minus') decicode =     8722
	IF (text .EQ. 'lowast') decicode =    8727
	IF (text .EQ. 'radic') decicode =     8730
	IF (text .EQ. 'prop') decicode =      8733
	IF (text .EQ. 'infin') decicode =     8734
	IF (text .EQ. 'ang') decicode =       8736
	IF (text .EQ. 'and') decicode =       8743
	IF (text .EQ. 'or') decicode =        8744
	IF (text .EQ. 'cap') decicode =       8745
	IF (text .EQ. 'cup') decicode =       8746
	IF (text .EQ. 'int') decicode =       8747
	IF (text .EQ. 'there4') decicode =    8756
	IF (text .EQ. 'sim') decicode =       8764
	IF (text .EQ. 'cong') decicode =      8773
	IF (text .EQ. 'asymp') decicode =     8776
	IF (text .EQ. 'ne') decicode =        8800
	IF (text .EQ. 'equiv') decicode =     8801
	IF (text .EQ. 'le') decicode =        8804
	IF (text .EQ. 'ge') decicode =        8805
	IF (text .EQ. 'sub') decicode =       8834
	IF (text .EQ. 'sup') decicode =       8835
	IF (text .EQ. 'nsub') decicode =      8836
	IF (text .EQ. 'sube') decicode =      8838
	IF (text .EQ. 'supe') decicode =      8839
	IF (text .EQ. 'oplus') decicode =     8853
	IF (text .EQ. 'otimes') decicode =    8855
	IF (text .EQ. 'perp') decicode =      8869
	IF (text .EQ. 'sdot') decicode =      8901
	IF (text .EQ. 'lceil') decicode =     8968
	IF (text .EQ. 'rceil') decicode =     8969
	IF (text .EQ. 'lfloor') decicode =    8970
	IF (text .EQ. 'rfloor') decicode =    8971
	IF (text .EQ. 'lang') decicode =      9001
	IF (text .EQ. 'rang') decicode =      9002
	IF (text .EQ. 'loz') decicode =       9674
	IF (text .EQ. 'spades') decicode =    9824
	IF (text .EQ. 'clubs') decicode =     9827
	IF (text .EQ. 'hearts') decicode =    9829
	IF (text .EQ. 'diams') decicode =     9830

C Special characters
	IF (text .EQ. 'nbsp') decicode =    160
	IF (text .EQ. 'iexcl') decicode =   161
	IF (text .EQ. 'cent') decicode =    162
	IF (text .EQ. 'pound') decicode =   163
	IF (text .EQ. 'curren') decicode =  164
	IF (text .EQ. 'yen') decicode =     165
	IF (text .EQ. 'brvbar') decicode =  166
	IF (text .EQ. 'sect') decicode =    167
	IF (text .EQ. 'uml') decicode =     168
	IF (text .EQ. 'copy') decicode =    169
	IF (text .EQ. 'ordf') decicode =    170
	IF (text .EQ. 'laquo') decicode =   171
	IF (text .EQ. 'not') decicode =     172
	IF (text .EQ. 'shy') decicode =     173
	IF (text .EQ. 'reg') decicode =     174
	IF (text .EQ. 'macr') decicode =    175
	IF (text .EQ. 'deg') decicode =     176
	IF (text .EQ. 'plusmn') decicode =  177
	IF (text .EQ. 'sup2') decicode =    178
	IF (text .EQ. 'sup3') decicode =    179
	IF (text .EQ. 'acute') decicode =   180
	IF (text .EQ. 'micro') decicode =   181
	IF (text .EQ. 'para') decicode =    182
	IF (text .EQ. 'middot') decicode =  183
	IF (text .EQ. 'cedil') decicode =   184
	IF (text .EQ. 'sup1') decicode =    185
	IF (text .EQ. 'ordm') decicode =    186
	IF (text .EQ. 'raquo') decicode =   187
	IF (text .EQ. 'frac14') decicode =  188
	IF (text .EQ. 'frac12') decicode =  189
	IF (text .EQ. 'frac34') decicode =  190
	IF (text .EQ. 'iquest') decicode =  191
	IF (text .EQ. 'Agrave') decicode =  192
	IF (text .EQ. 'Aacute') decicode =  193
	IF (text .EQ. 'Acirc') decicode =   194
	IF (text .EQ. 'Atilde') decicode =  195
	IF (text .EQ. 'Auml') decicode =    196
	IF (text .EQ. 'Aring') decicode =   197
	IF (text .EQ. 'AElig') decicode =   198
	IF (text .EQ. 'Ccedil') decicode =  199
	IF (text .EQ. 'Egrave') decicode =  200
	IF (text .EQ. 'Eacute') decicode =  201
	IF (text .EQ. 'Ecirc') decicode =   202
	IF (text .EQ. 'Euml') decicode =    203
	IF (text .EQ. 'Igrave') decicode =  204
	IF (text .EQ. 'Iacute') decicode =  205
	IF (text .EQ. 'Icirc') decicode =   206
	IF (text .EQ. 'Iuml') decicode =    207
	IF (text .EQ. 'ETH') decicode =     208
	IF (text .EQ. 'Ntilde') decicode =  209
	IF (text .EQ. 'Ograve') decicode =  210
	IF (text .EQ. 'Oacute') decicode =  211
	IF (text .EQ. 'Ocirc') decicode =   212
	IF (text .EQ. 'Otilde') decicode =  213
	IF (text .EQ. 'Ouml') decicode =    214
	IF (text .EQ. 'times') decicode =   215
	IF (text .EQ. 'Oslash') decicode =  216
	IF (text .EQ. 'Ugrave') decicode =  217
	IF (text .EQ. 'Uacute') decicode =  218
	IF (text .EQ. 'Ucirc') decicode =   219
	IF (text .EQ. 'Uuml') decicode =    220
	IF (text .EQ. 'Yacute') decicode =  221
	IF (text .EQ. 'THORN') decicode =   222
	IF (text .EQ. 'szlig') decicode =   223
	IF (text .EQ. 'agrave') decicode =  224
	IF (text .EQ. 'aacute') decicode =  225
	IF (text .EQ. 'acirc') decicode =   226
	IF (text .EQ. 'atilde') decicode =  227
	IF (text .EQ. 'auml') decicode =    228
	IF (text .EQ. 'aring') decicode =   229
	IF (text .EQ. 'aelig') decicode =   230
	IF (text .EQ. 'ccedil') decicode =  231
	IF (text .EQ. 'egrave') decicode =  232
	IF (text .EQ. 'eacute') decicode =  233
	IF (text .EQ. 'ecirc') decicode =   234
	IF (text .EQ. 'euml') decicode =    235
	IF (text .EQ. 'igrave') decicode =  236
	IF (text .EQ. 'iacute') decicode =  237
	IF (text .EQ. 'icirc') decicode =   238
	IF (text .EQ. 'iuml') decicode =    239
	IF (text .EQ. 'eth') decicode =     240
	IF (text .EQ. 'ntilde') decicode =  241
	IF (text .EQ. 'ograve') decicode =  242
	IF (text .EQ. 'oacute') decicode =  243
	IF (text .EQ. 'ocirc') decicode =   244
	IF (text .EQ. 'otilde') decicode =  245
	IF (text .EQ. 'ouml') decicode =    246
	IF (text .EQ. 'divide') decicode =  247
	IF (text .EQ. 'oslash') decicode =  248
	IF (text .EQ. 'ugrave') decicode =  249
	IF (text .EQ. 'uacute') decicode =  250
	IF (text .EQ. 'ucirc') decicode =   251
	IF (text .EQ. 'uuml') decicode =    252
	IF (text .EQ. 'yacute') decicode =  253
	IF (text .EQ. 'thorn') decicode =   254
	IF (text .EQ. 'yuml') decicode =    255

C markup-significant and internationalization
	IF (text .EQ. 'quot') decicode =      34
	IF (text .EQ. 'amp') decicode =       38
	IF (text .EQ. 'lt') decicode =        60
	IF (text .EQ. 'gt') decicode =        62
	IF (text .EQ. 'OElig') decicode =    338
	IF (text .EQ. 'oelig') decicode =    339
	IF (text .EQ. 'Scaron') decicode =   352
	IF (text .EQ. 'scaron') decicode =   353
	IF (text .EQ. 'Yuml') decicode =     376
	IF (text .EQ. 'circ') decicode =     710
	IF (text .EQ. 'tilde') decicode =    732
	IF (text .EQ. 'ensp') decicode =    8194
	IF (text .EQ. 'emsp') decicode =    8195
	IF (text .EQ. 'thinsp') decicode =  8201
	IF (text .EQ. 'zwnj') decicode =    8204
	IF (text .EQ. 'zwj') decicode =     8205
	IF (text .EQ. 'lrm') decicode =     8206
	IF (text .EQ. 'rlm') decicode =     8207
	IF (text .EQ. 'ndash') decicode =   8211
	IF (text .EQ. 'mdash') decicode =   8212
	IF (text .EQ. 'lsquo') decicode =   8216
	IF (text .EQ. 'rsquo') decicode =   8217
	IF (text .EQ. 'sbquo') decicode =   8218
	IF (text .EQ. 'ldquo') decicode =   8220
	IF (text .EQ. 'rdquo') decicode =   8221
	IF (text .EQ. 'bdquo') decicode =   8222
	IF (text .EQ. 'dagger') decicode =  8224
	IF (text .EQ. 'Dagger') decicode =  8225
	IF (text .EQ. 'permil') decicode =  8240
	IF (text .EQ. 'lsaquo') decicode =  8249
	IF (text .EQ. 'rsaquo') decicode =  8250
	IF (text .EQ. 'euro') decicode =    8364

	RETURN
	END

