Page 10 of 27

Re: Software that makes placemats

Posted: 06:55 Sun 24 Mar 2013
by jdaw1
In setting up the recent Taylor vertical, AHB was pouring and DRT and I were distributing. Naturally enough, the young vintages were pre-poured first, and soon enough the front rows were filled with glasses. Then the older glasses had to be lifted awkwardly behind the already-full first row. It was fiddly.

This problem could be solved by reversing the order of rows of on the sheet. AHB remarked that having the older vintages nearer would help his smelling of them.

There is already a parameter, very rarely changed, PackingDirectionVertical, which can take values /TopToBottom or /BottomToTop. So the change isn’t tricky.

However, doing this by default would rather conflict with my sense of natural order. Vintage lists start old, and have the new at the end, allowing the list to be extended with the passage of time. My sense of old-to-new / top-to-bottom natural order is quite strong is that just me?

Re: Software that makes placemats

Posted: 07:21 Sun 24 Mar 2013
by DRT
I had a similar thought while distributing the wines but either way the taster has to remove and replace glasses in the back row throughout the evening. For some inexplicable reason, this manoeuvre gets trickier as time goes by.

Perhaps a third parameter /TopLeftToBottomRight could be used so that the wines end up in columns of four working from left to right.

Re: Software that makes placemats

Posted: 11:02 Sun 24 Mar 2013
by jdaw1
There are currently two relevant settings.
PackingDirectionVertical, which can be /TopToBottom or /BottomToTop;
PackingDirectionHorizontal, which can be /LeftToRight or /LeftToRight.

DRT seems to be asking for another setting, PackingNestingOrder, with allowed values of /RowsThenColumns (current behaviour) and /ColumnsThenRows.

Let’s have some examples in mind.
Image Image Image Image
(These shown with glasses in current default order.)

For the first two examples, with an easy rectangular layout, any of the eight possibilities from these 2+1 parameters would make sense. So far, so good.

The third example can also cope with any of the eight parameter arrangements. But for the fourth, is the top-most glass (‘A0’) in a column of its own? Yes, I guess so. So that could work.

But what should be the default behaviour? Should it really be this:
/PackingNestingOrder /ColumnsThenRows def
/PackingDirectionVertical /BottomToTop def
/PackingDirectionHorizontal /LeftToRight def

Image
This order seems weird to me. Just me?

Re: Software that makes placemats

Posted: 12:23 Sun 24 Mar 2013
by DRT
The current default behaviour is perfect for smallish tastings so should remain the default. But the ability to produce the format that you find odd is useful for tastings where the tasting mats become elongated, such as was the case at the Taylor tasting on Friday.

Re: Software that makes placemats

Posted: 16:59 Sun 24 Mar 2013
by PhilW
DRT wrote:The current default behaviour is perfect for smallish tastings so should remain the default. But the ability to produce the format that you find odd is useful for tastings where the tasting mats become elongated, such as was the case at the Taylor tasting on Friday.
Agreed with preference for current behaviour as default; so if adding this extension, then defaults of:
/PackingNestingOrder /RowsThenColumns def
/PackingDirectionVertical /TopToBottom def
/PackingDirectionHorizontal /LeftToRight def

