working on a new scorecard

I’ve made several custom baseball scorecards, since the ones that come in programs are quite inadequate. Unfortunately, I made them in Coreldraw and Visio, so I couldn’t use them on my linux computer even if I hadn’t misplaced the original files. I decided to use SVG (Scalable vector Graphics) to create version 3. This is a standard XML file format which allows you to “draw” shapes by describing them in text. Instead of using the mouse to lay out shapes, I can just type in the dimensions I want. It looks like this:

<rect x=".16" y=".16"
        width="0.18" height="0.18"
        transform="rotate(45 .25 .25)"
        fill="white"
        stroke="#cccccc"
        stroke-width="0.01"
        stroke-dasharray="0.02,0.02"/>

That code creates a diamond bordered with a gray dashed line.

I have run into two main problems with this project. The first is that the SVG specs on relative and absolute coordinates for reused components are clear as mud and devoid of helpful examples. This means in effect that I'm doing a lot of stuff the Wrong Way, using offsets and other tricks which just make it harder to move stuff around and correct mistakes. I got to a certain point where I probably should have backed up, created a simple trial document, and mastered viewport coordinate system, effect of the viewBox attribute on sibling attributes, Nested transformations, and the tangled relationship between patternUnits = "userSpaceOnUse | objectBoundingBox", patternContentUnits = "userSpaceOnUse | objectBoundingBox", and viewBox. Instead, I just bulled on ahead to finish the darn thing.

The second problem is that, although SVG has been around for a few years, support for it is mixed. I tried four different programs and got four different outputs, wrong on four different ways. GIMP's SVG module botches the text utterly, putting it in the wrong place and orders of magnitude too big. GIMP also gets most of the lines wrong, though that may only be an artifact of going to a print-ready resolution and then shrinking back down for display. KSVG in Konqueror looks much better, but the text is still destroyed: it seems to round all text block locations to the nearest inch or so, so that the headings for innings 1 and 2 are superposed, as are 3-4, etc. Sodipodi does the text fine and the lines look good, but the diamonds which are the most crucial element of the whole thing are not rotated. Finally, squiggle, a java program which is part of Batik, whatever that is, seems to get everything right except that the text seems to alternate being a pixel too high and a pixel too low. Still, if I can cajole print-quality raster files from squiggle, that will probably be the solution. But a one-afternoon project is now, stretching out into its fourth session of work. Bah.

As a result, I had to use fresh xeroxes of my old scorecard for the Dodgers-Padres game last week. The Padres' stadium, (commercial naming sponsor) Park, is reasonably nice. If you come on the trolley, you have to walk around most of the back side, which looks like a blank mall exterior, to get to a gate, but once inside it's pretty. The commercial signage is a notch past excessive, but at least the players don't wear any advertising (aside from little logos that are practically invisible). The game happened to fall on Military night, and the Padres were wearing camouflage jerseys—grounds for protest if ever there were any. Aside from lots of froo-frah before the game, there was a very very cool parachuting demonstration, with an eight-man Navy parachuting team jumping into the stadium. The first one put his foot down directly on the target in the outfield. Others did tricks with smoke, joined up in pairs, and/or did this thing where they plummet towards the ground at 60 mph until well below the tops of the nosebleed seats before pulling up and abruptly not dying. Useful when being shot at, no doubt, but I'd hate to practice that much. Most importantly, the Dodgers won, although it was the last victory of an improbable 8-game winning streak.