package FrameMaker::MifTree;
# $Id: FmCharset,v 1.5 2004/11/12 00:57:12 roel Exp $
use 5.8.0;
use strict;
use warnings;
use charnames ':full';

%FrameMaker::MifTree::fmcharset = (
  "\x04" => "\N{SOFT HYPHEN}",          # <Char DiscHyphen>
  "\x05" => "\N{ZERO WIDTH JOINER}",    # <Char NoHyphen>
  "\x06" => "\N{HYPHEN}",               # <Char SoftHyphen>
  "\x08" => "\N{CHARACTER TABULATION}", # <Char Tab>
  "\x09" => "\N{NEXT LINE}",            # <Char HardReturn>
  "\x0a" => "\N{LINE FEED (LF)}",
  "\x10" => "\N{FIGURE SPACE}",         # <Char NumberSpace>
  "\x11" => "\N{NO-BREAK SPACE}",       # <Char HardSpace>
  "\x12" => "\N{THIN SPACE}",           # <Char ThinSpace>
  "\x13" => "\N{EN SPACE}",             # <Char EnSpace>
  "\x14" => "\N{EM SPACE}",             # <Char EmSpace>
  "\x15" => "\N{NON-BREAKING HYPHEN}",  # <Char HardHyphen>
  "\x20" => "\N{SPACE}",
  "\x21" => "\N{EXCLAMATION MARK}",
  "\x22" => "\N{QUOTATION MARK}",
  "\x23" => "\N{NUMBER SIGN}",
  "\x24" => "\N{DOLLAR SIGN}",
  "\x25" => "\N{PERCENT SIGN}",
  "\x26" => "\N{AMPERSAND}",
  "\x27" => "\N{APOSTROPHE}",
  "\x28" => "\N{LEFT PARENTHESIS}",
  "\x29" => "\N{RIGHT PARENTHESIS}",
  "\x2a" => "\N{ASTERISK}",
  "\x2b" => "\N{PLUS SIGN}",
  "\x2c" => "\N{COMMA}",
  "\x2d" => "\N{HYPHEN-MINUS}",
  "\x2e" => "\N{FULL STOP}",
  "\x2f" => "\N{SOLIDUS}",
  "\x30" => "\N{DIGIT ZERO}",
  "\x31" => "\N{DIGIT ONE}",
  "\x32" => "\N{DIGIT TWO}",
  "\x33" => "\N{DIGIT THREE}",
  "\x34" => "\N{DIGIT FOUR}",
  "\x35" => "\N{DIGIT FIVE}",
  "\x36" => "\N{DIGIT SIX}",
  "\x37" => "\N{DIGIT SEVEN}",
  "\x38" => "\N{DIGIT EIGHT}",
  "\x39" => "\N{DIGIT NINE}",
  "\x3a" => "\N{COLON}",
  "\x3b" => "\N{SEMICOLON}",
  "\x3c" => "\N{LESS-THAN SIGN}",
  "\x3d" => "\N{EQUALS SIGN}",
  "\x3e" => "\N{GREATER-THAN SIGN}",
  "\x3f" => "\N{QUESTION MARK}",
  "\x40" => "\N{COMMERCIAL AT}",
  "\x41" => "\N{LATIN CAPITAL LETTER A}",
  "\x42" => "\N{LATIN CAPITAL LETTER B}",
  "\x43" => "\N{LATIN CAPITAL LETTER C}",
  "\x44" => "\N{LATIN CAPITAL LETTER D}",
  "\x45" => "\N{LATIN CAPITAL LETTER E}",
  "\x46" => "\N{LATIN CAPITAL LETTER F}",
  "\x47" => "\N{LATIN CAPITAL LETTER G}",
  "\x48" => "\N{LATIN CAPITAL LETTER H}",
  "\x49" => "\N{LATIN CAPITAL LETTER I}",
  "\x4a" => "\N{LATIN CAPITAL LETTER J}",
  "\x4b" => "\N{LATIN CAPITAL LETTER K}",
  "\x4c" => "\N{LATIN CAPITAL LETTER L}",
  "\x4d" => "\N{LATIN CAPITAL LETTER M}",
  "\x4e" => "\N{LATIN CAPITAL LETTER N}",
  "\x4f" => "\N{LATIN CAPITAL LETTER O}",
  "\x50" => "\N{LATIN CAPITAL LETTER P}",
  "\x51" => "\N{LATIN CAPITAL LETTER Q}",
  "\x52" => "\N{LATIN CAPITAL LETTER R}",
  "\x53" => "\N{LATIN CAPITAL LETTER S}",
  "\x54" => "\N{LATIN CAPITAL LETTER T}",
  "\x55" => "\N{LATIN CAPITAL LETTER U}",
  "\x56" => "\N{LATIN CAPITAL LETTER V}",
  "\x57" => "\N{LATIN CAPITAL LETTER W}",
  "\x58" => "\N{LATIN CAPITAL LETTER X}",
  "\x59" => "\N{LATIN CAPITAL LETTER Y}",
  "\x5a" => "\N{LATIN CAPITAL LETTER Z}",
  "\x5b" => "\N{LEFT SQUARE BRACKET}",
  "\x5c" => "\N{REVERSE SOLIDUS}",
  "\x5d" => "\N{RIGHT SQUARE BRACKET}",
  "\x5e" => "\N{CIRCUMFLEX ACCENT}",
  "\x5f" => "\N{LOW LINE}",
  "\x60" => "\N{GRAVE ACCENT}",
  "\x61" => "\N{LATIN SMALL LETTER A}",
  "\x62" => "\N{LATIN SMALL LETTER B}",
  "\x63" => "\N{LATIN SMALL LETTER C}",
  "\x64" => "\N{LATIN SMALL LETTER D}",
  "\x65" => "\N{LATIN SMALL LETTER E}",
  "\x66" => "\N{LATIN SMALL LETTER F}",
  "\x67" => "\N{LATIN SMALL LETTER G}",
  "\x68" => "\N{LATIN SMALL LETTER H}",
  "\x69" => "\N{LATIN SMALL LETTER I}",
  "\x6a" => "\N{LATIN SMALL LETTER J}",
  "\x6b" => "\N{LATIN SMALL LETTER K}",
  "\x6c" => "\N{LATIN SMALL LETTER L}",
  "\x6d" => "\N{LATIN SMALL LETTER M}",
  "\x6e" => "\N{LATIN SMALL LETTER N}",
  "\x6f" => "\N{LATIN SMALL LETTER O}",
  "\x70" => "\N{LATIN SMALL LETTER P}",
  "\x71" => "\N{LATIN SMALL LETTER Q}",
  "\x72" => "\N{LATIN SMALL LETTER R}",
  "\x73" => "\N{LATIN SMALL LETTER S}",
  "\x74" => "\N{LATIN SMALL LETTER T}",
  "\x75" => "\N{LATIN SMALL LETTER U}",
  "\x76" => "\N{LATIN SMALL LETTER V}",
  "\x77" => "\N{LATIN SMALL LETTER W}",
  "\x78" => "\N{LATIN SMALL LETTER X}",
  "\x79" => "\N{LATIN SMALL LETTER Y}",
  "\x7a" => "\N{LATIN SMALL LETTER Z}",
  "\x7b" => "\N{LEFT CURLY BRACKET}",
  "\x7c" => "\N{VERTICAL LINE}",
  "\x7d" => "\N{RIGHT CURLY BRACKET}",
  "\x7e" => "\N{TILDE}",
  "\x80" => "\N{LATIN CAPITAL LETTER A WITH DIAERESIS}",
  "\x81" => "\N{LATIN CAPITAL LETTER A WITH RING ABOVE}",
  "\x82" => "\N{LATIN CAPITAL LETTER C WITH CEDILLA}",
  "\x83" => "\N{LATIN CAPITAL LETTER E WITH ACUTE}",
  "\x84" => "\N{LATIN CAPITAL LETTER N WITH TILDE}",
  "\x85" => "\N{LATIN CAPITAL LETTER O WITH DIAERESIS}",
  "\x86" => "\N{LATIN CAPITAL LETTER U WITH DIAERESIS}",
  "\x87" => "\N{LATIN SMALL LETTER A WITH ACUTE}",
  "\x88" => "\N{LATIN SMALL LETTER A WITH GRAVE}",
  "\x89" => "\N{LATIN SMALL LETTER A WITH CIRCUMFLEX}",
  "\x8a" => "\N{LATIN SMALL LETTER A WITH DIAERESIS}",
  "\x8b" => "\N{LATIN SMALL LETTER A WITH TILDE}",
  "\x8c" => "\N{LATIN SMALL LETTER A WITH RING ABOVE}",
  "\x8d" => "\N{LATIN SMALL LETTER C WITH CEDILLA}",
  "\x8e" => "\N{LATIN SMALL LETTER E WITH ACUTE}",
  "\x8f" => "\N{LATIN SMALL LETTER E WITH GRAVE}",
  "\x90" => "\N{LATIN SMALL LETTER E WITH CIRCUMFLEX}",
  "\x91" => "\N{LATIN SMALL LETTER E WITH DIAERESIS}",
  "\x92" => "\N{LATIN SMALL LETTER I WITH ACUTE}",
  "\x93" => "\N{LATIN SMALL LETTER I WITH GRAVE}", # don't believe Adobe's doc!
  "\x94" => "\N{LATIN SMALL LETTER I WITH CIRCUMFLEX}",
  "\x95" => "\N{LATIN SMALL LETTER I WITH DIAERESIS}",
  "\x96" => "\N{LATIN SMALL LETTER N WITH TILDE}",
  "\x97" => "\N{LATIN SMALL LETTER O WITH ACUTE}",
  "\x98" => "\N{LATIN SMALL LETTER O WITH GRAVE}",
  "\x99" => "\N{LATIN SMALL LETTER O WITH CIRCUMFLEX}",
  "\x9a" => "\N{LATIN SMALL LETTER O WITH DIAERESIS}",
  "\x9b" => "\N{LATIN SMALL LETTER O WITH TILDE}",
  "\x9c" => "\N{LATIN SMALL LETTER U WITH ACUTE}",
  "\x9d" => "\N{LATIN SMALL LETTER U WITH GRAVE}",
  "\x9e" => "\N{LATIN SMALL LETTER U WITH CIRCUMFLEX}",
  "\x9f" => "\N{LATIN SMALL LETTER U WITH DIAERESIS}",
  "\xa0" => "\N{DAGGER}",               # <Char Dagger>
  "\xa1" => "\N{DEGREE SIGN}",
  "\xa2" => "\N{CENT SIGN}",            # <Char Cent>
  "\xa3" => "\N{POUND SIGN}",           # <Char Pound>
  "\xa4" => "\N{SECTION SIGN}",
  "\xa5" => "\N{BULLET}",               # <Char Bullet>
  "\xa6" => "\N{PILCROW SIGN}",
  "\xa7" => "\N{LATIN SMALL LETTER SHARP S}",
  "\xa8" => "\N{REGISTERED SIGN}",
  "\xa9" => "\N{COPYRIGHT SIGN}",
  "\xaa" => "\N{TRADE MARK SIGN}",
  "\xab" => "\N{ACUTE ACCENT}",
  "\xac" => "\N{DIAERESIS}",
  "\xad" => "\N{BROKEN BAR}",
  "\xae" => "\N{LATIN CAPITAL LETTER AE}",
  "\xaf" => "\N{LATIN CAPITAL LETTER O WITH STROKE}",
  "\xb0" => "\N{MULTIPLICATION SIGN}",
  "\xb1" => "\N{PLUS-MINUS SIGN}",
  "\xb2" => "\N{LATIN SMALL LETTER ETH}",
  "\xb3" => "\N{LATIN CAPITAL LETTER S WITH CARON}",
  "\xb4" => "\N{YEN SIGN}",             # <Char Yen>
  "\xb5" => "\N{MICRO SIGN}",
  "\xb6" => "\N{SUPERSCRIPT ONE}",
  "\xb7" => "\N{SUPERSCRIPT TWO}",
  "\xb8" => "\N{SUPERSCRIPT THREE}",
  "\xb9" => "\N{VULGAR FRACTION ONE QUARTER}",
  "\xba" => "\N{VULGAR FRACTION ONE HALF}",
  "\xbb" => "\N{FEMININE ORDINAL INDICATOR}",
  "\xbc" => "\N{MASCULINE ORDINAL INDICATOR}",
  "\xbd" => "\N{VULGAR FRACTION THREE QUARTERS}",
  "\xbe" => "\N{LATIN SMALL LETTER AE}",
  "\xbf" => "\N{LATIN SMALL LETTER O WITH STROKE}",
  "\xc0" => "\N{INVERTED QUESTION MARK}",
  "\xc1" => "\N{INVERTED EXCLAMATION MARK}",
  "\xc2" => "\N{NOT SIGN}",
  "\xc3" => "\N{LATIN CAPITAL LETTER ETH}",
  "\xc4" => "\N{LATIN SMALL LETTER F WITH HOOK}",
  "\xc5" => "\N{LATIN CAPITAL LETTER Y WITH ACUTE}",
  "\xc6" => "\N{LATIN SMALL LETTER Y WITH ACUTE}",
  "\xc7" => "\N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}",
  "\xc8" => "\N{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}",
  "\xc9" => "\N{HORIZONTAL ELLIPSIS}",
  "\xca" => "\N{LATIN SMALL LETTER THORN}",
  "\xcb" => "\N{LATIN CAPITAL LETTER A WITH GRAVE}",
  "\xcc" => "\N{LATIN CAPITAL LETTER A WITH TILDE}",
  "\xcd" => "\N{LATIN CAPITAL LETTER O WITH TILDE}",
  "\xce" => "\N{LATIN CAPITAL LIGATURE OE}",
  "\xcf" => "\N{LATIN SMALL LIGATURE OE}",
  "\xd0" => "\N{EN DASH}",              # <Char EnDash>
  "\xd1" => "\N{EM DASH}",              # <Char EmDash>
  "\xd2" => "\N{LEFT DOUBLE QUOTATION MARK}",
  "\xd3" => "\N{RIGHT DOUBLE QUOTATION MARK}",
  "\xd4" => "\N{LEFT SINGLE QUOTATION MARK}",
  "\xd5" => "\N{RIGHT SINGLE QUOTATION MARK}",
  "\xd6" => "\N{DIVISION SIGN}",
  "\xd7" => "\N{LATIN CAPITAL LETTER THORN}",
  "\xd8" => "\N{LATIN SMALL LETTER Y WITH DIAERESIS}",
  "\xd9" => "\N{LATIN CAPITAL LETTER Y WITH DIAERESIS}",
  "\xda" => "\N{FRACTION SLASH}",
  "\xdb" => "\N{CURRENCY SIGN}",
  "\xdc" => "\N{SINGLE LEFT-POINTING ANGLE QUOTATION MARK}",
  "\xdd" => "\N{SINGLE RIGHT-POINTING ANGLE QUOTATION MARK}",
  "\xde" => "\N{LATIN SMALL LIGATURE FI}",
  "\xdf" => "\N{LATIN SMALL LIGATURE FL}",
  "\xe0" => "\N{DOUBLE DAGGER}",        # <Char DoubleDagger>
  "\xe1" => "\N{MIDDLE DOT}",
  "\xe2" => "\N{SINGLE LOW-9 QUOTATION MARK}",
  "\xe3" => "\N{DOUBLE LOW-9 QUOTATION MARK}",
  "\xe4" => "\N{PER MILLE SIGN}",
  "\xe5" => "\N{LATIN CAPITAL LETTER A WITH CIRCUMFLEX}",
  "\xe6" => "\N{LATIN CAPITAL LETTER E WITH CIRCUMFLEX}",
  "\xe7" => "\N{LATIN CAPITAL LETTER A WITH ACUTE}",
  "\xe8" => "\N{LATIN CAPITAL LETTER E WITH DIAERESIS}",
  "\xe9" => "\N{LATIN CAPITAL LETTER E WITH GRAVE}",
  "\xea" => "\N{LATIN CAPITAL LETTER I WITH ACUTE}",
  "\xeb" => "\N{LATIN CAPITAL LETTER I WITH CIRCUMFLEX}",
  "\xec" => "\N{LATIN CAPITAL LETTER I WITH DIAERESIS}",
  "\xed" => "\N{LATIN CAPITAL LETTER I WITH GRAVE}",
  "\xee" => "\N{LATIN CAPITAL LETTER O WITH ACUTE}",
  "\xef" => "\N{LATIN CAPITAL LETTER O WITH CIRCUMFLEX}",
  "\xf0" => "\N{LATIN SMALL LETTER S WITH CARON}",
  "\xf1" => "\N{LATIN CAPITAL LETTER O WITH GRAVE}",
  "\xf2" => "\N{LATIN CAPITAL LETTER U WITH ACUTE}",
  "\xf3" => "\N{LATIN CAPITAL LETTER U WITH CIRCUMFLEX}",
  "\xf4" => "\N{LATIN CAPITAL LETTER U WITH GRAVE}",
  "\xf5" => "\N{EURO SIGN}",
  "\xf6" => "\N{MODIFIER LETTER CIRCUMFLEX ACCENT}",
  "\xf7" => "\N{SMALL TILDE}",
  "\xf8" => "\N{MACRON}",
  "\xf9" => "\N{CARON}",
  "\xfa" => "\N{LATIN CAPITAL LETTER Z WITH CARON}",
  "\xfb" => "\N{RING ABOVE}",
  "\xfc" => "\N{CEDILLA}",
  "\xfd" => "\N{DOUBLE ACUTE ACCENT}",
  "\xfe" => "\N{LATIN SMALL LETTER Z WITH CARON}",
);

# delete equivalencies
while (my ($k, $v) = each %FrameMaker::MifTree::fmcharset) {
  delete $FrameMaker::MifTree::fmcharset{$k} if $k eq $v;
}

%FrameMaker::MifTree::fmnamedchars = (
  DiscHyphen   => '\\x04 ',
  NoHyphen     => '\\x05 ',
  SoftHyphen   => '\\x06 ',
  Tab          => '\\x08 ',
  HardReturn   => '\\x09 ',
  NumberSpace  => '\\x10 ',
  HardSpace    => '\\x11 ',
  ThinSpace    => '\\x12 ',
  EnSpace      => '\\x13 ',
  EmSpace      => '\\x14 ',
  HardHyphen   => '\\x15 ',
  Dagger       => '\\xa0 ',
  Cent         => '\\xa2 ',
  Pound        => '\\xa3 ',
  Bullet       => '\\xa5 ',
  Yen          => '\\xb4 ',
  EnDash       => '\\xd0 ',
  EmDash       => '\\xd1 ',
  DoubleDagger => '\\xe0 ',
);

1;
