Posts
And still the tools don't work, but which tool?
It seems that, whenever I get close to doing something interesting in fonty land, a tool fails.
I’m pleased to see that the Open Font Library is now accepting uploads again but I can’t see my first font, Segment14.
I’m using Firefox 3.6.17 on Fedora 14, and it stubbornly refuses to show up as a web font. As far as I can see, every other one of the 36 fonts on the site displays correctly, but Segment14 shows up as the fallback serif.
Posts
Serafettin, part two
Wow, that was a meaty piece of work. Serafettin Cartoon fonts now builds with the latest release of FontForge, as well as CVS head, and taught me quite a bit about FontForge in the process.
Serafettin had a bunch of glyphs with self-intersection problems, and these were causing FontForge to crash on the Expand Stroke operation. Because Serafettin uses scripts to build the different weights, it was hard to see where the problem was until I made FontForge a lot more verbose about which glyphs it was processing.
Posts
Serafettin, part one
I’ve recently been triaging FontForge bugs on Fedora, and hit a problem with bug 600108, in which the latest version of FontForge crashes while building Serafettin.
I patched FontForge locally, so I could identify the glyphs that caused it to crash, but I’ve now come to the conclusion that Serafettin itself is the problem, and FontForge’s validation says as much, in these lines:
Two glyphs have the same name. Two glyphs have the same unicode.
Posts
Off-curve misrendering
Adam Hyde came up with a question about a misrendering of a font on the FontForge Users’ mailing list. A colleague had designed a font in FontForge which looked fine except when used in Adobe Illustrator (of unspecified version). He provided two examples of characters whose shapes had developed distinct “ears”.
Peter Baker suggested that the common feature in this case was that the first point of the contours was not on the curve.
Posts
The undervalued bool
A colleague of mine wanted to reduce the repetition in this fragment of C++:
funcA(false); funcB(false); funcC(false); funcD(false); funcA(true); funcB(true); funcC(true); funcD(true); and, in a burst of sheer genius, came up with this solution:
for (bool status = false; status <= true; ++status) { funcA(status); funcB(status); funcC(status); funcD(status); } He then scratched his head as the program looped for eternity.
Who could have predicted that a common-or-garden bool could have so many values?
Posts
An old video terminal, in vector form
I still have VT100 terminal, but it’s in storage. I figured I could pretend that it was on my desk if I made a font that looked like the old beast, including the gaps between scan lines.
Once I’d started, I needed the reverse video form of it, and the forms correctly underlined, and double width, and double height and double width. Blinking is more problematic 😉
Posts
Resurrecting fonts
A while ago, I recovered my old font files from some crufty old SuperDisks, but did nothing more with them than copy them to my network storage, in the hope that that is a safer home.
Last weekend I was reading about the Fedora Fonts SIG, and decided to bring the old font files back to life. The Fonts SIG is concerned with packaging fonts for Fedora, but their pages have some interesting pointers on how they might be created as well, so I grabbed an old font and explored the tools that are available.
Posts
I am a Time Lord
I’ve been working on a project to fake some network protocols to test one of our systems at work. One of them is Network Time Protocol. I daren’t just set my PC to random years and then serve this time to the target system, so I wrote a little NTP server in Perl, which allows me to lie about time to other people.
Posts
First steps with OpenStreetMap
I’ve just signed up for an OpenStreetMap account and thought I’d try out the offline map rendering, as I’ve just started a project to document the changing face of Alderney.
The wiki gives some good instructions for downloading the rendering XSLT scripts, but my first attempt to use them resulted in some very strange coastline clipping in the final SVG.
With a bit of hunting, I came across a Perl script in their collection that cleans the coastline data up nicely.
Posts
From jewel cases to where?
It took me several months to rip my 1500 or so CDs to a network drive, from where I can stream them wirelessly to my Squeezebox Classic. I’m very happy with that solution.
Now, the problem becomes “what do I do with the CDs?” You can see from the picture that they take a lot of space. I’ve been searching for a way of storing the CDs and artwork without the jewel cases.