<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:inherit;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:351803550;
        mso-list-template-ids:-1;}
@list l1
        {mso-list-id:653142774;
        mso-list-template-ids:-1;}
@list l1:level1
        {mso-level-start-at:2;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2
        {mso-list-id:1026128897;
        mso-list-template-ids:-1;}
@list l3
        {mso-list-id:1452164693;
        mso-list-template-ids:-1;}
@list l4
        {mso-list-id:1469936158;
        mso-list-template-ids:-1;}
@list l5
        {mso-list-id:1605336609;
        mso-list-template-ids:-1;}
@list l6
        {mso-list-id:1738555080;
        mso-list-template-ids:-1;}
@list l7
        {mso-list-id:1860778090;
        mso-list-template-ids:-1;}
@list l7:level1
        {mso-level-start-at:2;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style></head><body lang=EN-GB link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>I also changed the cross size from the standard 5mm to 2mm ( from 10mm across to 4mm across) using</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#CHANGE CROSS HAIR SIZE</p><p class=MsoNormal>#----------------------</p><p class=MsoNormal># from 5mm to 2mm</p><p class=MsoNormal>def s_hgrid (expr xpos, ypos, xsize, ysize) =</p><p class=MsoNormal>  pickup PenD;</p><p class=MsoNormal>  draw (</p><p class=MsoNormal>    if xpos < 0: 0 else: -2mm fi, 0</p><p class=MsoNormal>  ) -- (</p><p class=MsoNormal>    if xpos > 0: 0 else: 2mm fi, 0</p><p class=MsoNormal>  );</p><p class=MsoNormal>  draw (</p><p class=MsoNormal>    0, if ypos < 0: 0 else: -2mm fi</p><p class=MsoNormal>  ) -- (</p><p class=MsoNormal>    0, if ypos > 0: 0 else: 2mm fi</p><p class=MsoNormal>  );</p><p class=MsoNormal>enddef;</p><p class=MsoNormal>def s_vgrid_SM (expr xpos, ypos, xsize, ysize) =</p><p class=MsoNormal>  pickup PenD;</p><p class=MsoNormal>  draw (</p><p class=MsoNormal>    if xpos < 0: 0 else: -xsize/4 fi, 0</p><p class=MsoNormal>  ) -- (</p><p class=MsoNormal>    if xpos > 0: 0 else: xsize/4 fi, 0</p><p class=MsoNormal>  ) dashed evenly;</p><p class=MsoNormal>enddef;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>so at a scale 1:2500, each cross is 10m across, a useful quick measurement guide.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>From: </b><a href="mailto:alastairgott@gmail.com">A Gott</a><br><b>Sent: </b>18 April 2024 22:22<br><b>To: </b><a href="mailto:therion@speleo.sk">List for Therion users</a><br><b>Subject: </b>Re: [Therion] More thoughts on Therion grids</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>HI Everyone,</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I have just created the linked excel file for creating a bespoke grid using excel, it will autopopulate when you drag it down. For the horizontals and verticals select a full scrap/endscrap (plus space) set of cells to drag down and it will populate the next in the set.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>For the coordinates, select a full set of 4 station, fix, station, fix lines and drag them down and it will autopopulate, top boxes are the ones which need amending.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>To put it in a therion file, you will need to copy and "paste special values" into another excel window and then this should drop into a .th text file.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Onedrive link to the excel file, let me know if you want it and can't download it.</p></div><div><p class=MsoNormal><a href="https://1drv.ms/x/s!AuwW4uWNDvLvgcUF3sp4CLnQOAwUmw?e=kdU09y">Therion_gridcreationfile.xlsx</a></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Grid Labels shouldn't be too hard to implement, by creating a scrap with some coordinate stations in it and then placing the labels for those stations next to coordinate stations.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Regards,</p></div><div><p class=MsoNormal>Alastair.</p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Thu, 18 Apr 2024 at 19:40, A Gott <<a href="mailto:alastairgott@gmail.com">alastairgott@gmail.com</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><div><div><div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>HI Therion Mailing list,<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>I have spent a couple of days looking over a few options with getting a grid onto the survey I sent around last week. below are the things I have tried.<o:p></o:p></span></p></div><div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Manipulating Freq of grid spacing<o:p></o:p></span></li></ol></div><div><ol start=2 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Looking at C++ Therion code<o:p></o:p></span></li></ol></div><div><ol start=3 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Creating a Grid.pdf plan file - To save reading, my take away was give up<o:p></o:p></span></li></ol></div><div><ol start=4 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l4 level1 lfo1;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Drawing Gridlines on .th2 for inclusion<o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>Two options now being considered:<o:p></o:p></span></p></div><div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>using microsoft excel to create <a href="http://grid.th" target="_blank">grid.th</a> file<o:p></o:p></span></li></ol></div><div><ol start=2 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>One for those with experience - Creating a script (Python?) to make the grid<o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>My findings on 1-4 are:<o:p></o:p></span></p></div><div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l6 level1 lfo3;vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Manipulating Freq of grid spacing</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'><o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>I did this as this had been suggested to me and was a good solution, but at the 40-50m spacing required to get the grid to show in full this left the top right and bottom right corners with duplicate coordinates written over each other. for a finished survey, this would not be an optimal solution to the problem.</span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><ol start=2 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo4;vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>Looking at C++ Therion code</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'><o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='margin-bottom:12.0pt;vertical-align:baseline'><span style='font-size:12.0pt;color:black'>I'm not a coder but I tried to look at the C++/Cxx code for therion to try and make some amendments, but didn't realise when I tried to use it in the thconfig file, that it doesn't work the same as "code metapost". but when taking a look at it I found chunks of the code which I thought were relevant, and include these below my signature.</span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  3) <b>Creating a Grid.pdf plan file</b></span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> - To save reading, my take away was give up</span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>As the Manipulation of the frequency of the Grid spacing went ok, I decided I could potentially use this to create a background for the survey but including it in the files, I didn't make a plan (and wouldn't repeat) but this went along the lines of:<o:p></o:p></span></p></div><div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>screenshot Survey, include image of survey in th2 file, place survey points at TR (top right) and BL coordinates required of the th2 file, set scrap scale as per survey scale.<o:p></o:p></span></li></ol></div><div><ol start=2 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>create .th file which includes the two points as grid reference points, create .thconfig file to replicate the grid formation with no survey in it.<o:p></o:p></span></li></ol></div><div><ol start=3 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>export to pdf, use online pdf converter to create .jpg file, and then use paint to remove the overlapping coordinates in the top right and bottom right of the grid.<o:p></o:p></span></li></ol></div><div><ol start=4 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>use jpg as a background image in a .th2 file, include the coordinates etc in the main survey master .th file.<o:p></o:p></span></li></ol></div><div><ol start=5 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>attempt to use "sketches on" to import this grid into the lowest part of the survey to ensure it is shown on the bottom.<o:p></o:p></span></li></ol></div><div><ol start=6 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l5 level1 lfo5;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>give up waiting, as it was taking an age to 'warp' the sketch - abandon this as an idea.<o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>4) <b>Drawing Gridlines on .th2 for inclusion</b><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>I think I could have skipped some of the above steps and used John Stevens example of drawing gridlines on a .th2 file earlier, advantages - get gridlines where you want, disadvantages - time consuming and potential for gridlines which don't look as polished as if a piece of software were doing it for you.<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><br>I'm now considering<o:p></o:p></span></p></div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo6;list-style-type:"a) "'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;border:none windowtext 1.0pt;padding:0cm'>using microsoft excel to create <a href="http://grid.th" target="_blank">grid.th</a> file</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'><o:p></o:p></span></li></ol><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>creating a microsoft excel file to create a <a href="http://grid.th" target="_blank">grid.th</a> file which will use one scrap for each vertical gridline and one for each horizontal gridline.</span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>something along the lines of:<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>survey gridlines<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>scrap Vert1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>point 1 -1 station -name BotVert1 <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>point 1 0 station -name TopVert1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>line u:grid -clip off -place bottom<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  1 -1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  1 0<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>endline<br>endscrap<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>scrap Vert2<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>point 2 -1 station -name BotVert2<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>point 2 0 station -name TopVert2<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>line u:grid -clip off -place bottom<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  2 -1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  2 0<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>endline<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>endscrap<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>map scrap verticals<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>Vert1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>Vert2<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>endmap<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>map grid<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>scrap verticals<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>scrap horizontals<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>scrap labels<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>endmap<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>centreline<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  cs OSGB:SK<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  station BotVert1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"inherit",serif;color:black;border:none windowtext 1.0pt;padding:0cm'>  fix BotVert1 realX realY 0</span><span style='font-size:13.5pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  station TopVert1<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"inherit",serif;color:black;border:none windowtext 1.0pt;padding:0cm'>  fix TopVert1 realX realY1 0</span><span style='font-size:13.5pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>...etc...<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>  endcentreline<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><ol start=2 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l7 level1 lfo7;vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"inherit",serif;border:none windowtext 1.0pt;padding:0cm'>One for those with experience - Creating a script (Python?) to make the grid</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif'><o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'>If anyone has any experience of it could they make a small script (like topparser is) that can make a .th file such as the above. My thoughts are that with a few small options this could be a quick win for a few people who are manually making their own grids.</span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'> Therion already has an option to output coordinates for the bbox, these could be inputted into the script and then an option selected for the coordinate system, grid spacing, labeling frequency and placement<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div id="m_-1166611139083963866gmail-Signature"><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Regards,<br>Alastair Gott.<br>-------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Therion source code I thought was most closely aligned to the above problem.<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>CXX to control grid formation and pattern</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>from line 775 on therion/thpdf.cxx<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  GRIDLIST.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  if (LAYOUT.grid > 0) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    converted_data scr;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    double a,b,c,d;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridAA, "",0,0,a,b,c,d,scr,101); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[0].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[0].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridAB, "",0,0,a,b,c,d,scr,102); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[1].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[1].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridAC, "",0,0,a,b,c,d,scr,103); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[2].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[2].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridBA, "",0,0,a,b,c,d,scr,104); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[3].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[3].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridBB, "",0,0,a,b,c,d,scr,105); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[4].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[4].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridBC, "",0,0,a,b,c,d,scr,106); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[5].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[5].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridCA, "",0,0,a,b,c,d,scr,107); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[6].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[6].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridCB, "",0,0,a,b,c,d,scr,108); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[7].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[7].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    parse_eps(LAYOUT.gridCC, "",0,0,a,b,c,d,scr,109); GRIDLIST.push_back(scr);scr.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[8].x = a;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    LAYOUT.gridcell[8].y = b;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  }<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  PATTERNLIST.clear();<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  std::ifstream P("patterns.dat");<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  if(!P) therror(("Can't open patterns definition file!"));<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  char buf[5000];<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  char delim[] = ":";<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  std::string line,num,pfile,bbox,xstep,ystep,matr;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  while(P.getline(buf,5000,'\n')) {<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    num = strtok(buf,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    pfile = strtok(NULL,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    bbox = strtok(NULL,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    xstep = strtok(NULL,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    ystep = strtok(NULL,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    matr = strtok(NULL,delim);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>//    if (ALL_PATTERNS.count(num) > 0) {  // changed to patt.used flag<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>                                          // because thsymbolset.cxx <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>                                          // calls eps_parse after<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>                                          // this function is called<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>                                          // and patterns referenced<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>                                          // there would be missing in this list<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      pattern patt;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      patt.used = (ALL_PATTERNS.count(num) > 0);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      <a href="http://patt.name" target="_blank">patt.name</a> = num;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      matr.replace(matr.find("["),1,"");<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      matr.replace(matr.find("]"),1,"");<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      std::istringstream s1(matr);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      s1 >> patt.xx >> patt.xy >> patt.yx >> patt.yy >> patt.x >> patt.y;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      bbox.replace(bbox.find("["),1,"");<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      bbox.replace(bbox.find("]"),1,"");<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      std::istringstream s2(bbox);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      s2 >> patt.llx >> patt.lly >> patt.urx >> patt.ury;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>//      F << "/Matrix " << matr << endl;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>//      F << "/BBox " << bbox << endl;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      patt.xstep = atof(xstep.c_str());<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      patt.ystep = atof(ystep.c_str());<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      parse_eps(pfile , "", 0,0, patt.llx1,patt.lly1,patt.urx1,patt.ury1,patt.data,0);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      PATTERNLIST.push_back(patt);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>//    }  // patt.used<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  }<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  P.close(); <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>}<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Cxx for Bounding control</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>This was the first bit of code I noted down, before I kept proper refs of them, think it was Located in xtherion/thepsparse.cxx/from line 1336<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> if (J->second.minx > Llx) J->second.minx = Llx;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>            if (J->second.miny > Lly) J->second.miny = Lly;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>            if (J->second.maxx < Urx) J->second.maxx = Urx;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>            if (J->second.maxy < Ury) J->second.maxy = Ury;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Cxx for Layout Calibration</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>two bits of code seem to be working together with the use of LAYOUT.calibration_hdist<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo8;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif'>code from Therion/thpdf.cxx/1620-1621<o:p></o:p></span></li></ol></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>PAGEDEF << "\\pdfcatalog { /thCalibrate (HS=\\the\\adjustedHS, VS=\\the\\adjustedVS, HD=" <<<br>               fmt::format("{}",thdouble(LAYOUT.calibration_hdist,10)) << ")}";<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>2) code from therion/thexpmap.cxx/line 1862-1871<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(0, lim.min.x, lim.min.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(1, (lim.min.x + lim.max.x) / 2.0,lim.min.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(2, lim.max.x, lim.min.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(3, lim.min.x, (lim.min.y + lim.max.y) / 2.0);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(4, lim.max.x, (lim.min.y + lim.max.y) / 2.0);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(5, lim.min.x, lim.max.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(6, (lim.min.x + lim.max.x) / 2.0,lim.max.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(7, lim.max.x, lim.max.y);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  calpoint(8, (lim.min.x + lim.max.x) / 2.0, (lim.min.y + lim.max.y) / 2.0);<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  LAYOUT.calibration_hdist = lim.max.x - lim.min.x;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Cxx for Adjustments</span></b><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>code from Therion/thpdf.cxx/1598-1608<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>PAGEDEF << "\\adjustedHS=" << fmt::format("{}",thdouble(HS,prec_xy)) << "bp" <<<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedHS by \\extraE" << <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedHS by \\extraW" <<<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedHS by \\overlap" << <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedHS by \\overlap" <<  std::endl;<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>    PAGEDEF << "\\adjustedVS=" << fmt::format("{}",thdouble(VS,prec_xy)) << "bp" <<<o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedVS by \\extraN" << <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedVS by \\extraS" << <o:p></o:p></span></p></div><div><p class=MsoNormal style='vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedVS by \\overlap" << <o:p></o:p></span></p></div></div></div></div></div></div></div></blockquote></div><p class=MsoNormal style='margin-left:4.8pt;vertical-align:baseline'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>      "\\advance\\adjustedVS by \\overlap" << std::endl;<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>