<Configuration>
  <!--                                                                       
  Configuration file for Laser Pro LL2 XPS GDI_RL Driver 
  Filter
                                                                             
  Use this file to dictate the behavior of the driver. Please note that 
  this file is temporary and will not appear in the release version of  
  the driver.                                                           
  -->
  <!--
  General:
  This section contains elements and options that apply to all driver flavors.
  -->
  <General>
    <!--
    Backend:
    The backend element selects processing destination type.  Possible values are
    Xps, Image and Postscript.
    -->
    <Backend Type="Image" />
    <!-- 
    Features:
    This section lists the print ticket features that are supported directly by the
    filter.  If a feature is enabled, the driver will consume the corresponding 
    print ticket option, implementing it directly in package.
    -->
    <Features>
      <Feature Name="PageOrder" Enable="true" />
      <Feature Name="DocCollate" Enable="true" />
      <Feature Name="JobCollate" Enable="true" />
      <Feature Name="JobCopyCount" Enable="true" />
      <Feature Name="DocCopyCount" Enable="true" />
      <Feature Name="PageCopyCount" Enable="true" />
      <Feature Name="NUp" Enable="true" MismatchRotate="0" />
      <Feature Name="Watermarks" Enable="true" />
      <Feature Name="DeviceFonts" Enable="true" />
      <Feature Name="MtiCovers" Enable="true" />
      <Feature Name="Booklet" Enable="true" />
      <Feature Name="Overlays" Enable="true" />
      <Feature Name="Interleaves" Enable="true" />
      <Feature Name="Poster" Enable="true" />
      <Feature Name="Scaling" Enable="true" />
      <Feature Name="Exceptions" Enable="true" />
      <Feature Name="PageRanges" Enable="true" />
      <Feature Name="BindingShift" Enable="true" />
      <Feature Name="MirrorImage" Enable="true" />
    </Features>

    <!--
    Memory:
    Memory may be allocated for rasterization purposes, depending on selected
    driver backend and processing options.  This section describes how much
    memory should be allocated and how it should be managed.  The following 
    allocation parameters can be altered:
      "Pool" attr - Size in kilobytes of general pool memory.  Pool memory is
                    used during rasterization to hold font and image data.
      "Band" attr - Size in kilobytes of band memory.  Band memory is used
                    to store the final rasterized output.  The best value
                    depends on the output mode of the rasterizer; drawing
                    to 24-bit RGB requires 24 times as much band memory as
                    drawing to 1-bit grayscale.
      "TexturePool" attr - Size in kilobytes of texture cache memory.  Textures
                           for solid colors can be cached and reused, saving 
                           color conversion and halftoning overhead.
      "TextureNodes" attr - Number of textures to cache.  This value works in
                            conjunction with TexturePool to control texture
                            caching.  A value of '0' will make cache behavior
                            dictated solely by TexturePool size.
      "ColorNodes" attr - Number of color conversion results to cache.
      "Input" attr - Size in bytes of the filter stream input buffer.
      "Output" attr - Size in bytes of the filter stream output buffer.
    Allocation parameters are grouped with a "Physical" memory size (in 
    kilobytes) attribute to form a memory "Scheme" element.  Multiple memory 
    schemes may be defined, altering allocation behavior based on installed
    system memory.  
    The filter chooses the most appropriate scheme according to the closest 
    (without going over) match of installed system memory and the "Physical" 
    attribute value.  If a match is not found, low-memory built in defaults 
    will be used.  For this reason, it is recommended that a 'default' scheme 
    is created with a "Physical" memory attribute set to "0".
    -->
    <Memory>
      <Scheme Physical="0" Pool="65536" Band="1024" TexturePool="4096" 
              TextureNodes="0" ColorNodes="4096" Input="4096" Output="4096"/>
      <Scheme Physical="1024000" Pool="131070" Band="1024" TexturePool="4096" 
              TextureNodes="0" ColorNodes="4096" Input="4096" Output="4096"/>
      <Scheme Physical="2048000" Pool="262144" Band="1024" TexturePool="8192"
              TextureNodes="0" ColorNodes="4096" Input="4096" Output="4096" />
    </Memory>
    
    <!--
    Optimizations:
    This section allows customization of optimization steps taken on the XPS.
    Some options are automatically enabled during rasterization, regardless of
    the value of the optimization 'Enable' attribute.
      "LinearGradient" elm - Controls the behavior of Linear Gradient 
                             replacement.  If enabled, linear gradients are 
                             replaced with an equivalent series of filled 
                             wedges.  The granularity attribute adjusts the 
                             frequency of wedge creation.  A lower granularity 
                             results in higher wedge frequency, and 
                             subsequently, a larger amount of data.  For best
                             performance granularity should be increased until
                             gradient quality is noticeably degraded.
      "RadialGradient" elm - Controls the behavior of Radial Gradient 
                             replacement, similar to Linear Gradient 
                             replacement described above.
      "CurveFlatten" elm - Controls the replacement of Bezier and Arc
                           segments in a path geometry.  If enabled, curves
                           will be replaced with straight line approximations.
                           The granularity attribute controls the tightness
                           of the approximation fit.  A finer (smaller)
                           granularity results in a closer approximation, but
                           a larger number of line segments.
      "ThinStrokes" elm - Controls the activation of fast-stroking techniques.
                          If enabled, stroked lines under the 'AbsoluteMax'
                          number of pixels will be drawn using fast-stroking.
                          The 'AbsoluteMin' attribute sets the minimum 
                          thickness of a stroked line (in pixels), allowing
                          a control of hairline appearance.
      "TinyTilesImg" elm - Controls the creation of solid color replacement of 
                           tiny image brush tiles.  The threshold is specified
                           in 96dpi.  If the tile is smaller than this 
                           threshold, the tile will be color averaged and 
                           drawn as a solid color brush.
      "TinyTilesVisBrush" elm - Controls the creation of solid color 
                                replacement of tiny image brush tiles.  The 
                                threshold is specified in 96dpi.  If the tile 
                                is smaller than this threshold, the tile will 
                                be color averaged and drawn as a solid color 
                                brush.
    -->
    <Optimizations>
      <Optimize Name="LinearGradient" Granularity = "12" />
      <Optimize Name="RadialGradient" Granularity = "12" />
      <Optimize Name="CurveFlatten" Granularity = "12" />
      <Optimize Name="ThinStrokes" Enable="true"
                AbsoluteMin="0.16" AbsoluteMax="0.48" />
      <Optimize Name="TinyTilesImg" Enable="true" Threshold="1.28" />
      <Optimize Name="TinyTilesVisBrush" Enable="true" Threshold="1.28" />
    </Optimizations>

    <!--
    Options:
    This section lists options for all backends.
    -->
    <Options>
      <!--
      "DefaultPaperOffsets" option - set unprintable margins for "Left", "Top",
        "Right" and/or "Bottom" in 96ths of an inch.  Unspecified values
        default to zero.
      -->
      <Option Name="DefaultPaperOffsets"
       Left="24.0" Top="24.0" Right="24.0" Bottom="24.0" />
      <!--
      "DocumentRelationSearch" option - enables or disables the searching for 
        the document relationship part in the OPC package.  If search is 
        disabled, document-level print tickets will not be found.
        
        MXDW generates OPC packages that do not contain document-level
        tickets and thus document relationships.  Unfortunately, a streaming
        consumer cannot detect this condition until the entire package
        stream has been consumed, which negatively impacts time-to-first page.
        
        Disabling the search works around this impact, but could have negative
        results for non-MXDW generated packages.
        
        Enabling the search, but setting a reasonable search distance can 
        mitigate the problem.  The distance specifies how far ahead, in archive 
        members skipped, the driver will search in the archive stream, looking 
        for a potentially non-existant relationship.
      -->
      <Option Name="DocumentRelationSearch" Enable="true" Distance="3" />
    </Options>

    <!--
    Rendering:
    This section allows customization of the XPS rasterizer operation.  This
    affects all output for the "Image" backend, and the appearance of
    subrendered areas for the "Xps" and "PostScript" backends.
    -->
    <Rendering>
      <!--
      "Blend" option - control alpha-blending.
        "ColorSpace" attr - select the blending colorspace.
          "sRGB" (default)
          "scRGB"
        "Force" attr - if true, ignores ticket PageBlendColorSpace feature.
      -->
      <Render Name="Blend" ColorSpace="sRGB" Force="false" />

      <!--
      "Glyphs" option - control glyph rasterization.
        "Rasterizer" attr - select glyph rasterizer.
          "UFST" (default)
          "GDI"
        "BoldSimulationEmPercent" attr - percent-of-em by which to thicken
          strokes when performing BoldSimulation on Glyphs elements.  Defaults
          to the XPS-specified value of 2%.  NOTE - When the "Rasterizer"
          attribute is set to "GDI", this value is ignored.
        "ItalicSimulationShearDegrees" attr - angle in degrees by which to
          shear glyphs when performing ItalicSimulation on Glyphs elements.
          Defaults to the XPS-specified value of 20.0 degrees.
      -->
      <Render Name="Glyphs" Rasterizer="UFST"
                            BoldSimulationEmPercent="2.0"
                            ItalicSimulationShearDegrees="20.0" />
      <!--    
      "ImageTransform" option - control image transformation algorithms.
        "Upscale" attr - Algorithm when scale is increasing
          "NearestNeighbor" (overrides OCM provided function)
          "Bilinear"        (overrides OCM provided function)
          "Bicubic"         (overrides OCM provided function)
          "Ocm"   (default: if not provided by OCM, NearestNeighbor is used)
        "Downscale" attr - Algorithm when scale is decreasing
          "NearestNeighbor" (overrides OCM provided function)
          "Bilinear"        (overrides OCM provided function)
          "Bicubic"         (overrides OCM provided function)
          "Ocm"  (default: if not provided by OCM, NearestNeighbor is used)
      -->                  
      <Render Name="ImageTransform" Upscale="NearestNeighbor"
                                    Downscale="NearestNeighbor" />
    </Rendering>
  </General>
</Configuration>
