"Fossies" - the Fresh Open Source Software archive 
Member "latex2html-2002-2-1/versions/decmulti.pl" of archive latex2html-2002-2-1.tar.gz:
### File: decmulti.pl
### Version 0.1, September 10, 1999
### Written by Ross Moore <ross@maths.mq.edu.au>
###
### DEC-MCS encoding information
###
### based on latin1.pl
## Copyright (C) 1999 by Ross Moore
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#<!-- (C) International Organization for Standardization 1986
# Permission to copy in any form is granted for use with
# conforming SGML systems and applications as defined in
# ISO 8879, provided this notice is included in all copies.
# This has been extended for use with HTML to cover the full
# set of codes in the range 160-255 decimal.
#-->
#<!-- Character entity set. Typical invocation:
# <!ENTITY % ISOlat1 PUBLIC
# "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
# %ISOlat1;
#-->
$CHARSET = "dec-mcs";
$INPUTENC='decmulti'; # empty implies 'latin1'
#Character ranges for lower --> upper-case conversion
$sclower = "\\340-\\357\\361-\\375";
$scupper = "\\300-\\317\\321-\\335";
#extra pattern match preceding lower --> upper-case conversion
$scextra = "s/\\337/ss/g";
%extra_small_caps = ( '223' , 'ss' );
%low_entities = ( '224', '192'
,'225', '193'
,'226', '194'
,'227', '195'
,'228', '196'
,'229', '197'
,'230', '198'
,'231', '199'
,'232', '200'
,'233', '201'
,'234', '202'
,'235', '203'
,'236', '204'
,'237', '205'
,'238', '206'
,'239', '207'
# ,'240', '208'
,'241', '209'
,'242', '210'
,'243', '211'
,'244', '212'
,'245', '213'
,'246', '214'
,'247', '215'
,'248', '216'
,'249', '217'
,'250', '218'
,'251', '219'
,'252', '220'
,'253', '221'
# ,'254', '222'
# ,'255', '223'
);
sub do_cmd_oe { join('', &iso_map("oe", "lig"), $_[0]);}
sub do_cmd_OE { join('', &iso_map("OE", "lig"), $_[0]);}
# inhibit later wrapping for an image
$raw_arg_cmds{'oe'} = $raw_arg_cmds{'OE'} = -1 ;
#sub do_cmd_l { join('', &iso_map("l", "strok"), $_[0]);}
#sub do_cmd_L { join('', &iso_map("L", "strok"), $_[0]);}
#sub do_cmd_ng { join('', &iso_map("eng", ""), $_[0]);}
#sub do_cmd_DH { join('', &iso_map("D", "strok"), $_[0]);}
#sub do_cmd_dh { join('', &iso_map("d", "strok"), $_[0]);}
sub do_cmd_ss { join('', &iso_map("sz", "lig"), $_[0]);}
sub do_cmd_textonequarter { join('', &iso_map("frac14", ""), $_[0]);}
sub do_cmd_textonehalf { join('', &iso_map("frac12", ""), $_[0]);}
#sub do_cmd_textthreequarters { join('', &iso_map("frac34", ""), $_[0]);}
sub do_cmd_textcent { join('', &iso_map("cent", ""), $_[0]);}
sub do_cmd_textyen { join('', &iso_map("yen", ""), $_[0]);}
sub do_cmd_textcurrency { join('', &iso_map("curren", ""), $_[0]);}
#sub do_cmd_textbrokenbar { join('', &iso_map("brvbar", ""), $_[0]);}
#sub do_cmd_textregistered { join('', &iso_map("reg", ""), $_[0]);}
sub do_cmd_textexclamdown { join('', &iso_map("iexcl", ""), $_[0]);}
sub do_cmd_textquestiondown { join('', &iso_map("iquest", ""), $_[0]);}
sub do_cmd_textperiodcentered { join('', &iso_map("middot", ""), $_[0]);}
sub do_cmd_guillemotleft { join('', &iso_map("laquo", ""), $_[0]);}
sub do_cmd_guillemotright { join('', &iso_map("raquo", ""), $_[0]);}
sub do_cmd_mathdegree { join('', &iso_map("deg", ""), $_[0]);}
sub do_cmd_mathonesuperior { join('', &iso_map("sup1", ""), $_[0]);}
sub do_cmd_mathtwosuperior { join('', &iso_map("sup2", ""), $_[0]);}
sub do_cmd_maththreesuperior { join('', &iso_map("sup3", ""), $_[0]);}
sub do_cmd_mathordmasculine { join('', &iso_map("ordm", ""), $_[0]);}
sub do_cmd_mathordfeminine { join('', &iso_map("ordf", ""), $_[0]);}
sub do_cmd_P { join('', &iso_map("para", ""), $_[0]);}
sub do_cmd_S { join('', &iso_map("sect", ""), $_[0]);}
sub do_cmd_pm { join('', &iso_map("plusmn", ""), $_[0]);}
#sub do_cmd_div { join('', &iso_map("divide", ""), $_[0]);}
#sub do_cmd_times { join('', &iso_map("times", ""), $_[0]);}
#sub do_cmd_minus { join('', &iso_map("shy", ""), $_[0]);}
sub do_cmd_copyright { join('', &iso_map("copy", ""), $_[0]);}
sub do_cmd_pounds { join('', &iso_map("pound", ""), $_[0]);}
sub do_cmd_cents { join('', &iso_map("cent", ""), $_[0]);}
#sub do_cmd_lnot { join('', &iso_map("not", ""), $_[0]);}
sub do_cmd_cdot { join('', &iso_map("middot", ""), $_[0]);}
sub do_cmd_micron { join('', &iso_map("micro", ""), $_[0]);}
%dec_mcs_character_map
= (
'AElig', 'Æ', # capital AE diphthong (ligature)
'Aacute', 'Á', # capital A, acute accent
'Acirc', 'Â', # capital A, circumflex accent
'Agrave', 'À', # capital A, grave accent
'Aring', 'Å', # capital A, ring
'Atilde', 'Ã', # capital A, tilde
'Auml', 'Ä', # capital A, dieresis or umlaut mark
'Ccedil', 'Ç', # capital C, cedilla
'Eacute', 'É', # capital E, acute accent
'Ecirc', 'Ê', # capital E, circumflex accent
'Egrave', 'È', # capital E, grave accent
'Euml', 'Ë', # capital E, dieresis or umlaut mark
'Iacute', 'Í', # capital I, acute accent
'Icirc', 'Î', # capital I, circumflex accent
'Igrave', 'Ì', # capital I, grave accent
'Iuml', 'Ï', # capital I, dieresis or umlaut mark
'Ntilde', 'Ñ', # capital N, tilde
'OElig', "×",
'Oacute', 'Ó', # capital O, acute accent
'Ocirc', 'Ô', # capital O, circumflex accent
'Ograve', 'Ò', # capital O, grave accent
'Oslash', 'Ø', # capital O, slash
'Otilde', 'Õ', # capital O, tilde
'Ouml', 'Ö', # capital O, dieresis or umlaut mark
'Uacute', 'Ú', # capital U, acute accent
'Ucirc', 'Û', # capital U, circumflex accent
'Ugrave', 'Ù', # capital U, grave accent
'Uuml', 'Ü', # capital U, dieresis or umlaut mark
'Yuml', 'Ý', # capital Y, dieresis or umlaut mark
#
'aacute', 'á', # small a, acute accent
'acirc', 'â', # small a, circumflex accent
'aelig', 'æ', # small ae diphthong (ligature)
'agrave', 'à', # small a, grave accent
'amp', '&', # ampersand
'aring', 'å', # small a, ring
'atilde', 'ã', # small a, tilde
'auml', 'ä', # small a, dieresis or umlaut mark
'ccedil', 'ç', # small c, cedilla
'eacute', 'é', # small e, acute accent
'ecirc', 'ê', # small e, circumflex accent
'egrave', 'è', # small e, grave accent
'euml', 'ë', # small e, dieresis or umlaut mark
'gt', '>', # greater than
'iacute', 'í', # small i, acute accent
'icirc', 'î', # small i, circumflex accent
'igrave', 'ì', # small i, grave accent
'iuml', 'ï', # small i, dieresis or umlaut mark
'lt', '<', # less than
'ntilde', 'ñ', # small n, tilde
'oacute', 'ó', # small o, acute accent
'ocirc', 'ô', # small o, circumflex accent
'oelig', "÷",
'ograve', 'ò', # small o, grave accent
'oslash', 'ø', # small o, slash
'otilde', 'õ', # small o, tilde
'ouml', 'ö', # small o, dieresis or umlaut mark
'szlig', 'ß', # small sharp s, German (sz ligature)
'uacute', 'ú', # small u, acute accent
'ucirc', 'û', # small u, circumflex accent
'ugrave', 'ù', # small u, grave accent
'uuml', 'ü', # small u, dieresis or umlaut mark
'yuml', 'ý', # small y, dieresis or umlaut mark
'quot', '"', # double quote
# These have HTML mnemonic names for HTML 4.0 ...
'nbsp', ' ', # non-breaking space
'iexcl', '¡', # exclamation mark - upside down
'cent', '¢', # cents sign
'pound', '£', # pound sign
'yen', '¥', # Yen sign
'sect', '§', # section mark
'curren', '¨', # currency sign
'copy', '©', # copyright mark
'ordf', 'ª',
'ordm', 'º',
'laquo', '«',
'raquo', '»',
'deg', '°',
'plusmn', '±',
'sup1', '¹',
'sup2', '²',
'sup3', '³',
'micro', 'µ',
'para', '¶', # paragraph mark
'middot', '·',
'frac14', '¼',
'frac12', '½',
'iquest', '¿', # question mark - upside down
# These are character types without arguments ...
'grave' , "`",
'circ', '^',
'tilde', '~',
'ring', '°',
'dot', '.',
);
%dec_mcs_character_map_inv =
(
'^' , '\\^{}',
'>' , '\\ensuremath{>}',
'<' , '\\ensuremath{<}',
'&' , '\\&',
'~' , '\\~{}',
# ' ' , '\\nobreakspace{}',
# '¡' , '\\textexclamdown{}',
'¡' , '!`',
'¢' , '\\textcent{}',
'£' , '\\pounds{}',
# '¤' , '\\textcurrency{}',
'¥' , '\\textyen{}',
'¦' , '\\textbrokenbar{}',
'§' , '\\S{}',
# '¨' , '\\"{}',
'¨' , '\\textcurrency{}',
'©' , '\\copyright{}',
# 'ª' , '\\mathordfeminine{}',
'ª' , '\\ensuremath{^{a}}',
'«' , '\\guillemotleft{}',
# '¬' , '\\ensuremath{\\lnot{}}',
# '­' , '\\-',
# '®' , '\\textregistered{}',
# '®' , '\\ensuremath{\\circledR}',
# '¯' , '\\={}',
# '°' , '\\mathdegree{}',
'°' , '\\ensuremath{^{\circ}}',
'±' , '\\ensuremath{\\pm}',
# '²' , '\\mathtwosuperior{}',
'²' , '\\ensuremath{^{2}}',
# '³' , '\\maththreesuperior{}',
'³' , '\\ensuremath{^{3}}',
# '´' , '\\\'{}',
'µ' , '\\ensuremath{\\mu}',
'¶' , '\\P{}',
# '·' , '\\textperiodcentered{}',
'·' , '\\cdot{}',
# '¸' , '\\c{ }',
# '¹' , '\\mathonesuperior{}',
'¹' , '\\ensuremath{^{1}}',
# 'º' , '\\mathordmasculine{}',
'º' , '\\ensuremath{^{o}}',
'»' , '\\guillemotright{}',
# '¼' , '\\textonequarter{}',
'¼' , '\\ensuremath{\\frac{1}{4}}',
# '½' , '\\textonehalf{}',
'½' , '\\ensuremath{\\frac{1}{2}}',
# '¾' , '\\textthreequarters{}',
# '¾' , '\\ensuremath{\\frac{3}{4}}',
# '¿' , '\\textquestiondown{}',
'¿' , '?`',
'À' , '\\`{A}',
'Á' , '\\\'{A}',
'Â' , '\\^{A}',
'Ã' , '\\~{A}',
'Ä' , '\\"{A}',
# 'Å' , '\\AA{}',
'Å' , '\\r{A}',
'Æ' , '\\AE{}',
'Ç' , '\\c{C}',
'È' , '\\`{E}',
'É' , '\\\'{E}',
'Ê' , '\\^{E}',
'Ë' , '\\"{E}',
'Ì' , '\\`{I}',
'Í' , '\\\'{I}',
'Î' , '\\^{I}',
'Ï' , '\\"{I}',
'Ð' , '\\DH{}',
'Ñ' , '\\~{N}',
'Ò' , '\\`{O}',
'Ó' , '\\\'{O}',
'Ô' , '\\^{O}',
'Õ' , '\\~{O}',
'Ö' , '\\"{O}',
'×' , 'OE',
'Ø' , '\\O{}',
'Ù' , '\\`{U}',
'Ú' , '\\\'{U}',
'Û' , '\\^{U}',
'Ü' , '\\"{U}',
'Ý' , '\\"{Y}',
'ß' , '\\ss{}',
'à' , '\\`{a}',
'á' , '\\\'{a}',
'â' , '\\^{a}',
'ã' , '\\~{a}',
'ä' , '\\"{a}',
# 'å' , '\\aa{}',
'å' , '\\r{a}',
'æ' , '\\ae{}',
'ç' , '\\c{c}',
'è' , '\\`{e}',
'é' , '\\\'{e}',
'ê' , '\\^{e}',
'ë' , '\\"{e}',
'ì' , '\\`{\\i}',
'í' , '\\\'{\\i}',
'î' , '\\^{\\i}',
'ï' , '\\"{\\i}',
'ñ' , '\\~{n}',
'ò' , '\\`{o}',
'ó' , '\\\'{o}',
'ô' , '\\^{o}',
'õ' , '\\~{o}',
'ö' , '\\"{o}',
'÷' , 'oe',
'ø' , '\\o{}',
'ù' , '\\`{u}',
'ú' , '\\\'{u}',
'û' , '\\^{u}',
'ü' , '\\"{u}',
'ý' , '\\"{y}'
);
1;