Parameters for the placemat software

Data, quotations, and other non-conversational posts containing reference materials.
User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 15:01 Mon 20 Jul 2015

Page 3
To help users of the placemat software, in this thread will be posted the used parameters of the placemat software. The intention is that placemats made by JDAW can be used as examples of how the software’s features can be invoked.

This thread is not to hold discussion of these examples, which should be in the usual thread for discussion of the placemat software. For this reason this thread will typically be locked.

These placemats were generally made with the then-current version. Later versions of the software have changed the names or usage or defaults or existence of some of the parameters. Hence readers might prefer to start reading at the end.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 15:02 Mon 20 Jul 2015

Tuesday 21st July 2015, at The Boot & Flogger, an Emergency Tasting.Image Image

Code: Select all

/Names [
	(Daniel)
	(Julian)
	(Alex)
	(Charles)
	(Ian)
	(Mike)
	()
] def

/Circlearrays [
	Names {[ exch ]} forall pop
	0 get dup [ exch (1) ]  exch  [ exch (2) ]
	[ /dagger ]
] def

/Titles [
	(DJ)
	[(JDA) {-0.09 Kern} (W)]
	(AHB)  (CPR)  (IDJ)
	[ (MPM) (1) ]
	[ (MPM) (2) ]
	counttomark Circlearrays exch dup Circlearrays length sub neg getinterval {0 get} forall
] def

/Belowtitles [ Titles length {()} repeat ] def

/PaperType /USLegal def  % /A4 /A3 /USL = 8.5"x11", /USLegal = 8.5"x14", /USL2 = 11"x17", [SmallerPts LargerPts]

