sumpfork / dominiontabs

Divider generator for the card game Dominion and its expansions.
http://domdiv.sandflea.org
Other
123 stars 125 forks source link

Avery Label Vertical Alignment #23

Closed sumpfork closed 8 years ago

sumpfork commented 9 years ago

From Kaleb Eubank (Grindar on BGG):

I used the Avery 5167 option on the tab generator (all expansions, sleeved, vertical if it matters, figured the last 2 would just be ignored since the avery label is fixed size). Does it generate the page from the bottom up? I printed them onto the label paper and what it looks like is the bottom one on each row is centered perfect, but the ones with the corners that stick up must be like a pixel too tall because as you go up the page they slowly shift further and further up. At the top it's still usable but the color from the one below is bleeding onto the bottom edge of the last label and the top edge. I'm attaching a pic of a typical bottom row so you can see it in action...bottom one seems centered, but by the top of the pic the top edge is already off the label. Of course, printed with no scaling.

Sample

wvoigt commented 8 years ago

I'm wondering if the self.verticalBorderSpace = 0.01 * cm is needed at all.

Also, the labels seem to not have any border. The vertical cut line is common between any two lables. And the self.tabLabelHeight = 1.27 * cm is exactly 0.5 inches as advertised on the labels.

I don't have these labels. But it would be intereesting to see what happens when self.verticalBorderSpace = 0 * cm

sumpfork commented 8 years ago

I seem to recall I played with all these values when I originally implemented this feature and this was the closest I got to matching the labels - but I don't think I actually had the labels in hand, either, and a lot has changed in the rest of the code since that time. I suspect we need to get some samples to finalize this.

wvoigt commented 8 years ago

I picked up a copy of the 8167 labels. I can confirm that the top and bottom margin is exactly one label height. So that says the minmarginheight = 1.27 * cm is correct. I can also confirm that the labels are also exactly 1/2 inch (1.27cm) in height and that there is no vertical spacing from one label to the next (they share the same cut line.)

So I think that means that the combination of self.tabLabelHeight and self.verticalBorderSpace must be 1.27 * cm for there to be no vertical creep as the labels go up.

That said, using self.tabLabelHeight = 1.27 * cm and self.verticalBorderSpace = 0 * cm makes it a really really tight fit. There basically is no margin of error if your printer is off vertically (as is mine.) And there is no margin of error horizontally either. If your printer is off, even by a little, you will see it print across labels.

I think the overall solution should allow for just a little bit of margin on the label to accomodate some slop. Vertically it can be done with values like self.tabLabelHeight = 1.07 * cm and self.verticalBorderSpace = 0.20 * cm. That shrinks the printed part just a little and gives a 2mm slop label to label. That still asumes that the bottom lable is right on.

Something similar might be needed on the horizontal side.

sumpfork commented 8 years ago

Agreed, I think shrinking them a bit and having a margin is a good idea.

wvoigt commented 8 years ago

For what it's worth, I used these settings to give a nice 1mm margin around each label.

minmarginwidth             = 0.86 * cm  # was 0.76 
minmarginheight            = 1.37 * cm  # was 1.27
self.tabLabelHeight        = 1.07 * cm  # was 1.27
self.tabLabelWidth         = 4.24 * cm  # was 4.44
self.horizontalBorderSpace = 0.96 * cm  # was 0.76
self.verticalBorderSpace   = 0.20 * cm  # was 0.01

It should be noted that with these settings, bug #23 and bug #1 are both fixed.

sumpfork commented 8 years ago

Any reasons not to make those the defaults for Avery labels?

sumpfork commented 8 years ago

This is in, so let's declare it fixed until we hear otherwise.