• Or you could just use this. It should be trivial to turn into a library:

    Graphics.prototype.font8x8 = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x41\x55\x41\x55\x49\x3E\x00\x3E\x7F\x6B\x7F\x6B\x77\x3E\x00\x22\x77\x7F\x7F\x3E\x1C\x08\x00\x08\x1C\x3E\x7F\x3E\x1C\x08\x00\x08\x1C\x2A\x7F\x2A\x08\x1C\x00\x08\x1C\x3E\x7F\x3E\x08\x1C\x00\x00\x1C\x3E\x3E\x3E\x1C\x00\xFF\xFF\xE3\xC1\xC1\xC1\xE3\xFF\x00\x00\x1C\x22\x22\x22\x1C\x00\xFF\xFF\xE3\xDD\xDD\xDD\xE3\xFF\x00\x0F\x03\x05\x39\x48\x48\x30\x00\x08\x3E\x08\x1C\x22\x22\x1C\x00\x18\x14\x10\x10\x30\x70\x60\x00\x0F\x19\x11\x13\x37\x76\x60\x00\x08\x2A\x1C\x77\x1C\x2A\x08\x00\x60\x78\x7E\x7F\x7E\x78\x60\x00\x03\x0F\x3F\x7F\x3F\x0F\x03\x00\x08\x1C\x2A\x08\x2A\x1C\x08\x00\x66\x66\x66\x66\x00\x66\x66\x00\x3F\x65\x65\x3D\x05\x05\x05\x00\x0C\x32\x48\x24\x12\x4C\x30\x00\x00\x00\x00\x00\x7F\x7F\x7F\x00\x08\x1C\x2A\x08\x2A\x1C\x3E\x00\x08\x1C\x3E\x7F\x1C\x1C\x1C\x00\x1C\x1C\x1C\x7F\x3E\x1C\x08\x00\x08\x0C\x7E\x7F\x7E\x0C\x08\x00\x08\x18\x3F\x7F\x3F\x18\x08\x00\x00\x00\x70\x70\x70\x7F\x7F\x00\x00\x14\x22\x7F\x22\x14\x00\x00\x08\x1C\x1C\x3E\x3E\x7F\x7F\x00\x7F\x7F\x3E\x3E\x1C\x1C\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x3C\x3C\x18\x18\x00\x18\x00\x36\x36\x14\x00\x00\x00\x00\x00\x36\x36\x7F\x36\x7F\x36\x36\x00\x08\x1E\x20\x1C\x02\x3C\x08\x00\x60\x66\x0C\x18\x30\x66\x06\x00\x3C\x66\x3C\x28\x65\x66\x3F\x00\x18\x18\x18\x30\x00\x00\x00\x00\x06\x0C\x18\x18\x18\x0C\x06\x00\x60\x30\x18\x18\x18\x30\x60\x00\x00\x36\x1C\x7F\x1C\x36\x00\x00\x00\x08\x08\x3E\x08\x08\x00\x00\x00\x00\x00\x30\x30\x30\x60\x00\x00\x00\x00\x3C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x60\x00\x00\x06\x0C\x18\x30\x60\x00\x00\x3C\x66\x6E\x76\x66\x66\x3C\x00\x18\x18\x38\x18\x18\x18\x7E\x00\x3C\x66\x06\x0C\x30\x60\x7E\x00\x3C\x66\x06\x1C\x06\x66\x3C\x00\x0C\x1C\x2C\x4C\x7E\x0C\x0C\x00\x7E\x60\x7C\x06\x06\x66\x3C\x00\x3C\x66\x60\x7C\x66\x66\x3C\x00\x7E\x66\x0C\x0C\x18\x18\x18\x00\x3C\x66\x66\x3C\x66\x66\x3C\x00\x3C\x66\x66\x3E\x06\x66\x3C\x00\x00\x18\x18\x00\x18\x18\x00\x00\x00\x18\x18\x00\x18\x18\x30\x00\x06\x0C\x18\x30\x18\x0C\x06\x00\x00\x00\x3C\x00\x3C\x00\x00\x00\x60\x30\x18\x0C\x18\x30\x60\x00\x3C\x66\x06\x1C\x18\x00\x18\x00\x38\x44\x5C\x58\x42\x3C\x00\x00\x3C\x66\x66\x7E\x66\x66\x66\x00\x7C\x66\x66\x7C\x66\x66\x7C\x00\x3C\x66\x60\x60\x60\x66\x3C\x00\x7C\x66\x66\x66\x66\x66\x7C\x00\x7E\x60\x60\x7C\x60\x60\x7E\x00\x7E\x60\x60\x7C\x60\x60\x60\x00\x3C\x66\x60\x60\x6E\x66\x3C\x00\x66\x66\x66\x7E\x66\x66\x66\x00\x3C\x18\x18\x18\x18\x18\x3C\x00\x1E\x0C\x0C\x0C\x6C\x6C\x38\x00\x66\x6C\x78\x70\x78\x6C\x66\x00\x60\x60\x60\x60\x60\x60\x7E\x00\x63\x77\x7F\x6B\x63\x63\x63\x00\x63\x73\x7B\x6F\x67\x63\x63\x00\x3C\x66\x66\x66\x66\x66\x3C\x00\x7C\x66\x66\x66\x7C\x60\x60\x00\x3C\x66\x66\x66\x6E\x3C\x06\x00\x7C\x66\x66\x7C\x78\x6C\x66\x00\x3C\x66\x60\x3C\x06\x66\x3C\x00\x7E\x5A\x18\x18\x18\x18\x18\x00\x66\x66\x66\x66\x66\x66\x3E\x00\x66\x66\x66\x66\x66\x3C\x18\x00\x63\x63\x63\x6B\x7F\x77\x63\x00\x63\x63\x36\x1C\x36\x63\x63\x00\x66\x66\x66\x3C\x18\x18\x18\x00\x7E\x06\x0C\x18\x30\x60\x7E\x00\x1E\x18\x18\x18\x18\x18\x1E\x00\x00\x60\x30\x18\x0C\x06\x00\x00\x78\x18\x18\x18\x18\x18\x78\x00\x08\x14\x22\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7F\x00\x0C\x0C\x06\x00\x00\x00\x00\x00\x00\x00\x3C\x06\x3E\x66\x3E\x00\x60\x60\x60\x7C\x66\x66\x7C\x00\x00\x00\x3C\x66\x60\x66\x3C\x00\x06\x06\x06\x3E\x66\x66\x3E\x00\x00\x00\x3C\x66\x7E\x60\x3C\x00\x1C\x36\x30\x30\x7C\x30\x30\x00\x00\x3E\x66\x66\x3E\x06\x3C\x00\x60\x60\x60\x7C\x66\x66\x66\x00\x00\x18\x00\x18\x18\x18\x3C\x00\x0C\x00\x0C\x0C\x6C\x6C\x38\x00\x60\x60\x66\x6C\x78\x6C\x66\x00\x18\x18\x18\x18\x18\x18\x18\x00\x00\x00\x63\x77\x7F\x6B\x6B\x00\x00\x00\x7C\x7E\x66\x66\x66\x00\x00\x00\x3C\x66\x66\x66\x3C\x00\x00\x7C\x66\x66\x7C\x60\x60\x00\x00\x3C\x6C\x6C\x3C\x0D\x0F\x00\x00\x00\x7C\x66\x66\x60\x60\x00\x00\x00\x3E\x40\x3C\x02\x7C\x00\x00\x18\x18\x7E\x18\x18\x18\x00\x00\x00\x66\x66\x66\x66\x3E\x00\x00\x00\x00\x66\x66\x3C\x18\x00\x00\x00\x63\x6B\x6B\x6B\x3E\x00\x00\x00\x66\x3C\x18\x3C\x66\x00\x00\x00\x66\x66\x3E\x06\x3C\x00\x00\x00\x3C\x0C\x18\x30\x3C\x00\x0E\x18\x18\x30\x18\x18\x0E\x00\x18\x18\x18\x00\x18\x18\x18\x00\x70\x18\x18\x0C\x18\x18\x70\x00\x00\x00\x3A\x6C\x00\x00\x00\x00\x08\x1C\x36\x63\x41\x41\x7F";
    Graphics.prototype.drawString8 = function (s,px,py) {
      for (var i in s) {
        var ch = s.charCodeAt(i);
        for (var y=0;y<8;y++) {
          var l = this.font8x8.charCodeAt(ch*8+y);
          for (var x=0;x<8;x++)
            if (l&(128>>x)) this.setPixel(px+x,py+y,1);
        }
        px+=8;
      }
    };
    
    SPI1.setup({ baud: 1000000, sck:B3, mosi:B5 });
    var g = require("PCD8544").connect(SPI1,B6,B7,B8, function() {
      g.clear();
      g.drawString8("Hello",0,0);
      g.drawLine(0,10,84,10);
      g.flip();
    });
    

    There are a whole bunch of fonts on: http://uzebox.org/wiki/index.php?title=Font_Bitmaps

    You'd have to write some code to convert the image to a string (or maybe use ImageMagick to export to raw 1 bit, and then http://www.espruino.com/File+Converter) and then you should be able to do libraries for all kinds of different fonts.

About

Avatar for Gordon @Gordon started