/* This file was kindly provided by Sectra AB, Sweden to DocBook community */ package com.nwalsh.saxon; import com.icl.saxon.charcode.PluggableCharacterSet; /** * * $Id: Windows1252.java 7277 2007-08-23 05:10:07Z xmldoc $ * * File: Windows1252CharacterSet.java * Created: May 26 2004 * Author: Pontus Haglund * Project: Venus * * This class extends Saxon 6.5.x with the windows-1252 character set. * * It is particularly useful when generating HTML Help for * Western European Languages. * * To use this class for generating HTML Help output with the * DocBook XSL stylesheets, complete the following steps: * * 1. Make sure that the Saxon 6.5.x jar file and the jar file for * the DocBook Saxon extensions are in your CLASSPATH * * 2. Create a DocBook XSL customization layer -- a file named * "mystylesheet.xsl" or whatever -- that, at a minimum, * contains the following: * * * * * * * * * * 3. Invoke Saxon with the "encoding.windows-1252" Java system * property set to "com.nwalsh.saxon.Windows1252"; for example: * * java \ * -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ * com.icl.saxon.StyleSheet \ * mydoc.xml mystylesheet.xsl * * Or, for a more complete "real world" case showing other * options you'll typically want to use: * * java \ * -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \ * -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ * -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ * -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl \ * com.icl.saxon.StyleSheet \ * -x org.apache.xml.resolver.tools.ResolvingXMLReader \ * -y org.apache.xml.resolver.tools.ResolvingXMLReader \ * -r org.apache.xml.resolver.tools.CatalogResolver \ * mydoc.xml mystylesheet.xsl * * In both cases, the "mystylesheet.xsl" file should be a DocBook * customization layer containing the parameters show in step 2. * */ public class Windows1252 implements PluggableCharacterSet { public final boolean inCharset(int c) { return (c >= 0x00 && c <= 0x7F) || (c >= 0xA0 && c <= 0xFF) || (c == 0x20AC) || (c == 0x201A) || (c == 0x0192) || (c == 0x201E) || (c == 0x2026) || (c == 0x2020) || (c == 0x2021) || (c == 0x02C6) || (c == 0x2030) || (c == 0x0160) || (c == 0x2039) || (c == 0x0152) || (c == 0x017D) || (c == 0x2018) || (c == 0x2019) || (c == 0x201C) || (c == 0x201D) || (c == 0x2022) || (c == 0x2013) || (c == 0x2014) || (c == 0x02DC) || (c == 0x2122) || (c == 0x0161) || (c == 0x203A) || (c == 0x0153) || (c == 0x017E) || (c == 0x0178); } public String getEncodingName() { return "WINDOWS-1252"; } }