<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>man.string.subst.map</title><link rel="stylesheet" type="text/css" href="../reference.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="../index.html" title="DocBook XSL Stylesheets: Reference Documentation"><link rel="up" href="charmap.html" title="Character/string substitution"><link rel="prev" href="man.string.subst.map.local.pre.html" title="man.string.subst.map.local.pre"><link rel="next" href="man.string.subst.map.local.post.html" title="man.string.subst.map.local.post"><link rel="copyright" href="copyright.html" title="License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">man.string.subst.map</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="man.string.subst.map.local.pre.html">Prev</a> </td><th width="60%" align="center">Character/string substitution</th><td width="20%" align="right"> <a accesskey="n" href="man.string.subst.map.local.post.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="man.string.subst.map"></a><div class="titlepage"></div> <div class="refnamediv"><h2><span class="refentrytitle">man.string.subst.map</span></h2><p> man.string.subst.map — Specifies a set of string substitutions </p></div> <div class="refsynopsisdiv"><h2>Synopsis</h2> <a name="man.string.subst.map.frag"></a><pre class="programlisting"> <xsl:param name="man.string.subst.map"> <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> <ss:substitution oldstring="▒▀" newstring="▒"></ss:substitution> <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> <ss:substitution oldstring="▀" newstring="\ "></ss:substitution> <!-- ==================================================================== --> <!-- * squeeze multiple newlines before a roff request --> <ss:substitution oldstring=" ." newstring=" ."></ss:substitution> <!-- * remove any .sp instances that directly precede a .PP --> <ss:substitution oldstring=".sp .PP" newstring=".PP"></ss:substitution> <!-- * remove any .sp instances that directly follow a .PP --> <ss:substitution oldstring=".sp .sp" newstring=".sp"></ss:substitution> <!-- * squeeze multiple .sp instances into a single .sp--> <ss:substitution oldstring=".PP .sp" newstring=".PP"></ss:substitution> <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> <ss:substitution oldstring=".nf " newstring=".nf "></ss:substitution> <!-- * squeeze multiple newlines after REstoring margin --> <ss:substitution oldstring=".RE " newstring=".RE "></ss:substitution> <!-- * U+2591 is a marker we add before and after every Parameter in --> <!-- * Funcprototype output --> <ss:substitution oldstring="░" newstring=" "></ss:substitution> <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> <ss:substitution oldstring="▒" newstring=" "></ss:substitution> <!-- * --> <!-- * Now deal with some other characters that are added by the --> <!-- * stylesheets during processing. --> <!-- * --> <!-- * bullet --> <ss:substitution oldstring="•" newstring="\(bu"></ss:substitution> <!-- * left double quote --> <ss:substitution oldstring="“" newstring="\(lq"></ss:substitution> <!-- * right double quote --> <ss:substitution oldstring="”" newstring="\(rq"></ss:substitution> <!-- * left single quote --> <ss:substitution oldstring="‘" newstring="\(oq"></ss:substitution> <!-- * right single quote --> <ss:substitution oldstring="’" newstring="\(cq"></ss:substitution> <!-- * copyright sign --> <ss:substitution oldstring="©" newstring="\(co"></ss:substitution> <!-- * registered sign --> <ss:substitution oldstring="®" newstring="\(rg"></ss:substitution> <!-- * ...servicemark... --> <!-- * There is no groff equivalent for it. --> <ss:substitution oldstring="℠" newstring="(SM)"></ss:substitution> <!-- * ...trademark... --> <!-- * We don't do "\(tm" because for console output, --> <!-- * groff just renders that as "tm"; that is: --> <!-- * --> <!-- * Product&#x2122; -> Producttm --> <!-- * --> <!-- * So we just make it to "(TM)" instead; thus: --> <!-- * --> <!-- * Product&#x2122; -> Product(TM) --> <ss:substitution oldstring="™" newstring="(TM)"></ss:substitution> </xsl:param> </pre> </div> <div class="refsection"><a name="idp7496304"></a><h2>Description</h2> <p>The <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a> parameter contains <a class="link" href="man.string.subst.map.html#map" title="Contents of the substitution map">a map</a> that specifies a set of string substitutions to perform over the entire roff source for each man page, either just before generating final man-page output (that is, before writing man-page files to disk) or, if the value of the <a href="../manpages/man.charmap.enabled.html"><em class="parameter"><code>man.charmap.enabled</code></em></a> parameter is non-zero, before applying the roff character map.</p> <p>You can use <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a> as a “lightweight” character map to perform “essential” substitutions -- that is, substitutions that are <span class="emphasis"><em>always</em></span> performed, even if the value of the <a href="../manpages/man.charmap.enabled.html"><em class="parameter"><code>man.charmap.enabled</code></em></a> parameter is zero. For example, you can use it to replace quotation marks or other special characters that are generated by the DocBook XSL stylesheets for a particular locale setting (as opposed to those characters that are actually in source XML documents), or to replace any special characters that may be automatically generated by a particular customization of the DocBook XSL stylesheets.</p> <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3> <p>Do you not change value of the <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a> parameter unless you are sure what you are doing. First consider adding your string-substitution mappings to either or both of the following parameters: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a href="../manpages/man.string.subst.map.local.pre.html"><em class="parameter"><code>man.string.subst.map.local.pre</code></em></a></span></dt><dd><p>applied before <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a></p></dd><dt><span class="term"><a href="../manpages/man.string.subst.map.local.post.html"><em class="parameter"><code>man.string.subst.map.local.post</code></em></a></span></dt><dd><p>applied after <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a></p></dd></dl></div><p> By default, both of those parameters contain no string substitutions. They are intended as a means for you to specify your own local string-substitution mappings.</p> <p>If you remove any of default mappings from the value of the <a href="../manpages/man.string.subst.map.html"><em class="parameter"><code>man.string.subst.map</code></em></a> parameter, you are likely to end up with broken output. And be very careful about adding anything to it; it’s used for doing string substitution over the entire roff source of each man page – it causes target strings to be replaced in roff requests and escapes, not just in the visible contents of the page.</p> </div> <div class="refsection"><a name="map"></a><h3>Contents of the substitution map</h3> <p>The string-substitution map contains one or more <code class="sgmltag-element">ss:substitution</code> elements, each of which has two attributes: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">oldstring</span></dt><dd> string to replace </dd><dt><span class="term">newstring</span></dt><dd> string with which to replace <code class="sgmltag-attribute">oldstring</code> </dd></dl></div><p> It may also include XML comments (that is, delimited with "<code class="literal"><!--</code>" and "<code class="literal">--></code>"). </p> </div> </div> </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="man.string.subst.map.local.pre.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="charmap.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="man.string.subst.map.local.post.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">man.string.subst.map.local.pre </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> man.string.subst.map.local.post</td></tr></table></div></body></html>