<?xml version="1.0" encoding="utf-8"?>

<xsl:character-map 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:unichar="http://docbook.sourceforge.net/xmlns/unichar/1.0">
                   
<!--
  $Id: texi.charmap.xml,v 1.6 2006/04/15 21:19:26 stevecheng Exp $
 
  This file defines the mapping of Unicode characters to
  Texinfo @-commands or combining characters, used by db2x_texixml(1).
 
  The format of this file is described in utf8trans(1).
 
  References:
   1. Mark Burton's dbtotexi.
-->

<!-- Essential mappings -->

<xsl:output-character character="&#x00a0;" string="@ " />

<xsl:output-character character="&#x2010;" string="-" />

<xsl:output-character character="&#x2212;" string="@minus{}" />
<xsl:output-character character="&#x2013;" string="--" />
<xsl:output-character character="&#x2014;" string="---" />

<xsl:output-character character="&#x2022;" string="@bullet{}" />
<xsl:output-character character="&#x2026;" string="@dots{}" />

<xsl:output-character character="&#x2018;" string="`" />
<xsl:output-character character="&#x2019;" string="'" />
<xsl:output-character character="&#x201C;" string="``" />
<xsl:output-character character="&#x201D;" string="''" />


<xsl:output-character character="&#x2122;" string="(TM)" />

<!--
  Texinfo "glyphs"
  Of course, the Unicode characters do not have the semantics assigned
  to the glyphs by Texinfo, but they look similar to what would appear
  in the TeX-printed output.
-->

<xsl:output-character character="&#x21D2;" string="@result{}" />
<xsl:output-character character="&#x21A6;" string="@expansion{}" />
<xsl:output-character character="&#x22A3;" string="@print{}" />
<xsl:output-character character="&#x2261;" string="@equiv{}" />
<xsl:output-character character="&#x212E;" string="@error{}" />
<xsl:output-character character="&#x22C6;" string="@point{}" />


<!--
  Latin 1, Latin 2

  Since makeinfo cannot automatically render the following characters
  using native characters from a non-ASCII charset, we may want to leave
  them as UTF-8 and let recode handle the rest.
-->

<xsl:output-character character="&#x00a1;" string="@exclamdown{}" />
<xsl:output-character character="&#x00a3;" string="@pounds{}" />
<xsl:output-character character="&#x00a9;" string="@copyright{}" />
<xsl:output-character character="&#x00bf;" string="@questiondown{}" />
<xsl:output-character character="&#x00c6;" string="@AE{}" />
<xsl:output-character character="&#x00df;" string="@ss{}" />
<xsl:output-character character="&#x00e6;" string="@ae{}" />

<xsl:output-character character="&#x0131;" string="@dotless{i}" />

<xsl:output-character character="&#x00a8;" string='@"{ }' />
<xsl:output-character character="&#x00e4;" string='@"a' />
<xsl:output-character character="&#x00c4;" string='@"A' />
<xsl:output-character character="&#x00eb;" string='@"e' />
<xsl:output-character character="&#x00cb;" string='@"E' />
<xsl:output-character character="&#x00ef;" string='@"{@dotless{i}}' />
<xsl:output-character character="&#x00cf;" string='@"I' />
<xsl:output-character character="&#x00f6;" string='@"o' />
<xsl:output-character character="&#x00d6;" string='@"O' />
<xsl:output-character character="&#x00fc;" string='@"u' />
<xsl:output-character character="&#x00dc;" string='@"U' />
<xsl:output-character character="&#x00ff;" string='@"y' />
<xsl:output-character character="&#x0178;" string='@"Y' />

<xsl:output-character character="&#x00b4;" string="@'{ }" />
<xsl:output-character character="&#x00e1;" string="@'a" />
<xsl:output-character character="&#x00c1;" string="@'A" />
<xsl:output-character character="&#x00e9;" string="@'e" />
<xsl:output-character character="&#x00c9;" string="@'E" />
<xsl:output-character character="&#x00ed;" string="@'{@dotless{i}}" />
<xsl:output-character character="&#x00cd;" string="@'I" />
<xsl:output-character character="&#x00f3;" string="@'o" />
<xsl:output-character character="&#x00d3;" string="@'O" />
<xsl:output-character character="&#x00fa;" string="@'u" />
<xsl:output-character character="&#x00da;" string="@'U" />
<xsl:output-character character="&#x00fd;" string="@'y" />
<xsl:output-character character="&#x00dd;" string="@'Y" />
<xsl:output-character character="&#x0107;" string="@'c" />
<xsl:output-character character="&#x0106;" string="@'C" />
<xsl:output-character character="&#x01f5;" string="@'g" />
<xsl:output-character character="&#x013a;" string="@'l" />
<xsl:output-character character="&#x0139;" string="@'L" />
<xsl:output-character character="&#x0144;" string="@'n" />
<xsl:output-character character="&#x0143;" string="@'N" />
<xsl:output-character character="&#x0155;" string="@'r" />
<xsl:output-character character="&#x0154;" string="@'R" />
<xsl:output-character character="&#x015b;" string="@'s" />
<xsl:output-character character="&#x015a;" string="@'S" />
<xsl:output-character character="&#x017a;" string="@'z" />
<xsl:output-character character="&#x0179;" string="@'Z" />

