aboutsummaryrefslogtreecommitdiffstats
path: root/fop-core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'fop-core/src/main')
-rw-r--r--fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java12
-rw-r--r--fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java12
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java6
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java7
-rw-r--r--fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java4
-rw-r--r--fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java3
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java5
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java44
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java3
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java11
-rw-r--r--fop-core/src/main/java/org/apache/fop/pdf/PDFText.java17
-rw-r--r--fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java5
-rw-r--r--fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java3
13 files changed, 60 insertions, 72 deletions
diff --git a/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java b/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
index df25831ea..7550bbabc 100644
--- a/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
+++ b/fop-core/src/main/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
@@ -87,7 +87,7 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
int maxChar;
maxChar = Character.MAX_VALUE;
@@ -189,7 +189,7 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
URI inuri = unidata.resolve("Blocks.txt");
InputStream inis = null;
@@ -199,7 +199,7 @@ public final class UnicodeClasses {
} else if (scheme.equals("http")) {
inis = inuri.toURL().openStream();
}
- InputStreamReader insr = new InputStreamReader(inis, "utf-8");
+ InputStreamReader insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
BufferedReader inbr = new BufferedReader(insr);
Map blocks = new HashMap();
for (String line = inbr.readLine(); line != null; line = inbr.readLine()) {
@@ -221,7 +221,7 @@ public final class UnicodeClasses {
} else if (scheme.equals("http")) {
inis = inuri.toURL().openStream();
}
- insr = new InputStreamReader(inis, "utf-8");
+ insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
inbr = new BufferedReader(insr);
int maxChar;
maxChar = Character.MAX_VALUE;
@@ -306,10 +306,10 @@ public final class UnicodeClasses {
}
f.createNewFile();
FileOutputStream fw = new FileOutputStream(f);
- OutputStreamWriter ow = new OutputStreamWriter(fw, "utf-8");
+ OutputStreamWriter ow = new OutputStreamWriter(fw, StandardCharsets.UTF_8);
FileInputStream inis = new FileInputStream(in);
- InputStreamReader insr = new InputStreamReader(inis, "utf-8");
+ InputStreamReader insr = new InputStreamReader(inis, StandardCharsets.UTF_8);
BufferedReader inbr = new BufferedReader(insr);
ow.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
diff --git a/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java b/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
index b82dbee97..3e56bdd13 100644
--- a/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
+++ b/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java
@@ -19,7 +19,7 @@
package org.apache.fop.datatypes;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
/**
@@ -130,13 +130,9 @@ public final class URISpecification {
//Note: this may not be accurate for some very special cases.
sb.append(ch);
} else {
- try {
- byte[] utf8 = Character.toString(ch).getBytes("UTF-8");
- for (byte anUtf8 : utf8) {
- appendEscape(sb, anUtf8);
- }
- } catch (UnsupportedEncodingException e) {
- throw new Error("Incompatible JVM. UTF-8 not supported.");
+ byte[] utf8 = Character.toString(ch).getBytes(StandardCharsets.UTF_8);
+ for (byte anUtf8 : utf8) {
+ appendEscape(sb, anUtf8);
}
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
index 790e885bc..5e85e926a 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/FontFileReader.java
@@ -21,6 +21,7 @@ package org.apache.fop.fonts.truetype;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
@@ -292,9 +293,8 @@ public class FontFileReader {
byte[] tmp = new byte[len];
System.arraycopy(file, current, tmp, 0, len);
current += len;
- final String encoding;
- encoding = "UTF-16BE"; //Use this for all known encoding IDs for now
- return new String(tmp, encoding);
+ //Use this for all known encoding IDs for now
+ return new String(tmp, StandardCharsets.UTF_16BE);
}
/**
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
index 2ea2ed823..40185abed 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
@@ -24,6 +24,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -203,7 +204,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
writeBytes(cffReader.getHeader());
//Name Index
- writeIndex(Arrays.asList(embedFontName.getBytes("UTF-8")));
+ writeIndex(Arrays.asList(embedFontName.getBytes(StandardCharsets.UTF_8)));
Offsets offsets = new Offsets();
@@ -355,7 +356,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
int sidAStringIndex = stringIndexData.size() + 390;
int sidB = dictEntry.getOperands().get(1).intValue();
if (sidB > 390) {
- stringIndexData.add("Identity".getBytes("UTF-8"));
+ stringIndexData.add("Identity".getBytes(StandardCharsets.UTF_8));
}
int sidBStringIndex = stringIndexData.size() + 390;
byte[] cidEntryByteData = dictEntry.getByteData();
@@ -407,7 +408,7 @@ public class OTFSubSetFile extends OTFSubSetWriter {
if (index < cffReader.getStringIndex().getNumObjects()) {
byte[] value = cffReader.getStringIndex().getValue(index);
if (mbFont != null) {
- mbFont.mapUsedGlyphName(v, new String(value, "UTF-8"));
+ mbFont.mapUsedGlyphName(v, new String(value, StandardCharsets.UTF_8));
}
gidToSID.put(v, stringIndexData.size() + 391);
stringIndexData.add(value);
diff --git a/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java b/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
index d018f5bf2..9bc248331 100644
--- a/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
+++ b/fop-core/src/main/java/org/apache/fop/fonts/truetype/SVGGlyphData.java
@@ -22,6 +22,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -54,7 +55,8 @@ public class SVGGlyphData {
public String getDataURL(int height) {
try {
String modifiedSVG = updateTransform(svg, height);
- return DataURLUtil.createDataURL(new ByteArrayInputStream(modifiedSVG.getBytes("UTF-8")), "image/svg");
+ return DataURLUtil.createDataURL(
+ new ByteArrayInputStream(modifiedSVG.getBytes(StandardCharsets.UTF_8)), "image/svg");
} catch (IOException | TransformerException | SAXException | ParserConfigurationException e) {
throw new RuntimeException(e);
}
diff --git a/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java b/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
index 6bf3391e6..4a8a30086 100644
--- a/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
+++ b/fop-core/src/main/java/org/apache/fop/hyphenation/PatternParser.java
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.MalformedURLException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import javax.xml.parsers.SAXParserFactory;
@@ -489,7 +490,7 @@ public class PatternParser extends DefaultHandler implements PatternConsumer {
PrintStream p = null;
if (args.length > 1) {
FileOutputStream f = new FileOutputStream(args[1]);
- p = new PrintStream(f, false, "utf-8");
+ p = new PrintStream(f, false, StandardCharsets.UTF_8.name());
pp.setTestOut(p);
}
pp.parse(args[0]);
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
index 7ebb0ffd6..c2080f0d0 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFDocument.java
@@ -23,6 +23,7 @@ package org.apache.fop.pdf;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
@@ -847,13 +848,13 @@ public class PDFDocument {
}
try {
MessageDigest md = MessageDigest.getInstance("MD5");
- byte[] thedigest = md.digest(key.getBytes("UTF-8"));
+ byte[] thedigest = md.digest(key.getBytes(StandardCharsets.UTF_8));
StringBuilder hex = new StringBuilder();
for (byte b : thedigest) {
hex.append(String.format("%02x", b));
}
return hex.toString();
- } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ } catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
index edebbb23a..7517646e5 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFEncryptionJCE.java
@@ -21,7 +21,7 @@ package org.apache.fop.pdf;
import java.io.IOException;
import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.MessageDigest;
@@ -332,19 +332,15 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption {
protected byte[] preparePassword(String password) {
int finalLength = 32;
byte[] preparedPassword = new byte[finalLength];
- try {
- byte[] passwordBytes = password.getBytes("UTF-8");
- if (passwordBytes.length >= finalLength) {
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, finalLength);
- } else {
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
- System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
- - passwordBytes.length);
- }
- return preparedPassword;
- } catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException(e);
+ byte[] passwordBytes = password.getBytes(StandardCharsets.UTF_8);
+ if (passwordBytes.length >= finalLength) {
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, finalLength);
+ } else {
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
+ System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
+ - passwordBytes.length);
}
+ return preparedPassword;
}
void run() {
@@ -548,20 +544,16 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption {
protected byte[] preparePassword(String password) {
byte[] passwordBytes;
byte[] preparedPassword;
- try {
- // the password needs to be normalized first but we are bypassing that step for now
- passwordBytes = password.getBytes("UTF-8");
- if (passwordBytes.length > 127) {
- preparedPassword = new byte[127];
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, 127);
- } else {
- preparedPassword = new byte[passwordBytes.length];
- System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
- }
- return preparedPassword;
- } catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException(e.getMessage());
+ // the password needs to be normalized first but we are bypassing that step for now
+ passwordBytes = password.getBytes(StandardCharsets.UTF_8);
+ if (passwordBytes.length > 127) {
+ preparedPassword = new byte[127];
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, 127);
+ } else {
+ preparedPassword = new byte[passwordBytes.length];
+ System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
}
+ return preparedPassword;
}
/**
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
index f071c6250..dc294b307 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFLinearization.java
@@ -21,6 +21,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -312,7 +313,7 @@ public class PDFLinearization {
private static void writePadding(int padding, OutputStream stream) throws IOException {
for (int i = 0; i < padding; i++) {
- stream.write(" ".getBytes("UTF-8"));
+ stream.write(" ".getBytes(StandardCharsets.UTF_8));
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
index f5384be53..bdcc07bc0 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFSignature.java
@@ -25,6 +25,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.PrivateKey;
@@ -208,8 +209,8 @@ public class PDFSignature {
.replace("\0", " ");
try (OutputStream editedPDF = getTempOS()) {
IOUtils.copyLarge(pdfIS, editedPDF, 0, startOfContents);
- editedPDF.write(byteRange.getBytes("UTF-8"));
- editedPDF.write(byteRangePadding.getBytes("UTF-8"));
+ editedPDF.write(byteRange.getBytes(StandardCharsets.UTF_8));
+ editedPDF.write(byteRangePadding.getBytes(StandardCharsets.UTF_8));
IOUtils.copyLarge(pdfIS, editedPDF, offsetToPDFEnd - startOfContents, Long.MAX_VALUE);
}
pdfIS.reset();
@@ -219,10 +220,10 @@ public class PDFSignature {
String signedHexPadding = new String(new char[SIZE_OF_CONTENTS - (signed.length * 2)])
.replace("\0", "0");
String signedHex = "<" + PDFText.toHex(signed, false) + signedHexPadding + ">";
- os.write(signedHex.getBytes("UTF-8"));
+ os.write(signedHex.getBytes(StandardCharsets.UTF_8));
}
- os.write(byteRange.getBytes("UTF-8"));
- os.write(byteRangePadding.getBytes("UTF-8"));
+ os.write(byteRange.getBytes(StandardCharsets.UTF_8));
+ os.write(byteRangePadding.getBytes(StandardCharsets.UTF_8));
IOUtils.copyLarge(pdfIS, os, offsetToPDFEnd - startOfContents, Long.MAX_VALUE);
}
}
diff --git a/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java b/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
index 749bf5a30..d088f355f 100644
--- a/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
+++ b/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java
@@ -21,6 +21,7 @@ package org.apache.fop.pdf;
import java.io.ByteArrayOutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.Locale;
import org.apache.fop.util.CharUtilities;
@@ -99,12 +100,7 @@ public class PDFText extends PDFObject {
}
if (hexMode) {
- final byte[] uniBytes;
- try {
- uniBytes = text.getBytes("UTF-16");
- } catch (java.io.UnsupportedEncodingException uee) {
- throw new RuntimeException("Incompatible VM", uee);
- }
+ final byte[] uniBytes = text.getBytes(StandardCharsets.UTF_16);
return toHex(uniBytes);
} else {
final StringBuffer result = new StringBuffer(text.length() * 2);
@@ -192,13 +188,8 @@ public class PDFText extends PDFObject {
*/
public static final String toUnicodeHex(char c) {
final StringBuffer buf = new StringBuffer(4);
- final byte[] uniBytes;
- try {
- final char[] a = {c};
- uniBytes = new String(a).getBytes("UTF-16BE");
- } catch (java.io.UnsupportedEncodingException uee) {
- throw new RuntimeException("Incompatible VM", uee);
- }
+ final char[] a = {c};
+ final byte[] uniBytes = new String(a).getBytes(StandardCharsets.UTF_16BE);
for (byte uniByte : uniBytes) {
buf.append(DIGITS[(uniByte >>> 4) & 0x0F]);
diff --git a/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java b/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
index 44a237b34..85639e29c 100644
--- a/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
+++ b/fop-core/src/main/java/org/apache/fop/render/txt/TXTStream.java
@@ -21,13 +21,14 @@ package org.apache.fop.render.txt;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
/**
* Helper class for text streams.
*/
public class TXTStream {
- private static final String DEFAULT_ENCODING = "UTF-8";
+ private static final String DEFAULT_ENCODING = StandardCharsets.UTF_8.name();
private OutputStream out;
private boolean doOutput = true;
@@ -68,7 +69,7 @@ public class TXTStream {
/**
* Set the encoding for the text stream.
- * @param encoding the encoding, if null, "UTF-8" is chosen as default
+ * @param encoding the encoding, if null, StandardCharsets.UTF_8 is chosen as default
*/
public void setEncoding(String encoding) {
if (encoding != null) {
diff --git a/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java b/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
index 76128d42b..a8afffc06 100644
--- a/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
+++ b/fop-core/src/main/java/org/apache/fop/render/txt/TxtRendererConfig.java
@@ -19,6 +19,7 @@
package org.apache.fop.render.txt;
+import java.nio.charset.StandardCharsets;
import java.util.EnumMap;
import org.apache.fop.apps.FOPException;
@@ -37,7 +38,7 @@ import org.apache.fop.render.RendererConfigOption;
public final class TxtRendererConfig implements RendererConfig {
public enum TxtRendererOption implements RendererConfigOption {
- ENCODING("encoding", "UTF-8");
+ ENCODING("encoding", StandardCharsets.UTF_8.name());
private final String name;
private final Object defaultValue;