Glifo invertido: bitmap> SVG a través de autotrace> glifo a través de fontforge

Estoy tratando de crear una fuente / glifo por:

  • tomando una imagen de bitmap
  • creando un SVG con autotrace (en Linux)
  • importar el contorno como un glifo con python-fontforge (glyph.importOutlines (svgfile))

Esto funciona bien, excepto que el glifo resultante está invertido (ver imágenes). ¿Alguna idea de cómo se puede evitar esto, cómo se puede invertir el SVG o el glifo, o algo así?

Mapa de bits de origen: mapa de bits de origen

SVG autotraciado: introduzca la descripción de la imagen aquí

Fuente resultante: introduzca la descripción de la imagen aquí

Resuelto esto simplemente usando potrace en lugar de autotrace.

Para referencia, estos son los pasos:

convertir bitmap a svg (línea de comandos de linux):

potrace -s sourceimg.bmp 

usa svg como glifo (python):

 import fontforge font = fontforge.open('blank.sfd') glyph = font.createMappedChar('A') glyph.importOutlines('sourceimg.svg') font.generate('testfont.ttf') 

Eso es todo, el resultado a continuación para su uso en un sitio web:

css:

 @font-face { font-family: testfont; src: url('testfont.ttf'); } 

html:

 A A 

introduzca la descripción de la imagen aquí

Podría intentar revertir la ruta, sin estar seguro de si hay una opción en fontforge que le permita hacer eso, pero puede hacerlo con inkscape (Ruta> Invertir).

Parece que tu glifo es dibujado a mano. Si desea crear una fuente TTF completa con decenas o cientos de glifos, podría considerar, por ejemplo, Scanahand que he utilizado para generar fonts dibujadas a mano. Utiliza una plantilla, en la que se dibujan (o pegan) letras, para que queden en la posición vertical correcta. La posición horizontal (y el espaciado) se calculan automáticamente al menos en [A-Za-z] (puede ser en el futuro también otras letras).

Pero aprecio su solución porque utiliza herramientas gratuitas o de código abierto y usted tiene un control casi completo de todo (por ejemplo, espaciamientos). Y lo mejor de Potrace y Fontforge es que puedes hacerlo sobre la marcha o hacer un servicio de creación de fonts en línea. Potrace está portado en AS3 (funciona, lo probé) y ahora también en JS ( https://github.com/antimatter15/js-potrace o https://github.com/dunvi/potrace-js ), por lo que debería También es posible hacer una ventana de vista previa en tiempo real, que muestra cómo cambia el resultado de vectorización cuando cambian los parámetros de potrace.