<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>His Deeds Are Dust &#187; graphics</title>
	<atom:link href="http://hisdeedsaredust.com/tag/graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://hisdeedsaredust.com</link>
	<description>surveying sub-optimal solutions</description>
	<lastBuildDate>Wed, 02 May 2012 13:16:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>An old video terminal, in vector form</title>
		<link>http://hisdeedsaredust.com/2009/11/video-terminal-in-vector-form/</link>
		<comments>http://hisdeedsaredust.com/2009/11/video-terminal-in-vector-form/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:03:34 +0000</pubDate>
		<dc:creator>Paul Flo Williams</dc:creator>
				<category><![CDATA[Fonts]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[fontconfig]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[opentype]]></category>

		<guid isPermaLink="false">http://hisdeedsaredust.com/?p=108</guid>
		<description><![CDATA[I still have a VT100 terminal, but it&#8217;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&#8217;d started, I needed the reverse video form of it, and the forms correctly underlined, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hisdeedsaredust.com/wp-content/uploads/2009/11/mayterm-setupa.png"><img src="http://hisdeedsaredust.com/wp-content/uploads/2009/11/mayterm-thumb.png" alt="mayterm-thumb" title="mayterm-thumb" width="96" height="115" class="alignright size-full wp-image-111" /></a>I still have a <a href="http://vt100.net/vt_history#VT100">VT100 terminal</a>, but it&#8217;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.</p>
<p>Once I&#8217;d started, I needed the reverse video form of it, and the forms correctly underlined, and double width, and double height <i>and</i> double width. Blinking is more problematic <img src='http://hisdeedsaredust.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The challenge with the double height, double width font is that the VT100 had escape sequences that made particular character rows either display just the top half of characters, or the bottom half. To display characters double height, you had to put the same characters on two consecutive rows, and set the line attributes correctly. In fact, you could make up some funky alien characters by setting the line attributes and typing different characters on each row.</p>
<p>In order to reproduce this effect (<em>yes, I&#8217;m carrying on digging</em>), I had to make an upper half font, and a lower half font. And <em>that</em> gives me a problem with <a href="http://fontconfig.org">Fontconfig</a>, because that takes a look through fonts as it caches them, and marks glyphs as broken if they don&#8217;t make any marks, but they are encoded at positions which aren&#8217;t space characters in Unicode. My &#8220;upper half&#8221; font doesn&#8217;t have any marks for the underscore glyph, and my &#8220;lower half&#8221; font doesn&#8217;t have any marks for the double quotes, for example.</p>
<p>There isn&#8217;t a way of telling Fontconfig that my font isn&#8217;t broken just because it didn&#8217;t fancy making any marks for a particular glyph, so I&#8217;ll have to do some pre-processing when generating &#8220;<a href="http://hisdeedsaredust.com/wp-content/uploads/2009/11/mayterm-setupa.png">screen shots</a>&#8221; of my old terminal. I can locally configure Fontconfig to <strong>not</strong> do this, but that wouldn&#8217;t help anyone else.</p>
]]></content:encoded>
			<wfw:commentRss>http://hisdeedsaredust.com/2009/11/video-terminal-in-vector-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resurrecting fonts</title>
		<link>http://hisdeedsaredust.com/2009/11/resurrecting-fonts/</link>
		<comments>http://hisdeedsaredust.com/2009/11/resurrecting-fonts/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 20:05:37 +0000</pubDate>
		<dc:creator>Paul Flo Williams</dc:creator>
				<category><![CDATA[Fonts]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[ofl]]></category>
		<category><![CDATA[opentype]]></category>

		<guid isPermaLink="false">http://hisdeedsaredust.com/?p=104</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://hisdeedsaredust.com/wp-content/uploads/2009/10/segment14.png" alt="segment14" title="segment14" width="66" height="97" class="alignright size-full wp-image-92" />A while ago, I recovered my old font files from some <a href="/2009/04/the-not-so-super-superdisk/">crufty old SuperDisks</a>, but did nothing more with them than copy them to my network storage, in the hope that <em>that</em> is a safer home.</p>
<p>Last weekend I was reading about the <a href="http://fedoraproject.org/wiki/Category:Fonts_SIG">Fedora Fonts SIG</a>, 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.</p>
<p>The font I picked is one I created when I was working with an old Stag PROM programmer, back in 1996. The programmer had a <a href="http://en.wikipedia.org/wiki/Starburst_display">14-segment LED display</a>. The real thing doesn&#8217;t look much like the clean vertical pictures you&#8217;ll see in that Wikipeda article. The real characters are slightly oblique and there seems to be a kind of hexagonal mesh over the top that makes the segments look like the figure at the top of this posting.</p>
<p>I originally created the font by hand-coding the Type 1 format on a Sun workstation with Ghostscript installed, using my own tools to transform some readable path descriptions into the encrypted form.</p>
<p>This time, it seemed sensible to update the font to <a href="http://en.wikipedia.org/wiki/OpenType">OpenType</a> format, and I decided to use <a href="http://fontforge.sourceforge.net">FontForge</a> for the job.</p>
<p>Importing the old PFB file worked OK, and exporting is a doddle, except for FontForge complaining about overlapping segments in the font. There aren&#8217;t any, but there are some subroutines that move back to the glyph origin, causing some empty subpaths, which FontForge doesn&#8217;t ignore.</p>
<p>The only other problem was my attempt to upload the font to the <a href="http://openfontlibrary.org">Open Font Library</a>, because the upload facility is broken. Ho hum.</p>
<p>Here&#8217;s the result of my hacking, a font called Segment14, released under the SIL Open Font License (OFL): <a href='http://hisdeedsaredust.com/wp-content/uploads/2010/08/segment14-1.0.tar.gz'>segment14-1.0.tar.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hisdeedsaredust.com/2009/11/resurrecting-fonts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>pbmclean is dead in Fedora releases of Netpbm</title>
		<link>http://hisdeedsaredust.com/2009/03/pbmclean-is-dead-in-fedora-releases-of-netpbm/</link>
		<comments>http://hisdeedsaredust.com/2009/03/pbmclean-is-dead-in-fedora-releases-of-netpbm/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 12:38:52 +0000</pubDate>
		<dc:creator>Paul Flo Williams</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[scanning]]></category>

		<guid isPermaLink="false">http://hisdeedsaredust.com/?p=22</guid>
		<description><![CDATA[I&#8217;ve just been bitten by a bug in pbmclean, one of the tools in the Netpbm package of graphics tools, as provided by Fedora. For a long time, I&#8217;ve been building Netpbm from sources, but I&#8217;ve been trying to cut down the amount of rework I have to do when updating Fedora, so I&#8217;ve moved [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just been bitten by a bug in <code>pbmclean</code>, one of the tools in the <a href="http://netpbm.sourceforge.net/">Netpbm</a> package of graphics tools, as provided by Fedora. For a long time, I&#8217;ve been building Netpbm from sources, but I&#8217;ve been trying to cut down the amount of rework I have to do when updating Fedora, so I&#8217;ve moved back to RPMs, but my scanning and cleanup toolchain just broke when <code>pbmclean</code> refused to work at all. A quick test confirmed that it fails for the simplest possible image as well:</p>
<pre>$ pbmmake 1 1 | pbmclean > /dev/null
pbmclean: EOF / read error reading a one-byte sample</pre>
<p>A bug for this in <a href="https://bugzilla.redhat.com/show_bug.cgi?id=493015">Red Hat Bugzilla</a> but, if anyone else is experiencing this right now, a simple workaround is pull down the source RPM and rebuild the package without <code style="white-space:nowrap">netpbm-10.23-security.patch</code>.</p>
<p>This patch seems to incorporate a load of tests for overflowing arithmetic in image sizes but the &#8220;fixes&#8221; kill <code>pbmclean</code> and <code>pbmlife</code>, because their tests for row numbers have been incorrectly changed, from:</p>
<pre>if (row + 1 < rows)</pre>
<p>(in <code>pbmclean.c</code>), to</p>
<pre>if (row <= rows)</pre>
<p>which clearly isn't the same thing at all. The original tests, although odd-looking, are correct because both <code>pbmclean</code> and <code>pbmlife</code> incorporate row read-ahead, because they change pixels based on the properties of their neighbours.</p>
<p>This bug is present in <code style="white-space:nowrap">netpbm-progs-10.35.58-1.fc9.i386</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hisdeedsaredust.com/2009/03/pbmclean-is-dead-in-fedora-releases-of-netpbm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

