| <refentry xmlns="http://docbook.org/ns/docbook" |
| xmlns:xlink="http://www.w3.org/1999/xlink" |
| xmlns:xi="http://www.w3.org/2001/XInclude" |
| xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" |
| xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" |
| version="5.0" xml:id="man.string.subst.map"> |
| <refmeta> |
| <refentrytitle>man.string.subst.map</refentrytitle> |
| <refmiscinfo class="other" otherclass="datatype">rtf</refmiscinfo> |
| </refmeta> |
| <refnamediv> |
| <refname>man.string.subst.map</refname> |
| <refpurpose>Specifies a set of string substitutions</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <src:fragment xml:id="man.string.subst.map.frag"> |
| <xsl:param name="man.string.subst.map"> |
| |
| <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> |
| <ss:substitution oldstring="▒▀" newstring="▒"/> |
| <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> |
| <ss:substitution oldstring="▀" newstring="\ "/> |
| |
| <!-- ==================================================================== --> |
| |
| <!-- * squeeze multiple newlines before a roff request --> |
| <ss:substitution oldstring=" ." newstring=" ."/> |
| <!-- * remove any .sp instances that directly precede a .PP --> |
| <ss:substitution oldstring=".sp .PP" newstring=".PP"/> |
| <!-- * remove any .sp instances that directly follow a .PP --> |
| <ss:substitution oldstring=".sp .sp" newstring=".sp"/> |
| <!-- * squeeze multiple .sp instances into a single .sp--> |
| <ss:substitution oldstring=".PP .sp" newstring=".PP"/> |
| <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> |
| <ss:substitution oldstring=".nf " newstring=".nf "/> |
| <!-- * squeeze multiple newlines after REstoring margin --> |
| <ss:substitution oldstring=".RE " newstring=".RE "/> |
| <!-- * U+2591 is a marker we add before and after every Parameter in --> |
| <!-- * Funcprototype output --> |
| <ss:substitution oldstring="░" newstring=" "/> |
| <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> |
| <ss:substitution oldstring="▒" newstring=" "/> |
| <!-- * --> |
| <!-- * Now deal with some other characters that are added by the --> |
| <!-- * stylesheets during processing. --> |
| <!-- * --> |
| <!-- * bullet --> |
| <ss:substitution oldstring="•" newstring="\(bu"/> |
| <!-- * left double quote --> |
| <ss:substitution oldstring="“" newstring="\(lq"/> |
| <!-- * right double quote --> |
| <ss:substitution oldstring="”" newstring="\(rq"/> |
| <!-- * left single quote --> |
| <ss:substitution oldstring="‘" newstring="\(oq"/> |
| <!-- * right single quote --> |
| <ss:substitution oldstring="’" newstring="\(cq"/> |
| <!-- * copyright sign --> |
| <ss:substitution oldstring="©" newstring="\(co"/> |
| <!-- * registered sign --> |
| <ss:substitution oldstring="®" newstring="\(rg"/> |
| <!-- * ...servicemark... --> |
| <!-- * There is no groff equivalent for it. --> |
| <ss:substitution oldstring="℠" newstring="(SM)"/> |
| <!-- * ...trademark... --> |
| <!-- * We don't do "\(tm" because for console output, --> |
| <!-- * groff just renders that as "tm"; that is: --> |
| <!-- * --> |
| <!-- * Product™ -> Producttm --> |
| <!-- * --> |
| <!-- * So we just make it to "(TM)" instead; thus: --> |
| <!-- * --> |
| <!-- * Product™ -> Product(TM) --> |
| <ss:substitution oldstring="™" newstring="(TM)"/> |
| |
| </xsl:param> |
| </src:fragment> |
| </refsynopsisdiv> |
| |
| <refsection><info><title>Description</title></info> |
| |
| <para>The <parameter>man.string.subst.map</parameter> parameter |
| contains <link linkend="map">a map</link> 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 |
| <parameter>man.charmap.enabled</parameter> parameter is non-zero, |
| before applying the roff character map.</para> |
| |
| <para>You can use <parameter>man.string.subst.map</parameter> as a |
| “lightweight” character map to perform “essential” substitutions -- |
| that is, substitutions that are <emphasis>always</emphasis> performed, |
| even if the value of the <parameter>man.charmap.enabled</parameter> |
| 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.</para> |
| |
| <warning> |
| <para>Do you not change value of the |
| <parameter>man.string.subst.map</parameter> parameter unless you are |
| sure what you are doing. First consider adding your |
| string-substitution mappings to either or both of the following |
| parameters: |
| <variablelist> |
| <varlistentry> |
| <term><parameter>man.string.subst.map.local.pre</parameter></term> |
| <listitem><para>applied before |
| <parameter>man.string.subst.map</parameter></para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>man.string.subst.map.local.post</parameter></term> |
| <listitem><para>applied after |
| <parameter>man.string.subst.map</parameter></para></listitem> |
| </varlistentry> |
| </variablelist> |
| 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.</para> |
| |
| <para>If you remove any of default mappings from the value of the |
| <parameter>man.string.subst.map</parameter> 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.</para> |
| |
| </warning> |
| |
| <refsection xml:id="map"> |
| <info> |
| <title>Contents of the substitution map</title> |
| </info> |
| <para>The string-substitution map contains one or more |
| <tag>ss:substitution</tag> elements, each of which has two |
| attributes: |
| <variablelist> |
| <varlistentry> |
| <term>oldstring</term> |
| <listitem> |
| <simpara>string to replace</simpara> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>newstring</term> |
| <listitem> |
| <simpara>string with which to replace <tag |
| class="attribute">oldstring</tag></simpara> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| It may also include XML comments (that is, delimited with |
| "<literal><!--</literal>" and "<literal>--></literal>"). |
| </para> |
| </refsection> |
| |
| </refsection> |
| </refentry> |