Canvas со шрифтами говняно работает, да ещё и по-разному от браузера к браузеру, смиритесь.
Попробуйте применить к canvas css:
image-rendering: optimizeSpeed;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: optimize-contrast;
-ms-interpolation-mode: nearest-neighbor;
Это совсем не то что нужно, но вдруг поможет.)
Ещё видел вариант: отрисовать текст крупным кеглем(2х, 3х итд), а затем искусственно уменьшить размер canvas...
http://johnvalentine.co.uk/subpixel-html5-canvas.htm