<xsl:output-character character="&#x00b8;" string="@,{ }" />
<xsl:output-character character="&#x00e7;" string="@,{c}" />
<xsl:output-character character="&#x00c7;" string="@,{C}" />
<xsl:output-character character="&#x0122;" string="@,{G}" />
<xsl:output-character character="&#x0137;" string="@,{k}" />
<xsl:output-character character="&#x0136;" string="@,{K}" />
<xsl:output-character character="&#x013c;" string="@,{l}" />
<xsl:output-character character="&#x013b;" string="@,{L}" />
<xsl:output-character character="&#x0146;" string="@,{n}" />
<xsl:output-character character="&#x0145;" string="@,{N}" />
<xsl:output-character character="&#x0157;" string="@,{r}" />
<xsl:output-character character="&#x0156;" string="@,{R}" />
<xsl:output-character character="&#x015f;" string="@,{s}" />
<xsl:output-character character="&#x015e;" string="@,{S}" />
<xsl:output-character character="&#x0163;" string="@,{t}" />
<xsl:output-character character="&#x0162;" string="@,{T}" />

<xsl:output-character character="&#x00af;" string="@={ }" />
<xsl:output-character character="&#x0101;" string="@=a" />
<xsl:output-character character="&#x0100;" string="@=A" />
<xsl:output-character character="&#x0113;" string="@=e" />
<xsl:output-character character="&#x0112;" string="@=E" />
<xsl:output-character character="&#x012a;" string="@=I" />
<xsl:output-character character="&#x012b;" string="@={@dotless{i}}" />
<xsl:output-character character="&#x014c;" string="@=O" />
<xsl:output-character character="&#x014d;" string="@=o" />
<xsl:output-character character="&#x016b;" string="@=u" />
<xsl:output-character character="&#x016a;" string="@=U" />

<xsl:output-character character="&#x00e2;" string="@^a" />
<xsl:output-character character="&#x00c2;" string="@^A" />
<xsl:output-character character="&#x00ea;" string="@^e" />
<xsl:output-character character="&#x00cA;" string="@^E" />
<xsl:output-character character="&#x00ee;" string="@^{@dotless{i}}" />
<xsl:output-character character="&#x00ce;" string="@^I" />
<xsl:output-character character="&#x00f4;" string="@^o" />
<xsl:output-character character="&#x00d4;" string="@^O" />
<xsl:output-character character="&#x00db;" string="@^u" />
<xsl:output-character character="&#x00fb;" string="@^U" />
<xsl:output-character character="&#x0109;" string="@^c" />
<xsl:output-character character="&#x0108;" string="@^C" />
<xsl:output-character character="&#x011d;" string="@^g" />
<xsl:output-character character="&#x011c;" string="@^G" />
<xsl:output-character character="&#x0125;" string="@^h" />
<xsl:output-character character="&#x0124;" string="@^H" />
<xsl:output-character character="&#x0135;" string="@^{@dotless{j}}" />
<xsl:output-character character="&#x0134;" string="@^J" />
<xsl:output-character character="&#x015d;" string="@^s" />
<xsl:output-character character="&#x015c;" string="@^S" />
<xsl:output-character character="&#x0175;" string="@^w" />
<xsl:output-character character="&#x0174;" string="@^W" />
<xsl:output-character character="&#x0177;" string="@^y" />
<xsl:output-character character="&#x0176;" string="@^Y" />

<xsl:output-character character="&#x00e0;" string="@`a" />
<xsl:output-character character="&#x00c0;" string="@`A" />
<xsl:output-character character="&#x00e8;" string="@`e" />
<xsl:output-character character="&#x00c8;" string="@`E" />
<xsl:output-character character="&#x00ec;" string="@`{@dotless{i}}" />
<xsl:output-character character="&#x00cc;" string="@`I" />
<xsl:output-character character="&#x00f2;" string="@`o" />
<xsl:output-character character="&#x00d2;" string="@`O" />
<xsl:output-character character="&#x00f9;" string="@`u" />
<xsl:output-character character="&#x00d9;" string="@`U" />

<xsl:output-character character="&#x00e3;" string="@~a" />
<xsl:output-character character="&#x00c3;" string="@~A" />
<xsl:output-character character="&#x00f1;" string="@~n" />
<xsl:output-character character="&#x00d1;" string="@~N" />
<xsl:output-character character="&#x00f5;" string="@~o" />
<xsl:output-character character="&#x00d5;" string="@~O" />
<xsl:output-character character="&#x0129;" string="@~{@dotless{i}}" />
<xsl:output-character character="&#x0128;" string="@~I" />
<xsl:output-character character="&#x0169;" string="@~u" />
<xsl:output-character character="&#x0168;" string="@~U" />

<!-- stevecheng: I don't know if I should use no-break space
                 or regular space for figure (or digit) space -->
<xsl:output-character 
  character="&#x2007;"
  string=" "
  unichar:name="FIGURE SPACE" 
  unichar:entity="numsp" 
  />

<xsl:output-character
  character="&#x221e;"
  unichar:name="INFINITY"
  unichar:entity="infin"
  string="&amp;infin;"
  />

<xsl:output-character
  character="&#x2329;"
  unichar:name="LEFT-POINTING ANGLE BRACKET"
  string="&lt;"
  />

<xsl:output-character
  character="&#x232a;"
  unichar:name="RIGHT-POINTING ANGLE BRACKET"
  string="&gt;"
  />

<xsl:output-character
  character="&#x2007;"
  unichar:name="FIGURE SPACE"
  string=""
  />

</xsl:character-map>
