freehep-chartableconverter-plugin-2.0/0000755012010301201030000000000011272642010021121 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/0000755012010301201030000000000011272642010021710 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/site/0000755012010301201030000000000011272642010022654 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/site/apt/0000755012010301201030000000000011272642010023440 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/site/apt/usage.apt0000644012010301201030000000164610501606165025266 0ustar mascellanimascellani --- 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.xml0000644012010301201030000000221710501606165024351 0ustar mascellanimascellani 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/0000755012010301201030000000000011272642010022634 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/0000755012010301201030000000000011272642010023555 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/org/0000755012010301201030000000000011272642010024344 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/0000755012010301201030000000000011272642010025762 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/0000755012010301201030000000000011272642010030010 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/0000755012010301201030000000000011272642010030756 5ustar mascellanimascellanifreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/0000755012010301201030000000000011272642010032544 5ustar mascellanimascellani././@LongLink0000000000000000000000000000016500000000000011567 Lustar rootrootfreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableConverterMojo.javafreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableCo0000644012010301201030000000536510466735775034640 0ustar mascellanimascellani// 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()]); } }././@LongLink0000000000000000000000000000016100000000000011563 Lustar rootrootfreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableConverter.javafreehep-chartableconverter-plugin-2.0/src/main/java/org/freehep/graphics2d/font/encoding/CharTableCo0000644012010301201030000001500210466735775034625 0ustar mascellanimascellani// 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.xml0000644012010301201030000000313610530410650022440 0ustar mascellanimascellani 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