lilypond-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] ledger lines


From: Juergen Reuter
Subject: Re: [PATCH] ledger lines
Date: Thu, 28 Mar 2002 16:02:51 +0100 (CET)

On Wed, 27 Mar 2002, Han-Wen Nienhuys wrote:

> ...
>
> I have one question: can you change the implementation of rounded box?
> The separate dots look strange when you view it in GS with
> antialiasing on. I prefer that a filled path drawn with a round pen is
> used.

Ok, I will have a look at it, but it may take a little while, since I am
not a PostScript guru (and currently struggling with lily's
breaking-algorithm, note-spacing, etc.).

> > ...
> >
> >   __________________________
> >  /     \  ^           /     \
> > |         |blot              |
> > |   +   | |dia       |   +---|------
> > |         |meter             |     ^
> > |\ _ _ /  v           \ _ _ /|     |
> > |                            |     |
> > |                            |     | Box
> > |                    <------>|     | extent
> > |                      blot  |     | (Y_AXIS)
> > |                    diameter|     |
> > |                            |     |
> > |  _ _                  _ _  |     |
> > |/     \              /     \|     |
> > | (0,0)                      |     v
> > |   x   |            |   +---|------
> > |   |                    |   |
> >  \__|__/______________\__|__/
> >     |                    |
> >     |                    |
> >     |                    |
> >     |<------------------>|
> >       Box extent(X_AXIS)
>
>
> I talked this over with Jan, and basically we think this is a bad idea
> in general, since it means that you don't know how large a molecule is
> -- this will lead to problems if you want to align objects with
> different blot diameters. Like Rune said, it is better to have an
> explicit overlap.

I think the main problem is that nobody of us can give a fairly precise
definition of what blotting with a certain blotdiameter means.  In my
opinion, blotdiameter is usually a very small number, just big enough to
slightly see some effect when looking carefully at a printout.  It
smoothes shapes to prevent hard edges, thus in some sense reducing the
resolution of the printout.  However, unlike blurring or pixelizing,
blotting utilizes the full resolution; it rather reduces the bandwith of
shapes (has anyone a better idea how to explain this?).

To give some sort of an analogy, please imagine that, depending on the
resolution of your printer, you always get some rounding errors.  But
typically, you prefer to print a little bit too much rather than omitting
something.  Otherwise, you may happen to see e.g. a staff line with 5
lines, but where one of the lines is missing (actually, I already saw
such things on the net).  My good old matrix dot printer with its 9
needles produces dots with a diameter of roughly 1/72 inch, while
these dots can be positioned with a precision of 1/240 by 1/216 inch.
Around september or october 1997, I printed out some score with lily
version 0.whatever on this printer, and it looked really nice, with the
needles effectively producing some sort of blotting.  Of course, you could
not print very fine lines with a thickness below the blot diameter, but I
think, this is a basic property of blotting.

> You can also simulate the effect that you want, by
> using a negative padding (of - blot/2) when combining the molecules.

This is actually an argument on my side: You can simulate the effect that
you want with my rounded box by reducing the dimensions by -blot/2.  This
is in so far an advantage, as the user of rounded box is responsible for
proper handling of the dimensions rather than the drawing routine
internally doing some magic max/min calculations which, I think, are
necessary if the box width or length is below blotdiameter.  Or can you
give me a clear definition of what drawbox does/should do if the width or
height is below blotdiameter?

Greetings,
Juergen




reply via email to

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