10. Messages and what to do
This chapter explains the notes about the sheets of a layout and of a course. The notes about printing the map itself are in chapter 9. None of them stops the export. Each line that starts with "Note:" makes check end with exit code 1; a line that starts with "Info:" does not.
| Note (shortened) | Meaning and fix |
|---|---|
| "the map does not fit on the page. It is … too tall/too wide …" | The map is larger than the map frame and is cut. A3, another scale, a narrower passe-partout, or centre_map_mm for the part you want. If the cut is intended, set map_frame.crop = true. |
| "Info: the map is … for the map frame and is cut there on purpose" | For information only: the layout has map_frame.crop = true. |
| "the passe-partout is too narrow for the footer …" | The footer sits on a white box inside the map. Raise margin_mm, shorten print.copyright, or place the lines elsewhere with copyright_line/credit_line. |
| "the footer … at the bottom left covers part of the element …" | The footer and its white box overlap an element in the bottom-left corner, below or inside the map frame. Move the element, or move the footer lines with a copyright_line or credit_line element. The note names what the footer holds: copyright lines, the credit line or both. |
| "the credit line element … would not lie wholly on the page" | The credit_line element would reach past the page edge, so the credit line stays in the footer. Check its anchor, offset and size_pt. |
| "the footer … reaches past the page edge" | The footer extends beyond the sheet. Check the passe-partout and the copyright lines. |
| "the element … reaches past the page edge" | Check the element's anchor and offset; make a logo narrower if needed. |
| "the element … hangs on the page and covers part of the map frame" | An element hung on the page (to = "page") lies over the map. Move it onto the passe-partout, or hang it on the map frame if it is meant to sit on the map. |
| "the paper is larger than A3" | Only for a page_mm larger than A3. A print shop takes it; an office printer does not. |
| "layout … lacks a text with {print_scale} …" | No sheet element shows the scale or the contour interval, or map.contour_interval_m is missing. Add a title block or text with the placeholder, or set the value. |
| "layout … has no scale check bar" | The layout shows no scale_check_bar element. Add one (shared or in the layout), so a ruler on the printout shows whether the printer scaled it. |
| "Info: the map has no north lines, so … lines were added" | For information only, see chapter 6. north_lines = "never" turns it off. |
| "… neither north lines nor a usable line symbol 601 …" | The map has no symbol for north lines. The program draws plain black 0.14 mm lines over the map, on top of everything. Better: draw north lines in OOM. |
| "layout … shows … of … copyright lines" | More than six copyright lines. Merge them in print.copyright. |
| "the copyright line '…' is wider than the map frame and is cut short" | Shorten the line in the map notes or in print.copyright, or split it in two. |
| "the logo … is left out: …" | The file is missing, broken, too large, or an SVG with parts that are not allowed, or the sheet already holds 50 megapixels of logos or used up its SVG budget; the reason follows. See "Logo" in chapter 7. |
| "the logo … is drawn simplified: …" | A gradient, transparency, dashes or a clip path in the SVG. The logo prints, but not quite as in the drawing program. |
| "the text … contains {…}, which is no placeholder" | A typo in a placeholder. The list is in chapter 7. |
| "layout … hides the map part …, but the map has no part of that name" | Write names in hide_parts exactly as in OOM, upper and lower case included. |
Errors in the project file stop check and export. The message names file, line and column and the key, for example freemapper-print.toml:24:1: field `layouts[1].elements[0].width_mm`: a logo needs a `width_mm` . For a missing key the line is that of the table it belongs in. These messages are in English for now, except the one about hide_parts = ["base"] (see "The base area of sprint maps" in chapter 6), which comes in German too. The rules for masks and their messages are in chapter 11.
Notes about courses
These notes appear when the project has a course file. Notes about the course file itself come once, before the first course. The closing line "The course file itself has notes. They are listed before the first course." tells you that some of the notes above belong to the file and not to a course. A line with "Info:" does not count for the exit code.
| Note (shortened) | Meaning and fix |
|---|---|
| "Info: the course file's y axis points up; the program turned it to match the map." | For information only. Most course-setting programs write it that way. |
| "the course fits the map with its y axis pointing up and pointing down, and nothing in the file decides …" | Only for IOF XML. The course lies where both readings fit, so the program assumed "up". Look at a sheet. If the course is right, confirm it with course_y_axis = "up" under [sources], and if it is upside down, set "down". |
| "the project file sets course_y_axis = "down" under [sources], but Purple Pen always writes the y axis pointing up …" | The course prints mirrored. If the file comes from Purple Pen, delete the line. |
| "Info: the course file states no map scale, so it was not compared with the map's scale." | The file has no scale to compare. Nothing to do, but check that you linked the right map. |
| "Info: … a map position and latitude and longitude. They differ by … m at most." | The check against latitude and longitude passed. |
| "Info: latitude and longitude were not checked, because …" | The reason follows: the map is not georeferenced, its coordinate system is not UTM, no control has both a map position and latitude and longitude, or the project file switched the check off. |
| "Info: the project file switches the check against latitude and longitude off …" | course_georef_check = false is set. |
| "Info: control … only latitude and longitude. The map's georeferencing placed them." | The course file has no map position for these controls. Check one of them on the sheet. |
| "Info: the course file has no control descriptions." | The file is IOF XML, or a .ppen without descriptions. |
| "the course file contains the element …, which this version does not read. It is left out." | The element is missing on the sheets. Look at what it is in your course-setting program. |
| "Info: the course file has white-out areas. Each one hides the map on the courses it belongs to, unless a course's assignment names a mask of its own." | For information only. Purple Pen's white-out hides the map on the courses it belongs to in Purple Pen. Check on the sheets that this is what you want; a mask of its own in the assignment replaces it for that course. |
| "course … has forks or loops (Purple Pen variations) … the course is left out" | The course is missing on purpose. Export the courses from Purple Pen as IOF XML, which writes each variation as a course of its own. |
| "course … offers alternative controls at one stop … the course is left out" | This version cannot print them. Split the course in the course-setting program. |
| "Info: courses … are the variants of fork …. Each prints as a sheet of its own." | For information only. |
| "Info: the map issue point … is used as the start." | A map issue is read as a start, so its row in the description box is missing. |
| "Info: the course file gave more notes than are listed here." | The file is unusual or damaged. The notes shown are the first ones. |
| "Info: course … has no assignment and prints on the first layout, …" | Add an [[assignments]] entry if another layout is meant. |
| "the project file assigns course … to a layout, but the course file has no such course. The assignment stays …" | The course was renamed or deleted in the course file. Fix the name in the project file, or delete the entry. |
| "the project file corrects the number of control … for …, but the course file has no such control there. The correction stays …" | The control was renumbered or removed, or it is not in that course. Fix the code, or delete the entry. |
| "the course file has moved the number of control … since the project file corrected it. Check whether the correction still fits." | Someone moved the number in the course-setting program after you made the correction. Look at the sheet. If the correction still fits, the note stays until you delete the entry and write it again with numbers accept --direction … --gap …. If it does not fit, delete the entry. |
| "Info: no course uses the mask … Name it in an assignment …" | A [[masks]] entry applies to no course. No assignment names it with mask, and no white-out area of the course file has its id. Add mask = "…" to the course's assignment, or delete the entry. The note comes once per run. |
| "the project file gives course … the mask …, but the course file has no such white-out area. …" | The assignment names a white-out area from Purple Pen that the course file no longer has. The course prints without a mask. Fix the number, name a mask of your own, or delete the mask line. |
| "Info: course … prints with the white-out area whiteout-… of the course file, which lies around …" and "Info: on the sheet of course …, the [[masks]] table with the id whiteout-… takes the place of the white-out area …" | The project file names a white-out area by its number, and the number is Purple Pen's own number for the area. Look in OOM whether the area around that point is the one you mean. |
| "the course file has no course to export, so no PDF was written." | The file has no course, or every course was left out. See the notes above. |
Notes about one course sheet:
| Note (shortened) | Meaning and fix |
|---|---|
| "on the sheet of course …, control … lies outside the map frame or across its edge." | The frame does not show the whole course. Take larger paper or a print scale with a larger number, or set map_frame.centre_map_mm to move the frame. |
| "Info: the map is … for the map frame. A course sheet shows the part around the course …" | For information only. A course sheet cuts the map on purpose. |
| "Info: course … comes from IOF XML, which has no control descriptions, so its sheet has no description box." | For information only. Use the .ppen for descriptions. |
| "Info: the layout of course … has no control_descriptions element …" | For information only. Add the element to the layout if you want the box. |
| "the description box of course … would reach past the page edge, so the sheet leaves it out …" | Move the box with its anchor or make it smaller with cell_mm. |
| "no control of course … has descriptions in the course file, so its sheet has no description box. Enter them in Purple Pen." | Enter the descriptions in Purple Pen. |
| "the element … covers control …. Move the element with its anchor so that runners can see the course." | A title block, logo, text, footer line or the box sits on a control, the start or the finish. Move it. |
| "the descriptions of course … use symbol …, which the course file's description standard does not have. Its cell … stays empty." | The symbol id does not exist in the standard of the file (2004, 2018 or 2024). Pick another symbol in Purple Pen. |
| "the course overprint of course … asks for more hatch lines, dashes or crosses than one sheet draws, so some are left out." | A special object is very large or the file is damaged. Make the area smaller, or split it. |
| "course … has … masks, and a sheet applies at most 1000. The others are left out …" | Usually the course file has very many white-out areas. Merge them into a few larger ones in Purple Pen, or give the course a mask of its own in its assignment. |
| "on the sheet of course …, controls … lie where the mask hides the map …" | The centre of these controls (the start, the finish or a map exchange too) lies in a masked area inside the map frame. Runners would see no map around the circle. On a window course a window is usually missing; add it to the mask. Also check that the assignment names the right mask. |
| "on the sheet of course …, a marked route lies wholly or in part where the mask hides the map …" | The note counts by kind what of the overprint lies in a masked area: marked routes (taped legs between controls too), crossing points, forbidden routes, out-of-bounds boundaries, out-of-bounds areas, dangerous areas and texts from the course file. Everything is printed, but with no map under it. Widen the window or add one. If it is meant, say an out-of-bounds area at the edge, you can leave the note. Plain legs and control numbers do not count, because on a window course they cross masked areas anyway. |
| "the mask … hides the whole map frame of course …, so the sheet shows no map at all." | No window of the mask lies in the map frame. Most often the points are written with y the wrong way. Masks take map mm with y pointing up, as OOM's status bar shows them, not as the .omap file stores them. |
| "on the sheet of course …, the element … covers part of the windows of the mask …" | A sheet element, most often the description box, or the footer lies over a window inside the map frame. On a window course the windows are the only map the runner has, so the element takes part of it away. Move the element by its anchor, or place the window elsewhere, with another radius or around another control. |
| "Info: the mask … hides nothing in the map frame of course …" | For information only. The mask lies wholly beside the frame, or the frame lies wholly in one window. If that is not what you meant, check the points as for the note above. |
| "Info: in the map frame of course …, the … white-out areas … of the course file hide nothing." | The same for white-out areas from Purple Pen, in one line per course with their count and ids (the first ten, the rest counted). A white-out area for all courses often lies beside the frame of most of them. |
| "on the sheet of course … the check against the mask reached its limit …" | check tests at most 200 000 points and 50 million steps per sheet. A course with very long marked routes or thousands of white-out areas gets past that, and what comes after is not checked. Look at the sheet. |
| "Info: the text … uses …, but the course file has no value for course …, so it prints empty." | The file has no length or climb for the course. Enter them in the course-setting program, or leave the placeholder out of the text. |
| "Info: the text … uses …, which is only filled on course sheets. On this sheet it stays empty." | A shared text with {course} or the like prints on a sheet without course. Hide the text on that layout with hide_shared. |
| "on the sheet of course … the number of control … covers …. It is printed there all the same. …" | The number lies on the overprint, a sheet element, the edge of the frame or a point or line symbol of the map. The note proposes a free direction and gap. Take it with numbers accept (see chapter 8). |
| "… The sheet reached its search limit, so there is no proposal. …" | The number has a conflict, but the search for places had stopped. Set a position with numbers accept --direction … --gap …. |
| "on the sheet of course … the search for number positions reached its limit. …" | The course has hundreds of controls close together. The numbers the search did not get to stay where their level puts them. Look at the sheet and correct numbers by hand. |
| "… the number of control … is … mm from its circle. The rule profile allows … to … mm." | The gap from the file or a correction lies outside the range of the rule profile. The number is printed that way. Change it under [[numbers]]. |
Errors with the course file
An error stops check and export. The line starts with "could not use the course file" or "could not read the course file", followed by the reason. The reasons from reading the file are in English:
- "invalid course file: …": the XML is damaged, or lacks something the format requires, such as a control id. Open it in the course-setting program and save it again.
- "course file too large or too complex: …": the file passes one of the limits that protect the program from hostile files. Split the event into several files.
- "… uses unit …; only mm is supported": the IOF XML gives positions in another unit. Export it with millimetres.
- "unknown file type; use
.ppen(Purple Pen) or.xml(IOF XML 3.0)": the extension of[sources] coursesis neither.
The reasons from the fit are the errors of the section on coordinates in chapter 8:
- "the course file is drawn for 1:…, the map is 1:…; export the courses for the map's scale"
- "the course file is drawn for 1:…, and the map states no scale; set the map's scale in the map file"
- "only … of … controls lie on the map; the course file belongs to another map, uses another origin or another y axis"
- "control … lies … m from where its lat/lng put it (20 m allowed); the course file does not match the map's georeferencing"
- "controls … have only lat/lng and cannot be placed: …"
Errors of export and numbers accept about names:
- "the course file has no course …; its courses are …": the name in
--courseis not in the file. - "--course and --single-file need a course file, and the project names none under [sources] courses": add the
courseskey. - "the course … has no control …; its controls are …": the code for
numbers acceptis not in the course. - "there is no proposal for control … on the sheet of course …: its number has no conflict. Give --direction and --gap …": nothing to correct. Give both values if you want to move the number anyway.
- "the project file has a correction for control … for … already. Edit the file to change it …": edit the entry.
- "the proposal for control … comes from the sheet of course … and is not free for every course on layout …":
--layout-widewould move a conflict to the courses it names. Use--sheet, or give--directionand--gap. - "--direction needs a finite number, and --gap must be above 0 and at most … mm".
- "the project … does not load with the new correction, so it was left as it was": the program restored the file. Report this, as it should not happen.