You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ac...@apache.org on 2007/10/27 03:07:50 UTC

svn commit: r588858 - in /xmlgraphics/fop/trunk/src/java/org/apache/fop: fonts/FontLoader.java fonts/autodetect/FontFileFinder.java fonts/autodetect/FontFinder.java fonts/autodetect/FontInfoFinder.java render/PrintRendererConfigurator.java

Author: acumiskey
Date: Fri Oct 26 18:07:49 2007
New Revision: 588858

URL: http://svn.apache.org/viewvc?rev=588858&view=rev
Log:
Applied [PATCH] 42982 - Support Fonts in JAR files

Nice work Max, I look forward to you joining us soon :)

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/FontLoader.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFileFinder.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFinder.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/FontLoader.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/FontLoader.java?rev=588858&r1=588857&r2=588858&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/FontLoader.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/FontLoader.java Fri Oct 26 18:07:49 2007
@@ -1,185 +1,198 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.fonts;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fonts.truetype.TTFFontLoader;
-import org.apache.fop.fonts.type1.Type1FontLoader;
-
-/**
- * Base class for font loaders.
- */
-public abstract class FontLoader {
-
-    /**
-     * logging instance
-     */
-    protected static Log log = LogFactory.getLog(FontLoader.class);
-
-    /** URI representing the font file */
-    protected String fontFileURI = null;
-    /** the InputStream to load the font from */
-    protected InputStream in = null;
-    /** the FontResolver to use for font URI resolution */
-    protected FontResolver resolver = null;
-    /** the loaded font */
-    protected CustomFont returnFont = null;
-
-    /** true if the font has been loaded */
-    protected boolean loaded = false;
-
-    /**
-     * Default constructor.
-     * @param fontFileURI the URI to the PFB file of a Type 1 font
-     * @param in the InputStream reading the PFM file of a Type 1 font
-     * @param resolver the font resolver used to resolve URIs
-     */
-    public FontLoader(String fontFileURI, InputStream in, FontResolver resolver) {
-        this.fontFileURI = fontFileURI;
-        this.in = in;
-        this.resolver = resolver;
-    }
-
-    private static boolean isType1(String fontURI) {
-        return fontURI.toLowerCase().endsWith(".pfb");
-    }
-
-    /**
-     * Loads a custom font from a File. In the case of Type 1 fonts, the PFB file must be specified.
-     * @param fontFile the File representation of the font
-     * @param resolver the font resolver to use when resolving URIs
-     * @return the newly loaded font
-     * @throws IOException In case of an I/O error
-     */
-    public static CustomFont loadFont(File fontFile, FontResolver resolver)
-                throws IOException {
-        return loadFont(fontFile.getAbsolutePath(), resolver);
-    }
-        
-    /**
-     * Loads a custom font from a URI. In the case of Type 1 fonts, the PFB file must be specified.
-     * @param fontFileURI the URI to the font
-     * @param resolver the font resolver to use when resolving URIs
-     * @return the newly loaded font
-     * @throws IOException In case of an I/O error
-     */
-    public static CustomFont loadFont(String fontFileURI, FontResolver resolver)
-                throws IOException {
-        fontFileURI = fontFileURI.trim();
-        String effURI;
-        boolean type1 = isType1(fontFileURI);
-        if (type1) {
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.fop.fonts.truetype.TTFFontLoader;
+import org.apache.fop.fonts.type1.Type1FontLoader;
+
+/**
+ * Base class for font loaders.
+ */
+public abstract class FontLoader {
+
+    /**
+     * logging instance
+     */
+    protected static Log log = LogFactory.getLog(FontLoader.class);
+
+    /** URI representing the font file */
+    protected String fontFileURI = null;
+    /** the InputStream to load the font from */
+    protected InputStream in = null;
+    /** the FontResolver to use for font URI resolution */
+    protected FontResolver resolver = null;
+    /** the loaded font */
+    protected CustomFont returnFont = null;
+
+    /** true if the font has been loaded */
+    protected boolean loaded = false;
+
+    /**
+     * Default constructor.
+     * @param fontFileURI the URI to the PFB file of a Type 1 font
+     * @param in the InputStream reading the PFM file of a Type 1 font
+     * @param resolver the font resolver used to resolve URIs
+     */
+    public FontLoader(String fontFileURI, InputStream in, FontResolver resolver) {
+        this.fontFileURI = fontFileURI;
+        this.in = in;
+        this.resolver = resolver;
+    }
+
+    private static boolean isType1(String fontURI) {
+        return fontURI.toLowerCase().endsWith(".pfb");
+    }
+
+    /**
+     * Loads a custom font from a File. In the case of Type 1 fonts, the PFB file must be specified.
+     * @param fontFile the File representation of the font
+     * @param resolver the font resolver to use when resolving URIs
+     * @return the newly loaded font
+     * @throws IOException In case of an I/O error
+     */
+    public static CustomFont loadFont(File fontFile, FontResolver resolver)
+                throws IOException {
+        return loadFont(fontFile.getAbsolutePath(), resolver);
+    }
+
+    /**
+     * Loads a custom font from an URL. In the case of Type 1 fonts, the PFB file must be specified.
+     * @param fontUrl the URL representation of the font
+     * @param resolver the font resolver to use when resolving URIs
+     * @return the newly loaded font
+     * @throws IOException In case of an I/O error
+     */
+    public static CustomFont loadFont(URL fontUrl, FontResolver resolver)
+                throws IOException {
+        return loadFont(fontUrl.toExternalForm(), resolver);
+    }
+    
+    
+    /**
+     * Loads a custom font from a URI. In the case of Type 1 fonts, the PFB file must be specified.
+     * @param fontFileURI the URI to the font
+     * @param resolver the font resolver to use when resolving URIs
+     * @return the newly loaded font
+     * @throws IOException In case of an I/O error
+     */
+    public static CustomFont loadFont(String fontFileURI, FontResolver resolver)
+                throws IOException {
+        fontFileURI = fontFileURI.trim();
+        String effURI;
+        boolean type1 = isType1(fontFileURI);
+        if (type1) {
             effURI = fontFileURI.substring(0, fontFileURI.length() - 4) + ".pfm";
-        } else {
-            effURI = fontFileURI;
-        }
-        if (log.isDebugEnabled()) {
-            log.debug("opening " + effURI);
-        }
-        InputStream in = openFontFile(resolver, effURI);
-        return loadFontFromInputStream(fontFileURI, resolver, type1, in);
-    }
-
-    /**
-     * Loads and returns a font given an input stream.
-     * @param fontFileURI font file uri
-     * @param resolver font resolver
-     * @param isType1 is it a type1 font?
-     * @param in input stream
-     * @return the loaded font.
-     * @throws IOException In case of an I/O error
-     */
-    protected static CustomFont loadFontFromInputStream(
-            String fontFileURI, FontResolver resolver, boolean isType1,
-            InputStream in)
-                throws IOException {
-        FontLoader loader;
-        try {
-            if (isType1) {
-                loader = new Type1FontLoader(fontFileURI, in, resolver);
-            } else {
-                loader = new TTFFontLoader(fontFileURI, in, resolver);
-            }
-            return loader.getFont();
-        } finally {
-            IOUtils.closeQuietly(in);
-        }
-    }
-
-    /**
-     * Opens a font file and returns an input stream.
-     * @param resolver the FontResolver to use for font URI resolution
-     * @param uri the URI representing the font
-     * @return the InputStream to read the font from.
-     * @throws IOException In case of an I/O error
-     * @throws MalformedURLException If an invalid URL is built
-     */
-    private static InputStream openFontFile(FontResolver resolver, String uri) 
-                    throws IOException, MalformedURLException {
-        InputStream in = null;
-        if (resolver != null) {
-            Source source = resolver.resolve(uri);
-            if (source == null) {
-                String err = "Cannot load font: failed to create Source for font file " 
-                    + uri; 
-                throw new IOException(err);
-            }
-            if (source instanceof StreamSource) {
-                in = ((StreamSource) source).getInputStream();
-            }
-            if (in == null && source.getSystemId() != null) {
-                in = new java.net.URL(source.getSystemId()).openStream();
-            }
-            if (in == null) {
-                String err = "Cannot load font: failed to create InputStream from"
-                    + " Source for font file " + uri; 
-                throw new IOException(err);
-            }
-        } else {
-            in = new URL(uri).openStream();
-        }
-        return in;
-    }
-        
-    /**
-     * Reads/parses the font data.
-     * @throws IOException In case of an I/O error
-     */
-    protected abstract void read() throws IOException;
-
-    /** @see FontLoader#getFont() */
-    public CustomFont getFont() throws IOException {
-        if (!loaded) {
-            read();
-        }
-        return this.returnFont;
-    }
-}
+        } else {
+            effURI = fontFileURI;
+        }
+        if (log.isDebugEnabled()) {
+            log.debug("opening " + effURI);
+        }
+        InputStream in = openFontFile(resolver, effURI);
+        return loadFontFromInputStream(fontFileURI, resolver, type1, in);
+    }
+
+    /**
+     * Loads and returns a font given an input stream.
+     * @param fontFileURI font file uri
+     * @param resolver font resolver
+     * @param isType1 is it a type1 font?
+     * @param in input stream
+     * @return the loaded font.
+     * @throws IOException In case of an I/O error
+     */
+    protected static CustomFont loadFontFromInputStream(
+            String fontFileURI, FontResolver resolver, boolean isType1,
+            InputStream in)
+                throws IOException {
+        FontLoader loader;
+        try {
+            if (isType1) {
+                loader = new Type1FontLoader(fontFileURI, in, resolver);
+            } else {
+                loader = new TTFFontLoader(fontFileURI, in, resolver);
+            }
+            return loader.getFont();
+        } finally {
+            IOUtils.closeQuietly(in);
+        }
+    }
+
+    /**
+     * Opens a font file and returns an input stream.
+     * @param resolver the FontResolver to use for font URI resolution
+     * @param uri the URI representing the font
+     * @return the InputStream to read the font from.
+     * @throws IOException In case of an I/O error
+     * @throws MalformedURLException If an invalid URL is built
+     */
+    private static InputStream openFontFile(FontResolver resolver, String uri) 
+                    throws IOException, MalformedURLException {
+        InputStream in = null;
+        if (resolver != null) {
+            Source source = resolver.resolve(uri);
+            if (source == null) {
+                String err = "Cannot load font: failed to create Source for font file " 
+                    + uri; 
+                throw new IOException(err);
+            }
+            if (source instanceof StreamSource) {
+                in = ((StreamSource) source).getInputStream();
+            }
+            if (in == null && source.getSystemId() != null) {
+                in = new java.net.URL(source.getSystemId()).openStream();
+            }
+            if (in == null) {
+                String err = "Cannot load font: failed to create InputStream from"
+                    + " Source for font file " + uri; 
+                throw new IOException(err);
+            }
+        } else {
+            in = new URL(uri).openStream();
+        }
+        return in;
+    }
+        
+    /**
+     * Reads/parses the font data.
+     * @throws IOException In case of an I/O error
+     */
+    protected abstract void read() throws IOException;
+
+    /** @see FontLoader#getFont() */
+    public CustomFont getFont() throws IOException {
+        if (!loaded) {
+            read();
+        }
+        return this.returnFont;
+    }
+}

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFileFinder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFileFinder.java?rev=588858&r1=588857&r2=588858&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFileFinder.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFileFinder.java Fri Oct 26 18:07:49 2007
@@ -21,6 +21,8 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -99,13 +101,18 @@
      * {@inheritDoc} 
      */
     protected void handleFile(File file, int depth, Collection results) {
-        results.add(file);
+        try {
+            // Looks Strange, but is actually recommended over just .URL()
+            results.add(file.toURI().toURL());
+        } catch (MalformedURLException e) {
+            log.debug("MalformedURLException" + e.getMessage());
+        }
     }
       
     /**
      * @param directory the directory being processed
      * @param depth the current directory level
-     * @param results the colleciton of results objects
+     * @param results the collection of results objects
      * {@inheritDoc}
      */
     protected void handleDirectoryEnd(File directory, int depth, Collection results) {
@@ -118,7 +125,7 @@
     /**
      * Automagically finds a list of font files on local system
      * 
-     * @return list of font files
+     * @return List<URL> of font files
      * @throws IOException io exception
      * {@inheritDoc}
      */
@@ -137,7 +144,8 @@
         List fontDirs = fontDirFinder.find();
         List results = new java.util.ArrayList();
         for (Iterator iter = fontDirs.iterator(); iter.hasNext();) {
-            super.walk((File)iter.next(), results);
+            final File dir = (File)iter.next();
+            super.walk(dir, results);
         }
         return results;
     }

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFinder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFinder.java?rev=588858&r1=588857&r2=588858&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFinder.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontFinder.java Fri Oct 26 18:07:49 2007
@@ -30,8 +30,12 @@
     
     /**
      * Finds a list of font files.
-     * @return list of font files
-     * @throws IOException In case of an I/O problem
+     * 
+     * @return list of font files. List<URL> in the case of the
+     *         FontFinder, and List<File> in the case of the
+     *         FonrDirFinders.
+     * @throws IOException
+     *             In case of an I/O problem
      */
     List find() throws IOException;
     

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java?rev=588858&r1=588857&r2=588858&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java Fri Oct 26 18:07:49 2007
@@ -20,7 +20,9 @@
 package org.apache.fop.fonts.autodetect;
 
 import java.io.File;
