The fix here is to do the following (thanks to Lefteris Dimitroulakis on the kbd list):
cd /lib/kbd/consolefonts
gunzip lat1-16.psfu.gz
psfgettable lat1-16.psfu
sed -i -e 's/U+002d/& U+2010 U+2012 U+2013 U+2212/' table.txt
psfaddtable lat1-16.psfu table.txt lat1-16.psfu.new
mv lat1-16.psfu.new lat1-16.psfu
gzip lat1-16.psfu
I'm not recommending this for the book, although if others feel it would be beneficial, I certainly won't mind putting it in. I worry that we might have to audit all of the existing psfu fonts to ensure that they correctly map to the hyphen character though. The resultant psfu.gz file has been submitted upstream and should be downloadable from http://lists.altlinux.org/pipermail/kbd/2009-February/000164.html
We may also want to figure out what the funny character is that GCC prints out in some of its warnings, and map that to a backtick or single quote.