2012-10-03 22 views
6

Estoy tratando de crear una fuente/glifo por:glifo invertida: mapa de bits> SVG a través de AUTOTRACE> glifo través fontforge

  • tomar una imagen de mapa de bits
  • crear un SVG con AUTOTRACE (en Linux)
  • importan el esquema como un glifo con el pitón-fontforge (glyph.importOutlines (svgfile))

Esto funciona bien excepto que el glifo que resulta en invertida (ver im siglos). ¿Alguna idea de cómo se puede prevenir esto, cómo se puede invertir el SVG o el glifo, o algo por el estilo?

Fuente de mapa de bits: source bitmap

autotraced SVG: enter image description here

fuente resultante: enter image description here

Respuesta

13

lo resolvió simplemente usando potrace en lugar de autotrace.

de referencia, estos son los pasos:

convertir mapas de bits a SVG (línea de comando linux):

potrace -s sourceimg.bmp 

uso 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:

<span style="font-family:testfont; font-weight:normal; color:green;">A</span> 
<span style="font-family:testfont; font-weight:bold; color:green;">A</span> 

enter image description here

1

Usted podría tratar de revertir el camino, no estoy seguro si hay una opción en fontforge que le permiten de haz eso, pero puedes hacerlo con inkscape (Path> Reverse).

+0

Gracias erik, he intentado con su sugerencia, desafortunadamente no parece hacer el truco ... – Hoff

0

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

Pero aprecio your solution porque utiliza herramientas gratuitas o de código abierto y usted tiene un control casi total de todo (por ejemplo, espaciado). Y lo mejor de potrace y fontforge es que puedes hacerlo sobre la marcha o crear un servicio de creación de fuentes en línea. Potrace está portado en AS3 (funciona, probé) y ahora también en JS (https://github.com/antimatter15/js-potrace o https://github.com/dunvi/potrace-js), por lo que también debería ser 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.

Cuestiones relacionadas