Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

114
Vistas
El lienzo del nodo usa una fuente alternativa para caracteres desconocidos

Estoy usando Node-Canvas para imprimir texto en una imagen y tratando de descubrir cómo garantizar que los caracteres extraños se muestren correctamente, incluso si la fuente principal no puede mostrarlos.

Por lo que encontré en línea, debe usar registerFont con una fuente que pueda mostrar esos caracteres para recurrir, pero parece que no lo usa automáticamente, y no pude encontrar nada sobre cómo decirle si usa un fuente alternativa.

Al registrar una fuente que puede mostrar el carácter (Code2000), todavía aparece así (el carácter "ᗩ" no se muestra correctamente):

(Intentando imprimir HELLO WORLD, I'M ᗩcł! )
Este es mi código:

 //load some fallback fonts for custom characters (arial & code2000 in this case) canvas.registerFont('./Assets/Fonts/arial.ttf', {family: 'Arial'}) canvas.registerFont('./Assets/Fonts/code2000.ttf', {family: 'Code2000'}) //load the Uni Sans Heavy custom font canvas.registerFont('./Assets/Fonts/Uni_Sans_Heavy.ttf', {family: 'Uni Sans'}) let cnvs = canvas.createCanvas(740, 260) let ctx = cnvs.getContext('2d') ctx.fillStyle = "#fff" ctx.font = '50px Uni Sans' ctx.fillText(`HELLO WORLD, I'M ᗩcł!`, 50, 100); message.channel.send({files: [{ attachment: cnvs.toBuffer() }]}).catch(allerrors)

La fuente "Code2000" puede mostrar el carácter correctamente con seguridad, así que pensé que automáticamente volvería a eso, pero no es así. ¿Hay alguna manera de usar la fuente alternativa automáticamente? Si no, ¿cómo le digo en qué personajes usarlo?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Solo necesita especificar 'Code2000' cuando esté configurando la fuente. Las fuentes consecutivas separadas por comas se utilizan como fuentes alternativas.

 ctx.font = '50px Uni Sans, Code2000'

Probé esto yo mismo, y funcionó perfectamente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda