C64 Character Set to TrueType Converter
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


C64 Character Set to TrueType Converter

C64TTF.py is a script for converting partial C64 memory dumps, in the form of
64c-files, into TrueType font files for use on modern operating systems.

1.0 (2013-11-27)  Uploaded initial version to GitHub
1.1 (2014-03-25)  Fixed the MacRoman CMAP table. Added Danish characters.
1.2 (2016-10-18)  Fixed glyph order. Removed Numpy dependency.

Python 2

usage: c64ttf.py [-h] [-l LOWERCASE] [-u UPPERCASE] [-o OUTPUT] [-x] [-m] [-i]
                 [-p PIXELSIZE] [-d DESCENT] [-a] [-n NAME] [-y COPYRIGHTYEAR]
                 [-c CREATOR] [-v VERSION]

c64ttf.py v1.0 - C64 Character Set to TrueType Converter (c) 2013-14 atbrask

optional arguments:
  -h, --help            show this help message and exit
  -l LOWERCASE, --lowercase LOWERCASE
                        Input 64C file with lowercase and uppercase
  -u UPPERCASE, --uppercase UPPERCASE
                        Input 64C file with uppercase and graphics characters.
  -o OUTPUT, --output OUTPUT
                        Output filename (default is font name + '.TTF' or
  -x, --xml             Enable XML output (for debugging purposes)
  -m, --add-missing-ascii
                        Add non-PETSCII characters for ASCII compatibility
                        (ie. grave accent, curly braces, vertical bar, tilde,
                        caret, backslash, and underscore)
  -i, --add-missing-danish
                        Add special Danish characters. Needed for proper
                        compatibility with the Danish version of MAC OSX.
  -p PIXELSIZE, --pixelsize PIXELSIZE
                        Pixel size in the resulting TTF file (default is 256)
  -d DESCENT, --descent DESCENT
                        The descent below baseline in pixels (default is 1)
  -a, --add-all         Inserts the uppercase character set (if any) at
                        0xEE00...0xEEFF and the lowercase character set (if
                        any) at 0xEF00...0xEFFF
  -n NAME, --name NAME  Font name
                        Sets copyright year
  -c CREATOR, --creator CREATOR
                        Font creator
  -v VERSION, --version VERSION
                        Sets font version number

Both -l and -u are listed as "optional arguments", but obviously at least one
of them has to be specified.

Usable files can be found in the "Character Sets"-section at this page (which
is not mine by the way):

Given the input files c64_lower.64c and c64_upper.64c:

./c64ttf.py -l c64_lower.64c -u c64_upper.64c -o c64.ttf -m -a \
-n "Commodore 64" -y 1982 -c Commodore -v "1.00"

This will create a font called "Commodore 64" with all lowercase, uppercase,
and graphics characters included. Additionally, the missing ASCII characters
are included as well.