Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

232
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!