Automattic/node-canvas

Support context.letterSpacing

Ouverte

#1 014 ouverte le 30 sept. 2017

 (21 commentaires) (2 réactions) (0 personne assignée)JavaScript (1 195 forks)batch import
FeatureHelp wantedText & Fonts

Métriques du dépôt

Stars
 (10 689 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Issue or Feature

I would like to be able to adjust the kerning/letter-spacing of fonts when drawing text on node-canvas. In a browser this is possible by setting canvas.style.letterSpacing to something like "-3px". But canvas.style I believe does not exist on node-canvas.

(BTW we love node-canvas, it is an amazing piece of software.)

Steps to Reproduce

Interactive example of it working with browser-based Canvas:

https://jsfiddle.net/hg4pbsne/1/

Example code:

  canvas.style.letterSpacing = '-5px';
  ctx = canvas.getContext('2d');
  ctx.textAlign = 'center';
  ctx.textBaseline = 'middle';
  ctx.font = '4em sans-serif';
  ctx.fillText('World', can.width/2, can.height*3/4);

This is not possible to reproduce with node-canvas as there is no canvas.style property exposed.

Your Environment

All versions of node-canvas.

My Suggestion

We add a non-standard ctx._letterSpacing parameter to node-canvas that exposes this functionality?

Guide contributeur