123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <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>
|