+import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.List;
 
 import org.apache.commons.logging.Log;
@@ -90,22 +92,18 @@
     
     /**
      * Attempts to determine FontInfo from a given custom font
-     * @param fontFile the font file
+     * @param fontUrl the font URL
      * @param customFont the custom font
      * @param fontCache font cache (may be null)
      * @return
      */
     private EmbedFontInfo fontInfoFromCustomFont(
-            File fontFile, CustomFont customFont, FontCache fontCache) {
+            URL fontUrl, CustomFont customFont, FontCache fontCache) {
         FontTriplet fontTriplet = tripletFromFont(customFont);
         List fontTripletList = new java.util.ArrayList();
         fontTripletList.add(fontTriplet);
         String embedUrl;
-        try {
-            embedUrl = fontFile.toURL().toExternalForm();
-        } catch (MalformedURLException e) {
-            embedUrl = fontFile.getAbsolutePath();
-        }
+        embedUrl = fontUrl.toExternalForm();
         EmbedFontInfo fontInfo = new EmbedFontInfo(null, customFont.isKerningEnabled(),
                 fontTripletList, embedUrl);
         if (fontCache != null) {
@@ -117,23 +115,24 @@
     /**
      * Attempts to determine EmbedFontInfo from a given font file.
      * 
-     * @param fontFile font file
+     * @param fontUrl font URL. Assumed to be local.
      * @param resolver font resolver used to resolve font
      * @param fontCache font cache (may be null)
      * @return newly created embed font info
      */
-    public EmbedFontInfo find(File fontFile, FontResolver resolver, FontCache fontCache) {
+    public EmbedFontInfo find(URL fontUrl, FontResolver resolver, FontCache fontCache) {
         String embedUrl = null;
-        try {
-            embedUrl = fontFile.toURL().toExternalForm();
-        } catch (MalformedURLException mfue) {
-            // should never happen
-            log.error("Failed to convert '" + fontFile + "' to URL: " + mfue.getMessage() );
-        }
+        embedUrl = fontUrl.toExternalForm();
         
         long fileLastModified = -1;
         if (fontCache != null) {
-            fileLastModified = fontFile.lastModified();
+            try {
+                fileLastModified = fontUrl.openConnection().getLastModified();
+            } catch (IOException e) {
+                // Should never happen, because URL must be local
+                log.debug("IOError: " + e.getMessage());
+                fileLastModified = 0;
+            }
             // firstly try and fetch it from cache before loading/parsing the font file
             if (fontCache.containsFont(embedUrl)) {
                 CachedFontInfo fontInfo = fontCache.getFont(embedUrl);
@@ -155,7 +154,7 @@
         // try to determine triplet information from font file
         CustomFont customFont = null;
         try {
-            customFont = FontLoader.loadFont(fontFile, resolver);
+            customFont = FontLoader.loadFont(fontUrl, resolver);
         } catch (Exception e) {
             //TODO Too verbose (it's an error but we don't care if some fonts can't be loaded)
             if (log.isErrorEnabled()) {
@@ -166,6 +165,6 @@
             }
             return null;
         }
-        return fontInfoFromCustomFont(fontFile, customFont, fontCache);     
+        return fontInfoFromCustomFont(fontUrl, customFont, fontCache);     
     }
 }

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java?rev=588858&r1=588857&r2=588858&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java Fri Oct 26 18:07:49 2007
@@ -21,6 +21,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Iterator;
 import java.util.List;
@@ -212,10 +213,10 @@
     private static void addFontInfoListFromFileList(
             List fontFileList, List fontInfoList, FontResolver resolver, FontCache fontCache) {
         for (Iterator iter = fontFileList.iterator(); iter.hasNext();) {
-            File fontFile = (File)iter.next();
+            URL fontUrl = (URL)iter.next();
             // parse font to ascertain font info
             FontInfoFinder finder = new FontInfoFinder();
-            EmbedFontInfo fontInfo = finder.find(fontFile, resolver, fontCache);
+            EmbedFontInfo fontInfo = finder.find(fontUrl, resolver, fontCache);
             if (fontInfo != null) {
                 fontInfoList.add(fontInfo);                
             }
@@ -270,9 +271,17 @@
 
             // if not strict try to determine font info from the embed/metrics url
             File fontFile = CachedFontInfo.getFileFromUrls(new String[] {embedUrl, metricsUrl});
+            URL fontUrl;
+            try {
+                fontUrl = fontFile.toURI().toURL();
+            } catch (MalformedURLException e) {
+                // Should never happen
+                log.debug("Malformed Url: " + e.getMessage());
+                return null;
+            }
             if (fontFile != null) {
                 FontInfoFinder finder = new FontInfoFinder();
-                return finder.find(fontFile, fontResolver, fontCache);
+                return finder.find(fontUrl, fontResolver, fontCache);
             } else {
                 return null;
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org


Re: Applying patches (was: Re: svn commit: r588858.....)

Posted by Adrian Cumiskey <ad...@gmail.com>.
Okay guys, I will try to keep those points in mind next time :)

Adrian.

On 27/10/2007, Andreas L Delmelle <a_...@pandora.be> wrote:
>
> On Oct 27, 2007, at 09:25, Jeremias Maerki wrote:
>
> Hi
>
> Just would like to add a small one:
>
> > when applying patches from someone else I consider it important to
> > list
> > the contributor in a consistent way. From the CVS times, there's the
> > following pattern from a commit template:
> > Submitted by: Name <email>
> >
> > If everyone uses this template, it is possible to go through all
> > commit
> > messages and identify who contributed what to a software package.
> > There's also a legal aspect to that. So I ask you and everone on the
> > team to always use this pattern when applying patches.
>
> I also try to make it a policy to update status.xml with every patch
> or if the change is far from trivial. That way, when the website is
> re-published, the patch/change becomes visible to the outside world.
>
> Apart from that, I second what Jeremias already said:
>
> > Thanks (especially for going through unprocessed patches in the first
> > place),
>
>
>
> Cheers
>
> Andreas
>
>

Re: Applying patches (was: Re: svn commit: r588858.....)

Posted by Andreas L Delmelle <a_...@pandora.be>.
On Oct 27, 2007, at 09:25, Jeremias Maerki wrote:

Hi

Just would like to add a small one:

> when applying patches from someone else I consider it important to  
> list
> the contributor in a consistent way. From the CVS times, there's the
> following pattern from a commit template:
> Submitted by: Name <email>
>
> If everyone uses this template, it is possible to go through all  
> commit
> messages and identify who contributed what to a software package.
> There's also a legal aspect to that. So I ask you and everone on the
> team to always use this pattern when applying patches.

I also try to make it a policy to update status.xml with every patch  
or if the change is far from trivial. That way, when the website is  
re-published, the patch/change becomes visible to the outside world.

Apart from that, I second what Jeremias already said:

> Thanks (especially for going through unprocessed patches in the first
> place),



Cheers

Andreas


Applying patches (was: Re: svn commit: r588858.....)

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Adrian,

when applying patches from someone else I consider it important to list
the contributor in a consistent way. From the CVS times, there's the
following pattern from a commit template:
Submitted by: Name <email>

If everyone uses this template, it is possible to go through all commit
messages and identify who contributed what to a software package.
There's also a legal aspect to that. So I ask you and everone on the
team to always use this pattern when applying patches.

Thanks (especially for going through unprocessed patches in the first
place),
Jeremias Maerki



On 27.10.2007 03:07:50 acumiskey wrote:
> Author: acumiskey
> Date: Fri Oct 26 18:07:49 2007
> New Revision: 588858
> 
> URL: http://svn.apache.org/viewvc?rev=588858&view=rev
> Log:
> Applied [PATCH] 42982 - Support Fonts in JAR files
> 
> Nice work Max, I look forward to you joining us soon :)
> 
<snip/>