Monday, December 21, 2009


Using Windows Terminal Blocky Font With All Codepage 437 Characters in X11 On Linux and OS X

I must have the Windows terminal default font for SlickEdit and for my console in Linux and on OS X. All codepage 437 characters must be rendered properly. I will not abide a single pixel of deviation from windows terminal rendering.

Andale mono, you say? Andale mono is lithe, anorexic, spindly and illegible. The default cmd.exe font is copyrighted 1984 by Bitstream Inc. It is old, fat, and perfect.

However, neither all the font ebuilds available in Gentoo nor the default fonts included with X-Quartz supply this sturdy, stalwart font. It must be converted from vgaoem.fon to .pcf.gz. To do so, I completed the following steps:

  1. Download and build the latest full Wine sources, omitting nothing
  2. wine-1.1.12/tools/fnt2bdf -c iso10646-1 -f vgaoem -t vgaoem.fon
  3. bdftopcf vgaoem_r400-12.bdf -o vgaoem.pcf
  4. gzip vgaoem.pcf
  5. mkdir fonts
  6. mv vgaoem.pcf.gz fonts/
  7. cd fonts
  8. mkfontdir
  9. xset +fp ~/fonts
  10. xset fp rehash
After successfully completing these steps, executing
 xterm -fn -windows-terminal-medium-r-normal--12-120-96-96-c-80-iso10646-1
, running midnight commander, and using the ctrl-right click xterm menu to enable line-drawing characters produced the following beauty:Here, we see bold characters and line drawing codepage 437 characters rendered correctly with the converted Windows terminal font on Linux. Copying the gz file to OS X and placing it in a new fonts directory within my home provided the same functionality.

In order to verify pixel-perfect fidelity, I screenshotted Visual Slickedit on OS X and Windows and overlayed them in Photoshop. I set the overlay layer to 65% opacity and difference blending mode. Here is part of the image with the layers intentionally offset to demonstrate the effect:And aligned, complete fidelity is verified:Success on all fronts!

Labels: , , ,


Post a Comment

Subscribe to Post Comments [Atom]

<< Home


July 2009   August 2009   September 2009   October 2009   November 2009   December 2009   January 2010   September 2010   December 2010   January 2011   February 2011   April 2011   June 2011   August 2011   February 2012   June 2012   July 2012   August 2012   October 2012   November 2012   January 2014   April 2014   June 2014   August 2014   September 2014   October 2014   January 2015   March 2015   April 2015   June 2015   November 2015   December 2015   January 2016   June 2016   August 2016   January 2017   March 2017   April 2018  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]