<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" version="5.0" xml:id="man.charmap.subset.profile"> <refmeta> <refentrytitle>man.charmap.subset.profile</refentrytitle> <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> </refmeta> <refnamediv> <refname>man.charmap.subset.profile</refname> <refpurpose>Profile of character map subset</refpurpose> </refnamediv> <refsynopsisdiv> <src:fragment xml:id="man.charmap.subset.profile.frag"> <xsl:param name="man.charmap.subset.profile"> @*[local-name() = 'block'] = 'Miscellaneous Technical' or (@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and (@*[local-name() = 'class'] = 'symbols' or @*[local-name() = 'class'] = 'letters') ) or @*[local-name() = 'block'] = 'Latin Extended-A' or (@*[local-name() = 'block'] = 'General Punctuation' and (@*[local-name() = 'class'] = 'spaces' or @*[local-name() = 'class'] = 'dashes' or @*[local-name() = 'class'] = 'quotes' or @*[local-name() = 'class'] = 'bullets' ) ) or @*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or @*[local-name() = 'name'] = 'WORD JOINER' or @*[local-name() = 'name'] = 'SERVICE MARK' or @*[local-name() = 'name'] = 'TRADE MARK SIGN' or @*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' </xsl:param> </src:fragment> </refsynopsisdiv> <refsection><info><title>Description</title></info> <para>If the value of the <parameter>man.charmap.use.subset</parameter> parameter is non-zero, and your DocBook source is not written in English (that is, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element in your DocBook source or on the first <tag>refentry</tag> element in your source has a value other than <literal>en</literal>), then the character-map subset specified by the <parameter>man.charmap.subset.profile</parameter> parameter is used instead of the full roff character map.</para> <para>Otherwise, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element in your DocBook source or on the first <tag>refentry</tag> element in your source has the value <literal>en</literal> or if it has no <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute, then the character-map subset specified by the <parameter>man.charmap.subset.profile.english</parameter> parameter is used instead of <parameter>man.charmap.subset.profile</parameter>.</para> <para>The difference between the two subsets is that <parameter>man.charmap.subset.profile</parameter> provides mappings for characters in Western European languages that are not part of the Roman (English) alphabet (ASCII character set).</para> <para>The value of <parameter>man.charmap.subset.profile</parameter> is a string representing an XPath expression that matches attribute names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag> elements in the character map.</para> <para>The attributes supported in the <link xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map included in the distribution</link> are: <variablelist> <varlistentry> <term>character</term> <listitem> <simpara>a raw Unicode character or numeric Unicode character-entity value (either in decimal or hex); all characters have this attribute</simpara> </listitem> </varlistentry> <varlistentry> <term>name</term> <listitem> <simpara>a standard full/long ISO/Unicode character name (e.g., "OHM SIGN"); all characters have this attribute</simpara> </listitem> </varlistentry> <varlistentry> <term>block</term> <listitem> <simpara>a standard Unicode "block" name (e.g., "General Punctuation"); all characters have this attribute. For the full list of Unicode block names supported in the standard roff character map, see <xref linkend="BlocksAndClasses"/>.</simpara> </listitem> </varlistentry> <varlistentry> <term>class</term> <listitem> <simpara>a class of characters (e.g., "spaces"). Not all characters have this attribute; currently, it is used only with certain characters within the "C1 Controls And Latin-1 Supplement" and "General Punctuation" blocks. For details, see <xref linkend="BlocksAndClasses"/>.</simpara> </listitem> </varlistentry> <varlistentry> <term>entity</term> <listitem> <simpara>an ISO entity name (e.g., "ohm"); not all characters have this attribute, because not all characters have ISO entity names; for example, of the 800 or so characters in the standard roff character map included in the distribution, only around 300 have ISO entity names. </simpara> </listitem> </varlistentry> <varlistentry> <term>string</term> <listitem> <simpara>a string representing an roff/groff escape-code (with "@esc@" used in place of the backslash), or a simple ASCII string; all characters in the roff character map have this attribute</simpara> </listitem> </varlistentry> </variablelist> </para> <para>The value of <parameter>man.charmap.subset.profile</parameter> is evaluated as an XPath expression at run-time to select a portion of the roff character map to use. You can tune the subset used by adding or removing parts. For example, if you need to use a wide range of mathematical operators in a document, and you want to have them converted into roff markup properly, you might add the following: <literallayout class="monospaced"> @*[local-name() = 'block'] ='MathematicalOperators' </literallayout> That will cause a additional set of around 67 additional "math" characters to be converted into roff markup. </para> <note> <para>Depending on which XSLT engine you use, either the EXSLT <function>dyn:evaluate</function> extension function (for xsltproc or Xalan) or <function>saxon:evaluate</function> extension function (for Saxon) are used to dynamically evaluate the value of <parameter>man.charmap.subset.profile</parameter> at run-time. If you don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that supports <function>dyn:evaluate</function> -- you must either set the value of the <parameter>man.charmap.use.subset</parameter> parameter to zero and process your documents using the full character map instead, or set the value of the <parameter>man.charmap.enabled</parameter> parameter to zero instead (so that character-map processing is disabled completely.</para> </note> <para>An alternative to using <parameter>man.charmap.subset.profile</parameter> is to create your own custom character map, and set the value of <parameter>man.charmap.uri</parameter> to the URI/filename for that. If you use a custom character map, you will probably want to include in it just the characters you want to use, and so you will most likely also want to set the value of <parameter>man.charmap.use.subset</parameter> to zero.</para> <para>You can create a custom character map by making a copy of the <link xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map</link> provided in the distribution, and then adding to, changing, and/or deleting from that.</para> <caution> <para>If you author your DocBook XML source in UTF-8 or UTF-16 encoding and aren't sure what OSes or environments your man-page output might end up being viewed on, and not sure what version of nroff/groff those environments might have, you should be careful about what Unicode symbols and special characters you use in your source and what parts you add to the value of <parameter>man.charmap.subset.profile</parameter>.</para> <para>Many of the escape codes used are specific to groff and using them may not provide the expected output on an OS or environment that uses nroff instead of groff.</para> <para>On the other hand, if you intend for your man-page output to be viewed only on modern systems (for example, GNU/Linux systems, FreeBSD systems, or Cygwin environments) that have a good, up-to-date groff, then you can safely include a wide range of Unicode symbols and special characters in your UTF-8 or UTF-16 encoded DocBook XML source and add any of the supported Unicode block names to the value of <parameter>man.charmap.subset.profile</parameter>.</para> </caution> <para>For other details, see the documentation for the <parameter>man.charmap.use.subset</parameter> parameter.</para> <refsection xml:id="BlocksAndClasses"><info><title>Supported Unicode block names and "class" values</title></info> <para>Below is the full list of Unicode block names and "class" values supported in the standard roff stylesheet provided in the distribution, along with a description of which codepoints from the Unicode range corresponding to that block name or block/class combination are supported.</para> <itemizedlist> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=C1%20Controls%20and%20Latin-1%20Supplement%20(Latin-1%20Supplement)">C1 Controls And Latin-1 Supplement (Latin-1 Supplement)</link> (x00a0 to x00ff) <itemizedlist><info><title>class values</title></info> <listitem> <para>symbols</para> </listitem> <listitem> <para>letters</para> </listitem> </itemizedlist></para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Latin%20Extended-A">Latin Extended-A</link> (x0100 to x017f, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Spacing%20Modifier%20Letters">Spacing Modifier Letters</link> (x02b0 to x02ee, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Greek%20and%20Coptic">Greek and Coptic</link> (x0370 to x03ff, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=General%20Punctuation">General Punctuation</link> (x2000 to x206f, partial) <itemizedlist><info><title>class values</title></info> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&start=8192&end=8203">spaces</link></para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&start=8208&end=8213">dashes</link></para> </listitem> <listitem> <para>quotes</para> </listitem> <listitem> <para>daggers</para> </listitem> <listitem> <para>bullets</para> </listitem> <listitem> <para>leaders</para> </listitem> <listitem> <para>primes</para> </listitem> </itemizedlist> </para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Superscripts%20and%20Subscripts">Superscripts and Subscripts</link> (x2070 to x209f)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Currency%20Symbols">Currency Symbols</link> (x20a0 to x20b1)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Letterlike%20Symbols">Letterlike Symbols</link> (x2100 to x214b)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Number%20Forms">Number Forms</link> (x2150 to x218f)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Arrows">Arrows</link> (x2190 to x21ff, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Mathematical%20Operators">Mathematical Operators</link> (x2200 to x22ff, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Control%20Pictures">Control Pictures</link> (x2400 to x243f)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Enclosed%20Alphanumerics">Enclosed Alphanumerics</link> (x2460 to x24ff)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Geometric%20Shapes">Geometric Shapes</link> (x25a0 to x25f7, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Miscellaneous%20Symbols">Miscellaneous Symbols</link> (x2600 to x26ff, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Dingbats">Dingbats</link> (x2700 to x27be, partial)</para> </listitem> <listitem> <para><link xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Alphabetic%20Presentation%20Forms">Alphabetic Presentation Forms</link> (xfb00 to xfb04 only)</para> </listitem> </itemizedlist> </refsection> </refsection> </refentry>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 26953 | Paul Allen | Move //guest/perforce_software/p4convert to //guest/perforce_software/p4convert/main | ||
//guest/perforce_software/p4convert/docs/docbook-xsl-ns-1.78.1/params/man.charmap.subset.profile.xml | |||||
#2 | 14806 | Paul Allen | Update docs and add +w. | ||
#1 | 13920 | Paul Allen | copy part 2 (no errors) | ||
//guest/paul_allen/p4convert-maven/docs/docbook-xsl-ns-1.78.1/params/man.charmap.subset.profile.xml | |||||
#1 | 13895 | Paul Allen | Copying using p4convert-docbook | ||
//guest/perforce_software/doc_build/main/docbook-xsl-ns-1.78.1/params/man.charmap.subset.profile.xml | |||||
#1 | 12728 | eedwards |
Upgrade ANT doc build infrastructure to assemble PDFs: - remove non-namespaced DocBook source and add namespaced DocBook source. - add Apache FOP 1.1 - copy fonts, images, XSL into _build, establishing new asset structure. The original structure remains until all guides using it can be upgraded, and several other issues can be resolved. - updated build.xml to allow for per-target build properties. - upgraded the P4SAG to use the new infrastructure. - tweaked admonition presentation in PDFs to remove admonition graphics, and resemble closely the presentation used in the new HTML layout, including the same colors. With these changes, building PDFs involves using a shell, navigating into the guide's directory (just P4SAG for now), and executing "ant pdf". Issues still to be resolved: - PDF generation encounters several warnings about missing fonts (bold versions of Symbol and ZapfDingbats), and a couple of locations where the page content exceeds the defined content area. - Due to issues within Apache FOP, PDF generation emits a substantial amount of output that is not easily suppressed without losing important warning information. - Apache FOP's interface to ANT does not expose a way to set the font base directory. The current configuration does work under Mac OSX, but further testing on Windows will need to be done to determine if the relative paths defined continue to work. The workaround is for Windows users to customize the fop-config.xml to provide absolute system paths to the required fonts. - HTML generation needs further browser testing, and exhibits broken navigation on iOS browsers within the TOC sidebar. - A number of PDF and HTML presentation tweaks still need to be made, for example: sidebars, gui* DocBook tags, whitespace, section separation, etc. |