freehep-chartableconverter-plugin-2.0/ 0000755 0120103 0120103 00000000000 11272642010 021121 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/ 0000755 0120103 0120103 00000000000 11272642010 021710 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/site/ 0000755 0120103 0120103 00000000000 11272642010 022654 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/site/apt/ 0000755 0120103 0120103 00000000000 11272642010 023440 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/site/apt/usage.apt 0000644 0120103 0120103 00000001646 10501606165 025266 0 ustar mascellani mascellani ---
FreeHEP Character Table Converter Plugin
---
---
Mark Donszelmann
---
Usage
Add the following fragment to your pom file to execute the chartableconverter plugin as part of the
the specified phase. Modify the Table.utf-16 file specified to your own file.
+--
...
org.freehep
freehep-chartableconverter-plugin
Table
generate-sources
generate
Table.utf-16
com.yourcompany
...
+--
freehep-chartableconverter-plugin-2.0/src/site/site.xml 0000644 0120103 0120103 00000002217 10501606165 024351 0 ustar mascellani mascellani
FreeHEP Character Table Converter Plugin
http://java.freehep.org/freehep-chartableconverter-plugin
FreeHEP
http://java.freehep.org/images/sm-freehep.gif
http://java.freehep.org
${reports}
freehep-chartableconverter-plugin-2.0/src/main/ 0000755 0120103 0120103 00000000000 11272642010 022634 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/ 0000755 0120103 0120103 00000000000 11272642010 023555 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/org/ 0000755 0120103 0120103 00000000000 11272642010 024344 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/ 0000755 0120103 0120103 00000000000 11272642010 025762 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/ 0000755 0120103 0120103 00000000000 11272642010 030010 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/ 0000755 0120103 0120103 00000000000 11272642010 030756 5 ustar mascellani mascellani freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/ 0000755 0120103 0120103 00000000000 11272642010 032544 5 ustar mascellani mascellani ././@LongLink 0000000 0000000 0000000 00000000165 00000000000 011567 L ustar root root freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableConverterMojo.java freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableCo0000644 0120103 0120103 00000005365 10466735775 034640 0 ustar mascellani mascellani // Copyright FreeHEP, 2005.
package org.freehep.graphics2d.font.encoding;
import java.util.ArrayList;
import java.util.List;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.FileUtils;
/**
* @goal generate
* @description Generates lookup tables from 16 bit Unicode text files.
* @phase generate-sources
* @author Mark Donszelmann
* @version $Id: CharTableConverterMojo.java 8584 2006-08-10 23:06:37Z duns $
*/
public class CharTableConverterMojo extends AbstractMojo {
/**
* The target directory into which to generate the output
*
* @parameter expression="${project.build.directory}/generated-sources/encoding"
* @required
*/
private String targetDirectory;
/**
* The name of the package to be used in the generated lookup classes.
*
* @parameter expression=""
* @required
*/
private String packageName;
/**
* The configuration file directory.
*
* @parameter expression="${basedir}/src/main/encoding"
* @required
*/
private String sourceDirectory;
/**
* The 16 bit Unicode text file.
*
* @parameter expression=""
* @required
*/
private String source;
/**
* The 16 bit Unicode text file.
*
* @parameter expression=""
*/
private String encodingType = null;
/**
* @parameter expression="${project}"
* @required
*/
private MavenProject project;
public void execute() throws MojoExecutionException {
if (!FileUtils.fileExists(targetDirectory)) {
FileUtils.mkdir( targetDirectory );
}
try {
org.freehep.graphics2d.font.encoding.CharTableConverter.main(generateArgumentList());
} catch (Exception e) {
throw new MojoExecutionException( "CHarTableConverter execution failed", e );
}
if (project != null) {
project.addCompileSourceRoot(targetDirectory);
}
}
private String[] generateArgumentList() throws MojoExecutionException {
List argList = new ArrayList();
argList.add(targetDirectory);
argList.add(packageName);
// FIXME, check for source out-of-date
if (!sourceDirectory.endsWith("/")) {
sourceDirectory = sourceDirectory+"/";
}
argList.add(sourceDirectory+source);
if (encodingType != null) argList.add(encodingType);
getLog().debug("CharTableConverter " + argList.toString());
return (String[])argList.toArray(new String[argList.size()]);
}
} ././@LongLink 0000000 0000000 0000000 00000000161 00000000000 011563 L ustar root root freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableConverter.java freehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableCo0000644 0120103 0120103 00000015002 10466735775 034625 0 ustar mascellani mascellani // Copyright 2001-2005, FreeHEP.
package org.freehep.graphics2d.font.encoding;
import java.io.*;
import java.util.StringTokenizer;
/**
* CharTableConverter class generates java files from
* given unicode formatted txt file to use with Lookup class.
* Usage java CharTableConverter encoding.unicode.txt [encoding type]
*
* @author Sami Kama
* @version $Id: CharTableConverter.java 8584 2006-08-10 23:06:37Z duns $
*/
public class CharTableConverter {
private BufferedReader textFile = null;
private PrintWriter javaOut = null;
private int encType=1;
public void putHeaders(String pkg, String className) throws Exception {
javaOut.println("//Generated by CharTableConverter");
javaOut.println("//!!DO NOT EDIT");
javaOut.println("package "+pkg+";");
javaOut.println();
javaOut.println("import java.util.*;");
javaOut.println();
javaOut.println("/**");
javaOut.println(" * Generated "+className+" Encoding Table.");
javaOut.println(" *");
javaOut.println(" * @author org.freehep.graphics2d.font.CharTableConverter");
javaOut.println(" * @version $Id: CharTableConverter.java 8584 2006-08-10 23:06:37Z duns $");
javaOut.println(" */");
javaOut.println("public class "+className+" extends AbstractCharTable {");
javaOut.println("\tprivate Hashtable unicodeToName = new Hashtable();");
javaOut.println("\tprivate Hashtable nameToUnicode = new Hashtable();");
javaOut.println("\tprivate Hashtable nameToEnc = new Hashtable();");
javaOut.println("\tprivate String[] encToName = new String[256];");
javaOut.println("\tpublic "+className+"() {");
}
public void putMethods(String encoding, String tableName) throws Exception {
/*
javaOut.println("\tpublic String toName(char c){");
javaOut.println("\t\treturn((String)(unicodeToName.get(new Character(c))));");
javaOut.println("\t}");
javaOut.println();
*/
javaOut.println("\tpublic String toName(Character c){");
javaOut.println("\t\treturn((String)unicodeToName.get(c));");
javaOut.println("\t}");
javaOut.println();
javaOut.println("\tpublic String toName(int enc){");
javaOut.println("\t\tif(enc!=0)");
javaOut.println("\t\treturn(encToName[enc]);");
javaOut.println("\t\treturn(null);");
javaOut.println("\t}");
javaOut.println();
/*
javaOut.println("\tpublic String toName(Integer enc){");
javaOut.println("\t\treturn(encToName[enc.intValue()]);");
javaOut.println("\t}");
javaOut.println();
*/
javaOut.println("\tpublic int toEncoding(String name){");
javaOut.println("\t\treturn(((Integer)(nameToEnc.get(name))).intValue());");
javaOut.println("\t}");
javaOut.println();
javaOut.println("\tpublic char toUnicode(String name){");
javaOut.println("\t\treturn(((Character)(nameToUnicode.get(name))).charValue());");
javaOut.println("\t}");
javaOut.println();
javaOut.println("\tpublic String getName(){");
javaOut.println("\treturn(\""+tableName+"\");");
javaOut.println("\t}");
javaOut.println();
javaOut.println("\tpublic String getEncoding(){");
javaOut.println("\t return(\""+encoding+"\");");
javaOut.println("\t}");
javaOut.println();
javaOut.println("}");
javaOut.flush();
javaOut.close();
}
public void openFiles(File in, String outName) throws Exception{
InputStream textIn = new FileInputStream(in);
Reader textFileReader = new InputStreamReader(textIn,"UTF-16");
File out = new File(outName);
out.getParentFile().mkdirs();
Writer javaFileWriter = new FileWriter(out);
textFile = new BufferedReader(textFileReader);
javaOut = new PrintWriter(javaFileWriter);
}
public void convertTxtToHash(String encoding) throws Exception{
String buff = new String();
String charCode = new String();
String charName = new String();
String enc = new String();
String hexformat = new String();
if (encoding.equals("ISO")) encType=5;
if (encoding.equals("PDF")) encType=4;
if (encoding.equals("WIN")) encType=3;
if (encoding.equals("MAC")) encType=2;
if (encoding.equals("STD")) encType=1;
while((buff=textFile.readLine())!=null){
StringTokenizer st = new StringTokenizer(buff,"\u0009\u0020");
if (!st.hasMoreTokens()) continue;
charCode=st.nextToken();
if (charCode.equals("##")) continue;
if (!st.hasMoreTokens()) continue;
charName=st.nextToken();
for (int i=0;i= 0) {
javaOut.print("\t\t\t");
javaOut.println("nameToEnc.put(\""+charName+
"\", new Integer("+encodingInt+"));");
javaOut.print("\t\t\t");
javaOut.println("encToName["+encodingInt+"]=\""+charName+"\";");
}
}
javaOut.println();
javaOut.println("\t\t}");
javaOut.println();
}
public static void main(String args[]) throws Exception {
if ((args.length<3)||(args.length>4)){
System.err.println("Usage: CharTableConverter destdir package txtfile [Encoding type]");
System.exit(0);
}
CharTableConverter converter = new CharTableConverter();
File src = new File(args[2]);
String encoding = (args.length==4) ? args[3] : "";
String tableName = src.getName();
int dot = tableName.indexOf(".");
if (dot >= 0) tableName = tableName.substring(0,dot);
String className = encoding+tableName;
String pkg = args[1];
String destFile = args[0]+File.separator+pkg.replace('.', File.separatorChar)+File.separator+className+".java";
converter.openFiles(src, destFile);
converter.putHeaders(pkg, className);
converter.convertTxtToHash(encoding);
converter.putMethods(encoding, tableName);
}
}
freehep-chartableconverter-plugin-2.0/pom.xml 0000644 0120103 0120103 00000003136 10530410650 022440 0 ustar mascellani mascellani
maven-plugin-pom
org.freehep
5
4.0.0
org.freehep
freehep-chartableconverter-plugin
maven-plugin
FreeHEP Character Table Converter
2.0
Converts 16 bit Unicode text files into lookup tables. These tables are used by the VectorGraphics
package to include and embed fonts in the output formats.
freehep-maven
Maven FreeHEP
http://java.freehep.org/maven2
org.codehaus.plexus
plexus-compiler-api
org.apache.maven
maven-project
org.apache.maven
maven-plugin-api
scm:svn:svn://svn.freehep.org/svn/freehep/tags/freehep-chartableconverter-plugin-2.0
scm:svn:svn://svn.freehep.org/svn/freehep/tags/freehep-chartableconverter-plugin-2.0