Spacing tables are used only for Manhattan (horizontal or vertical) edges. Non-Manhattan edges will use the Diagional spacing if given, or the default spacing. There is presently no provision for size-dependent spacing of non-Manhattan edges.
The minspace dimension will be found in the row where the measured width and length are greater than or equal to the row width and length, with the largest spacing value. The evaluation is actually iterative, and follows this logic:
Compute the width parameter knowing the object being tested.
Loop over each object edge {
Take the initial length to be the total edge length.}
Evaluate the spacing table, find the initial minspace.
Loop {
Construct a test region along and outside of the edge being tested, with width given by the minspace.}
Test this region for the presence of target material.
if (none found)Break, edge test is clean.Measure the length of each intersection region and sum. This provides a new length.
Evaluate the spacing table with the new length.
if (the new and old minspace are equal)Break, test indicates violation.The new minspace will be smaller, check again.