💌 Bitmapped programming font, based on Tamsyn
Go to file
2016-07-04 18:30:26 -07:00
bdf GH-10: Powerline infused BDFs need ISO10646 charset 2016-07-02 11:39:18 -07:00
dfont regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
fnt regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
fon regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
otb regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
pcf regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
pdb regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
png add "quick brown fox" pangram text to screenshots 2016-05-24 15:09:13 -07:00
psf regenerate for hand-tweaked Powerline, 7x13, PSF 2016-05-24 15:07:52 -07:00
pt3 GH-10: Powerline infused BDFs need ISO10646 charset 2016-07-02 11:39:18 -07:00
.gitignore forgot to clobber pcf/ folder and ignore .console 2016-05-24 15:03:27 -07:00
Gemfile use bundler and document how to build these fonts 2013-10-22 10:40:25 -07:00
Gemfile.lock bundle update 2016-05-22 12:28:32 -07:00
LICENSE LICENSE: list authors explicitly; add Tamzen terms 2015-03-26 16:23:32 -07:00
Rakefile add "Tamsyn" prefix to Git tag names for vN.N trees 2016-07-04 18:30:26 -07:00
README.md README: revise install instructions and formatting 2016-05-24 15:09:17 -07:00
README.png README: add screenshot to show font under real use 2015-03-26 16:23:29 -07:00

Tamzen font

Screenshot

This is my personal fork of the wonderful Tamsyn font by Scott Fial. It is programatically forked from Tamsyn version 1.11 by the Rakefile script (see the "Building" section below) which backports glyphs from older versions while deleting deliberately empty glyphs (which are marked as unimplemented) to allow secondary/fallback fonts to provide real glyphs at those codepoints.

The "TamzenForPowerline" fonts provide additional Powerline symbols, which are programatically injected with ZyX_I's bitmap-font-patcher. I later hand-tweaked those symbols to perfection in the gbdfed(1) editor:

  • For all icons, I expanded them to occupy the maximum available space.
  • For the fork icon ( U+E0A0), I made the branch larger than the trunk.
  • For the newline icon ( U+E0A1), I made the "N" at the bottom larger.
  • For the padlock icon ( U+E0A2), I replaced the keyhole with // lines.

Screenshots

TamzenForPowerline-20

TamzenForPowerline10x20r.bdf TamzenForPowerline10x20b.bdf

TamzenForPowerline-16

TamzenForPowerline8x16r.bdf TamzenForPowerline8x16b.bdf

TamzenForPowerline-15

TamzenForPowerline8x15r.bdf TamzenForPowerline8x15b.bdf

TamzenForPowerline-14

TamzenForPowerline7x14r.bdf TamzenForPowerline7x14b.bdf

TamzenForPowerline-13

TamzenForPowerline7x13r.bdf TamzenForPowerline7x13b.bdf

TamzenForPowerline-12

TamzenForPowerline6x12r.bdf TamzenForPowerline6x12b.bdf

TamzenForPowerline-9

TamzenForPowerline5x9r.bdf TamzenForPowerline5x9b.bdf

Tamzen-20

Tamzen10x20r.bdf Tamzen10x20b.bdf

Tamzen-16

Tamzen8x16r.bdf Tamzen8x16b.bdf

Tamzen-15

Tamzen8x15r.bdf Tamzen8x15b.bdf

Tamzen-14

Tamzen7x14r.bdf Tamzen7x14b.bdf

Tamzen-13

Tamzen7x13r.bdf Tamzen7x13b.bdf

Tamzen-12

Tamzen6x12r.bdf Tamzen6x12b.bdf

Tamzen-9

Tamzen5x9r.bdf Tamzen5x9b.bdf

Installation

In Arch Linux:

On any Linux:

Other platforms:

  • Try using the font files in these subfolders:
    • dfont/ - Apple bitmap only sfnt (dfont)
    • otb/ - X11 bitmap only sfnt (otb)
    • fon/ - Win FON
    • fnt/ - Win FNT
    • pdb/ - Palm OS Bitmap
    • pt3/ - PS Type3 Bitmap

