Parameters for the placemat software

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

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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["r ≈ ", N[r]]; outerGlassesMarginB = (420*360/127 − 30 − 24 − 7 r) // Simplify; Print["OuterGlassesMarginB = ", outerGlassesMarginB, " ≈ ", N[outerGlassesMarginB]];) so that circles were arranged in a compact 60° pattern.
• To echo the 60° pattern, /CircletextsMinCopies 6 def.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

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 the row of her host.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Thursday 15th February 2018, Mr Wolfgang Starz, at The Boot & Flogger. Image Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201802142030) def

/Path-StGeorge  % Bounding path of the red cross of St George
{
	-30 -15 30 15 setbbox
	30 3 moveto  3 3 lineto  3 15 lineto  -3 15 lineto  -3 3 lineto  -30 3 lineto  -30 -3 lineto
	-3 -3 lineto  -3 -15 lineto  3 -15 lineto  3 -3 lineto  30 -3 lineto   closepath
} bind def  % /Path-StGeorge

/Path-StAndrew  % Bounding path of the eight pieces of the blue cross of St Andrew
{
	-30 -15 30 15 setbbox
	5 15 moveto
	5 5.854101966249684544613761 lineto
	23.29179606750063091077248 15 lineto   closepath
	-5 15 moveto
	-5 5.854101966249684544613761 lineto
	-23.29179606750063091077248 15 lineto   closepath
	5 -15 moveto
	5 -5.854101966249684544613761 lineto
	23.29179606750063091077248 -15 lineto   closepath
	-5 -15 moveto
	-5 -5.854101966249684544613761 lineto
	-23.29179606750063091077248 -15 lineto   closepath
	30 5 moveto
	30 11.64589803375031545538624 lineto
	16.70820393249936908922752 5 lineto   closepath
	-30 5 moveto
	-30 11.64589803375031545538624 lineto
	-16.70820393249936908922752 5 lineto   closepath
	30 -5 moveto
	30 -11.64589803375031545538624 lineto
	16.70820393249936908922752 -5 lineto   closepath
	-30 -5 moveto
	-30 -11.64589803375031545538624 lineto
	-16.70820393249936908922752 -5 lineto   closepath
} bind def  % /Path-StAndrew 

/Path-StPatrick  % Bounding path of the four pieces of the red cross of St Patrick
{
	-30 -15 30 15 setbbox
	10 5 moveto
	5.527864045000420607181653 5 lineto
	25.52786404500042060718165 15 lineto
	30 15 lineto   closepath
	-10 -5 moveto
	-5.527864045000420607181653 -5 lineto
	-25.52786404500042060718165 -15 lineto
	-30 -15 lineto   closepath
	-10 5 moveto
	-14.47213595499957939281835 5 lineto
	-30 12.76393202250021030359083 lineto
	-30 15 lineto   closepath
	10 -5 moveto
	14.47213595499957939281835 -5 lineto
	30 -12.76393202250021030359083 lineto
	30 -15 lineto   closepath
} bind def  % /Path-StPatrick 

/UnionJackCount 0 def

% boolFill  Union-Jack  -
/Union-Jack {
	matrix currentmatrix exch currentpoint translate BaseHeight 30 div dup scale  30 15 translate
	{
		1 setgray -30 -15 60 30 rectfill
		0.8 0 0 setrgbcolor Path-StGeorge fill Path-StPatrick fill 0 0 0.4 setrgbcolor Path-StAndrew fill
	}{
		Path-StGeorge Path-StAndrew Path-StPatrick 0 setgray 1 setlinejoin [] 0 setdash stroke
	} ifelse
	30 -15 moveto setmatrix   /EffectiveNumCharacters 1 def  /AsciiEquivalent (UnionJack) def
	/fill load type /operatortype eq {/UnionJackCount dup load 1 add store} if
}  << /fill null /stroke null /rectfill null >> begin bind end  def  % /Union-Jack

/EpilogueCode {mark (UnionJackCount = ) UnionJackCount (, which might be fewer than the number of Union Jacks as some are in a form.) ConcatenateToMark OutputToLog} def  % Executed once, just after painting pages

/PortData [
	[ /dagger                                   ()        1 index ]
	[ [(F) {-0.05 Kern} (60)]                   ()        (Fonseca 1960)                                                        {//true Union-Jack}  (On behalf of WPS)        1 index ]
	[ [(F) {-0.05 Kern} (63)]                   ()        (Fonseca 1963)                                                        {//true Union-Jack}  (AHB)                     1 index ]
	[ [(F) {-0.05 Kern} (66)]                   ()        (Fonseca 1966)                                                        {//true Union-Jack}  (Extra from WPS)          1 index ]
	[ (T66)                                     ()        [(T) {-0.08 Kern} (aylor 1966)]                                       {//true Union-Jack}  (IDJ)                     1 index ]

	[ [(Cr) {-0.02 Kern} (70)]                  ()        (Croft 1970)                                                          {//true Union-Jack}  (DRT)                     1 index ]
	[ (G70)                                     ()        (Graham 1970)                                                         {//true Union-Jack}  (CPR)                     1 index ]
	[ (W70)                                     ()        [(W) {-0.08 Kern} (arre 1970)]                                        {//true Union-Jack}  (DRL)                     1 index ]
	[ (N70)                                     ()        (Quinta do Noval 1970)                                                                     [(JDA) {-0.08 Kern} (W)]          ]
	[ (Ni70)                                    (Dumpy)   (Niepoort 1970)                                                       (\(Dumpy\))          (PW)                              ]
] def  % /PortData

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

/Names [
	[(Mr W) {-0.05 Kern} (olfgang Starz)]
	[(Mr Julian Wiseman)]
	[(Mr Dave Lund)]
	[(Mr Derek T) {-0.08 Kern} (urnbull)]
	[(Mr Alex Bridgeman)]
	[(Mr Charles Redshaw)]
	[(Mr Ian Johns)]
	[(Mr Phil W) {-0.05 Kern} (akely)]
	()
] def

/HeadersLeft [
	0  [(Boot & Flogger, Thursday 15) {SuperscriptOn} (th) {SuperscriptOff} ( February 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(A New Subject of Her Majesty: Mr W) {-0.10 Kern} (olfgang Starz)]
] def  % /HeadersCenter

/ExternalLinks [
	false   (Becoming a British Citizen)     (http://www.gov.uk/becoming-a-british-citizen/citizenship-ceremonies)
	false   (Planning thread on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=12295&view=unread#unread)
	false   (Review thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=12319&view=unread#unread)
	true	(1960 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12320&view=unread#unread)
	true	(1963 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12321&view=unread#unread)
	true	(1966 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12322&view=unread#unread)
	true	(1966 Taylor)                           (http://www.theportforum.com/viewtopic.php?t=12323&view=unread#unread)
	true	(1970 Croft)                            (http://www.theportforum.com/viewtopic.php?t=12325&view=unread#unread)
	true	(1970 Quinta do Noval)                  (http://www.theportforum.com/viewtopic.php?t=12326&view=unread#unread)
	true	(1970 Graham)                           (http://www.theportforum.com/viewtopic.php?t=12327&view=unread#unread)
	true	(1970 Warre)                            (http://www.theportforum.com/viewtopic.php?t=12328&view=unread#unread)
	true	(1970 Niepoort \(Dumpy\))               (http://www.theportforum.com/viewtopic.php?t=12329&view=unread#unread)
	false   (Latest version this placemat)          (http://www.jdawiseman.com/2018/20180215_Mr_Wolfgang_Starz.pdf)
	true    (in list of placemats)                  (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180215)
	true    (parameters by which made)              (http://www.theportforum.com/viewtopic.php?p=107728#p107728)
	false   (Food order)                            (http://www.jdawiseman.com/2018/20180215_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, google.co.uk)                 (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)                     (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)         (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/NeckTagsNumCopies 0 def
/DecanterLabelsNumCopies 1 def

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

/TitleMaxHeightProportionInnerRadius 1 def

/InlineTitles false def

/BackgroundTextsGlasses true def
/BackgroundTextsGlassesTexts [
	{//false Union-Jack}
	PortData length 6 div ceiling cvi 1 sub {dup} repeat
] def  % /BackgroundTextsGlassesTexts
/BackgroundTextsAlignmentVertical /Middle def  % number /Middle /Bottom /Top
/BackgroundTextsOrientation /Landscape def  % /Landscape /Portrait /Natural /Rotated
/BackgroundTextsGlassesPaintCode {0.06 setlinewidth 0 setgray stroke} def
/BackgroundTextsTastingNotes false def

/ThePortForumIconColour true def
Software version 22:30 Wednesday 31st January 2018 (it having been updated to cope with compound strings containing user paths, and containing code calling rectfill: reminder, not binded.)


This was to mark Herr Wolfgang Starz becoming a subject of Her Majesty, becoming one of us, becoming Mr Wolfgang Starz. Union Jacks were needed.
Image
• Happily, the internets have a correct Union Jack in PostScript.

• Background Union Jacks were to be stroked; foreground filled with a white rectfill behind. So Union-Jack is code taking a single Boolean parameter: truefill; falsestroke.

EffectiveNumCharacters and AsciiEquivalent weren’t used, but set anyway as good practice. E.g., if a Union Jack has been in the array of Titles, and FontSizesTitlesNotSmallerIfTitlesNotLonger had been true, then the former would have been needed. And in the same circumstance, the latter would have been used for making the PDF’s table of contents.

Union-Jack was complicatedly part binded. It could have been not binded at all, but that has the danger that somebody — me! — years later copying this code would add a bind not realising that the painting commands must not be binded. So the partial bind is really just a note-to-self.

• Also, just for interest, UnionJackCount counts the number of painted Jacks (ans: “UnionJackCount = 3690”). Some calls to this command have fill and stroke re-def’d to do nothing, so that the calling code can know the size of the painted shape. These are not counted. And the standard parameter EpilogueCode outputs UnionJackCount. But, as said, just for interest.

• As has become my preference, Circlearrays, Titles, Belowtitles, etc, all populated from a single data array usually called PortData. (This achieves some of what was intended by a proposal in the software thread on 04 Aug 2011.)

• Without the “/TitleMaxHeightProportionInnerRadius 1 def” the “†” would have been inelegantly tall (“I wonder who will put on your shoes and stockings for you now, dears?”).

• Very rare to see “/ThePortForumIconColour true def”.

• As this thread is to demonstrate the parameters, allow two pictures to show the effect of the Booleans in ExternalLinks:
Image           Image
(Screen shots taken from Preview 10.0 (944.4) under macOS 10.13.3.)

• Other parameters were within the usual range of intricacy.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Wednesday 14th March 2018, Blind, SQVP or a mature LBV, at The Boot & Flogger. Image Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201803112300) def


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

/Names [
	(MPM)  (IDJ)  (CPR)  (SCD)  (DRL)
	JDAW
	(CG)  % Constandia
	()
] def

/Circlearrays [
	Names {[ exch ]} forall pop
	[ /sterling ]
	[ /dollar ]
	[ /Euro ]
%	[ /dagger ]
%	[ /daggerdbl ]
] def

/Titles [ Circlearrays {0 get} forall ] def

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


/HeadersLeft [
	0  [(Boot & Flogger, Wednesday 14) {SuperscriptOn} (th) {SuperscriptOff} ( March 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(SQVP, or LBV ) /lessequal (1989)]
] 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=12297&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/2018/20180314_LBV_SQVP_blind.pdf)
	true    (in list of placemats)           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180314)
	true    (parameters by which made)       (http://www.theportforum.com/viewtopic.php?p=108131#p108131)
	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, google.co.uk)          (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)              (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)  (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/TitlesFont      /GillSans def

/ShapesInTitles true def
/ShapesToUse [/Star] def  % At least one of: /Flower /Star /Heart

/InlineTitles false def

/ColourSchemeTitles /MidGrey def  % /MidGrey /Black

/TitleMaxHeightProportionInnerRadius 1.5 def

/VoteRecorderTopTexts [  % Must be same length as GlassesClusteredOnVoteRecorders, each sub-array containing some number of TopTexts
	[ (Wine Of The Night?)  /questiondown ]
	[ (What is it?) ]  % If uncommenting this, insert a 'true' into the VoteRecorderShowTotalRow array.
] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderShowTotalRow [ false true ] def  % Must be same length as GlassesClusteredOnVoteRecorders
/VoteRecorderCrossedBox false def
Software version 19:30 Sunday 11th March 2018

Mostly vanilla. Indeed the only non-standard thing was the decorative variations to TitlesFont, ShapesInTitles, ShapesToUse, InlineTitles, ColourSchemeTitles, and the simple usage of VoteRecorderCrossedBox.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 10th April 2018, A Second Wind for the 1963s?, at The Boot & Flogger.
Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201804092115) def
/ShapesPrintQuickerDistillSlower true def

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

/PortData [
	[  (F)                (Fonseca)                           (PW)            ]
	[  (T)                [(T) {-0.06 Kern} (aylor)]          JDAW            ]
	[  (Cr)               (Croft)                             (DRT)           ]

	[  (D)                (Dow)                               (AHB)           ]
	[  (G)                (Graham)                            (CPR)           ]
	[  (W)                [(W) {-0.04 Kern} (arre)]           (DRL from CPR)  ]
	[  (Ck)               (Cockburn)                          (WPS)           ]

	[  [(C) /aacute (F)]  [(C) /aacute (lem Quinta da Foz)]   (IDJ)           ]
	[  (Cn)               (Constantino)                       (MPM from THRA) ]
	[  (Mk)               (Mackenzie)                         [(T) {-0.06 Kern} (eam from AHB)]  ]
	[  (Ni)               (Niepoort)                          (WG from AP)    ]
	[  (N)                (Quinta do Noval)                   (THRA)          ]
	[  (O)                [(Of) /fl (ey Boa Vista)]           (IDJ)           ]
	[  (RP)               (Ramos Pinto)                       (AP)            ]
] def  % /PortData

/Vintage (1963) def 

/Names [ JDAW  (THRA)  (MPM)  (AHB)  (DRT)  (WPS)  (DRL)  (SCD)  (CPR)  (PW)  (IDJ)  (AP)  (DRT)  () ] def

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

/Circlearrays [ PortData { [ exch dup 1 get exch 2 get Vintage exch ] } forall ] def
/Titles       [ PortData {0 get} forall ] def
/Overtitles   [ Circlearrays length {Vintage} repeat ] def
/Belowtitles  [ Circlearrays length { ()    } repeat ] def

/HeadersLeft [
	0
	{
		TypeOfPagesBeingRendered /Glasses eq {GlassesOnSheets SheetNum get length 4 ge} {//true} ifelse
		{
			[(Boot & Flogger, T) {-0.06 Kern} (uesday 10) {SuperscriptOn} (th) {SuperscriptOff} ( April 2018)]
		} {[]} ifelse
	}
] def  % /HeadersLeft
/HeadersCenter [
	0
	(A Second Wind for the 1963s?)
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Review thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=12383&view=unread#unread)
	true    (1963 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12384&view=unread#unread)
	true    (1963 Taylor)                           (http://www.theportforum.com/viewtopic.php?t=12385&view=unread#unread)
	true    (1963 Croft)                            (http://www.theportforum.com/viewtopic.php?t=12386&view=unread#unread)
	true    (1963 Dow)                              (http://www.theportforum.com/viewtopic.php?t=12387&view=unread#unread)
	true    (1963 Graham)                           (http://www.theportforum.com/viewtopic.php?t=12388&view=unread#unread)
	true    (1963 Warre)                            (http://www.theportforum.com/viewtopic.php?t=12389&view=unread#unread)
	true    (1963 Cockburn)                         (http://www.theportforum.com/viewtopic.php?t=12390&view=unread#unread)
	true    [(1963 C) /aacute (lem Quinta da Foz)]  (http://www.theportforum.com/viewtopic.php?t=12391&view=unread#unread)
	true    (1963 Constantino)                      (http://www.theportforum.com/viewtopic.php?t=12392&view=unread#unread)
	true    (1963 Mackenzie)                        (http://www.theportforum.com/viewtopic.php?t=12393&view=unread#unread)
	true    (1963 Niepoort)                         (http://www.theportforum.com/viewtopic.php?t=12394&view=unread#unread)
	true    (1963 Quinta do Noval)                  (http://www.theportforum.com/viewtopic.php?t=12395&view=unread#unread)
	true    (1963 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12396&view=unread#unread)
	true    (1963 Ramos Pinto)                      (http://www.theportforum.com/viewtopic.php?t=12397&view=unread#unread)
	false   (Planning thread on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=12330&view=unread#unread)
	false   (Latest version this placemat)          (http://www.jdawiseman.com/2018/20180410_1963s.pdf)
	true    (in list of placemats)                  (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180410)
	true    (parameters by which made)              (http://www.theportforum.com/viewtopic.php?p=108466#p108466)
	false   (Food order)                            (http://www.jdawiseman.com/2018/20180410_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, google.co.uk)                 (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)                     (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)         (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/DecanterLabelsNumCopies 1 def

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles

/OvertitleMaxFontSizeProportionTitles 0.125 def

/ShapesInTitles true def
/ShapesInAbovetitles false def
/ShapesInBelowtitles false def
/ShapesInOvertitles false def
/ShapesToUse [/Star] def  % At least one of: /Flower /Star /Heart
/ShapesStarsPointsAndStepsArray [ [5 2] [7 3] [8 3] ] def  % Less-polygonal more-pointy: [[3 1.31844] [4 1.79214] [5 2.27823] [6 2.77012] [7 3.26502] [8 3.76162] [9 4.25925]]

/InlineTitles false def

/ColourSchemeTitles /MidGrey def  % /MidGrey /Black

/PrePourReverseOrder false def

/LogThisExtra (From a tasting note of Fonseca 1963 at http://www.ThePortForum.com/viewtopic.php?p=107800#p107800\n\t"Are the 1963s coming into their second wind?"\nThis needed testing.) def
Software version 20:30 Tuesday 3rd April 2018

All fairly vanilla.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 8th May 2018, at The RAF Club, ahead of AHB’s first BFT, with a theme of ‘Something nice from the 60s’, as arranged by Axel P. of WorldOfPort.de.
Image Image

Code: Select all

/PDF_title [(Sixties, pre-BFT 2018)] def  % Appears as tab name in browser

/PortData [
	[ (Cr60)                                    ()              (Croft)                     (1960)  (CPR) ]
	[ (F60)                                     ()              (Fonseca)                   (1960)  [(JDA) {-0.08 Kern} (W)] ]
	[ [(Hv6) {-0.03 Kern} (2)]                  ()              (Harvey)                    (1962)  (AP) ]

	[ (Dl63)                                    (Golden White)  (Dalva Golden White)        (1963)  (EC) ]
	[ (F63)                                     ()              (Fonseca)                   (1963)  (WG) ]
	[ (T63)                                     ()              [(T) {-0.08 Kern} (aylor)]  (1963)  (PW) ]

	[ (S63)                                     ()              (Sandeman)                  (1963)  (SAI) ]
	[ [(Av6) {-0.03 Kern} (3)]                  ()              (Avery)                     (1963)  (WPS)]

	[ (D63)                                     ()              (Dow)                       (1963)  (VDSS) ]  % VDSS = Caprica = vadasise@sapo.pt
	[ [(W) {-0.03 Kern} (6) {-0.06 Kern} (3)]   ()              [(W) {-0.08 Kern} (arre)]   (1963)  (MPM) ]
	[ (Fs63)                                    ()              (Feist)                     (1963)  (JB) ]

	[ (N66)                                     ()              (Quinta do Noval)           (1966)  (CMAG) ]
	[ (F66)                                     ()              (Fonseca)                   (1966)  (TC) ]
	[ (T66)                                     ()              [(T) {-0.08 Kern} (aylor)]  (1966)  (IDJ) ]
] def

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

/Names [
	PortData {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

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

/HeadersLeft [
	0  [(The RAF Club, T) {-0.06 Kern} (uesday 8) {SuperscriptOn} (th) {SuperscriptOff} ( May 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Something nice from the sixties)]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.08 Kern} (.) {-0.08 Kern} (ThePortForum.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   (Review thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=12423&view=unread#unread)
	true    (1960 Croft)                            (http://www.theportforum.com/viewtopic.php?t=12424&view=unread#unread)
	true    (1960 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12425&view=unread#unread)
	true    (1962 Harvey)                           (http://www.theportforum.com/viewtopic.php?t=12426&view=unread#unread)
	true    (1963 Dalva Golden White)               (http://www.theportforum.com/viewtopic.php?t=12427&view=unread#unread)
	true    (1963 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12428&view=unread#unread)
	true    (1963 Taylor)                           (http://www.theportforum.com/viewtopic.php?t=12429&view=unread#unread)
	true    (1963 Sandeman)                         (http://www.theportforum.com/viewtopic.php?t=12430&view=unread#unread)
	true    (1963 Avery)                            (http://www.theportforum.com/viewtopic.php?t=12431&view=unread#unread)
	true    (1963 Dow)                              (http://www.theportforum.com/viewtopic.php?t=12432&view=unread#unread)
	true    (1963 Warre)                            (http://www.theportforum.com/viewtopic.php?t=12433&view=unread#unread)
	true    (1963 Feist)                            (http://www.theportforum.com/viewtopic.php?t=12434&view=unread#unread)
	true    (1966 Quinta do Noval)                  (http://www.theportforum.com/viewtopic.php?t=12435&view=unread#unread)
	true    (1966 Fonseca)                          (http://www.theportforum.com/viewtopic.php?t=12436&view=unread#unread)
	true    (1966 Taylor)                           (http://www.theportforum.com/viewtopic.php?t=12437&view=unread#unread)
	false   (Planning thread on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=00175&view=unread#unread)
	false   (Latest version this placemat)          (http://www.jdawiseman.com/2018/20180508_Sixties.pdf)
	true    (parameters by which made)              (http://www.theportforum.com/viewtopic.php?p=108766#p108766)
	true    (in list of placemats)                  (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180508)
	false   (WorldOfPort.de)                        (http://www.worldofport.de/index%20EN.html)
	false   (The Royal Air Force Club)              (https://www.rafclub.org.uk/)
	false   (W1J 7PY, streetmap.co.uk)              (http://www.streetmap.co.uk/map.srf?x=528568&y=179998&z=106&pc=W1J+7PY)
	false   (W1J 7PY, bing.com)                     (http://www.bing.com/maps/default.aspx?where1=W1J+7PY&cp=51.5043~-0.1487)
] def  % /ExternalLinks

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles

/FontSizesRatioTitlesMin 1 def  % Titles font sizes must be equal, or differ by at least this factor.

/InlineTitles false def

/ShapesInTitles true def
/ShapesToUse [/Star] def  % At least one of: /Flower /Star /Heart
/ShapesStarsPointsAndStepsArray [[7 3] [9 4]] def
/ShapesEnclosingCircleRadiusMin {ShapesAverageSeparation 0.5 mul} def
/ShapesEnclosingCircleRadiusMax {ShapesAverageSeparation 0.7 mul} def
/ShapesAverageMaxTweakPlusMinus {ShapesAverageSeparation 0.15 mul} def

/CrossHatchingTitles false def

/FlightSeparations true def
/FlightSeparationLines
[
	[  % +SheetNum 0
		[  [/Top 0 3] [/Bottom 2 5]  ]
		[  [/Top 8 11] [/Bottom 10 13]  ]
		[  [/Top 3 6 0.5] [3 6] [3 4] [0 3] [/Top 0 3]  ]
	]  % -SheetNum 0
] def  % /FlightSeparationLines
/FlightSeparationPaintCode {0 setlinecap 1.2 setlinewidth 0.6 setgray stroke} def
Software version 23:30 Tuesday 1st May 2018

A few matters of note.

• In a web browser, the tab names comes from the new parameter PDF_title.

• Unusual to faff with the sizes of the Shapes….

FlightSeparationLines always a bit tricksy, but this not especially so.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 15th May 2018, Port Fit for a (New) Duchess, at The Boot & Flogger. Image Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201805131630) def

/PDF_title (Royal Wedding celebration, 15 May 2018) def  % Appears as tab name in browser


/PortData [
	% [ Title   Abovetitle Belowtitle Overtitle  Circlearray... ]
	[   (?11)    ()            ()         ()     (Unknown Shipper)    (1911)  (TC) ]
	[   (S60)    ()            ()         ()     (Sandeman)           (1960)  (AHB)  ]
	[   (O60)    ()            ()         ()     [(Of) /fl (ey)]      (1960)  (WPS) ]

	[   (Cr60)   ()            ()         ()     (Croft)              (1960)  (IDJ) ]
	[   (N60)    ()            ()         ()     (Quinta do Noval)    (1960)  (DRL)  ]

	[   (D60)    ()            ()         ()     (Dow)                (1960)  (THRA) ]
	[   (F60)    ()            ()         ()     (Fonseca)            (1960)  (TC) ]
	[   (GM68)   ()            ()         ()     (Graham Malvedos)    (1968)  (SCD)  ]

	[   (S70)    ()            ()         ()     (Sandeman)           (1970)  (CA)  ]
	[   (F70)    ()            ()         ()     (Fonseca)            (1970)  (DRT) ]

	[   (D70)    ()            (Magnum)   ()     (Dow)                (1970)   3 index  [(JDA) {-0.04 Kern} (W) {-0.06 Kern} (+DEA)] ]
	[   (G70)    ()            (Magnum)   ()     (Graham)             (1970)   3 index  (CPR) ]
	[   [(G8) {-0.033 Kern} (2)] [(T) {-0.06 Kern} (awny)] [(Some) /multiply (20cl)] () (Graham) (1982) [(Single Harvest T) {-0.06 Kern} (awny)]  (TAJS) ]
] def  % /PortData

/Circlearrays [ PortData { dup length 4 sub 4 exch getinterval } forall ] def

/Titles      [ PortData {0 get} forall ] def
/Abovetitles [ PortData {1 get} forall ] def
/Belowtitles [ PortData {2 get} forall ] def
/Overtitles  [ PortData {3 get} forall ] def

/Names [
	[(Julian W) {-0.12 Kern} (.)]
	(Ian J.)
	(Dan A.)  % DEA = Dan Azzopardi, right-handed
	[(T) {-0.06 Kern} (om S.)]  % Tom A. J. Symington, right-handed
	[(T) {-0.06 Kern} (om A.)]
	(Alex B.)
	[(T) {-0.06 Kern} (ony C.)]
	(Dave L.)
	(Chris A.)  % Chris Appleby, Apples1981
	[(Derek T) {-0.12 Kern} (.)]
	(Simon D.)
	(Charles R.)
	[(W) {-0.08 Kern} (olfgang S.)]
	()
] def

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

/HeadersLeft [
	0  [(Boot & Flogger, T) {-0.06 Kern} (uesday 15) {SuperscriptOn} (th) {SuperscriptOff} ( May 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Port Fit for a \(New\) Duchess)]
] def  % /HeadersCenter
/HeadersRight [
	0
	[
		(www) {-0.06 Kern} (.Royal.uk, )
		(www) {-0.06 Kern} (.) {-0.12 Kern} (ThePortForum.com, )
		(www) {-0.06 Kern} (.jdawiseman.com)
	]
] def  % /HeadersRight

/PlaceNames true def
/DecanterLabelsNumCopies 1 def

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (The Wedding, at Royal.uk)               (http://www.royal.uk/royalwedding/)
	false   (Latest version this placemat)           (http://www.jdawiseman.com/2018/20180515_RoyalWedding.pdf)
	true    [/ellipsis ( parameters by which made)]  (http://www.theportforum.com/viewtopic.php?p=108829#p108829)
	true    [/ellipsis ( in list of placemats)]      (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180515)
	true    [(Heart B) /eacute (zier)]               (http://www.jdawiseman.com/2017/20170527_Bezier_Heart.xlsx)
	false   (Planning on ThePortForum.com)           (http://www.theportforum.com/viewtopic.php?t=12107&view=unread#unread)
	false   (Review on ThePortForum.com)             (http://www.theportforum.com/viewtopic.php?t=12440&view=unread#unread)
	true    (1911 Unknown)                           (http://www.theportforum.com/viewtopic.php?t=12441&view=unread#unread)
	true    (1960 Sandeman)                          (http://www.theportforum.com/viewtopic.php?t=12442&view=unread#unread)
	true    (1960 Offley)                            (http://www.theportforum.com/viewtopic.php?t=12443&view=unread#unread)
	true    (1960 Croft)                             (http://www.theportforum.com/viewtopic.php?t=12444&view=unread#unread)
	true    (1960 Quinta do Noval)                   (http://www.theportforum.com/viewtopic.php?t=12445&view=unread#unread)
	true    (1960 Dow)                               (http://www.theportforum.com/viewtopic.php?t=12446&view=unread#unread)
	true    (1960 Fonseca)                           (http://www.theportforum.com/viewtopic.php?t=12447&view=unread#unread)
	true    (1968 Graham Malvedos)                   (http://www.theportforum.com/viewtopic.php?t=12448&view=unread#unread)
	true    (1970 Sandeman)                          (http://www.theportforum.com/viewtopic.php?t=12449&view=unread#unread)
	true    (1970 Fonseca)                           (http://www.theportforum.com/viewtopic.php?t=12450&view=unread#unread)
	true    (1970 Dow magnum)                        (http://www.theportforum.com/viewtopic.php?t=12451&view=unread#unread)
	true    (1970 Graham magnum)                     (http://www.theportforum.com/viewtopic.php?t=12452&view=unread#unread)
	true    (1982 Graham Single Harvest Tawny)       (http://www.theportforum.com/viewtopic.php?t=12453&view=unread#unread)
	false   (Food order)                             (http://www.jdawiseman.com/2018/20180515_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, google.co.uk)                  (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)                      (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)          (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/ThePortForumIconColour true def

/PackingNestingColumnMajor true def

/PlaceNamesFirstAndThirdFoldsFromEdge 36 def  % Use 0 if printing on stiff card, 36 if printing on paper.

/CircletextFont /Cochin def

/ShapesInTitles true def
/ShapesToUse [/Heart] def  % At least one of: /Flower /Star /Heart
/ShapesTitlesFill   { [ {0.8 0 0 setrgbcolor}   {0.9 setgray}  {0 0 0.4 setrgbcolor}  {1 0.08 0.58 setrgbcolor}  {1 43 51 div 0 setrgbcolor}   ] ShapesIntX 2 mul ShapesIntY add WithinTitles add 5 mod 5 add 5 mod get exec fill  } def
/ShapesTitlesStroke { [ {0 setgray}             dup            {0.6 setgray}          {0 1 0 setrgbcolor}        {0.722 0.451 0.2 setrgbcolor} ] ShapesIntX 2 mul ShapesIntY add WithinTitles add 5 mod 5 add 5 mod get exec stroke} def

/InlineTitlesMaxNumberContours 2 def
Software version: 14:00 Saturday 12th May 2018.

• Tricksiness with ShapesInTitles. For a wedding event, hearts seemed natural. Five colours. If they were scattered randomly over the wobbled square grid, on average 59% of non-edge hearts would have a neighbour of the same colour scheme (as 1−⅘⁴ = 59.04%). Ick. So instead it indexes using the internal looping parameters, 2×ShapesIntX + ShapesIntY being a pattern in which each is a knight’s move from others of the same colour. That modulo 5 (except that PostScript’s mod is actually a remainder function, hence the awkward 5 mod 5 add 5 mod) then reaches into a set of Union-Jack and royal colours, plus a vivid pink.

• The /InlineTitlesMaxNumberContours 2 def with the coloured shapes was quite elegant. The inner lines are drawn under everything else (it must be thus, because of the absence of an ‘anticlip’ operator), and the outermost line drawn over.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 5th June 2018, Eights, at The Boot & Flogger. Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201806032200) def

/Team [(T) {-0.06 Kern} (eam from TC)] def

/PortData [
	% Title                                        Below   Circlearray
	[  [(?1) {-0.07 Kern} (877)]                  ()                                  (Unknown)                                              (Believed 1877)  (TC)   ]
	[  [(G) {-0.03 Kern} (1) {-0.07 Kern} (897)]  [(Magnum ) /multiply ( ) /onehalf]  (Graham)                                                        (1897)  (Drawn from a magnum)  (AHB)  ]
	[  (G48)                                      ()                                  (Graham)                                                        (1948)  (THRA) ]

	[  [(F) {-0.06 Kern} (48)]                    ()                                  (Fonseca)                                                       (1948)  Team   ]
	[  [(T) {-0.07 Kern} (48)]                    ()                                  [(T) {-0.06 Kern} (aylor)]                                      (1948)  Team   ]
	[  (GM58)                                     ()                                  (Graham Malvedos)                                               (1958)  Team   ]

	[  (N58)                                      ()                                  (Quinta do Noval)                                               (1958)  (IDJ)  ]
	[  (W58)                                      ()                                  [(W) {-0.06 Kern} (arre)]                                       (1958)  Team   ]

	[  (Mz58)                                     ()                                  (Martinez)                                                      (1958)  Team   ]
	[  (RO58)                                     ()                                  (Royal Oporto)                                                  (1958)  Team   ]
	[  (S68)                                      ()                                  (Sandeman)                                                      (1968)  Team   ]

	[  (FG68)                                     ()                                  (Fonseca Guimaraens)                                            (1968)  Team   ]
	[  [(T) {+0.06 Kern} (V78)]                   ()                                  [(T) {-0.06 Kern} (aylor Quinta de V) {-0.06 Kern} (argellas)]  (1978)  (CPR)  ]
	[  (FG88)                                     [(Halves ) /multiply ( 2)]          (Fonseca Guimaraens)                                            (1988)  (From halves)  Team   ]

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

/Names [
	(TC)  (IDJ)  (PW)
	[/quoteright (Dia)]
	(CPR)  (DRL)  (AHB)  (MPM)
	(VDSS)  % VDSS = Caprica = vadasise@sapo.pt
	(THRA)
	[(JDA) {-0.06 Kern} (W)]
	(CMAG)
	()
] def

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

/HeadersLeft [
	0  [(Boot & Flogger, T) {-0.06 Kern} (uesday 5) {SuperscriptOn} (th) {SuperscriptOff} ( June 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(8s: Second or Fourth Digit, an ) /quoteleft (8) /quoteright]
] 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=12081&view=unread#unread)
	false   (Latest version this placemat)           (http://www.jdawiseman.com/2018/20180605_Eights.pdf)
	true    [/ellipsis ( parameters by which made)]  (http://www.theportforum.com/viewtopic.php?p=109015#p109015)
	true    [/ellipsis ( in list of placemats)]      (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180605)
	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, google.co.uk)                  (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)                      (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)          (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles

/FontSizesRatioTitlesMin 1 def  % Titles font sizes must be equal, or differ by at least this factor.

/RotationTitlesAboveBelowOverCirclearray {08  Titles WithinTitles get ASCIIfy dup length 2 sub 1 getinterval cvi 2 mod 0 eq {neg} if} def

/NamesFont      /Garamond-Bold def

/ColourSchemeTitles /MidGrey def  % /MidGrey /Black
/ColourSchemeBelowtitles /MidGrey def  % /MidGrey /Black

/ShapesInTitles true def
/ShapesToUse [/Star] def
/ShapesStarsPointsAndStepsArray [ [8 1] [8 2] dup [8 3] dup dup dup ] def

/InlineTitles false def

/PaintBackgroundCode {
	/Glasses TypeOfPagesBeingRendered eq
	{
		<< /ShapesAverageSeparation 48 >> begin
		MgnL MgnB moveto  MgnL PageHeight MgnT sub lineto  PageWidth MgnR sub PageHeight MgnT sub lineto  PageWidth MgnR sub MgnB lineto  closepath
		GlassPositions SheetNum get {aload pop Radii SheetNum get 3 copy add moveto 90 450 arc closepath} forall
		MgnL  MgnB  PageWidth MgnR sub  PageHeight MgnT sub
		{ShapesIntX ShapesIntY add 2 mod 0 eq {1} {0.9375} ifelse setgray fill} {0.24 setlinewidth 0 setgray stroke} ShapesTitlesClip ShapesClippedToPath srand
		end
	} if
} def
Code version: 14:00 Saturday 12th May 2018

• As is usual, the data is stored in PortData, and from there decanted into Circlearrays, Titles, and Belowtitles.

RotationTitlesAboveBelowOverCirclearray is almost always 0; here it is ±8°, the sign determined by whether the decade is odd or even. Observe the ‘ASCIIfy’, which removes from compound strings the likes of “{-0.06 Kern}”.

ShapesStarsPointsAndStepsArray has one octagon, two 8/2 stars, and three 8/3, affecting delivered frequencies.

• And a complicated PaintBackgroundCode. The software makes all its sub-routines available to the user, and also allows the full power of PostScript — best usage of which needs some expertise.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 12th June 2018, Bring a bottle to share, at Bar Douro. Image Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201806120020) def

/Names [
	(AHB)  (CPR)  [(JDA) {-0.06 Kern} (W)]  (MPM)
	()
] def

/Circlearrays [
	[ /dagger ]
	Names {[ exch ]} forall  pop
] def

/Titles Circlearrays def

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

/HeadersLeft [
	0  [(Bar Douro, Tuesday 12) {SuperscriptOn} (th) {SuperscriptOff} ( June 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(Bring a bottle to share)]
] 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=12468&view=unread#unread)
	false   (Latest version this placemat)   (http://www.jdawiseman.com/papers/placemat/placemat.pdf)
	true    [/ellipsis ( parameters by which made)]  (http://www.theportforum.com/viewtopic.php?p=109149#p109149)
	true    [/ellipsis ( in list of placemats)]      (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20180612)
	false   (Bar Douro)                      (http://www.bardouro.co.uk/)  % Arch 35b Flat Iron Square, Union Street, London, SE1 1TD
	true    (SE1 1TD, streetmap.co.uk)       (http://www.streetmap.co.uk/map.srf?x=532359&y=180067&sv=SE1+1TD)
	true    (SE1 1TD, google.co.uk)          (https://www.google.co.uk/maps/place/Bar+Douro/@51.5043855,-0.0959319,18.21z/)
] def  % /ExternalLinks

/CorkDisplayNumCopies 0 def

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

/ColourSchemeTitles /MidGrey def  % /MidGrey /Black

/ShapesInTitles true def
/ShapesToUse [/Flower] def  % At least one of: /Flower /Star /Heart

/InlineTitles false deff
Code version: 14:00 Saturday 12th May 2018

• Quite vanilla.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 11th December 2018, Offley, at The Boot & Flogger. Image Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201812092000) def

/Shipper [(Of) /fl (ey)] def

/PortData [
	[ (1910) (THRA) ]
	[ (1924) (THRA) ]
	[ (1927) (THRA) ]
	[ (1935) (THRA) ]
	[ (1950) (THRA) ]
	[ (1954) (THRA) ]
	[ (1955) (THRA) ]
	[ (1960) (THRA) ]
	[ (1962) (THRA) ]
	[ (1963) (THRA) ]
	[ (1966) (THRA) ]
	[ (1970) (IDJ)  ]
	[ (1972) (THRA) ]
	[ (1975) (THRA) ]
	[ (1977) (THRA) ]
	[ (1980) (THRA) ]
	[ (1983) (THRA) ]
	[ (1985) (THRA) ]
] def  % /PortData

/Circlearrays [ PortData { [ exch dup 0 get exch Shipper exch dup length 1 sub 1 exch getinterval aload pop ] } forall ] def
/TitlesTastingNotes [ PortData { [ exch 0 get dup 0 1 getinterval exch {-0.04 Kern} exch 1 3 getinterval ] } forall ] def
/TitlesVoteRecorder TitlesTastingNotes def
/Titles [ PortData {0 get 2 2 getinterval} forall ] def
/Belowtitles [ PortData length {()} repeat ] def

/Names [
	(George S.)
	(Dirk N.)
	[(T) {-0.06 Kern} (om A.)]
	(Dave L.)
	(Charles R.)
	(Ralph K.)  % /2alph = Ralph Koch, Switzerland
	(Simon D.)
	[(Julian W) {-0.12 Kern} (.)]
	(Alex B.)
	[(W) {-0.08 Kern} (olfgang S.)]
	[(Phil W) {-0.12 Kern} (.)]
	(Mike M.)
	[(Axel P) {-0.12 Kern} (.)]
	[(W) {-0.08 Kern} (olfgang G.)]
	(Ian J.)
	()
] def

/PaperType {SheetNum 0 eq {/A3} {/A4} ifelse} def  % /A4 /A3 /USL = 8.5"x11", /USLegal = 8.5"x14", /USL2 = 11"x17", [SmallerPts LargerPts]

% Headers... are arrays of even length, alternately an item of PageOrdering, and the relevant compound string.
/HeadersLeft [
	0  [(Boot & Flogger, Tuesday 11) {SuperscriptOn} (th) {SuperscriptOff} ( December 2018)]
] def  % /HeadersLeft
/HeadersCenter [
	0  Shipper
] def  % /HeadersCenter
/HeadersRight [
	0
	[(Sogrape) {-0.06 Kern} (Vinhos.com, ThePortForum.com, jdawiseman.com)]
] def  % /HeadersRight
/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   [(Of) /fl (ey)]                         (http://eng.sograpevinhos.com/marcas/Offley)
	false   (Planning thread on ThePortForum.com)   (http://www.theportforum.com/viewtopic.php?t=12439&view=unread#unread)
	false   (Review thread on ThePortForum.com)     (http://www.theportforum.com/viewtopic.php?t=12665&view=unread#unread)
	true    (1910 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12666&view=unread#unread)
	true    (1924 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12667&view=unread#unread)
	true    (1927 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12668&view=unread#unread)
	true    (1935 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12669&view=unread#unread)
	true    (1950 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12670&view=unread#unread)
	true    (1954 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12671&view=unread#unread)
	true    (1955 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12672&view=unread#unread)
	true    (1960 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12673&view=unread#unread)
	true    (1962 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12674&view=unread#unread)
	true    (1963 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12675&view=unread#unread)
	true    (1966 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12676&view=unread#unread)
	true    (1970 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12677&view=unread#unread)
	true    (1972 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12678&view=unread#unread)
	true    (1975 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12679&view=unread#unread)
	true    (1977 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12680&view=unread#unread)
	true    (1980 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12681&view=unread#unread)
	true    (1983 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12682&view=unread#unread)
	true    (1985 Offley)                           (http://www.theportforum.com/viewtopic.php?t=12683&view=unread#unread)
	false   (Latest version this placemat)          (http://www.jdawiseman.com/2018/20181211_Offley.pdf)
	true    (parameters by which made)              (http://www.theportforum.com/viewtopic.php?p=110393#p110393)
	true    (in list of placemats)                  (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20181211)
	false   (Food order)                            (http://www.jdawiseman.com/2018/20181211_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, google.co.uk)                 (http://www.google.co.uk/maps/?cid=4115942643000130790&api=1&map_action=pano&viewpoint=51.5042,-0.0934337&heading=-15&pitch=0)
	true    (SE1 1TA, bing.com)                     (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)         (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks


/GlassesOnSheets [
	[ 0 1 Titles length 4 sub {} for ]
	[ Titles length 3 sub 1 Titles length 1 sub {} for ]
] def  % /GlassesOnSheets

/PackingStyles [
	[ /RectangularDislocation     /GlassesNumMin 4 ]
	[ /Diamonds                   /GlassesNumMin 4 ]
	[ /DiamondsAndRectangular     /GlassesNumMin 4 ]
	[ /RectangularAlternateNudge  /GlassesNumMin 4  /ImprovementPointsMin 2 ]

	[ /RightSide  /GlassesNumMax 3  /OnlyIfOrientation /Portrait  /SuppressNonRightOrnaments ]
] def  % /PackingStyles

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

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles

/InlineTitles false def

/CrossHatchingInside true def
/CrossHatchingCellArea 56 12 mul 2 mul def
/NeckTagsShowCrossHatchingInside true def
/CrossHatchingNumRadialLines 120 def
/CrossHatchingCentreX {SheetNum 0 eq {0} {PageWidth 2 div 420 360 mul 127 div sub} ifelse} def  % number /Name /Left /Center /Right /CenterSheetsSamePageOrdering
/CrossHatchingCentreY {PageHeight MarginT sub Radii 0 get 2 mul sub} def  % number /Name /Bottom /Middle /Top
Software version: 18:00 Sunday 2nd December 2018

PaperType non-constant, and GlassesOnSheets non-standard to match.

• In PackingStyles the new flag /SuppressNonRightOrnaments does lots of work that used to be quite intricate (see, for example, in the tasting of 9 March 2017, the construction of ThePortForumIconPlacement, HeadersLeft, HeadersCenter).

• If half of the A4 is tucked under the A3 then the formulae in CrossHatchingCentreX and CrossHatchingCentreY causes the two pages’ cross hatchings to seem to have a common centre.

• At this tasting some copies of The Book were to be distributed. On its jacket was the font Cochin-Bold, which was repeated here.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Tuesday 10th September 2019, 1966s, at The Boot & Flogger. Image Image

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201909100010) def

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

/PortData [
	% Charge Title Circlearray...  [Belowtitle]
	[  1  (Cr)  (Croft)                              (RGO) ]
	[  0  (F)   (Fonseca)                            JDAW  ]
	[  0  (T)   [(T) {-0.06 Kern} (aylor)]           (IDJ) ]

	[  0  (S)   (Sandeman)                           (JMK) ]
	[ -2  (O)   [(Of) /fl (ey)]                      (CPR) ]

	[  0  (N)   (Quinta do Noval)                    (DRL) ]
	[ 20  (D)   (Dow)                                (THRA) ]
	[  0  (W)   [(W) {-0.06 Kern} (arre)]            (PW) ]

 	[  0  (G)   (Graham)                             (DRT) ]
	[ -3  (G)   (Graham)        (2016 release)       (TC) ]

	[  0  (SW)  [(Smith W) {-0.06 Kern} (oodhouse)]  (NAC) ]
	[  1  (GC)  (Gould Campbell)                     (AHB) ]
	[  0  (Ad)  (Adams)                              (CMAG) ]
] def

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

/Droplets true def
/DropletsCharges [
	[ PortData {0 get} forall ]
] def  % DropletsCharges, array the same shape as GlassesOnSheets

/Names [
	(DRT) (CMAG) JDAW (THRA) (NAC) (AHB) (RGO) (JMK) (DRL) (CPR) (PW) (IDJ) (TC)
	()
] def

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

/HeadersLeft [
	0  [(Boot & Flogger, T) {-0.08 Kern} (uesday 10) {SuperscriptOn} (th) {SuperscriptOff} ( September 2019)]
] def  % /HeadersLeft
/HeadersCenter [
	0  [(1966s)]
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Review thread on ThePortForum.com)          (http://www.theportforum.com/viewtopic.php?t=13034&view=unread#unread)
	true    (Croft 1966)                                 (http://www.theportforum.com/viewtopic.php?t=13035&view=unread#unread)
	true    (Fonseca 1966)                               (http://www.theportforum.com/viewtopic.php?t=13036&view=unread#unread)
	true    (Taylor 1966)                                (http://www.theportforum.com/viewtopic.php?t=13037&view=unread#unread)
	true    (Sandeman 1966)                              (http://www.theportforum.com/viewtopic.php?t=13038&view=unread#unread)
	true    (Offley 1966)                                (http://www.theportforum.com/viewtopic.php?t=13039&view=unread#unread)
	true    (Quinta do Noval 1966)                       (http://www.theportforum.com/viewtopic.php?t=13040&view=unread#unread)
	true    (Dow 1966)                                   (http://www.theportforum.com/viewtopic.php?t=13041&view=unread#unread)
	true    (Warre 1966)                                 (http://www.theportforum.com/viewtopic.php?t=13042&view=unread#unread)
	true    (Graham 1966)                                (http://www.theportforum.com/viewtopic.php?t=13043&view=unread#unread)
	true    (Graham 1966, 2016 release)                  (http://www.theportforum.com/viewtopic.php?t=13044&view=unread#unread)
	true    (Smith Woodhouse 1966)                       (http://www.theportforum.com/viewtopic.php?t=13045&view=unread#unread)
	true    (Gould Campbell 1966)                        (http://www.theportforum.com/viewtopic.php?t=13046&view=unread#unread)
	true    (Adams 1966)                                 (http://www.theportforum.com/viewtopic.php?t=13047&view=unread#unread)
	false   (Planning thread on ThePortForum.com)        (http://www.theportforum.com/viewtopic.php?t=12573&view=unread#unread)
	false   (Latest version this placemat)               (http://www.jdawiseman.com/2019/20190910_1966s.pdf)
	true    [/ellipsis (parameters by which made)]       (http://www.theportforum.com/viewtopic.php?p=113259#p113259)
	true    [/ellipsis (in list of placemats)]           (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20190910)
	true    [/ellipsis (Droplets discussion)]            (http://www.theportforum.com/viewtopic.php?t=175&start=1196)
	false   (Food order)                                 (http://www.theportforum.com/FoodOrder/ThePortForum_food_20190910.docx)
	false   (Jan2008 stylistic inspiration: placemats)   (http://www.jdawiseman.com/ftlop/20080128-1966.pdf)
	false   (Jan2008 stylistic inspiration: review)      (http://www.theportforum.com/viewtopic.php?t=1127)
	false   (Jan2008 stylistic inspiration: in list)     (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20080128)
	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, google.co.uk)                      (https://goo.gl/maps/7NEiwAMEZpG2)
	true    (SE1 1TA, bing.com)                          (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)              (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/PackingNestingColumnMajor true def  % Default value, which can be overridden at the level of the individual item of PackingStyles

/TitlesFont     /TimesNewRomanPS-BoldMT def
/CircletextFont /TimesNewRomanPSMT def

/ColourSchemeTitles /MidGrey def  % /MidGrey /Black
/ColourSchemeBelowtitles /Black def  % /MidGrey /Black

/InlineTitles false def
/InlineAbovetitles true def
/InlineBelowtitles InlineAbovetitles def

/PrePourReverseOrder false def
Software version 19:30 Wednesday 4th September 2019.

Mostly vanilla.

• Still experimenting with values for DropletsCharges. Observe 20 attractive charge on Dow, and -2 repelling charge on Offley. So a little past Offley, in Taylor, is a balance point (Lagrange? Termination shock?), which — for my palate — gives some intricate structure. Different opinions welcomed. Discussion in software thread.

• Further, the workings of DropletsCharges was changed effective software of Mon 16 Sep 2019.
User avatar
jdaw1
Cockburn 1851
Posts: 23568
Joined: 15:03 Thu 21 Jun 2007
Location: London
Contact:

Re: Parameters for the placemat software

Post by jdaw1 »

Thursday 21st November 2019, Rebello Valente and Quinta de la Rosa, at The Boot & Flogger. Image Image

The two-line effect does not fit well with the general flow of the software’s parameters; indeed, is perhaps fighting against its programgeist.

Code: Select all

/ParametersVersionDateTimeAdobeFormat (D:201911201145) def

/ShipperString1 (Rebello) def
/ShipperString2 [(V) {-0.10 Kern} (alente)] def

/Shipper [ShipperString1 ( ) ShipperString2] def

/ShipperTwoLines [
	{//ShipperString2 StringWidthRecursive //ShipperString1 StringWidthRecursive sub 2 div dup 0 lt {pop 0} if  CurrentFontSize 0.4375 mul  rmoveto}   //ShipperString1
	{//ShipperString1 StringWidthRecursive //ShipperString2 StringWidthRecursive add -2 div                     CurrentFontSize -0.875 mul  rmoveto}   //ShipperString2
	{//ShipperString1 StringWidthRecursive //ShipperString2 StringWidthRecursive sub 2 div dup 0 lt {pop 0} if  CurrentFontSize 0.4375 mul  rmoveto}
] bind def  % /ShipperTwoLines

/PortData [
	[ (1927)  ShipperTwoLines      ()       ]
	[ (1942)  ShipperTwoLines      ()       ]
	[ (1945)  ShipperTwoLines      ()       ]
	[ (1947)  ShipperTwoLines      ()       ]
	[ (1955)  ShipperTwoLines      ()       ]
	[ (1960)  ShipperTwoLines      ()       ]
	[ (1960)  (Quinta de la Rosa)  ()       ]
	[ (1963)  ShipperTwoLines      ()       ]
	[ (1963)  (Quinta de la Rosa)  ()       ]
	[ (1966)  ShipperTwoLines      ()       ]
	[ (1970)  ShipperTwoLines      ()       ]
	[ (1970)  (Quinta de la Rosa)  ()       ]
	[ (1972)  ShipperTwoLines      ()       ]
	[ (1977)  ShipperTwoLines      (Magnum) ]
] def   

/Names [
	(SB)  % Industry guest
	(PW) (SCD) (TC) (MPM) (CPR) (DRL) (NAC) (AHB) (THRA) (IDJ) (AP) (WG)
	[(JDA) {-0.06 Kern} (W)]
	(PB & KW)
	()
] def
/NamesTastingNotes [ Names aload pop exch pop (PB) exch (KW) exch ] def
/NamesVoteRecorder NamesTastingNotes def

/Circlearrays             [ PortData     { [ exch {dup length 0        eq {pop}         if} forall ] } forall ] def
/CirclearraysVoteRecorder [ Circlearrays { [ exch {dup ShipperTwoLines eq {pop Shipper} if} forall ] } forall ] def
/CirclearraysNeckTags Circlearrays def
/TitlesTastingNotes [ PortData {0 get} forall ] def
/TitlesVoteRecorder TitlesTastingNotes def
/Titles [ TitlesTastingNotes {2 2 getinterval} forall ] def
/Belowtitles [ PortData {2 get} forall ] def
/Overtitles [ PortData  {1 get} forall ] def
/SubtitlesTastingNotes [ 0 1 Titles length 1 sub {dup Overtitles exch get dup dup length 0 gt exch ShipperTwoLines ne and {exch pop} {pop Belowtitles exch get} ifelse} for ] def

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

/HeadersLeft [
	0  [(Boot & Flogger, Thursday 21) {SuperscriptOn} (th) {SuperscriptOff} ( November 2019)]
] def  % /HeadersLeft
/HeadersCenter [
	0  Shipper
] def  % /HeadersCenter

/ExternalLinks [  % Array, length a multiple of three:  indented0-boolean, (Descriptor0), (http://URL0),  indented1-boolean, (Descriptor1), (http://URL1),  ...
	false   (Quinta de la Rosa)                          (http://www.quintadelarosa.com/)
	false   (Review thread on ThePortForum.com)          (http://www.theportforum.com/viewtopic.php?t=13133&view=unread#unread)
	true    (1927 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13134&view=unread#unread)
	true    (1942 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13135&view=unread#unread)
	true    (1945 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13136&view=unread#unread)
	true    (1947 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13137&view=unread#unread)
	true    (1955 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13138&view=unread#unread)
	true    (1960 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13139&view=unread#unread)
	true    (1960 de la Rosa, Quinta)                    (http://www.theportforum.com/viewtopic.php?t=13140&view=unread#unread)
	true    (1963 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13141&view=unread#unread)
	true    (1963 de la Rosa, Quinta)                    (http://www.theportforum.com/viewtopic.php?t=13142&view=unread#unread)
	true    (1966 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13143&view=unread#unread)
	true    (1970 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13144&view=unread#unread)
	true    (1970 de la Rosa, Quinta)                    (http://www.theportforum.com/viewtopic.php?t=13145&view=unread#unread)
	true    (1972 Rebello Valente)                       (http://www.theportforum.com/viewtopic.php?t=13146&view=unread#unread)
	true    (1977 Rebello Valente magnum)                (http://www.theportforum.com/viewtopic.php?t=13147&view=unread#unread)
	false   (Planning thread on ThePortForum.com)        (http://www.theportforum.com/viewtopic.php?t=12890&view=unread#unread)
	false   (Latest version this placemat)               (http://www.jdawiseman.com/2019/20191121_Rebello_Valente.pdf)
	true    [/ellipsis ( in list of placemats)]          (http://www.jdawiseman.com/papers/placemat/placemats_list.html#a20191121)
	true    [/ellipsis ( and parameters by which made)]  (http://www.theportforum.com/viewtopic.php?p=113917#p113917)
	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, google.co.uk)                      (https://goo.gl/maps/7NEiwAMEZpG2)
	true    (SE1 1TA, bing.com)                          (http://www.bing.com/maps/default.aspx?where1=SE1+1TA&cp=51.50428~-0.0935)
	true    (What3Words: cafe.humid.palace)              (http://map.what3words.com/cafe.humid.palace)
] def  % /ExternalLinks

/GlassesOnSheets [
	[ 0 1 2  5 4 3  6 7  10 9 8  11 12 13 ]
] def  % /GlassesOnSheets
/GlassesClusteredOnCorkDisplay [ [ [ 0 1 Titles length 1 sub {} for ] ] ] def

/TitlesFont     /OpenSans-CondensedBold def
/CircletextFont /Cochin def
/BelowtitlesFont CircletextFont def
/OvertitlesFont BelowtitlesFont def

/TitleMaxHeightProportionInnerRadius 2 def

/ColourSchemeTitles /Black def  % /MidGrey /Black

/OvertitleMaxFontSizeProportionTitles  0.18 def
/BelowtitleMaxFontSizeProportionTitles 0.12 def
/FontSizesSetsAboveBelowOver [ 0 1 2 ] def
/TitleMinHeightForBelowtitleProportionInnerRadius 0.0 def

/InlineBelowtitles false def

/PackingNestingColumnMajor true def

/Droplets true def
/DropletsCharges [  % Length a multiple of 3: SheetNum or /All; position being either, type integer, the centre of the WithinPage circle, or array [x y]; charge being numeric; perhaps repeat.
	0     {[GlassPositions 0 get dup  0 get 0 get  exch 6 get 1 get]}    9261
	0     {[GlassPositions 0 get dup  7 get 0 get  exch 5 get 1 get]}    -729
	0     {[GlassPositions 0 get dup 12 get 0 get  exch 6 get 1 get]}     343
] def  % DropletsCharges
Software version: 13:30 Thursday 14th November 2019.

Several parts of interest:

• The business with ShipperString1, ShipperString2, and ShipperTwoLines assembles two lines of text into a single block, vertically centred on the baseline. Within that, the immediate evaluation of some names (“//”) and the bind have no affect other than a slight speeding of execution, so may be omitted. Codewise, it’s nasty. Aesthetically, this can look acceptable if the two words are of similar length and lack descenders (‘Rebello Valente’, perhaps ‘Ramos Pinto’), but not if they are of very different lengths or have descenders (‘Smith Woodhouse’, ‘Tuke Holdsworth’; ‘Butler Nephew’, ‘Gonzalez Byass’, ‘Gould Campbell’, ‘Quarles Harris’, ‘Royal Oporto’).

• With consequent complexity as to which of the two-line version (ShipperTwoLines) and the one-line version (Shipper) are used in which arrays (Circlearrays, CirclearraysVoteRecorder, CirclearraysNeckTags, TitlesTastingNotes, TitlesVoteRecorder, Titles, Belowtitles, Overtitles, SubtitlesTastingNotes).

• Very unusual that NamesNamesTastingNotes.

• The strange ordering in GlassesOnSheets (with /PackingNestingColumnMajor true def) makes columns alternate in direction so that the same-year RV and Rs are adjacent, as requested.

FontSizesSetsAboveBelowOver non-standard, so that Belowtitles and Overtitles not necessarily the same size.

• The font /OpenSans-CondensedBold has the bounding box of two-digit years being about square, so allowing a large size (aided by /TitleMinHeightForBelowtitleProportionInnerRadius 0.0 def and by /TitleMaxHeightProportionInnerRadius 2 def). Comment welcomed.

ExternalLinks contains links to all the notes (Review, RV27, RV42, RV45, RV47, RV55, RV60, Rs60, RV63, Rs63, RV66, RV70, Rs70, RV72, RV77). Needlessly fussy, but I like. Alas there wasn’t a suitable link for the brand Rebello Valente, though there was for Quinta de la Rosa.

/Droplets true def, as new features are often used until no longer novel.
Locked