Mark TextMetrics#fontBoundingBoxAscent etc. as unimplemented

Abierto Apto para principiantes
#2,364 3 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
javascript, typescript

Línea de trabajo

Compara las propiedades de TextMetrics no implementadas en src/CanvasRenderingContext2d.cc alrededor de la línea 2715 con sus declaraciones en index.d.ts alrededor de la línea 135. Reproduce los valores undefined usando el ejemplo de measureText proporcionado, luego actualiza las definiciones de TypeScript para reflejar las APIs no compatibles y verifica que las declaraciones coincidan con el comportamiento en tiempo de ejecución.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Feature Text & Fonts

Issue

I have some need to measure the height of fonts.
But TextMeasure.fontBoundingBoxAscent is always undefined.

It seems that these API are not implemented.
However, the typescript definition provides the relevant definitions.

Maybe it's better to mark these API as unimplemented.

Steps to Reproduce

var Canvas = require('canvas');
var canvas = Canvas.createCanvas(200, 200);
var ctx = canvas.getContext('2d');

ctx.font = "Arial";
const measure = ctx.measureText('test');

console.log(measure.fontBoundingBoxAscent); // undefined;
console.log(measure); 
/*
{
  width: 16.416015625,
  actualBoundingBoxLeft: -1,
  actualBoundingBoxRight: 17.0712890625,
  actualBoundingBoxAscent: 7,
  actualBoundingBoxDescent: 0,
  emHeightAscent: 11,
  emHeightDescent: 3,
  alphabeticBaseline: 1
}
*/

Your Environment

  • Version of node-canvas (output of npm list canvas or yarn list canvas): canvas 2.11.2
  • Environment (e.g. node 20.9.0 on macOS 14.1.1): node v18.18.2
Lenguaje dominante
JavaScript
Estrellas
10.7k
Forks
1.2k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Automattic/node-canvas

Todos los issues de Automattic/node-canvas

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.