Linux VT integration

  1. Switch to a Linux VT (virtual terminal) by pressing Control-Alt-F1.

  2. Run showconsolefont to see how the character map currently looks.

  3. Run setfont ~/.fonts/tamzen-font/psf/TamzenForPowerline10x20.psf.

  4. See how the character map now displays glyphs from the Tamzen font.

  5. Try running setfont with other Tamzen fonts in the psf/ folder.

See https://wiki.archlinux.org/index.php/Fonts#Console_fonts for details.

XTerm integration

The following Xresources let you dynamically switch between the various Tamzen fonts by holding down Control and right-clicking in the XTerm terminal.

XTerm*font  : -*-tamzen-medium-*-*-*-16-*-*-*-*-*-*-*
XTerm*font1 : -*-tamzen-medium-*-*-*-9-*-*-*-*-*-*-*
XTerm*font2 : -*-tamzen-medium-*-*-*-12-*-*-*-*-*-*-*
XTerm*font3 : -*-tamzen-medium-*-*-*-13-*-*-*-*-*-*-*
XTerm*font4 : -*-tamzen-medium-*-*-*-15-*-*-*-*-*-*-*
XTerm*font5 : -*-tamzen-medium-*-*-*-16-*-*-*-*-*-*-*
XTerm*font6 : -*-tamzen-medium-*-*-*-20-*-*-*-*-*-*-*

! Tamzen fonts for use with Powerline
XTerm*font  : -*-tamzenforpowerline-medium-*-*-*-16-*-*-*-*-*-*-*
XTerm*font1 : -*-tamzenforpowerline-medium-*-*-*-9-*-*-*-*-*-*-*
XTerm*font2 : -*-tamzenforpowerline-medium-*-*-*-12-*-*-*-*-*-*-*
XTerm*font3 : -*-tamzenforpowerline-medium-*-*-*-13-*-*-*-*-*-*-*
XTerm*font4 : -*-tamzenforpowerline-medium-*-*-*-15-*-*-*-*-*-*-*
XTerm*font5 : -*-tamzenforpowerline-medium-*-*-*-16-*-*-*-*-*-*-*
XTerm*font6 : -*-tamzenforpowerline-medium-*-*-*-20-*-*-*-*-*-*-*

Feed the above snippet into the xrdb(1) program and then start a new XTerm to see its effect. Afterwards, you can add this snippet to your ~/.Xdefaults or ~/.Xresources files to have these settings be automatically applied by XTerm.

URxvt integration

The following aliases let you dynamically switch between the various Tamzen fonts when run inside a shell that is attached to the URxvt terminal.

alias font="printf '\e]710;%s\007'"

alias Tamzen-9=Tamzen5x9r
alias Tamzen5x9r='font -misc-tamzen-medium-r-normal--9-65-100-100-c-50-iso8859-1'
alias Tamzen5x9b='font -misc-tamzen-bold-r-normal--9-65-100-100-c-50-iso8859-1'

alias Tamzen-12=Tamzen6x12r
alias Tamzen6x12r='font -misc-tamzen-medium-r-normal--12-87-100-100-c-60-iso8859-1'
alias Tamzen6x12b='font -misc-tamzen-bold-r-normal--12-87-100-100-c-60-iso8859-1'

alias Tamzen-13=Tamzen7x13r
alias Tamzen7x13r='font -misc-tamzen-medium-r-normal--13-101-100-100-c-70-iso8859-1'
alias Tamzen7x13b='font -misc-tamzen-bold-r-normal--13-101-100-100-c-70-iso8859-1'

alias Tamzen-14=Tamzen7x14r
alias Tamzen7x14r='font -misc-tamzen-medium-r-normal--14-101-100-100-c-70-iso8859-1'
alias Tamzen7x14b='font -misc-tamzen-bold-r-normal--14-101-100-100-c-70-iso8859-1'

