Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-2002

Fop offers no way to select between condensed and non-condensed font variants

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Won't Fix
    • 1.0
    • None
    • font/unqualified
    • None
    • Operating System: Linux
      Platform: PC
    • 52290

    Description

      If one has a collection of faces for a font, some of which are condensed and some which are not, fop doesn't offer any way to select between them.

      According to the XSL-FO standard it appears that the "font-stretch" property should be used to pick between condensed/expanded/regular faces of a font. font-stretch is documented as unimplemented in fop. The only questions about on the mailing list have referred to using font-stretch to artificially condense or expand a regular face, which is not what I need to do, and an idea that was rejected anyway.

      It looks like Fop stores font info as (family, style, weight) triplets, where "style" here refers to oblique/regular. It doesn't seem to have to track any additional style attributes like small-caps or whether the face is a condensed or expanded face.

      To support font-stretch, fop will need to:

      • Identify whether a font face is condensed/expanded/regular when examining it
      • Track additional font metadata, not just the basic font-triplet, treating
        condensed and non-condensed faces as different fonts.
      • Consider the value of font-stretch when matching fonts.

      There are some free condensed fonts, including http://dejavu-fonts.org/ which has a variety of condensed faces, so this isn't something that requires commercial fonts (though it'll be mostly useful with them).

      Attachments

        Activity

          People

            fop-dev@xmlgraphics.apache.org fop-dev
            ringerc Craig Ringer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: