I'm working on making referenced fonts work with font auto-detection,
i.e. that one can define which fonts should not be embedded, only
referenced. I already have the basics working locally. In the case of
TrueType fonts I can make use of the same mechanism I introduced for
Type 1 fonts to address more than just the WinAnsi glyphs (using
multiple single byte encodings). I'm writing because I want to see if
anyone is opposed to my approach for specifying which fonts should be
referenced. Here's what the config file now looks like:

      <fonts>
        [..]
        <referenced-fonts>
          <match font-family="Helvetica"/>
          <match font-family="DejaVu.*"/>
          <match font-family=".*Grotesk.*"/>
        </referenced-fonts>
      </fonts>

Basically I've defined an interface for which I can add whatever
implementation I want:

public class FontTriplet implements Comparable, Serializable {

[..]

    /**
     * Matcher interface for [EMAIL PROTECTED] FontTriplet}.
     */
    public interface Matcher {
        
        /**
         * Indicates whether the given [EMAIL PROTECTED] FontTriplet} matches a 
particular criterium.
         * @param triplet the font triplet
         * @return true if the font triplet is a match
         */
        boolean matches(FontTriplet triplet);
    }
}    

I'm currently using regular expressions to match the font-family names.
If the font matches it is set to referencing mode. Works pretty nicely
IMO.

BTW, Adrian, you could use the same interface for the matching part I've
proposed earlier for the font substitution.

Jeremias Maerki

Reply via email to