[FOray-commit] SF.net SVN: foray:[10793] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2009-04-29 00:23:01
|
Revision: 10793
http://foray.svn.sourceforge.net/foray/?rev=10793&view=rev
Author: victormote
Date: 2009-04-29 00:22:59 +0000 (Wed, 29 Apr 2009)
Log Message:
-----------
1. Conform to new aXSL requirements for PsServer.
2. Use new aXSL enum of predefined encoding vectors to eliminate a dependency on FOrayPS.
Modified Paths:
--------------
trunk/foray/foray-font/src/java/org/foray/font/format/TTFTablePOST.java
trunk/foray/foray-ps/src/java/org/foray/ps/PsServer4a.java
trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingMacStandard.java
trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingVector4a.java
Modified: trunk/foray/foray-font/src/java/org/foray/font/format/TTFTablePOST.java
===================================================================
--- trunk/foray/foray-font/src/java/org/foray/font/format/TTFTablePOST.java 2009-04-27 17:58:11 UTC (rev 10792)
+++ trunk/foray/foray-font/src/java/org/foray/font/format/TTFTablePOST.java 2009-04-29 00:22:59 UTC (rev 10793)
@@ -29,8 +29,11 @@
package org.foray.font.format;
import org.foray.common.RandomReader;
-import org.foray.ps.encode.EncodingVector4a;
+import org.axsl.ps.Encoding;
+import org.axsl.ps.EncodingVector;
+import org.axsl.ps.PsServer;
+
import java.io.IOException;
/**
@@ -204,20 +207,19 @@
/**
* Returns the parsed PostScript name for a given glyph index.
+ * @param psServer The PostScript server.
* @param glyphIndex The glyph index whose PostScript name is sought.
* @return The PostScript name for <code>glyphIndex</code>.
*/
- public String getPostScriptName(final char glyphIndex) {
- final EncodingVector4a macOrdering = EncodingVector4a.getPredefinedEncoding(
- EncodingVector4a.STANDARD_MACINTOSH_ORDERING);
- int codePoint;
+ public String getPostScriptName(final PsServer psServer, final char glyphIndex) {
+ final EncodingVector macOrdering = psServer.getPredefinedEncoding(
+ EncodingVector.Predefined.STANDARD_MACINTOSH_ORDERING);
+ final int codePoint = macOrdering.decodeCharacter(glyphIndex);
switch (this.postFormat) {
case TTFTablePOST.PS_FORMAT_1:
- codePoint = macOrdering.decodeCharacter(glyphIndex);
return macOrdering.mapCodePointToGlyphName(codePoint);
case TTFTablePOST.PS_FORMAT_2:
- if (glyphIndex < macOrdering.size()) {
- codePoint = macOrdering.decodeCharacter(glyphIndex);
+ if (codePoint != Encoding.INVALID_UNICODE_CHAR) {
return macOrdering.mapCodePointToGlyphName(codePoint);
}
if (this.glyphNameIndex == null
Modified: trunk/foray/foray-ps/src/java/org/foray/ps/PsServer4a.java
===================================================================
--- trunk/foray/foray-ps/src/java/org/foray/ps/PsServer4a.java 2009-04-27 17:58:11 UTC (rev 10792)
+++ trunk/foray/foray-ps/src/java/org/foray/ps/PsServer4a.java 2009-04-29 00:22:59 UTC (rev 10793)
@@ -184,4 +184,11 @@
return org.foray.ps.encode.EncodingVector4a.getPredefinedEncoding(name);
}
+ /**
+ * {@inheritDoc}
+ */
+ public EncodingVector getPredefinedEncoding(final EncodingVector.Predefined predefinedVector) {
+ return org.foray.ps.encode.EncodingVector4a.getPredefinedEncoding(predefinedVector);
+ }
+
}
Modified: trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingMacStandard.java
===================================================================
--- trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingMacStandard.java 2009-04-27 17:58:11 UTC (rev 10792)
+++ trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingMacStandard.java 2009-04-29 00:22:59 UTC (rev 10793)
@@ -28,6 +28,9 @@
package org.foray.ps.encode;
+import org.axsl.ps.EncodingVector;
+
+import java.io.ObjectStreamException;
import java.io.Serializable;
@@ -1117,9 +1120,8 @@
* {@link #getInstance()}.
*/
private EncodingMacStandard() {
- super(STANDARD_MACINTOSH_ORDERING, GlyphList.standardSourceGlyphLists(),
- EncodingMacStandard.CODE_POINTS,
- EncodingMacStandard.CODE_POINT_INDEXES);
+ super(EncodingVector.Predefined.STANDARD_MACINTOSH_ORDERING.getName(), GlyphList.standardSourceGlyphLists(),
+ EncodingMacStandard.CODE_POINTS, EncodingMacStandard.CODE_POINT_INDEXES);
}
/**
Modified: trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingVector4a.java
===================================================================
--- trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingVector4a.java 2009-04-27 17:58:11 UTC (rev 10792)
+++ trunk/foray/foray-ps/src/java/org/foray/ps/encode/EncodingVector4a.java 2009-04-29 00:22:59 UTC (rev 10793)
@@ -28,6 +28,8 @@
package org.foray.ps.encode;
+import org.axsl.ps.EncodingVector;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
@@ -83,16 +85,11 @@
* the first array.
* Methods are provided to encode and decode characters.</p>
*/
-public abstract class EncodingVector4a extends Encoding4a
- implements org.axsl.ps.EncodingVector, Serializable {
+public abstract class EncodingVector4a extends Encoding4a implements EncodingVector, Serializable {
/** The name of the undefined glyph. */
public static final String NOTDEF = ".notdef";
- /** The name of the "Standard Macintosh Ordering" encoding. */
- public static final String STANDARD_MACINTOSH_ORDERING
- = "MacStandardEncoding";
-
/** Constant needed for serialization. */
private static final long serialVersionUID = 6967489975814026068L;
@@ -150,56 +147,95 @@
}
/**
- * This is a factory method that either finds or creates one of the
- * predefined encodings.
+ * This is a factory method that either finds or creates one of the predefined encodings.
* @param name The name of the predefined encoding to be returned.
- * @return The predefined encoding if it can be found or created, or null
- * otherwise.
+ * @return The predefined encoding if it can be found or created, or null otherwise.
*/
public static EncodingVector4a getPredefinedEncoding(final String name) {
- // If already instantiated, return it.
+ /* If already instantiated, return it. */
EncodingVector4a encoding = EncodingVector4a.predefinedEncodings.get(name);
if (encoding != null) {
return encoding;
}
- // Otherwise, try to instantiate it.
- if (name.equals("AdobeStandardEncoding")
- || name.equals("StandardEncoding")) {
+ /* Otherwise, try to instantiate it. */
+ final EncodingVector.Predefined predefined = EncodingVector.Predefined.findByName(name);
+ encoding = getPredefinedEncoding(predefined);
+
+ if (name.equals("FOrayLatinExtraEncoding")) {
+ encoding = EncodingFOrayLatinExtra.getInstance();
+ } else if (name.equals("InternalEncoding")) {
+ /* The statement below is a bit redundant, but is included to
+ * document the fact that "InternalEncoding" is reserved to
+ * indicate that the Font's internal encoding should be used. */
+ encoding = null;
+ }
+ if (encoding == null) {
+ return null;
+ }
+ EncodingVector4a.predefinedEncodings.put(name, encoding);
+ return encoding;
+ }
+
+ /**
+ * This is a factory method that either finds or creates one of the predefined encodings.
+ * @param predefined The enumerated predefined encoding to be returned.
+ * @return The predefined encoding if it can be found or created, or null otherwise.
+ */
+ public static EncodingVector4a getPredefinedEncoding(final EncodingVector.Predefined predefined) {
+ if (predefined == null) {
+ return null;
+ }
+ EncodingVector4a encoding = null;
+ switch (predefined) {
+ case STANDARD: {
encoding = EncodingStandard.getInstance();
- } else if (name.equals("ISOLatin1Encoding")) {
+ break;
+ }
+ case ISO_LATIN_1: {
encoding = EncodingISOLatin1.getInstance();
- } else if (name.equals("WinAnsiEncoding")) {
+ break;
+ }
+ case WIN_ANSI: {
encoding = EncodingWinAnsi.getInstance();
- } else if (name.equals("SymbolEncoding")) {
+ break;
+ }
+ case SYMBOL: {
encoding = EncodingSymbol.getInstance();
- } else if (name.equals("ZapfDingbatsEncoding")) {
+ break;
+ }
+ case ZAPF_DINGBATS: {
encoding = EncodingZapfDingbats.getInstance();
- } else if (name.equals("CEEncoding")) {
+ break;
+ }
+ case CE: {
encoding = EncodingCE.getInstance();
- } else if (name.equals("MacRomanEncoding")) {
+ break;
+ }
+ case MAC_ROMAN: {
encoding = EncodingMacRoman.getInstance();
- } else if (name.equals("PDFDocEncoding")) {
+ break;
+ }
+ case PDF_DOC: {
encoding = EncodingPDFDoc.getInstance();
- } else if (name.equals("MacExpertEncoding")) {
+ break;
+ }
+ case MAC_EXPERT: {
encoding = EncodingMacExpert.getInstance();
- } else if (name.equals("ExpertEncoding")) {
+ break;
+ }
+ case EXPERT: {
encoding = EncodingExpert.getInstance();
- } else if (name.equals("ExpertSubsetEncoding")) {
+ break;
+ }
+ case EXPERT_SUBSET: {
encoding = EncodingExpertSubset.getInstance();
- } else if (name.equals(EncodingVector4a.STANDARD_MACINTOSH_ORDERING)) {
+ break;
+ }
+ case STANDARD_MACINTOSH_ORDERING: {
encoding = EncodingMacStandard.getInstance();
- } else if (name.equals("FOrayLatinExtraEncoding")) {
- encoding = EncodingFOrayLatinExtra.getInstance();
- } else if (name.equals("InternalEncoding")) {
- /* The statement below is a bit redundant, but is included to
- * document the fact that "InternalEncoding" is reserved to
- * indicate that the Font's internal encoding should be used. */
- encoding = null;
+ break;
}
- if (encoding == null) {
- return null;
}
- EncodingVector4a.predefinedEncodings.put(name, encoding);
return encoding;
}
@@ -375,11 +411,7 @@
}
/**
- * Finds the glyph name that corresponds to a given Unicode code point.
- * @param codePoint The Unicode code point for which the glyph name is
- * desired.
- * @return The glyph name, or null if none is found in this encoding's
- * glyph lists.
+ * {@inheritDoc}
*/
public String mapCodePointToGlyphName(final int codePoint) {
if (this.sourceGlyphLists == null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|