/HeadersLeft [
	0  [(Boot & Flogger, Tuesday 21) {SuperscriptOn} (st) {SuperscriptOff} ( July 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [/quotedblleft ([S]ome kind of emergency) /quotedblright (, ) /quotedblleft (Blind) /quotedblright]
] def  % /HeadersCenter

/ExternalLinks [  % Even-length array of strings: http://URL0, Descriptor0, http://URL1, Descriptor1, ...
	(http://www.theportforum.com/viewtopic.php?t=10042&view=unread#unread)   (Planning thread on ThePortForum.com)
	(http://www.theportforum.com/viewtopic.php?t=10160&view=unread#unread)   (Review thread on ThePortForum.com)
	(http://www.jdawiseman.com/2015/20150721_emergency.pdf)   (Latest version this placemat)
	(http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20150721)  (   in list of placemats)
	(http://www.theportforum.com/viewtopic.php?p=93236#p93236)  (   parameters by which made)
	(http://www.jdawiseman.com/2015/20150721_ThePortForum_food.pdf)  (Food order)
	()  ()
	(http://www.danieljewesbury.org/)  (Daniel Jewesbury)
	(http://www.jdawiseman.com/)  (Julian D. A. Wiseman)
	(http://theportforum.com/memberlist.php?mode=viewprofile&u=15)  (Alex H. Bridgeman)
	(http://theportforum.com/memberlist.php?mode=viewprofile&u=9721)  (Charles P. Redshaw)
	(http://theportforum.com/memberlist.php?mode=viewprofile&u=9630)  (Ian D. Johns)
	(http://www.theportforum.com/memberlist.php?mode=viewprofile&u=9967)  (Mike P. Meehan)
	()  ()
	(http://www.davy.co.uk/wine-bars/)  (Boot & Flogger)
	(http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)  (SE1 1TA, streetmap.co.uk)
	(https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)  (SE1 1TA, maps.google.co.uk)
	(http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)  (SE1 1TA, bing.com)
] def

/CorkDisplay false def

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (What is it?) ]
	[ (Wine Of The Night?)  /questiondown ]
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderShowTotalRow [ true false ] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderCrossedBox {VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup
	{pop Circlearrays WithinTitles get 0 get dup ASCIIfy ThisName ASCIIfy eq exch dup type /arraytype eq {0 get ASCIIfy ThisName ASCIIfy eq or} {pop} ifelse ThisName length 0 gt and}
if} def
/VoteRecorderTotalColTitle [(T) {-0.08 Kern} (otal)] def

/TitlesFont     /Cochin-Bold def
/CircletextFont /Cochin def

/InlineTitles false def

/Rays  PaperType /A4 ne  def
Software version: 12:30 Monday 20th July 2015

• Slight trickiness in VoteRecorderCrossedBox to link JDAW to Julian, etc.

/Rays PaperType /A4 ne def dealt with the shifting numbers people and glasses. With at most six glasses on an A4, Rays lacks aesthetic appeal. YMMV.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 00:26 Mon 27 Jul 2015

Monday 27th July 2015, at The Boot & Flogger, Bring a bottle to shareImage Image Image

Code: Select all

/People [
	[ (THRA)  [(T) {-0.06 Kern} (om)] ]
	[ (JDAW) (Julian)  ]
	[ (NO)   (Nick)    ]  % Nick Oakley
	[ (MPM)  (Mike)    ]
	[ (AHB)  (Alex)    ]
	[ (IDJ)  (Ian)     ]
	[ (CPR)  (Charles) ]
] def

/Extras [
	/dagger
	/paragraph
	/section
] def

/StackRearrange {People length Extras length add  Extras length  roll} def

/Circlearrays [  People {[ exch 1 get ]} forall   Extras {[ exch ]} forall  StackRearrange ] def
/Titles [  People {0 get} forall   Extras aload pop  StackRearrange ] def
/Belowtitles [ Circlearrays length {()} repeat   StackRearrange ] def

/Names [ People {0 get} forall () ] def

% Headers... are arrays of even length, alternately an item of PageOrdering, and the relevant compound string.
/HeadersLeft [
	0  [(Boot & Flogger, Monday 27) {SuperscriptOn} (th) {SuperscriptOff} ( July 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Bring a bottle to share)]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.06 Kern} (.) {-0.092 Kern} (ThePortForum.com, )
		(www) {-0.06 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight
/ExternalLinks [  % Even-length array of strings: http://URL0, Descriptor0, http://URL1, Descriptor1, ...
	(http://www.theportforum.com/viewtopic.php?t=9974&view=unread#unread)   (Thread on ThePortForum.com)
	(http://www.jdawiseman.com/2015/20150727.pdf)   (Latest version this placemat)
	   (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20150727)  (   in list of placemats)
	   (http://www.theportforum.com/viewtopic.php?p=93453#p93453)  (   parameters by which made)
	(http://www.planetmeehan.com/dlfiles/150727/20150727_ThePortForum_food.pdf)  (Food order)

	(http://www.davy.co.uk/wine-bars/)  (Boot & Flogger)
	(http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)  (SE1 1TA, streetmap.co.uk)
	(https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)  (SE1 1TA, maps.google.co.uk)
	(http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)  (SE1 1TA, bing.com)
] def

/CorkDisplay false def

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (What is it?) ]
	[ (Wine Of The Night?)  /questiondown ]
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderShowTotalRow [ true false ] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderTotalColTitle [(T) {-0.06 Kern} (otal)] def
/VoteRecorderTotalRowTitle VoteRecorderTotalColTitle def

/TitlesFont     /Cardinal-Alternate def
/NamesFont      /AbadiMT-CondensedLight def
/CircletextFont TitlesFont def
/HeaderFont     NamesFont def

/InlineTitles false def
Software version: 09:00 Thursday 23rd July 2015

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 23:25 Wed 12 Aug 2015

Friday 14th August 2015, at Davy’s Woolgate, to greet the Elliotts to London. Image Image Image

Code: Select all

/Julian [(J) {-0.03 Kern} (ulian)] def
/Wolfgang [(W) {-0.06 Kern} (olfgang)] def
/Warre [(W) {-0.06 Kern} (arre)] def
/BGA [(Bollinger Grand Ann) /eacute (e)] def
/Tawny [(T) {-0.04 Kern} (awny)] def
/LBV (Late-Bottled Vintage) def

/Names [
	(Glenn)
	(Kari)
	Julian
	[(Mary) {-0.06 Kern} (Anne)]
	(Alex)
	(Elizabeth)
	(Ian)
	(Laura)
	Wolfgang
	()
] def


/Circlearrays [
	[ (2000)  BGA  (The Bridgemans) ]
	[ (Old Reserve White)  [(Quinta Santa Euf) /ecircumflex (mia)]  (The Johns) ]
	[ (Cask 33)  (Sandeman)  (The Bridgemans) ]
	[ (60Y)  [(Quinta do Mour) /atilde (o)]  (The Elliotts) ]
	[ (1972)  Warre  (Colheita)  (Jubileum)  (Rob Coombes) ]
	[ (1964)  (Niepoort Garrefeira)  [Wolfgang ( Starz)] ]


	[ /dagger ]
	[ (1983)  (Graham)  (The Elliotts) ]
	[ (1983)  [(T) {-0.06 Kern} (aylor)]  (The Johns) ]
	[ (1983)  (Ramos Pinto)  (JNdA via The Wisemans) ]
	[ (1982)  [(W) {-0.06 Kern} (arre LBV)]  (The Wisemans) ]
	[ (1984)  [(W) {-0.06 Kern} (arre LBV)]  (The Wisemans) ]

] def

/Titles [
	(2000)
	(Ef)
	[/quoteleft (33) /quoteright]
	(60Y)
	(W72)
	(Ni64)

	/dagger
	(G83)
	(T83)
	(RP83)
	(W82)
	(W84)
	
] def

/Belowtitles [
	BGA
	(Old Reserve White)
	[(Sandeman ) Tawny]
	[(Mour) /atilde (o ) Tawny]
	(Colheita)
	(Garrefeira)

	()
	(Vintage Port)
	dup
	dup
	LBV
	LBV
] def

/Abovetitles [
	(Champagne)
	counttomark Titles length exch sub {()} repeat
] def

/SubtitlesTastingNotes [
	0 1 Titles length 1 sub
	{
		dup Abovetitles exch get dup length 0 gt {exch pop} {pop Belowtitles exch get} ifelse
	} for
] def

/SubtitlesVoteRecorder [
	SubtitlesTastingNotes
	{
		dup length 0 gt {dup dup length 1 sub get Tawny eq {dup length 1 sub 0 exch getinterval} {dup LBV eq {pop (LBV)} if} ifelse} if
	} forall
] def


/HeadersLeft [
	0  [(Davy) /quoteright (s at Woolgate EC2V 5HA, Friday 14) {SuperscriptOn} (th) {SuperscriptOff} ( August 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(The Elliotts in London: Bring a Bottle, Perhaps of Tawny)]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.06 Kern} (.) {-0.092 Kern} (ThePortForum.com, )
		(www) {-0.06 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight
/ExternalLinks [  % Even-length array of strings: http://URL0, Descriptor0, http://URL1, Descriptor1, ...
	(http://www.theportforum.com/viewtopic.php?t=10212&view=unread#unread)   (Review thread on ThePortForum.com)
	(http://www.theportforum.com/viewtopic.php?t=9984&view=unread#unread)   (Planning thread on ThePortForum.com)
	(http://www.jdawiseman.com/2015/20150814_The_Elliotts.pdf)   (Latest version this placemat)
	(http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20150814)  (   in list of placemats)

	()  ()

	(http://www.champagne-bollinger.com/)  (Bollinger)
	(http://www.qtastaeufemia.com/)  [(Quinta Santa Euf) /ecircumflex (mia)]
	(http://cask33.sandeman.com/)  (Sandeman Cask 33)
	(http://www.quintadomourao.pt/)  [(Quinta do Mour) /atilde (o)]
	(http://www.warre.com/)  (Warre)
	(http://www.niepoort-vinhos.com/en/ports/)  (Niepoort)
	(http://www.grahams-port.com/)  (Graham)
	(http://www.taylor.pt/en/)  (Taylor)
	(http://www.ramospinto.pt/)  (Ramos Pinto)
	
	()  ()

	(http://www.davy.co.uk/wine-bars/)  [(Davy) /quoteright (s at Woolgate)]
	(http://www.streetmap.co.uk/map.srf?x=532560&y=181440&z=106&pc=EC2V+5HA)  (EC2V 5HA, streetmap.co.uk)
	(http://www.bing.com/maps/default.aspx?where1=EC2V+5HA&cp=51.5162~-0.09084)  (EC2V 5HA, bing.com)
	(https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.51652,-0.091&cbp=11,80,,0,0)  (EC2V 5HA, maps.google.co.uk)
	(https://plus.google.com/115233829966484950403/)  [(Davy) /quoteright (s at Woolgate, plus.google.com)]
] def

/TitlesFont     /AvenirNextCondensed-DemiBold def
/CircletextFont /Garamond def

/BelowtitleMaxFontSizeProportionTitles 0.15 def
/InlineAbovetitles false def
/InlineBelowtitles false def

/ShapesInTitles true def
/ShapesInAbovetitles false def
/ShapesInBelowtitles false def
/ShapesToUse [/Flower] def
/InlineTitles true def

/VoteRecorderTotalColTitle [(T) {-0.08 Kern} (otal)] def

/GlassesCirclesFadingFactor {
	(Elizabeth) Names NameNum get eq  WithinPage 0 ne and
	[ (Glenn) Julian (Alex) (Ian) ] {Names NameNum get eq {pop WithinTitles 0 eq exit} if} forall
	{0.125} {1} ifelse
} def  % Person not drinking some wines? Use code returning a real >=0 <=1, depending on NameNum SheetNum WithinTitles WithinPage
Software version: 22:30 Sunday 9th August 2015

• Lots of strings with non-ASCII characters, and with kerning, stored for multiple use (Julian, Wolfgang, Warre, BGA, Tawny, LBV).

• Nice definition of SubtitlesTastingNotes. Might make it the standard.

• Maiden usage of the new parameter GlassesCirclesFadingFactor, on which depends the other new parameter GlassesCrossedOut. These new parameters were discussed in the software thread.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 22:34 Sat 05 Sep 2015

Wednesday 9th September 2015, at the Boot & Flogger, to celebrate Her Majesty Queen Elizabeth II becoming the longest-reigning Monarch of the United Kingdom. Image Image Image Image

Code: Select all

/JDAW [(JDA) {-0.04 Kern} (W)] def
/RAYC [(RA) {-0.04 Kern} (YC)] def
/Taylor [(T) {-0.08 Kern} (aylor)] def
/Warre [(W) {-0.06 Kern} (arre)] def
/SHT [(Single Harvest T) {-0.08 Kern} (awny)] def
/GW (Golden White) def

/Circlearrays [
	[ (1924)  [(Of) /fl (ey)]  (THRA) ]
	[ (1952)  [(Dalva ) GW]  JDAW ]
	[ (1952)  [(Graham ) SHT]  (Flora)  (JADS) ]  % Johnny A. D. Symington
	[ (1952)  [(Graham ) SHT]  (Fauna)  (JADS) ]  % Johnny A. D. Symington
	[ (1955)  (Graham)  (DJ) ]
	[ (1955)  (Dow)  (DRT) ]
	[ /sterling ]
	[ /dollar ]
	[ (1960)  (Dow)  (IDJ) ]
	[ (1960)  (Dow) (BMHR) ]
	[ (1960)  (Croft)  (WPS) ]
	[ (1960)  Warre  (PW) ]
	[ (1963)  Taylor  JDAW]
	[ (1963)  (Cockburn)  RAYC ]
	[ (1970)  (Dow)  (WPS) ]
	[ (1970)  (Fonseca)  (CMAG) ]
	[ (1977)  Taylor  (CPR) ]
	[ /Euro ]
] def

/Titles [
	(O24)   % THRA
	(Dl52)  % JDAW
	(G52)   % JADS
	(G52)   % JADS
	(G55)   % DJ
	(D55)   % DRT
	/sterling
	/dollar
	(D60)   % IDJ
	(D60)   % BMHR
	(Cr60)  % WPS
	[(W) {-0.08 Kern} (60)]   % PW
	[(T) {-0.04 Kern} (63)]   % JDAW
	(Ck63)   % RAYC
	(D70)   % WPS
	(F70)   % CMAG
	[(T) {+0.02 Kern} (77)]   % CPR
	/Euro
] def

/Belowtitles [ Titles {dup (G52) eq {pop SHT} {(Dl52) eq {GW} {()} ifelse} ifelse} forall ] def
/Abovetitles  % If the item of Titles is not unique then item 2 of the item of Circlearrays otherwise the empty string
[
	0  1  Titles length 1 sub
	{
		/WithinTitles exch def
		()
		0  1  Titles length 1 sub
		{
			dup WithinTitles ne exch  Titles exch get Titles WithinTitles get eq  and {pop  Circlearrays WithinTitles get 2 get  exit} if
		} for  % another 'WithinTitles'
	} for  % WithinTitles
] def  % /Abovetitles
/Overtitles [ Titles length {()} repeat ] def
/SubtitlesTastingNotes [ 0 1 Abovetitles length 1 sub {dup Abovetitles exch get dup length 0 gt {exch pop} {pop Belowtitles exch get} ifelse} for ] def
/SubtitlesVoteRecorder SubtitlesTastingNotes def

/Names [
	% Extracts names from last items of Circlearrays' sub-arrays, and removes duplicates
	(JADS)  % So that our guest is named first
	Circlearrays {dup length 0 gt {dup length 1 sub get dup dup length 1 gt exch type /nametype ne and {counttomark 1 sub -1 1 {index 1 index eq {pop exit} if} for} {pop} ifelse} {pop} ifelse} forall
	()
] def
/NamesVoteRecorder [ Names {dup (CMAG) eq {(CEK)} if} forall ] def  % CMAG's +1, arriving late so without separate seating but with voting

/PaperType /A4 def  % /A4 /A3 /USL = 8.5"x11", /USLegal = 8.5"x14", /USL2 = 11"x17", [SmallerPts LargerPts]

/HeadersLeft [
	0  [(Boot & Flogger, Wednesday 9) {SuperscriptOn} (th) {SuperscriptOff} ( September 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [{PageWidth PageHeight gt {(Her Majesty Queen Elizabeth II becomes the longest-reigning Monarch of the United Kingdom)} {(Port Fit for a Queen, after 23227 Days)} ifelse}]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.092 Kern} (.Royal.gov.uk, )
		(www) {-0.092 Kern} (.) {-0.092 Kern} (ThePortForum.com, )
		(www) {-0.092 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (The Monarchy)                        (http://www.royal.gov.uk/)
	false   (Discussions, documents, lists)       ()
	true    (Latest version this placemat)                 (http://www.jdawiseman.com/2015/20150909_Elizabeth2_Victoria.pdf)
	true    (In list of placemats)                         (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20150909)
	true    (Food order)                                   (http://www.jdawiseman.com/2015/20150909_ThePortForum_food.pdf)
	true    (Review at ThePortForum.com)                   (http://www.theportforum.com/viewtopic.php?t=10257&view=unread#unread)
	true    (1924 Offley)                                  (http://www.theportforum.com/viewtopic.php?t=10258&view=unread#unread)
	true    (1952 Dalva Golden White)                      (http://www.theportforum.com/viewtopic.php?t=10261&view=unread#unread)
	true    (1952 Graham Single Harvest Tawny \(Flora\))   (http://www.theportforum.com/viewtopic.php?t=10259&view=unread#unread)
	true    (1952 Graham Single Harvest Tawny \(Fauna\))   (http://www.theportforum.com/viewtopic.php?t=10260&view=unread#unread)
	true    (1955 Graham)                                  (http://www.theportforum.com/viewtopic.php?t=10262&view=unread#unread)
	true    (1955 Dow)                                     (http://www.theportforum.com/viewtopic.php?t=10263&view=unread#unread)
	true    (1960 Dow \(IDJ\))                             (http://www.theportforum.com/viewtopic.php?t=10264&view=unread#unread)
	true    (1960 Dow \(BMHR\))                            (http://www.theportforum.com/viewtopic.php?t=10265&view=unread#unread)
	true    (1960 Croft)                                   (http://www.theportforum.com/viewtopic.php?t=10266&view=unread#unread)
	true    (1960 Warre)                                   (http://www.theportforum.com/viewtopic.php?t=10267&view=unread#unread)
	true    (1963 Taylor)                                  (http://www.theportforum.com/viewtopic.php?t=10268&view=unread#unread)
	true    (1963 Cockburn)                                (http://www.theportforum.com/viewtopic.php?t=10271&view=unread#unread)
	true    (1970 Dow)                                     (http://www.theportforum.com/viewtopic.php?t=10269&view=unread#unread)
	true    (1970 Fonseca)                                 (http://www.theportforum.com/viewtopic.php?t=10270&view=unread#unread)
	true    (1977 Taylor)                                  (http://www.theportforum.com/viewtopic.php?t=10272&view=unread#unread)
	true    (Financial Times, comment in)                  (http://www.ft.com/cms/s/0/24a8e240-509c-11e5-8642-453585f2cfcd.html?lf-content=143608157:374849029)
	true    (Planning at ThePortForum.com)                 (http://www.theportforum.com/viewtopic.php?t=9935&view=unread#unread)
	false   (Johnny Symington)                    (http://blog.grahams-port.com/?s=Johnny+Symington)
	false   (Boot & Flogger)                      (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)                     (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)                   (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)                            (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	false   ()                                    ()
	false   [/section ( Port Houses and Ports)]   ()
	false   [(Of) /fl (ey)]                       (http://eng.sograpevinhos.com/marcas/Offley)
	false   (Dalva)                               (http://www.cdasilva.pt/)
	true    (Dalva Golden White)                           (http://www.cdasilva.pt/DalvaIdade_GoldenWhite?allow=1&codIdioma=2)
	false   (Graham)                              (http://www.grahams-port.com/)
	true    (1952 colheita, announcement)                  (http://blog.grahams-port.com/2012/05/03/grahams-1952-single-harvest-tawny-port/)
	true    (1952 colheita, slide)                         (http://www.grahams-port.com/wines/wood-aged-ports/colheitas)
	true    (1952 colheita, picture)                       (http://www.grahams-port.com/static/7166_Grahams-1982-75cl-normal.png)
	true    (1955 Graham V.P.)                             (http://www.thevintageportsite.com/special.php?go=kb&year=1955&brand=Graham%27s)
	false   (Dow)                                 (http://www.dows-port.com/)
	true    (1955 Dow V.P.)                                (http://www.thevintageportsite.com/special.php?go=kb&year=1955&brand=Dow%27s)
	true    (1960 Dow V.P.)                                (http://www.thevintageportsite.com/special.php?go=kb&year=1960&brand=Dow%27s)
	true    (1970 Dow V.P.)                                (http://www.thevintageportsite.com/special.php?go=kb&year=1970&brand=Dow%27s)
	false   (Croft)                               (http://www.croftport.com/en/)
	false   (Warre)                               (http://www.warre.com/)
	true    (1960 Warre V.P.)                              (http://www.thevintageportsite.com/special.php?go=kb&year=1960&brand=Warre%27s)
	false   (Taylor)                              (http://www.taylor.pt/en/)
	true    (1963 Taylor V.P.)                             (http://www.taylor.pt/en/catalogue/vintage/port-wine/classic/1963/)
	true    (1977 Taylor V.P.)                             (http://www.taylor.pt/en/catalogue/vintage/port-wine/classic/1977/)
	false   (Fonseca)                             (http://www.fonseca.pt/)
	true    (1970 Fonseca V.P.)                            (http://www.fonseca.pt/en/port/vintage-port/fonseca/1970/)
	false   (Cockburn)                            (http://www.cockburns.com/)
	true    (1963 Cockburn V.P.)                           (http://www.thevintageportsite.com/special.php?go=kb&year=1963&brand=Cockburn%27s)
] def

/PrePourNumCopies {Circlearrays WithinTitles get 0 get (1977) eq {1} {0} ifelse} def
/StickyLabelsNumCopies 1 def
/StickyLabelsTypes [1] def  % 0 = 2x4 on A4; 1 = 5x13 on A4
/StickyLabelsByNameWhichReplaceCirclearrays false def

/TitlesFont     /Cochin  def  % /AccanthisADFStdNo3-Regular  /ArrayCondensedNormal
/CircletextFont /Optima-Regular def
/BackgroundTextsFont /StreetCornerUpperNarrower def

/InlineTitles false def

/WaterBoxes {NameNum -1 le {0} {GlassesNumCopies 1 ge {/Glasses} {/TastingNotes} ifelse} ifelse} def  % /Glasses /TastingNotes /Both, any other value being none

/VoteRecorderTotalColTitle [(T) {-0.08 Kern} (otal)] def

/BackgroundTextsGlasses true def
/BackgroundTextsGlassesTexts [  [(E2) {+0.0778948 Kern} (>) {+0.020 Kern} (V)]  dup  dup  ] def
/BackgroundTextsSquooshMax 1 def  % y/x scaling, bigger being taller, smaller being fatter
/BackgroundTextsGlassesPaintCode {clip 4.32 setlinewidth 127 128 div setgray stroke} def
Software version: 23:55 Monday 7th September 2015.

Some trickery, but nothing unreasonably unfathomable.

Names has code that Extracts names from last items of Circlearrays' sub-arrays, and removes duplicates. NamesVoteRecorder is the same with (CEK) added after (CMAG).

HeadersCenter: code returning a long string if PageWidth>PageHeight, otherwise the shorter string.

ExternalLinks very long, as code now allows these to be grouped into parent (false) and child (true) elements. Lots of links.

PrePourNumCopies: only the 1977s.

• Code processing BackgroundTextsGlasses now allows background orientation to differ from that of the page: BackgroundTextsOrientation at its default value /Landscape.

• My home printer prints greys as very dark. Hence the “127 128 div” in BackgroundTextsGlassesPaintCode.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 19:03 Sun 20 Sep 2015

An Emergency, at the Boot & Flogger, on Monday 21st September 2015. Image Image Image

Code: Select all

/JDAW [(JDA) {-0.06 Kern} (W)] def
/THRA [(THR) {+0.06 Kern} (A)] def

/Circlearrays [
	[  JDAW  [/quoteleft {-0.08 Kern} (A) {-0.08 Kern} /quoteright]  ]
	[  JDAW  [/quoteleft (B) /quoteright]  ]
	[  THRA  ]
	[  (SCD)  ]
	[  (DRT)  (Port)  ]
	[  (DRT)  (Claret)  ]
] def

/Titles [Circlearrays {0 get} forall ] def

/Belowtitles [ Circlearrays {dup length 2 ge {1 get} {pop ()} ifelse} forall ] def

/Names [
	% Extracts names from first items of Circlearrays' sub-arrays, and removes /nametypes and duplicates
	Circlearrays {0 get dup type /nametype ne {counttomark 1 sub -1 1 {index 1 index eq {pop exit} if} for} {pop} ifelse} forall
	()
] def  % /Names

/HeadersLeft [
	0  [(Boot & Flogger, Monday 21) {SuperscriptOn} (st) {SuperscriptOff} ( September 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(An Emergency)]
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Planning on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=10286&view=unread#unread)
	false   (Review at ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10292&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2015/20150921_emergency.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20150921)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=95232#p95232)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/DecanterLabelsNumCopies {Belowtitles WithinTitles get (Claret) eq {0} {1} ifelse} def
/CorkDisplay false def

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (What is it?) ]
	[ (Wine Of The Night?)  /questiondown ]
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderShowTotalRow [ true false ] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderTotalColTitle [(T) {-0.08 Kern} (otal)] def
/GlassesClusteredOnVoteRecorders [
	[ [ 0 1 Titles length 1 sub {dup Belowtitles exch get (Claret) eq {pop} if} for ] ]
	[ [ 0 1 Titles length 1 sub {} for ] ]
] def  % triple-depth array, same length as VoteRecorderTopTexts and VoteRecorderShowTotalRow

/TitlesFont     /TrebuchetMS-Bold def  % TrebuchetMS-Bold is sans-serif, pleasingly weighted, with bright negative spaces
/CircletextFont /Garamond def

/BelowtitleMaxFontSizeProportionTitles 0.25 def

/InlineBelowtitles false def

/TastingNotesCirclesBehindFitAndCentreInRow false def
Software version: 21:00 Friday 18th September 2015

Names automatically extracted from the first items of Circlearrays' sub-arrays, with automatic removal of duplicates, and of /nametypes (an earlier draft had a /dagger = †).

• No need to make a decanter label for DRT’s (Claret).

• DRT’s (Claret) served sighted, so GlassesClusteredOnVoteRecorders altered to remove it from vote-recorder guessing page.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 00:21 Thu 12 Nov 2015

A 1985 Horizontal, at the Boot & Flogger, on Wednesday 25th November 2015. Image Image Image Image

Code: Select all

/JDAW [(JDA) {-0.08 Kern} (W)] def
/Vintage (1985) def

/PortData   %  Title  Belowtitle  Circlearrays...
[
	[ [(C) /aacute]          ()   [(C) /aacute (lem)]   Vintage  (WPS) ]
	[ [(M) {-0.02 Kern} (G)] ()   (M Gonzalez)          Vintage  (BMHR) ]
	[ (Df)                   ()   (Delaforce)           Vintage  (THRA) ]
	[ (Hv)                   ()   (Harvey)              Vintage  (IDJ) ]
	[ (A)                    ()   (J. H. Andresen)      Vintage  (AP) ]
	[ (N)                    ()   (Quinta do Noval)     Vintage  (AP) ]
	[ (O)                    ()   [(Of) /fl (ey Boa Vista)]  Vintage  (MPM) ]

	[ (Ch)                   ()   (Churchill)           Vintage  JDAW ]
	[ (S)                    ()   (Sandeman)            Vintage  (THRA) ]
	[ (Mz)                   ()   (Martinez)            Vintage  JDAW ]
	[ (GC)                   ()   (Gould Campbell)      Vintage  (THRA) ]
	[ (QH)                   ()   (Quarles Harris)      Vintage  (CPR) ]
	[ [(S) {-0.01 Kern} (W)] ()   [(Smith W) {-0.08 Kern} (oodhouse)]  Vintage  (THRA) ]
	
	[ (RP)                   ()   (Ramos Pinto)         Vintage  (AP) ]
	[ (D)                    ()   (Dow)                 Vintage  (CPR) ]
	[ (G)                    ()   (Graham)              Vintage  (AHB) ]
	[ (W)                    ()   [(W) {-0.08 Kern} (arre)]   Vintage  (IDJ) ]
	[ (T)                    ()   [(T) {-0.08 Kern} (aylor)]  Vintage  (WPS) ]
	[ (F)                    ()   (Fonseca)             Vintage  (MPM) ]
] def

/Circlearrays [ PortData {dup 2 exch length 2 sub getinterval} forall ] def
/Titles [ PortData {0 get} forall ] def
/Belowtitles [ PortData {1 get} forall ] def
/TitlesTastingNotes [ Circlearrays {0 get} forall ] def

/Names [
	(MPM)  (WPS)  JDAW  (IDJ)  (THRA)  (AHB)  (AP)  (DJ)  (CPR)  (TC)  (RDA)  (SCD)  (CSD)
	()
] def

/HeadersLeft [
	0  [(Boot & Flogger, Wednesday 25) {SuperscriptOn} (th) {SuperscriptOff} ( November 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(A Horizontal of 1985s)]
] def  % /HeadersCenter


/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Review at ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10381&view=unread#unread)
		true    [(C) /aacute (lem 1985, TN)]     (http://www.theportforum.com/viewtopic.php?t=10394&view=unread#unread)
		true    (M Gonzalez 1985, TN)            (http://www.theportforum.com/viewtopic.php?t=10395&view=unread#unread)
		true    (Delaforce 1985, TN)             (http://www.theportforum.com/viewtopic.php?t=10396&view=unread#unread)
		true    (Harvey 1985, TN)                (http://www.theportforum.com/viewtopic.php?t=10415&view=unread#unread)
		true    (J. H. Andresen 1985, TN)        (http://www.theportforum.com/viewtopic.php?t=10397&view=unread#unread)
		true    (Quinta do Noval 1985, TN)       (http://www.theportforum.com/viewtopic.php?t=10398&view=unread#unread)
		true    (Offley Boa Vista 1985, TN)      (http://www.theportforum.com/viewtopic.php?t=10399&view=unread#unread)
		true    (Churchill 1985, TN)             (http://www.theportforum.com/viewtopic.php?t=10400&view=unread#unread)
		true    (Sandeman 1985, TN)              (http://www.theportforum.com/viewtopic.php?t=10401&view=unread#unread)
		true    (Martinez 1985, TN)              (http://www.theportforum.com/viewtopic.php?t=10402&view=unread#unread)
		true    (Gould Campbell 1985, TN)        (http://www.theportforum.com/viewtopic.php?t=10403&view=unread#unread)
		true    (Quarles Harris 1985, TN)        (http://www.theportforum.com/viewtopic.php?t=10404&view=unread#unread)
		true    (Smith Woodhouse 1985, TN)       (http://www.theportforum.com/viewtopic.php?t=10405&view=unread#unread)
		true    (Ramos Pinto 1985, TN)           (http://www.theportforum.com/viewtopic.php?t=10406&view=unread#unread)
		true    (Taylor 1985, TN)                (http://www.theportforum.com/viewtopic.php?t=10407&view=unread#unread)
		true    (Fonseca 1985, TN)               (http://www.theportforum.com/viewtopic.php?t=10408&view=unread#unread)
		true    (Dow 1985, TN)                   (http://www.theportforum.com/viewtopic.php?t=10409&view=unread#unread)
		true    (Graham 1985, TN)                (http://www.theportforum.com/viewtopic.php?t=10410&view=unread#unread)
		true    (Warre 1985, TN)                 (http://www.theportforum.com/viewtopic.php?t=10411&view=unread#unread)
	false   (Planning at ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=10175&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2015/20151125_1985s.pdf)
		true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20151125)
		true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=96335#p96335)
	false   (Food order)                     (http://www.jdawiseman.com/2015/20151125_ThePortForum_food.pdf)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
		true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
		true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
		true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/GlassesOnSheets [   [ 0 1 6 {} for ]   [ 7 1 12 {} for ]   [ 13 1 Titles length 1 sub {} for ]   ] def
/GlassesOnTastingNotePages GlassesOnSheets def
/PermittedPackingStyles [
	/RectangularDislocation
	/Diamonds
	/DiamondsAndRectangular
	/DiamondsPlus
	[ /Adjusted5  /OnlyIfOrientation /Landscape ]
	[ /Adjusted7  /OnlyIfOrientation /Landscape ]
] def  % /PermittedPackingStyles
/ShrinkRadii [0 1 1] def

/BackgroundTextsGlasses true def
/BackgroundTextsGlassesTexts [  [(8) {-0.165253 Kern} (5)]  dup dup ] def
/BackgroundTextsOrientation /Portrait def

/TastingNotesTitlesFontSizeMax 16 def

/GlassesDestForEachCircle true def
Software version 23:30 Saturday 21st November 2015.


Mostly vanilla.

• Data pulled from PortData into Circlearrays, Titles, Belowtitles, and TitlesTastingNotes. This code is slightly more general-purpose than is used because there had been plans to include some magnums.

ExternalLinks contains the TN threads — at least those created before the tasting. Is this a good idea?

BackgroundTextsGlassesTexts extremely Kerned, and new parameter BackgroundTextsOrientation.

/GlassesDestForEachCircle true def because this file was referenced in Chrome bug report #535978.

• Seven glasses on SheetNum 0. So GlassesOnSheets set manually, and copied in to GlassesOnTastingNotePages, and PermittedPackingStyles changed to remove the default conditions on /DiamondsPlus (indeed, the conditions might be removed from the default). Finally ShrinkRadii changed so that SheetNums 1 and 2 can have larger radii than 0.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 00:43 Wed 09 Dec 2015

A 1975 Horizontal, at the Boot & Flogger, on Wednesday 25th November 2015. Image Image Image Image

Code: Select all

/Vintage [(1975)] def
/THRA (THRA) def

/PortData [
	[ [(Ni)]                   [(Niepoort)]              (1957)  (Colheita)  (SCD) ]
	[ (Ni)                     (Niepoort)                Vintage (Colheita)  (EDN) ]

	[ (Ni)                     (Niepoort)                           Vintage  THRA ]
	[ (Df)                     (Delaforce)                          Vintage  THRA ]
	[ [(C) /aacute]            [(C) {+0.06 Kern} /aacute (lem)]     Vintage  THRA ]
	[ (N)                      (Quinta do Noval)                    Vintage  THRA ]
	[ (O)                      (Offley)                             Vintage  (IDJ) ]
	[ (S)                      (Sandeman)                           Vintage  (TC)   (Magnum) ]


	[ (Ck)                     (Cockburn)                           Vintage  THRA ]
	[ (GC)                     (Gould Campbell)                     Vintage  THRA ]
	[ (SW)                     [(Smith W) {-0.06 Kern} (oodhouse)]  Vintage  THRA ]
	[ [(Q) {-0.03 Kern} (H)]   (Quarles Harris)                     Vintage  (WPS) ]
	[ (D)                      (Dow)                                Vintage  THRA ]
	[ (G)                      (Graham)                             Vintage  THRA ]
	[ (W)                      [(W) {-0.06 Kern} (arre)]            Vintage  THRA ]

	[ (Cr)                     (Croft)                              Vintage  THRA ]
	[ (F)                      (Fonseca)                            Vintage  THRA ]
	[ (T)                      [(T) {-0.06 Kern} (aylor)]           Vintage  (IDJ) ]
] def

/Circlearrays [ PortData { [ exch dup length 1 sub 1 exch getinterval aload pop ] } forall ] def
/Titles [ PortData {0 get} forall ] def
/Belowtitles [ PortData {dup 0 get (S) eq {4 get} {pop ()} ifelse} forall ] def
/Overtitles [ [PortData 0 get dup 2 get exch 3 get ( ) exch]   [PortData 1 get dup 2 get exch 3 get ( ) exch]   PortData length 2 sub {Vintage} repeat ] def
/SubtitlesTastingNotes [ PortData {dup 0 get (S) eq {4 get} {2 get} ifelse} forall ] def
/TitlesTastingNotes [ Circlearrays {0 get} forall ] def

/HeadersLeft [
	0  [(Boot & Flogger, T) {-0.06 Kern} (uesday 15) {SuperscriptOn} (th) {SuperscriptOff} ( December 2015)]
] def  % /HeadersLeft
/HeadersCenter [
	0  {TypeOfPagesBeingRendered /Glasses eq dup {pop PaperType /A3 ne} if {()} {[(Seventy-Five at Forty)]} ifelse}
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.08 Kern} (.Niepoort-) {-0.08 Kern} (Vinhos.com, )
		(www) {-0.08 Kern} (.) {-0.12 Kern} (ThePortForum.com, )
		(www) {-0.08 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Planning on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=10244&view=unread#unread)
	false   (Review on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10436&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2015/20151215_1975s.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20151215)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=96832#p96832)
	false   (Food order)                     (http://www.jdawiseman.com/2015/20151215_ThePortForum_food.pdf)
	false   (Niepoort Vinhos)                (http://www.niepoort-vinhos.com/en/)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/Names [
	(EDN)   (EMN)
	THRA
	[(JDA) {-0.08 Kern} (W)]
	(IDJ)  (WPS)  (MPM)  (CPR)  (SH)  (SCD)  (AP)  (TC)
	()
]  def

/PaperType {SheetNum 0 eq {/A3} {/A4} ifelse} def  % /A4 /A3 /USL = 8.5"x11", /USLegal = 8.5"x14", /USL2 = 11"x17", [SmallerPts LargerPts]
/GlassesOnSheets [
	[ 0  1  Titles length 4 sub {} for ]
	[ Titles length 3 sub  1  Titles length 1 sub {} for ]
] def  % /GlassesOnSheets
/PermittedPackingStyles [
	% A3, SheetNum=0
	[ /Diamonds                        /GlassesNumMin 4  /PackingNestingColumnMajor true ]
	[ /DiamondsAndRectangular          /GlassesNumMin 4  /PackingNestingColumnMajor true /RectColsToLeftOrRowsBelow 0 ]
	[ /RectangularDislocation          /GlassesNumMin 4  /PackingNestingColumnMajor true ]
	[ /RectangularAlternateSplitNudge  /GlassesNumMin 10 /PackingNestingColumnMajor true ]
	[ /RectangularAlternateNudge       /GlassesNumMin 4  /PackingNestingColumnMajor true /ImprovementPointsMin 2 ]
	% A4, SheetNum=1
	[ /RightSide  /GlassesNumMax 3 ]
] def  % /PermittedPackingStyles

/GlassesOnSheetsMaxPerTNSheet  7  def  % just enough writing space for 8 TNs per page.

/TitlesFont     /AlbertusMTStd def  % /Albertus-Medium
/CircletextFont /AlbertusMT-Light def

/InlineTitlesMaxNumberContours {Overtitles WithinTitles get Vintage eq {1} {2} ifelse} def

/VoteRecorderTotalColTitle [(T) {-0.12 Kern} (otal)] def

/BackgroundTextsGlasses true def
/BackgroundTextsGlassesTexts [  [(7) {+0.02 Kern} (5)]  ()  ] def
/BackgroundTextsOrientation /Natural def  % /Landscape /Portrait /Natural /Rotated
/BackgroundTextsTNsTexts [
	[(7) {CurrentFontSize dup -0.22561 mul exch -0.36 mul rmoveto} (5)]  % /Albertus-Medium
	Titles length 7 div ceiling cvi {dup} repeat pop
] def

/TastingNotesTitlesFontSizeMax 16 def

/PrePourReverseOrder false def
Software version 22:00 Wednesday 9th December 2015.

• As is typical for large tastings, PortData is decanted into the likes of Circlearrays, Titles, Belowtitles, Overtitles, SubtitlesTastingNotes, and TitlesTastingNotes.

PaperType varies by SheetNum.

PermittedPackingStyles also varies, though the variation is controlled with /GlassesNumMin. The A4 page, to be overlapped, uses the new base style /RightSide.

InlineTitlesMaxNumberContours varies, being 1 for the 1975s, otherwise 2.

• Unusually, BackgroundTextsGlassesTextsBackgroundTextsTNsTexts.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 13:57 Fri 05 Feb 2016

An Emergency, at the Boot & Flogger, on Monday 8th February 2016. Image Image

Code: Select all

/JDAW [(Julian W) {-0.12 Kern} (.)] def
/DRT [(Derek T) {-0.12 Kern} (.)] def
/WPS [(W) {-0.04 Kern} (olfgang S.)] def
/PW [(Phil W) {-0.12 Kern} (.)] def

/Circlearrays [
	[ (Butler Nephew 1960)  (Alex B.) ]
	[ (Croft 1963)  (Mike M.) ]
	[ (Sandeman 1963)  (Simon D.) ]
	[ (Martinez 1963)  WPS ]
	[ (Fonseca 1970)  (Charles R.) ]
	[ [(Of) /fl (ey Boa Vista 1970)]  (Ian J.) ]
	[ [(Of) /fl (ey Boa Vista 1972)]  DRT ]
	[ (Cockburn 1977)  DRT ]
	[ (Fonseca 1977)  PW ]
	[ (Fonseca 1985)  (Bruno-Ken S.) ]
	[ (Quinta do Noval Nacional 1987)   JDAW ]
	[ (Dow 1997)  (Greg D.) ]  % Right-handed, GLHBD, Greg L? Horatio Bonaparte Drain
	[ /dagger ]
] def

/Titles [
	[(BN) {-0.01 Kern} (60)]
	(Cr63)
	(S63)
	[(Mz) {-0.02 Kern} (6) {-0.04 Kern} (3)]
	(F70)
	(O70)
	(O72)
	(Ck77)
	(F77)
	(F85)
	[(N) {-0.01 Kern} (N) {-0.02 Kern} (8) {-0.06 Kern} (7)]
	(D97)

	Circlearrays length 1 sub  -1  0 {/i exch def  Circlearrays i get 0 get dup type /nametype eq {Circlearrays length i sub 1 roll} {pop} ifelse} for  % Rolls names into correct places
] def

/Belowtitles [ Circlearrays {dup length 3 ge {1 get} {pop ()} ifelse} forall ] def

/Names [
	(Ken S.)  (Greg D.)
	Circlearrays {dup length 1 sub get  dup type /nametype eq {pop} {counttomark 1 sub -1 1 {index 1 index eq {pop exit} if} for} ifelse  dup (Bruno-Ken S.) eq {pop} if} forall  % Removes /names and duplicates
	()
] def

/PaperType /A3 def  % /A4 /A3 /USL = 8.5"x11", /USLegal = 8.5"x14", /USL2 = 11"x17", [SmallerPts LargerPts]

/HeadersLeft [
	0  [(Boot & Flogger, Monday 8) {SuperscriptOn} (th) {SuperscriptOff} ( February 2016)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Bring A Bottle, Sighted)]
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Planning thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10553&view=unread#unread)
	false   (Review thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10593&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2016/20160208_BKS.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20160208)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=98028#p98028)
	false   (Food order)                     (http://www.jdawiseman.com/2016/20160208_ThePortForum_food.pdf)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/PlaceNames true def

% 0=BN60       6=O72      12=  +
%        5=O70      7=Ck77
% 1=Cr63       4=F70      10=NN87
%        2=S63      8= F77
% 3=Mz63       9=F85      11= D97
/GlassesOnSheets [
	[ 0 6 12 5 7 1 4 10 2 8 3 9 11 ]
] def  % /GlassesOnSheets

/TastingNotesCirclesBehindFitAndCentreInRow false def

/PagesToBeInserted true def
Software version 11:30 Sunday 7th February 2016.

• Earlier versions of this has † and ‡ on two A4 pages, so these were echoed from the Circlearrays into the Titles rather intricately. In the final version the intricacy was unnecessary.

Names derived from Circlearrays, with exceptions and re-ordering.

• Careful Kerning of the wider Titles, NN87 being the boundary condition for the size.

• Ports in the natural order for the tasting-note and vote-recorder pages. Rearranged for the A3 glasses page such that the 1963s were adjacent, as were the 1970s, 1977s, Fonsecas, and Offleys.

• Maiden usage of PagesToBeInserted.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 22:24 Thu 25 Feb 2016

Wednesday 24th February 2016, a complete vertical of Quinta do Vesuvio, at the Boot & Flogger. Image Image

Code: Select all

/Vesuvio [(V) {-0.12 Kern} (esuvio)] def
/QdV [(Quinta do ) Vesuvio] def
/CdQdV [(Capela da ) QdV] def
/Capela  (CAPELA) def

/JDAW [(JDA) {-0.06 Kern} (W)] def

/PortData [
	%  YYYY  Made WeHave Circle    Who         Below   Above
	[ (1989) true  true  QdV (DB) ]
	[ (1990) true  true  QdV (DB) ]
	[ (1991) true  true  QdV (IDJ) ]
	[ (1992) true  true  QdV (DB) ]

	[ (1994) true  true  QdV (JWEW) ]
	[ (1995) true  true  QdV (CPR) ]
	[ (1996) true  true  QdV (PW) ]
	[ (1997) true  true  QdV (DRT) ]
	[ (1998) true  true  QdV (JWEW) ]
	[ (1999) true  true  QdV (WPS) ]
	[ (2000) true  true  QdV (WPS) ]
	[ (2001) true  true  QdV (AP) ]

	[ (2003) true  true  QdV (AP) ]
	[ (2004) true  true  QdV (AP) ]
	[ (2005) true  true  QdV (CPR) ]
	[ (2006) true  true  QdV (DRT) ]
%	[ (2007) true  false CdQdV ()         Capela ]
	[ (2007) true  true  QdV (AHB) ]
	[ (2008) true  true  QdV (AP) ]
	[ (2009) true  true  QdV (WPS) ]
	[ (2010) true  true  QdV (WPS) ]
%	[ (2011) true  false CdQdV ()         Capela ]
	[ (2011) true  true  QdV (AHB) ]
	[ (2012) true  true  QdV (AP) ]
	[ (2013) true  true  QdV (AP) ]

	[ /dagger true  true  /dagger ]
] def  % /PortData

/Circlearrays [
	PortData
	{
		[ exch
			dup 0 get exch
			dup 3 get exch
			dup length 5 ge {4 get dup length 0 eq {pop} if} {pop} ifelse
		]
	} forall
] def

/TitlesTastingNotes [ PortData {0 get} forall ] def
/Titles [ TitlesTastingNotes {dup type /stringtype eq {2 2 getinterval} if} forall ] def
/Belowtitles [ PortData {dup length 6 ge {5 get} {pop ()} ifelse} forall ] def
/Abovetitles [ PortData {dup length 7 ge {6 get} {pop ()} ifelse} forall ] def
/Overtitles [
	PortData {dup length 4 ge {3 get dup QdV eq {pop Vesuvio} {CdQdV eq {(Capela)} {()} ifelse} ifelse} {pop ()} ifelse} forall
] def
/SubtitlesTastingNotes [
	0 1 Belowtitles length 1 sub
	{
		1 {
			() exch
			dup Belowtitles exch get dup length 0 gt {exch pop exch pop exit} {pop} ifelse
			dup Abovetitles exch get dup length 0 gt {exch pop exch pop exit} {pop} ifelse
			dup Overtitles  exch get dup length 0 gt {exch pop exch pop exit} {pop} ifelse
			pop
		} repeat
	} for
] def
/TitlesVoteRecorder TitlesTastingNotes def


/Names [
	(JADS)  (DB)  (WPS)  (MPM)  (JWEW)  (CPR)  JDAW  (AHB)  (SCD)  (PW)  (IDJ)  (BMHR)  (AP)
	(SCP)  % simon.picot@cantab.net
	()
] def

/PaperType /A2 def
% r = (594*360/127 - 48)/(2 + 7 Sqrt[3]) // FullSimplify; Print[N[r]]; outerGlassesMarginB = (420*360/127 - 30 - 24 - 7 r) // Simplify; Print[outerGlassesMarginB]; Print[N[outerGlassesMarginB]];
/OuterGlassesMarginB 3924887 1696576 3 sqrt mul sub 6 mul 18161 div def

/HeadersLeft [
	0  [(Boot & Flogger, W)  Vesuvio 1 get  (ednesday 24) {SuperscriptOn} (th) {SuperscriptOff} ( February 2016)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(A V)  Vesuvio 1 get  (ertical of ) Vesuvio]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.08 Kern} (.QuintaDo) {-0.08 Kern} Vesuvio (.com, )
		(www) {-0.08 Kern} (.) {-0.08 Kern} (ThePortForum.com, )
		(www) {-0.08 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (QuintaDoVesuvio.com)            (http://www.quintadovesuvio.com/)
	false   (Thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=10197&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2016/20160224_vesuvio.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20160224)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/PrePourNumCopies  Names length 12 ge  { {PortData WithinTitles get 2 get {1} {0} ifelse} } {0} ifelse  def
/DecanterLabelsNumCopies /PrePourNumCopies load def
/AccountsNumCopies 0 def

/GlassesOnSheetsMaxPerSheet  99  def

/InlineTitlesMaxNumberContours {Belowtitles WithinTitles get Capela eq {2} {1} ifelse} def

/CircletextFont /TimesNewRomanPS-BoldMT def
/NamesFont      /TimesNewRomanPSMT def
/AbovetitlesFont  NamesFont def
/BelowtitlesFont  AbovetitlesFont def
/SubtitlesFont AbovetitlesFont def

/OvertitleMaxFontSizeProportionTitles 0.125 def

/CircletextsMinCopies 6 def

/InlineAbovetitles false def
/InlineBelowtitles false def

/GlassesCirclesFadingFactor {PortData WithinTitles get 2 get {1} {0.125} ifelse} def  % Person not drinking some wines? Use code returning a real >=0 <=1, depending on NameNum SheetNum WithinTitles WithinPage
/GlassesCrossedOut {PortData WithinTitles get 1 get not} def  % Not used

/TastingNotesCirclesBehindFitAndCentreInRow false def
Code version: 13:30 Wednesday 24th February 2016.

• Early versions of the placemats had greyed-out circles for the years not made (1993, 2002), and circles for Capela. Not used.
• On /A2, with a large bottom margin (in OuterGlassesMarginB), the value of which was computed in Mathematica (r = (594*360/127 - 48)/(2 + 7 Sqrt[3]) // FullSimplify; Print[N[r]]; outerGlassesMarginB = (420*360/127 - 30 - 24 - 7 r) // Simplify; Print[outerGlassesMarginB]; Print[N[outerGlassesMarginB]];) so that circles were arranged in a compact 60° pattern.
• To echo the 60° pattern, /CircletextsMinCopies 6 def.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 23:27 Mon 19 Sep 2016

Tuesday 20th September 2016, Port and Steak at The Boot & Flogger. Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201609200030) def

/Circlearrays [
	[ (CPR) ]
	[ (AHB) ]
	[ (DRT) ]
	[ /dagger ]
	[ /daggerdbl ]
] def

/Titles Circlearrays def

/Belowtitles [ Circlearrays length {()} repeat ] def

/Names [ Circlearrays {0 get dup type /nametype eq {pop} if} forall  () ] def

/HeadersLeft [
	0  [(Boot & Flogger, Tuesday 20) {SuperscriptOn} (th) {SuperscriptOff} ( September 2016)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Port and Steak)]
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=11134&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2016/20160920_Port_Steak.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20160920)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=101223#p101223)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def

/CorkDisplayNumCopies 0 def

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (What is it?) ]
	[ (Wine Of The Night?)  /questiondown ]
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderShowTotalRow [ true false ] def  % Must be same length as GlassesClusteredOnVoteRecorders

/TitlesFont     /Harrington def
/CircletextFont TitlesFont def
/NamesFont      /GilliusADFNo2-Bold def
/HeaderFont NamesFont def

/InlineTitles false def
Software version: 00:30 Tuesday 20th September 2016.

• All very vanilla. Since the previous posting in this thread the parameter ParametersVersionDateTimeAdobeFormat has been added, being a time-stamp of the placemats.

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 23:35 Tue 11 Oct 2016

I’ve been asked for help with VoteRecorderCrossedBox, which is indeed a very fiddly parameter. Some examples follow.

30 December 2014 (placemats, P&A):

Code: Select all

/VoteRecorderCrossedBox
{
	VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup
	{
		pop
		Titles WithinTitles get ASCIIfy  ThisName ASCIIfy eq  ThisName length 0 gt and
		Titles WithinTitles get dup type /stringtype eq {0 2 getinterval ASCIIfy  ThisName ASCIIfy eq  ThisName length 0 gt and  or} {pop} ifelse
		ThisName RAYC eq  Titles WithinTitles get JDAW eq and  or
		Circlearrays WithinTitles get length 2 ge  or
	} if
} def  % /VoteRecorderCrossedBox

26 March 2015 (placemats, review, P&A):

Code: Select all

/VoteRecorderCrossedBox {VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup {
	pop
	Circlearrays WithinTitles get length 2 ge ThisName length 2 ge and dup
	{
		pop
		Circlearrays WithinTitles get 0 get ASCIIfy 0 6 getinterval ThisName ASCIIfy 0 6 getinterval eq
	} if
} if} def

31 March 2015 (placemats, P&A):

Code: Select all

/VoteRecorderCrossedBox {VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup
	{pop false Data {dup 0 get Titles WithinTitles get eq exch 1 get 0 get ThisName eq and {pop true exit} if} forall}
if} def

21 July 2015 (placemats, review, P&A):

Code: Select all

/VoteRecorderCrossedBox {VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup
	{pop Circlearrays WithinTitles get 0 get dup ASCIIfy ThisName ASCIIfy eq exch dup type /arraytype eq {0 get ASCIIfy ThisName ASCIIfy eq or} {pop} ifelse ThisName length 0 gt and}
if} def

16 August 2016 (placemats, P&A):

Code: Select all

/VoteRecorderCrossedBox {
	VoteRecorderShowTotalRow VoteRecorderSheetNum GetEU dup
	{
		pop ThisName length 0 gt dup
		{
			pop Titles WithinTitles get ASCIIfy 0 get ThisName ASCIIfy 0 get eq
			Titles WithinTitles get (DRT) eq  ThisName (Charles) eq  and   or
		} if
	} if
} def

User avatar
jdaw1
Taylor 1900
Posts: 19486
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 » 17:22 Sat 04 Mar 2017

Thursday 9th March 2017, {Dow,Graham,Fonseca,Taylor,Warre} × {1980,1983,1983}, at The Boot & Flogger. Image Image Image Image

Code: Select all

/Taylor [(T) {-0.04 Kern} (aylor)] def
/Warre [(W) {-0.06 Kern} (arre)] def

/ParametersVersionDateTimeAdobeFormat (D:201703082100) def

/Circlearrays [
	[ (1980)  (Fonseca)  (IDJ)   ]
	[ (1983)  (Fonseca)  (PW) ]
	[ (1985)  (Fonseca)  (DRT) ]

	[ (1980)  Taylor     (IDJ) ]
	[ (1983)  Taylor     (SCD) ]
	[ (1985)  Taylor     (SCP) ]

	[ (1980)  (Dow)      (DRL) ]
	[ (1983)  (Dow)      (MPM) ]
	[ (1985)  (Dow)      (MPM) ]

	[ (1980)  (Graham)   (CPR) ]
	[ (1983)  (Graham)   (AHB) ]
	[ (1985)  (Graham)   (SCP) ]

	[ (1980)  Warre      (TC) ]
	[ (1983)  Warre      (SCD) ]
	[ (1985)  Warre      (CPR) ]

	[]
] def

/Titles [
	(F80)  (F83)  (F85)
	(T80)  (T83)  (T85)
	(D80)  (D83)  (D85)
	(G80)  (G83)  (G85)
	(W80)  (W83)  (W85)

	()
] def

/Belowtitles [ Circlearrays length {()} repeat ] def

/Names [
	(Mike M.)
	(Jancis R.)   % Jancis Mary Robinson
	[(Julian W) {-0.08 Kern} (.)]
	(Dave L.)  (Charles R.)  (Ian J.)  (Simon D.)  (Alex B.)
	[(Simon P) {-0.10 Kern} (.)]
	[(T) {-0.10 Kern} (ony C.)]
	[/quoteright (Dia G.)]
	[(Derek T) {-0.10 Kern} (.)]
	[(Phil W) {-0.10 Kern} (.)]
	(Jacques C.)  % Not certain, only a possible. Hence not on vote-recorder sheets.
	()
] def
/NamesAccounts [
	Names 0 get
	[ Names 2 get ( incl. JMR)]
	Names 3 Names length 3 sub getinterval aload pop
] def
/NamesVoteRecorder [ Names aload pop ] dup dup length 2 sub () put def

/ThePortForumIconPlacement {TypeOfPagesBeingRendered /Glasses eq {SheetNum 1 le} {//true} ifelse {/LowerNonWaterBox} {/None} ifelse} def  % /None

/HeadersLeft [
	0  {TypeOfPagesBeingRendered /Glasses eq {SheetNum 1 le} {//true} ifelse {[(The Boot & Flogger, London SE1 1TA, on Thursday 9) {SuperscriptOn} (th) {SuperscriptOff} ( March 2017)]} {()} ifelse}
] def  % /HeadersLeft
/HeadersCenter [
	0  {TypeOfPagesBeingRendered /Glasses eq {SheetNum 1 le} {//true} ifelse {(Eighties Matrix)} {()} ifelse}
] def  % /HeadersCenter
/HeaderFooterCenterX {PageWidth MgnL MgnR sub add 2 div} def
/HeadersRight [
	0
	[
		(www) {-0.08 Kern} (.) {-0.08 Kern} (ThePortForum.com, )
		(www) {-0.08 Kern} (.) {-0.08 Kern} (JancisRobinson.com, )
		% (www) {-0.08 Kern} (.) {-0.12 Kern} (W) {-0.08 Kern} (orldOf) {+0.12 Kern} (Port.de, )
		(www) {-0.08 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Planning on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=8637&view=unread#unread)
	false   (Review on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=11484&view=unread#unread)
	true    (TN: 1980 Dow)                   (http://www.theportforum.com/viewtopic.php?t=11485&view=unread#unread)
	true    (TN: 1980 Warre)                 (http://www.theportforum.com/viewtopic.php?t=11486&view=unread#unread)
	true    (TN: 1980 Graham)                (http://www.theportforum.com/viewtopic.php?t=11487&view=unread#unread)
	true    (TN: 1980 Fonseca)               (http://www.theportforum.com/viewtopic.php?t=11489&view=unread#unread)
	true    (TN: 1980 Taylor)                (http://www.theportforum.com/viewtopic.php?t=11488&view=unread#unread)
	true    (TN: 1983 Dow)                   (http://www.theportforum.com/viewtopic.php?t=11490&view=unread#unread)
	true    (TN: 1983 Warre)                 (http://www.theportforum.com/viewtopic.php?t=11491&view=unread#unread)
	true    (TN: 1983 Graham)                (http://www.theportforum.com/viewtopic.php?t=11492&view=unread#unread)
	true    (TN: 1983 Fonseca)               (http://www.theportforum.com/viewtopic.php?t=11493&view=unread#unread)
	true    (TN: 1983 Taylor)                (http://www.theportforum.com/viewtopic.php?t=11494&view=unread#unread)
	true    (TN: 1985 Dow)                   (http://www.theportforum.com/viewtopic.php?t=11495&view=unread#unread)
	true    (TN: 1985 Warre)                 (http://www.theportforum.com/viewtopic.php?t=11496&view=unread#unread)
	true    (TN: 1985 Graham)                (http://www.theportforum.com/viewtopic.php?t=11497&view=unread#unread)
	true    (TN: 1985 Fonseca)               (http://www.theportforum.com/viewtopic.php?t=11498&view=unread#unread)
	true    (TN: 1985 Taylor)                (http://www.theportforum.com/viewtopic.php?t=11499&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2017/20170309_Eighties_Rectangle.pdf)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=103307#p103307)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20170309)
	false   (Food order)                     (http://www.planetmeehan.com/dlfiles/170309/20170309_ThePortForum_food.pdf)
	false   (JancisRobinson.com)             (http://www.jancisrobinson.com/)
	false   (Boot & Flogger)                 (http://www.davy.co.uk/wine-bar/boot-and-flogger/)
	true    (SE1 1TA, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532409&y=180083&z=106&pc=SE1+1TA)
	true    (SE1 1TA, maps.google.co.uk)     (https://maps.google.co.uk/maps?z=20&t=k&layer=c&cbll=51.50428,-0.0935&cbp=11,260,,0,0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
] def  % /ExternalLinks

/DecanterLabelsNumCopies 1 def
/PlaceNames true def

/GlassesOnSheets [
	[ 0 1 2  3 4 5 ]
	[ 6 7 8  9 10 11 ]
	[ 12 13 14 ]
] def  % /GlassesOnSheets
/GlassesOnTastingNotePages [
	GlassesOnSheets 0 get
	GlassesOnSheets 1 get
	[ GlassesOnSheets 2 get aload pop  15 15 15 ]
] def  % /GlassesOnTastingNotePages

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (Wine Of The Night?)  /questiondown ]
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/GlassesClusteredOnVoteRecorders [ [
	GlassesOnSheets 0 get 0 3 getinterval
	GlassesOnSheets 0 get 3 3 getinterval
	GlassesOnSheets 1 get 0 3 getinterval
	GlassesOnSheets 1 get 3 3 getinterval
	GlassesOnSheets 2 get
] VoteRecorderTopTexts length 1 sub {dup} repeat ] def  % triple-depth array, same length as VoteRecorderTopTexts and VoteRecorderShowTotalRow
/GlassesClusteredOnDecantingNotes GlassesClusteredOnVoteRecorders 0 1 getinterval def
/GlassesClusteredOnCorkDisplay GlassesClusteredOnDecantingNotes def

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles
/PackingStyles [
	[ /RectangularDislocation /GlassesNumMin 5 ]
	/RightSide
] def  % /PackingStyles
Software version: 17:00 Saturday 4th March 2017.


Some fiddliness.

• The two six-glass pages need to be arranged differently to the one three-glass page, as specified in PackingStyles, with also /PackingNestingColumnMajor true def. That arrangement also necessitated non-default behaviour for GlassesOnSheets. To keep the TN sizes even, there had to be an extra three blank spaces on the third TN page, affecting GlassesOnTastingNotePages, in turn necessitating that there be a blank in Titles etc.

• The vote-recorded and decanting-note pages should be separated into shippers (rather than the default separation of by TN pages), affecting GlassesClusteredOnVoteRecorders, GlassesClusteredOnDecantingNotes, and (with slightly different affect) GlassesClusteredOnCorkDisplay.

NamesAccounts merges JMR into her the row of her host.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests