Parameters for the placemat software

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

Re: Parameters for the placemat software

Post by jdaw1 » 17:22 Sat 04 Mar 2017

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

Code: Select all

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

/ParametersVersionDateTimeAdobeFormat (D:201703082100) def

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

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

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

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

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

	[]
] def

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

	()
] def

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

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

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

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

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

/DecanterLabelsNumCopies 1 def
/PlaceNames true def

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

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

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


Some fiddliness.

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

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

NamesAccounts merges JMR into her the row of her host.

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

Re: Parameters for the placemat software

Post by jdaw1 » 11:04 Sat 10 Feb 2018

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.

Locked