lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lilypond-auto] Issue 2658 in lilypond: wrong stem rendering (incons


From: lilypond
Subject: Re: [Lilypond-auto] Issue 2658 in lilypond: wrong stem rendering (inconsistent thickness)
Date: Sun, 16 Feb 2014 17:57:51 +0000

Updates:
        Status: Fixed
        Labels: Fixed_2_18_1

Comment #114 on issue 2658 by address@hidden: wrong stem rendering (inconsistent thickness)
http://code.google.com/p/lilypond/issues/detail?id=2658

Pushed to stable/2.18 as
commit 21142318024c3abac5a13adaf32233cc741683cb
Author: David Kastrup <address@hidden>
Date:   Tue Apr 23 17:02:47 2013 +0200

    Add Changes entry for -dstrokeadjust and "Usage" entry.

commit 9a0d1e16702de478b714eeadbc9db808d2531194
Author: David Kastrup <address@hidden>
Date:   Tue Apr 23 16:49:19 2013 +0200

Implement option -dstrokeadjust in order to get stroked stems and strokeadjustment

    This makes the stroke drawing primitives for long rounded rectangles
    dependent on the setting of currentstrokeadjust.  As a result,
    low-resolution bitmap devices (up to 150 dpi or so) will get stroke
    adjustment applied automatically.  The option needs to get invoked
    explicitly to get stroke adjustment for PDF, giving a large file size
    increase and markedly better previews on a number of PDF previewers.

commit 4cc50300bd01f7890f93e99480fdf1661724b5b8
Author: David Kastrup <address@hidden>
Date:   Thu Apr 11 17:27:14 2013 +0200

    Issue 2658: Be serious about setstrokeadjust in PostScript primitives

    This particularly concerns draw_round_box which is used for drawing
    lines with a rounded ending.  If the width/height ratio or its inverse
    exceeds 2, the box is considered to be a "line".  In this case, first
    a clipping path is established representing the whole shape and
    extended widely in the area of the "main stroke".  The reason for this
    extension is to avoid both clip area and stroke competing for the
    outline.  While this is not a problem for the PostScript or PDF
    rendering model, the Cairo bitmap rendering library employs
    Porter-Duff compositing for antialiasing amounting to "cheap man's
    antialiasing" not requiring a higher rendering resolution but relying
    on edges affecting a single pixel to be independent.

    Porter-Duff requires us not to have multiple parallel strokes or clip
    areas if we want to avoid wrong sub-pixel grayness levels (and
    consequently lines appearing too thick or thin) in Cairo-based
    previewers like Evince.

    After establishing the clip area, a stroke is drawn through.  This
    stroke may (at the PostScript device's discretion) employ
    strokeadjustment further correcting the apparent thickness.
    Ghostscript employs stroke adjustment when rendering at a resolution
    below 150dpi.  Stroke adjustment does not pass into PDF, however, when
    ps2pdf runs.

    Ghostscript performs sub-pixel rendering for antialiasing which
    reduces the amount of discontinuities possibly caused by joining
    stroke-adjusted shapes with full shapes.

    It turns out that sharper contours can be achieved by using strokepath
    and fill instead of a plain stroke.  However, the resulting crisper
    stems tend to combine worse with beams, so this approach has not been
    pursued.

commit 0d62c44ca82a0c87715de89f1d36e30c39f8d6da
Author: David Kastrup <address@hidden>
Date:   Thu Apr 18 21:39:50 2013 +0200

    Don't meddle with Ghostscript's choice of currentstrokeadjust

    It should be appropriate for device and resolution by default.

commit 4eb203c935aed1bbc148372cf65d63a4c18d82d0
Author: David Kastrup <address@hidden>
Date:   Thu Apr 11 17:22:43 2013 +0200

    Make stroke_and_fill? PostScript operator that fills conditionally

commit a92ed1c47447c7eb9b0a7dd03eec5c71aaed1381
Author: David Kastrup <address@hidden>
Date:   Thu Apr 11 12:01:40 2013 +0200

    Make music-drawing-routines.ps require PostScript 2.0

    There is no point having conditional code around setstrokeadjust and
    its ilk any more.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

[Prev in Thread] Current Thread [Next in Thread]