alias Tamzen-15=Tamzen8x15r
alias Tamzen8x15r='font -misc-tamzen-medium-r-normal--15-108-100-100-c-80-iso8859-1'
alias Tamzen8x15b='font -misc-tamzen-bold-r-normal--15-108-100-100-c-80-iso8859-1'

alias Tamzen-16=Tamzen8x16r
alias Tamzen8x16r='font -misc-tamzen-medium-r-normal--16-108-100-100-c-80-iso8859-1'
alias Tamzen8x16b='font -misc-tamzen-bold-r-normal--16-108-100-100-c-80-iso8859-1'

alias Tamzen-20=Tamzen10x20r
alias Tamzen10x20r='font -misc-tamzen-medium-r-normal--20-145-100-100-c-100-iso8859-1'
alias Tamzen10x20b='font -misc-tamzen-bold-r-normal--20-145-100-100-c-100-iso8859-1'

# Tamzen fonts for use with Powerline
alias TamzenForPowerline-9=TamzenForPowerline5x9r
alias TamzenForPowerline5x9r='font -misc-tamzenforpowerline-medium-r-normal--9-65-100-100-c-50-iso10646-1'
alias TamzenForPowerline5x9b='font -misc-tamzenforpowerline-bold-r-normal--9-65-100-100-c-50-iso10646-1'

alias TamzenForPowerline-12=TamzenForPowerline6x12r
alias TamzenForPowerline6x12r='font -misc-tamzenforpowerline-medium-r-normal--12-87-100-100-c-60-iso10646-1'
alias TamzenForPowerline6x12b='font -misc-tamzenforpowerline-bold-r-normal--12-87-100-100-c-60-iso10646-1'

alias TamzenForPowerline-13=TamzenForPowerline7x13r
alias TamzenForPowerline7x13r='font -misc-tamzenforpowerline-medium-r-normal--13-101-100-100-c-70-iso10646-1'
alias TamzenForPowerline7x13b='font -misc-tamzenforpowerline-bold-r-normal--13-101-100-100-c-70-iso10646-1'

alias TamzenForPowerline-14=TamzenForPowerline7x14r
alias TamzenForPowerline7x14r='font -misc-tamzenforpowerline-medium-r-normal--14-101-100-100-c-70-iso10646-1'
alias TamzenForPowerline7x14b='font -misc-tamzenforpowerline-bold-r-normal--14-101-100-100-c-70-iso10646-1'

alias TamzenForPowerline-15=TamzenForPowerline8x15r
alias TamzenForPowerline8x15r='font -misc-tamzenforpowerline-medium-r-normal--15-108-100-100-c-80-iso10646-1'
alias TamzenForPowerline8x15b='font -misc-tamzenforpowerline-bold-r-normal--15-108-100-100-c-80-iso10646-1'

alias TamzenForPowerline-16=TamzenForPowerline8x16r
alias TamzenForPowerline8x16r='font -misc-tamzenforpowerline-medium-r-normal--16-108-100-100-c-80-iso10646-1'
alias TamzenForPowerline8x16b='font -misc-tamzenforpowerline-bold-r-normal--16-108-100-100-c-80-iso10646-1'

alias TamzenForPowerline-20=TamzenForPowerline10x20r
alias TamzenForPowerline10x20r='font -misc-tamzenforpowerline-medium-r-normal--20-145-100-100-c-100-iso10646-1'
alias TamzenForPowerline10x20b='font -misc-tamzenforpowerline-bold-r-normal--20-145-100-100-c-100-iso10646-1'

Building

You can build the Tamzen fonts for yourself by running these commands:

bundle exec rake                 # build things only when necessary
bundle exec rake clobber         # destroy everything that we built
bundle exec rake clobber default # rebuild everything from scratch

Requirements

sudo apt-get install ruby git imagemagick mercurial bdftopcf bdf2psf
gem install bundler
bundle install

Requirements for bitmap-font-patcher:

sudo apt-get install python python-fontforge python-pip python-dev libfreetype6-dev
pip install --user bdflib
pip install --user Pillow

Requirements for non-Linux font formats:

sudo apt-get install fontforge

License

Distributed under the same terms as the Tamsyn font. See LICENSE file.