From 1c9c25bd5bef114bdc176ee8554fe0cd34183be2 Mon Sep 17 00:00:00 2001 From: Glenn Adams Date: Wed, 9 May 2012 12:20:34 +0000 Subject: [PATCH] Bugzilla #53185: Unify date formatting between FOP and XGC as well as tidying the date format code. Submitted by Robert Meyer. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1336129 13f79535-47bb-0310-9956-ffa450edef68 --- lib/xmlgraphics-commons-1.5svn.jar | Bin 584912 -> 585921 bytes src/java/org/apache/fop/pdf/PDFInfo.java | 55 +++-------------------- status.xml | 3 ++ 3 files changed, 8 insertions(+), 50 deletions(-) diff --git a/lib/xmlgraphics-commons-1.5svn.jar b/lib/xmlgraphics-commons-1.5svn.jar index befea82c105ac8e4216b8029a42a4ed1fdb3e74e..d8c5e0989d04200604df7817be3c4f5150b9a29f 100644 GIT binary patch delta 24416 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 lH_*^qGt6F!y0@mvmSn?csTV>wiWZ2VnpJ delta 23397 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 OhFFG}*hOFw6Z=2*9WiwP diff --git a/src/java/org/apache/fop/pdf/PDFInfo.java b/src/java/org/apache/fop/pdf/PDFInfo.java index d457c2888..2cfcc7d3b 100644 --- a/src/java/org/apache/fop/pdf/PDFInfo.java +++ b/src/java/org/apache/fop/pdf/PDFInfo.java @@ -21,12 +21,11 @@ package org.apache.fop.pdf; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Calendar; import java.util.Date; -import java.util.Locale; import java.util.TimeZone; +import org.apache.xmlgraphics.util.DateFormatUtil; + /** * class representing an /Info object */ @@ -235,58 +234,14 @@ public class PDFInfo extends PDFObject { return bout.toByteArray(); } - /** - * Returns a SimpleDateFormat instance for formatting PDF date-times. - * @return a new SimpleDateFormat instance - */ - protected static SimpleDateFormat getPDFDateFormat() { - SimpleDateFormat df = new SimpleDateFormat("'D:'yyyyMMddHHmmss", Locale.ENGLISH); - df.setTimeZone(TimeZone.getTimeZone("GMT")); - return df; - } - /** * Formats a date/time according to the PDF specification (D:YYYYMMDDHHmmSSOHH'mm'). * @param time date/time value to format * @param tz the time zone * @return the requested String representation */ - protected static String formatDateTime(Date time, TimeZone tz) { - Calendar cal = Calendar.getInstance(tz, Locale.ENGLISH); - cal.setTime(time); - - int offset = cal.get(Calendar.ZONE_OFFSET); - offset += cal.get(Calendar.DST_OFFSET); - - // DateFormat is operating on GMT so adjust for time zone offset - Date dt1 = new Date(time.getTime() + offset); - StringBuffer sb = new StringBuffer(); - sb.append(getPDFDateFormat().format(dt1)); - - offset /= (1000 * 60); // Convert to minutes - - if (offset == 0) { - sb.append('Z'); - } else { - if (offset > 0) { - sb.append('+'); - } else { - sb.append('-'); - } - int offsetHour = Math.abs(offset / 60); - int offsetMinutes = Math.abs(offset % 60); - if (offsetHour < 10) { - sb.append('0'); - } - sb.append(Integer.toString(offsetHour)); - sb.append('\''); - if (offsetMinutes < 10) { - sb.append('0'); - } - sb.append(Integer.toString(offsetMinutes)); - sb.append('\''); - } - return sb.toString(); + protected static String formatDateTime(final Date time, TimeZone tz) { + return DateFormatUtil.formatPDFDate(time, tz); } /** @@ -294,7 +249,7 @@ public class PDFInfo extends PDFObject { * @param time date/time value to format * @return the requested String representation */ - protected static String formatDateTime(Date time) { + protected static String formatDateTime(final Date time) { return formatDateTime(time, TimeZone.getDefault()); } } diff --git a/status.xml b/status.xml index 72fcb6229..07c6b1ab9 100644 --- a/status.xml +++ b/status.xml @@ -63,6 +63,9 @@ documents. Example: the fix of marks layering will be such a case when it's done. --> + + Unify date formatting between FOP and XGC as well as tidying the date format code. + Break before (break-before) not respected on blocks nested in inlines. -- 2.39.5