Medir texto
El método measureText() devuelve un objeto que contiene la anchura del texto especificado entre paréntesis.
En el siguiente ejemplo utilizamos el método measureText() para calcular el tamaño de fuente  para que el texto escogido quepa en el <canvas>
| JavaScript | Descripción | Defecto | |
|---|---|---|---|
| font | context.font = "italic small-caps bold 12px arial"; | Determina (sets) o devuelve (returns) las propiedades del texto ( font-style, font-variant, font-weight, font-size, font-family ) | 10px sans-serif | 
| textAlign | context.textAlign = "center | end | left | right | start"; | Especifica el tipo de alineación del texto. | start | 
| textBaseline | context.textBaseline = "alphabetic | top | hanging | middle | ideographic | bottom"; | Determina (sets) o devuelve (returns) la alineación vertical del texto. | alphabetic | 
| fillText() | context.fillText(text,x,y,maxWidth); | Dibuja texto relleno con un color, gradiente o patrón previamente definido. maxWidthes opcional. | black | 
| strokeText() | context.strokeText(text,x,y,maxWidth); | Dibuja texto bordeado con un color, gradiente o patrón previamente definido. maxWidthes opcional. | black | 
| measureText() | context.measureText(text).width; | Devuelve un objeto que contiene la anchura del texto especificado entre paréntesis. | 
Vea la chuleta con las propiedades y metodos() de canvas.
var boton = document.getElementById("boton");
boton.addEventListener("click", function() {
	var canvas = document.getElementById("lienzo");
		if (canvas && canvas.getContext) {
		var ctx = canvas.getContext("2d");
			if (ctx) {
				// limpiamos el canvas
				ctx.clearRect(0,0,canvas.width,canvas.height);
				// queCita definida al final del script
				var texto = queCita();
				var tamanoTexto = 30;
				ctx.font = tamanoTexto+"px Georgia";
				// medimos la anchura del texto
				var anchuraTexto = ctx.measureText(texto).width;console.log(anchuraTexto)
				//mientras que la anchura del texto > anchura del lienzo - 20px
				while( anchuraTexto > canvas.width-20 ){
					// reducimos el tamaño del texto con 1 px
				tamanoTexto--;	
				ctx.font = tamanoTexto+"px Georgia";	
				anchuraTexto = ctx.measureText(texto).width;				
				}
				//ahora que el texto tiene la anchura adecuada
				// centramos el texto
				ctx.textAlign = "center";
				ctx.textBaseline = "middle";
				// y publicamos el texto
				ctx.fillText(texto, canvas.width/2, canvas.height/2-20);
				ctx.font = "15px Georgia";
				ctx.fillText("tama\361o texto: "+ tamanoTexto, canvas.width/2, canvas.height/2 + 20);
				}
		}
},false);
function queCita(){
		var citas = document.getElementById("citas");
		var index = citas.selectedIndex;
		var texto = citas[index].text;
		return texto;
}Escoge tu cita favorita y haz clic en "Enviar!"