Skip to content

How the drawings are checked ​

A symbol library is only as good as its drawings, and a drawing can be wrong in ways no unit test sees: a path whose numbers ran together, an icon a few per cent off centre, a letter in the wrong font. Every drawing here is checked against the standard's own plates.

Against the plates ​

Each standard's plates are cropped from the document, and every icon is drawn beside its plate:

  • Scored. The plate's octagon guide gives scale and position; our icon is drawn to the same octagon and the dark pixels compared both ways. 2525E's 972 scored icons have a median of 1.00; 2525D's 990, 0.99; 2525C's 1,114 letter codes, 0.97.
  • Placed. The shift at which drawing and plate overlap best is measured rather than scored within a tolerance. Drawings the plates put elsewhere, or at another size, are corrected, each with its measurement.
  • Anchored. Every point control measure's anchor is checked against the anchor arrow of its Appendix L template, and every point's field letters are placed where its template has them.
  • Read by eye. The lowest scores are a ranking, not a verdict: each is looked at beside its plate. A plate cut by its cell, a label in the example, a hairline frame are noted, not "fixed".

Against each other ​

  • No two codes draw alike without a reason. Every code of every standard is drawn; codes whose drawings are identical fail the check unless the standard itself draws them alike.
  • The canvas is the SVG. drawSymbol is compared with the browser's own rendering of the SVG, pixel by pixel, over every code.
  • The map is the SVG. The glyph the map renderers draw is compared with the SVG, so a fill rule or a hole the map would lose is caught.

What the standard leaves open ​

Where the standard is silent the choice is the library's, and it is written down where it is made: the frame for a signals intelligence symbol of no stated dimension, where the exercise letter sits, the operational condition bar's depth. One weight for every frame line, in every standard, is one such choice: the standards set no number, and the drawings' own weights differed.

Released under the MIT License; the drawings derive from Apache-2.0 work.