(though noting AHB's preference for BottomToTop).

Re: Software that makes placemats

Posted: 19:37 Sun 24 Mar 2013
by jdaw1
DRT, PhilW: assuming settings of /ColumnsThenRows, /TopToBottom, and /LeftToRight, in which order would the following two layouts be? (Your answer should be of the form ‟A0, D3, !”, though not necessarily starting with those two.)
Image Image

Re: Software that makes placemats

Posted: 21:12 Sun 24 Mar 2013
by jdaw1
I’m hoping the answers are:
• G6, A0, D3, H7, B1, E4, I8, C2, F5, J9;
• D3, H7, A0, E4, I8, B1, F5, J9, C2, G6, K10.

Re: Software that makes placemats

Posted: 21:56 Sun 24 Mar 2013
by PhilW
jdaw1 wrote:I’m hoping the answers are:
• G6, A0, D3, H7, B1, E4, I8, C2, F5, J9;
• D3, H7, A0, E4, I8, B1, F5, J9, C2, G6, K10.
I'd agree with both answers.

Re: Software that makes placemats

Posted: 22:20 Mon 25 Mar 2013
by Glenn E.
PhilW wrote:
jdaw1 wrote:I’m hoping the answers are:
• G6, A0, D3, H7, B1, E4, I8, C2, F5, J9;
• D3, H7, A0, E4, I8, B1, F5, J9, C2, G6, K10.
I'd agree with both answers.
+1

I'm also pleased to now know of the existence of /PackingDirectionVertical and /PackingDirectionHorizontal. This will save me from having to manually arrange the Ports in the various lists so that they come out with the oldest front left and the youngest back right! If I understand correctly, that would only require that I change /PackingDirectionVertical to /BottomToTop?

See, there really is a point to keeping up with this thread. :wink:

Re: Software that makes placemats

Posted: 23:42 Mon 25 Mar 2013
by jdaw1
Glenn E. wrote:I'm also pleased to now know of the existence of /PackingDirectionVertical and /PackingDirectionHorizontal.
Happiness. But PackingNestingOrder is, currently, only a planned parameter. It does not yet exist.

Re: Software that makes placemats

Posted: 22:28 Sat 06 Apr 2013
by jdaw1
Added RotationTitlesAboveBelowOverCirclearray, use of which can be seen in the placemats for Griff’s departure down under.

Re: Software that makes placemats

Posted: 03:32 Fri 19 Apr 2013
by Glenn E.
Bug: /GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9.

I was able to work around the problem by changing the default behavior to 10, which was the number of glasses that I wished to place on each sheet.

Re: Software that makes placemats

Posted: 03:45 Fri 19 Apr 2013
by Glenn E.
While I'm doing QA, I just downloaded a fresh copy of the software from http://www.jdawiseman.com/placemat and it still contains the following comment:

% GlassesOnSheetsMaxPerSheet: 6 default, USLegal => 9; A3 or USL2 => 13. For all on one sheet replace with "/GlassesOnSheetsMaxGlassesPerSheetInDefault 999 def".

/GlassesOnSheetsMaxGlassesPerSheetInDefault is not used anywhere else in the software, so setting it to 999 will have no effect.

Re: Software that makes placemats

Posted: 07:33 Fri 19 Apr 2013
by jdaw1
GlassesOnSheetsMaxGlassesPerSheetInDefault is used in the next line of the parameters.

Edit: I renamed parameter, but not in comment. Sorry. It should be GlassesOnSheetsMaxPerSheet. Fixed in new version of code.

Re: Software that makes placemats

Posted: 18:25 Fri 19 Apr 2013
by Glenn E.
Glenn E. wrote:Bug: /GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9.

I was able to work around the problem by changing the default behavior to 10, which was the number of glasses that I wished to place on each sheet.
I spoke too soon.

Caveat: I am working on Windows 8 and am unfamiliar with the applications that come pre-installed on a Windows 8 box. It is entirely possible, if not probable, that my difficulties are derived from this and not from the code. However...

My work around above did indeed put 10 glasses on each sheet, but the sheets were USL and not USLegal. When printed they left a good chunk of white space (3") on the tail end of the sheet. The arrangement of glasses should have tipped me off, as the software created a hex-ish pattern 2-3-2-3 when I was expecting the more normal slightly staggered straight rows of 3-4-3.

Re: Software that makes placemats

Posted: 19:23 Fri 19 Apr 2013
by jdaw1
Please post a link to a PDF and state clearly what you believe to be the bug.

Re: Software that makes placemats

Posted: 23:14 Fri 19 Apr 2013
by Glenn E.
Neither pdf nor ps are allowed as uploads. I've spent too much time on this today... we'll do without placemats this time and I'll try to figure out what happened later.

Re: Software that makes placemats

Posted: 23:48 Fri 19 Apr 2013
by Glenn E.
Success. The problem appears to have been with Windows 8's "Reader" app. It looks like it recognizes US Legal size paper, but in reality it appears that it does not because USLegal files sent to a printer are instead re-sized to fit on USL but then printed on USLegal anyway. I was able to print successfully once I forced Windows 8 to use Word to open the pdf, converted the pdf to Word format (at the risk of losing fidelity), then converted it again to editable format because it wouldn't let me print otherwise.

*sigh*

This bug remains:

/GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9. It does have the desired effect when /PaperType /USL def or /PaperType /USL2 def.

Re: Software that makes placemats

Posted: 07:33 Sat 20 Apr 2013
by jdaw1
The ante-penultimate bullet of the green box describes a bug with Konica Minolta printers. Please could you write a concise description of problem and solution for me to add int he same place?
Glenn E. wrote:/GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9. It does have the desired effect when /PaperType /USL def or /PaperType /USL2 def.
I suspect that you are doing /GlassesOnSheetsMaxPerSheet 999 def, without having deleted the usual definition of GlassesOnSheetsMaxPerSheet, which is therefore redefined to its default value. If not that, please email me your code.

Re: Software that makes placemats

Posted: 19:09 Sat 20 Apr 2013
by jdaw1
[url=http://www.theportforum.com/viewtopic.php?p=56530#p56530]Here[/url] jdaw1 wrote:New draft of the placemats.
  • Completely redone, hopefully in accordance with instructions received from DRT.
Image
[url=http://www.theportforum.com/viewtopic.php?p=56544#p56544]Three posts later[/url] DRT wrote:Could you please change the order of the subtitles to correspond with the above and set the parameters so that they appear as:

1 4 7 10 13
2 5 8 11 14
3 6 9 12 13
After which,
[url=http://www.theportforum.com/viewtopic.php?p=56546#p56546]Here[/url] jdaw1 wrote:Updated draft of the placemats.
  • Slightly redone, hopefully in accordance with instructions received from DRT.
Image
In light of all of which, recall that
Twenty-seven days ago, [url=http://www.theportforum.com/viewtopic.php?p=55783#p55783]here[/url], jdaw1 wrote:DRT seems to be asking for another setting, PackingNestingOrder, with allowed values of /RowsThenColumns (current behaviour) and /ColumnsThenRows.
Action is needed.

Re: Software that makes placemats

Posted: 16:31 Wed 24 Apr 2013
by Glenn E.
jdaw1 wrote:
Glenn E. wrote:/GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9. It does have the desired effect when /PaperType /USL def or /PaperType /USL2 def.
I suspect that you are doing /GlassesOnSheetsMaxPerSheet 999 def, without having deleted the usual definition of GlassesOnSheetsMaxPerSheet, which is therefore redefined to its default value. If not that, please email me your code.
Relevant code as used. This is the version that "worked" because I changed the USLegal default to 10, but I'm confused that it worked because I also attempted to comment out that section of the /GlassesOnSheetsMaxPerSheet definition. Note inserted 'def %'. Despite that insertion, the change from /USLegal eq {pop 9} to /USLegal eq {pop 10} had an effect.

I think. To be honest, after struggling to get the placemats created for a couple of hours (off and on while also working), I can't be 100% certain of which steps I tried in which order. I thought it would be a simple change due to a simple mistake every time I made a change, so didn't keep track as I made them. I also reverted to a clean copy of the software on more than one occasion to ensure that I hadn't accidentally totally mucked things up at some point.

% % % % % % % % % % % % % % % % % % % % % % %
% Page Organisation and Page-Level Features %
% % % % % % % % % % % % % % % % % % % % % % %

% GlassesOnSheetsMaxPerSheet: 6 default, USLegal => 9; A3 or USL2 => 13. For all on one sheet replace with "/GlassesOnSheetsMaxGlassesPerSheetInDefault 999 def".
/GlassesOnSheetsMaxPerSheet 999 def % /PaperType load dup /A3 eq exch /USL2 eq or {pop 13} if /PaperType load /USLegal eq {pop 10} if def
/GlassesOnSheets [
% For a custom arrangement replace the next line with something of the form "[0 1 2 3] [4 5 6 7 8 9] [10 11 12 13]"
% The code below spreads glasses evenly over the sheets, the one-larger sheets being last. For them to be early replace "floor" with "ceiling"; for them to be evenly distributed with "round".
<< /p Titles length GlassesOnSheetsMaxPerSheet div ceiling cvi /g 0 >> begin 0 1 p 1 sub {[exch p sub g Titles length sub exch div floor cvi {g /g g 1 add def} repeat]} for end
] def % /GlassesOnSheets

/GlassesOnSheetsMaxPerTNSheet GlassesOnSheetsMaxPerSheet dup 8 gt {pop 6} if def % 8 gives per page leaves just enough writing space.
/GlassesOnTastingNotePages [ % Consider "/GlassesOnTastingNotePages GlassesOnSheets def"
<< /p Titles length GlassesOnSheetsMaxPerTNSheet div ceiling cvi /g 0 >> begin 0 1 p 1 sub {[exch p sub g Titles length sub exch div floor cvi {g /g g 1 add def} repeat]} for end
] def % /GlassesOnTastingNotePages

Re: Software that makes placemats

Posted: 12:23 Thu 25 Apr 2013
by oscar quevedo
Thank you Julian, I've made my first placemts! It is possible :D

Re: Software that makes placemats

Posted: 14:29 Thu 25 Apr 2013
by jdaw1
oscar quevedo wrote:Thank you Julian, I've made my first placemts! It is possible :D
And thank you for also mentioning it in a tweet.

Re: Software that makes placemats

Posted: 15:57 Thu 25 Apr 2013
by Glenn E.
oscar quevedo wrote:Thank you Julian, I've made my first placemts! It is possible :D
Don't let my struggles this time around mislead you. I use Julian's software for most of the tastings I do and it's great!

Re: Software that makes placemats

Posted: 16:08 Thu 25 Apr 2013
by jdaw1
Glenn E. wrote:Bug: /GlassesOnSheetsMaxPerSheet 999 def does not have the desired effect when /PaperType /USLegal def. Instead, it appears to revert to the default for /GlassesOnSheetsMaxPerSheet for that paper type, which is 9.
Works for me, as I have replaced the default definition with that in your subsequent post.
jdaw1 wrote:I suspect that you are doing /GlassesOnSheetsMaxPerSheet 999 def, without having deleted the usual definition of GlassesOnSheetsMaxPerSheet, which is therefore redefined to its default value. If not that, please email me your code.
Still seems likely to me.

Please email your whole PS.

Re: Software that makes placemats

Posted: 21:08 Thu 25 Apr 2013
by jdaw1
jdaw1 wrote:
Glenn E. wrote:I'm also pleased to now know of the existence of /PackingDirectionVertical and /PackingDirectionHorizontal.
Happiness. But PackingNestingOrder is, currently, only a planned parameter. It does not yet exist.
Done: +PackingNestingColumnMajor.

Re: Software that makes placemats

Posted: 21:44 Thu 25 Apr 2013
by Glenn E.
Sent. Though in writing the email I believe I figured out where my comprehension of the code was failing. I was less than precise in previous posts, not understanding that the lack of precision was in fact the cause of my lack of comprehension.

/GlassesOnSheetsMaxPerSheet 999 def does in fact work exactly as desired.

/GlassesOnSheetsMaxPerSheet 999 def % /PaperType load dup /A3 eq exch /USL2 eq or {pop 13} if /PaperType load /USLegal eq {pop 10} if def does also because the '%' comments out the rest of the line.

/GlassesOnSheetsMaxPerSheet 999 /PaperType load dup /A3 eq exch /USL2 eq or {pop 13} if /PaperType load /USLegal eq {pop 10} if def does not work like I thought it was going to work because I didn't understand that the rest of the line was overriding the '999' I'd inserted when the paper type was set to A3, USL2, or USLegal. I thought that the '999' would set the default for all paper types because it was larger than 13 (for A3 and USL2) and 9 (for USLegal).

Re: Software that makes placemats

Posted: 21:56 Thu 25 Apr 2013
by Glenn E.
jdaw1 wrote:
jdaw1 wrote:
Glenn E. wrote:I'm also pleased to now know of the existence of /PackingDirectionVertical and /PackingDirectionHorizontal.
Happiness. But PackingNestingOrder is, currently, only a planned parameter. It does not yet exist.
Done: +PackingNestingColumnMajor.
Am I correct to understand that the previous discussion's /PackingNestingOrder /ColumnsthenRows def is now performed by PackingNestingColumnMajor /True def?

That and the two /PackingDirection parameters are wonderfully useful. Thank you.

Re: Re: Software that makes placemats

Posted: 22:33 Thu 25 Apr 2013
by jdaw1
Glenn E. wrote:Am I correct to understand that the previous discussion's /PackingNestingOrder /ColumnsthenRows def is now performed by PackingNestingColumnMajor /True def?
Actually /PackingNestingColumnMajor true def.

Re: Software that makes placemats

Posted: 20:36 Fri 26 Apr 2013
by jdaw1
Glenn E. wrote:Sent. !

/GlassesOnSheetsMaxPerSheet 999 def does in fact work exactly as desired.
It seems, from this and by email, that everybody is now happy.

Re: Software that makes placemats

Posted: 09:19 Thu 09 May 2013
by jdaw1
How could PermittedPackingStyles be generalised?

The Malvedos blog has an article about a tasting of the 2011 ports, in which placemats had circles set in a pleasant semi-ellipse. Cynthia kindly responded to my request for a clearer picture.
Image

Naturally, I could make /SemiEllipse a valid item in PermittedPackingStyles. Sure.

And there should be an upside down version, /SemiEllipseMirror. And there should be a version with one extra glass in the centre of the empty long edge (/SemiEllipsePlus1, /SemiEllipseMirrorPlus1), and with two such glasses side by side (/SemiEllipsePlus2, /SemiEllipseMirrorPlus2), and one with three in a triangle (/SemiEllipsePlus3, /SemiEllipseMirrorPlus3). Clunkytastic.

Indeed, this problem already exists:
/PseudoHexagonal and /PseudoHexagonalMirror;
/RectangularDislocation and /RectangularDislocationV;
/RectangularAlternateNudge and /RectangularAlternateNudgeMirror and /RectangularAlternateNudgeIf2pt and /RectangularAlternateNudgeIf2ptMirror;
/Irregular and /IrregularMirror and /IrregularPortrait and /IrregularLandscape and /IrregularMirrorPortrait and /IrregularMirrorLandscape;
• and, further, /Gaia and /GaiaElegant should acquire !Plusn variants.

PermittedPackingStyles should be generalised. But how? That is, how could a style set be parameterised?

I think the simplest way is to allow array entries. So valid items of PermittedPackingStyles might include (with some non-code punctuation suppressed for legibility):
â—Š /SemiEllipse
â—Š [ /SemiEllipse ]
â—Š [ /SemiEllipse /Mirror ]
â—Š [ /SemiEllipse /Mirror 0 ]
â—Š [ /SemiEllipse /Mirror 3 ]

An alternative would be to have extra parameters of the likes of PermittedPackingStylesMirrored and PermittedPackingStylesExtras. These arrays would have to be the same length as PermittedPackingStyles, with corresponding items in the same position.

Please could members of the Taylor ’77 Working Group reply with thoughts and preferences.

Re: Software that makes placemats

Posted: 09:53 Thu 09 May 2013
by PhilW
jdaw1 wrote:Please could members of the Taylor ’77 Working Group reply with thoughts and preferences.
I think we need more Taylor '77, although I'd prefer some Fonseca '77... :tpf:

oh, ok then... I would note that some of the modifiers (mirror, invert, rotate) could be post-layout applied, some could not (plus1, plus2, other variants). These could therefore be applied separately, by first definining a basePackingStyle array comprising the variants without translation, and then allow translation-only modifiers on these to form the permitted packing styles, e.g.

basePackingStyles
â—Š [ /SemiEllipse ]
â—Š [ /SemiEllipse /plus1 ]
â—Š [ /SemiEllipse /plus2 ]
...

permittedPackingStyles
â—Š [ /basePackingStyles ]
â—Š [ /basePackingStyles /mirror ]
â—Š [ /basePackingStyles /invert ]
â—Š [ /basePackingStyles /rotate_90 ]
...

Excuse the imprecise syntax, but hopefully the idea/intent is clear. however, this would only be a good solution if the code would be able/wanted to support all translation variations for all basePackingStles. If you prefer to restrict the translations to a subset available per basePackingStyle, then the single array defining all possible combinations as per your post would seem like the better approach.

Re: Software that makes placemats

Posted: 10:21 Thu 09 May 2013
by jdaw1
PhilW wrote:if the code would be able/wanted to support all translation variations for all basePackingStles
Well, the user might want the code to choose the better (the larger radius) of base style X unmirrored, or base style Y mirrored. Which I don’t think your allows. Or I’ve misunderstood.

Also keep in mind that users range from weapon-grade geek to those who rarely, if ever, write a line of code. Simplicity of use is a desideratum.

Re: Software that makes placemats

Posted: 15:16 Thu 09 May 2013
by jdaw1
jdaw1 wrote:â—Š [ /SemiEllipse /Mirror 3 ]
PhilW wrote:â—Š [ /SemiEllipse /plus2 ]
Just noticed this clash. As words in the PostScript language are lower case, my parameters are in CamelCase. So /Plus2 fits my style better than /plus2. But PhilW is correct about not using an unadorned integer, which might have multiple meanings, and in this context, must be ≤3.

The current code includes

Code: Select all

/RowsMinNum 1 def
/RowsMaxNum 65535 def
This is applying at the wrong level. But there is a large range of possible row numbers.

Which suggests, despite the upper bound of 3 on the /Plus’ness, we should allow the likes of:
◊ [ /PseudoHexagonal   /MinRows 3   /MaxRows 5   /Mirror ]
◊ [ /SemiEllipse   /ExtraCircles 2   /Mirror ]
Then the row control can be different for different base styles; and each style can be parameterised as suitable.

Again I ask, please could members of the T77WG reply with thoughts and preferences.

Re: Software that makes placemats

Posted: 16:58 Thu 09 May 2013
by jdaw1
Slight change of mind again.

The first parameter of the array is the base class. After that things come in pairs, being the sub-parameter and its new value. So allowed items of PermittedPackingStyles include:
◊ [ /PseudoHexagonal   /MinRows 3   /MaxRows 5   /Mirror true ]
◊ [ /SemiEllipse   /ExtraCircles 2   /Mirror true ]

Hence items of PermittedPackingStyles are either /names, or arrays of odd length with the first and even-number items (starting at 1) being /names. Objections?

(Next post on next page: please help the reader by starting with a concise quote.)

Re: Software that makes placemats

Posted: 21:24 Thu 09 May 2013
by DRT
jdaw1 wrote:How could PermittedPackingStyles be generalised?
jdaw1 wrote:The first parameter of the array is the base class. After that things come in pairs, being the sub-parameter and its new value. So allowed items of PermittedPackingStyles include:
â—Š [ /PseudoHexagonal /MinRows 3 /MaxRows 5 /Mirror true ]
â—Š [ /SemiEllipse /ExtraCircles 2 /Mirror true ]

Hence items of PermittedPackingStyles are either /names, or arrays of odd length with the first and even-number items (starting at 1) being /names. Objections?
None.

Re: Software that makes placemats

Posted: 09:14 Fri 10 May 2013
by PhilW
jdaw1 wrote: ◊ [ /PseudoHexagonal   /MinRows 3   /MaxRows 5   /Mirror true ]
◊ [ /SemiEllipse   /ExtraCircles 2   /Mirror true ]
Hence items of PermittedPackingStyles are either /names, or arrays of odd length with the first and even-number items (starting at 1) being /names. Objections?
No objection, just one alternative; each additional parameter could be in its own array, i.e.
â—Š [ /PseudoHexagonal [/MinRows 3] [/MaxRows 5] [/Mirror true] ]
â—Š [ /SemiEllipse [/ExtraCircles 2] [/Mirror true] ]
The reason for the suggestion is that this would allow for modifiers with either no parameters such as [/Mirror] and for more than one parameter [/Wibble 17 29] which might provide for more flexibility in the future.

Re: Software that makes placemats

Posted: 12:21 Fri 10 May 2013
by jdaw1
PhilW wrote:The reason for the suggestion is that this would allow for modifiers with either no parameters such as [/Mirror] and for more than one parameter [/Wibble 17 29] which might provide for more flexibility in the future.
Hmmm. So PermittedPackingStyles becomes a triple-depth array. That won’t confuse anybody.

Compromise:
[ /BaseStyle   /WibbleOneParam 99   /OtherWibbleOneParam [99]   /WibbleTwoParam [ 98 99 ] ]
So parentheses optional for one-sub-param parameters, mandatory for ≥2.

Re: Software that makes placemats

Posted: 14:15 Fri 10 May 2013
by PhilW
jdaw1 wrote:
PhilW wrote:The reason for the suggestion is that this would allow for modifiers with either no parameters such as [/Mirror] and for more than one parameter [/Wibble 17 29] which might provide for more flexibility in the future.
Hmmm. So PermittedPackingStyles becomes a triple-depth array. That won’t confuse anybody.

Compromise:
[ /BaseStyle   /WibbleOneParam 99   /OtherWibbleOneParam [99]   /WibbleTwoParam [ 98 99 ] ]
So parentheses optional for one-sub-param parameters, mandatory for ≥2.
Note that the suggested compromise, while facilitating the 2+ param case (which we may or may not need at some future point) loses the potential benefit for simplicity of the [/WibbleNoParam] case (which we would use).

Re: Software that makes placemats

Posted: 12:06 Sat 11 May 2013
by jdaw1
Still being indecisive about the extra layer of arrays.

Meanwhile, the following all apply globally:

Code: Select all

/NamesAtTop false def
/RowsMinNum 1 def
/RowsMaxNum 65535 def

/PackingDirectionVertical /TopToBottom def  % /TopToBottom /BottomToTop
/PackingDirectionHorizontal /LeftToRight def  % /LeftToRight /RightToLeft
/PackingNestingColumnMajor false def
Should they become sub-parameters of the individual base-styles? For RowsMinNum and RowsMaxNum, definitely. For NamesAtTop, hmm. Maybe? (The glass arrangement code also calculates the x position of the name, if top and if bottom.) Then PackingDirectionVertical, PackingDirectionHorizontal, and PackingNestingColumnMajor: I think yes.

Re: Software that makes placemats

Posted: 12:11 Sun 12 May 2013
by jdaw1
Different question to those about PermittedPackingStyles.

Daniel, the newest member of the Placemat makers group, has remarked by email that he ‟can't find how to make the 'Wine of the Night' and 'What is it?' TopText smaller”. Indeed, this is because the size is embedded in the code, rather than being a parameter.

There are at least three possible courses of action.
• No change, keeping the text height at one fortieth of the non-margin page height.
• Change the constant embedded in the code, perhaps to one sixty-fourth of the non-margin page height (that being ⅝ = 62½% of the current size).
• Add another parameter, allowing the user to change this height. But I’m the most aggressive user of obscure parameters, and have never needed this.

Preferences? Thoughts?

Re: Software that makes placemats

Posted: 12:14 Sun 12 May 2013
by djewesbury
Option 2, I think. We don't need access to this feature, it's a one-off change. Can you post before / after grabs though?

Re: Software that makes placemats

Posted: 13:12 Sun 12 May 2013
by jdaw1
djewesbury wrote:Can you post before / after grabs though?
See www.jdawiseman.com/2013/20130512_TopTextHeight_Test.pdf, from which three extracts follow.

Image

Image

Image

I prefer the largest, the original, but with sufficiently little certainty to be willing to follow the majority, or even a lone strongly-held opinion.

Re: Software that makes placemats

Posted: 14:55 Sun 12 May 2013
by djewesbury
I see that I have missed the parameter that rotates names 180º. This makes your PDF look much less crowded than mine. I will return to the drawing board now and see what findings I produce.

Re: Software that makes placemats

Posted: 15:07 Sun 12 May 2013
by djewesbury
I cannot find the parameter that controls this (orientation of names at top of VotingRecorder columns)...

Re: Software that makes placemats

Posted: 15:26 Sun 12 May 2013
by jdaw1
djewesbury wrote:I cannot find the parameter that controls this (orientation of names at top of VotingRecorder columns)...
No such parameter (again!), as it is automatic, being determined by the length of the longest name, the number of glasses, the width of most columns, the page height, and the like. If you need to know the full logic (recommendation: you don’t) ⌘F in the code for ‟VoteRecorderColWidth VoteRecorderHeightFirstRow 0.875 mul gt” and read the ¶s above and below.

Re: Software that makes placemats

Posted: 15:33 Sun 12 May 2013
by djewesbury
Fiendish. Well in that case I have a feeling that your middle option, one fiftieth, makes my page tidier. We are not comparing like with like however. Your oranges look better than my apples, but I have just decanted a D80 and it smells very nicely of bananas.

Re: Software that makes placemats

Posted: 15:44 Sun 12 May 2013
by PhilW
jdaw1 wrote:Still being indecisive about the extra layer of arrays.

Meanwhile, the following all apply globally:
<snipped>
Should they become sub-parameters of the individual base-styles? For RowsMinNum and RowsMaxNum, definitely. For NamesAtTop, hmm. Maybe? (The glass arrangement code also calculates the x position of the name, if top and if bottom.) Then PackingDirectionVertical, PackingDirectionHorizontal, and PackingNestingColumnMajor: I think yes.
Yes to all except /NamesAtTop - this seems more of a page setting than a packing style parameter to me.
jdaw1 wrote:Daniel, the newest member of the Placemat makers group, has remarked by email that he ‟can't find how to make the 'Wine of the Night' and 'What is it?' TopText smaller”. Indeed, this is because the size is embedded in the code, rather than being a parameter.

There are at least three possible courses of action.
• No change, keeping the text height at one fortieth of the non-margin page height.
• Change the constant embedded in the code, perhaps to one sixty-fourth of the non-margin page height (that being ⅝ = 62½% of the current size).
• Add another parameter, allowing the user to change this height. But I’m the most aggressive user of obscure parameters, and have never needed this.
Preferences? Thoughts?
Preference for automatic rather than parameter unless necessary. Happy with any considered size variant.

Additional issue noted from Daniel's draft placemats; If the wine names are very short ("1", "2" etc in this case) then the text in top left corner of WOTN and other voting sheets which says "Record points, not rank" can become very compressed (see Daniel's draft). Suggest this should be (a) on two rows, and (b) if column is so narrow that the point size becomes too small, should perhaps be rotated?

Re: Software that makes placemats

Posted: 15:46 Sun 12 May 2013
by jdaw1
The current ‟40 div” is used for the page heading of vote-recorder, cork-display and decanting-notes pages. If I’m changing one, I’d prefer to change all. Objections?

Re: Software that makes placemats

Posted: 15:50 Sun 12 May 2013
by jdaw1
PhilW wrote:Yes to all except /NamesAtTop - this seems more of a page setting than a packing style parameter to me.
Agreed.
PhilW wrote:Preference for automatic rather than parameter unless necessary. Happy with any considered size variant.
Agreed. It’s looking like dropping 20% of its linear size, so becoming ‟50 div”.
PhilW wrote:Additional issue noted from Daniel's draft placemats; If the wine names are very short ("1", "2" etc in this case) then the text in top left corner of WOTN and other voting sheets which says "Record points, not rank" can become very compressed (see Daniel's draft). Suggest this should be (a) on two rows, and (b) if column is so narrow that the point size becomes too small, should perhaps be rotated?
Splendid observation. Failing cogent objection, I’ll rotate the text if the cell’s width is less than â…ž of the height (thus embedding a gentle preference for non-rotated). Doing two rows would be some coding fuss I have not coded routines that insert line breaks, and this isn’t enough motivation to start.