2012-10-03 12 views
6

Sto cercando di creare un font/glifo da:glifo invertito: bitmap> SVG tramite AutoTrace> glifo via FontForge

  • prendendo un'immagine bitmap
  • la creazione di uno SVG con AutoTrace (su Linux)
  • che importano il contorno come un glifo con python-FontForge (glyph.importOutlines (svgfile))

Questo funziona bene tranne che il glifo conseguente invertita (vedi im età). Qualche idea su come questo possa essere prevenuto, su come l'SVG o glifo può essere invertito, o qualcosa del genere?

Fonte bitmap: source bitmap

autotraced SVG: enter image description here

carattere risultante: enter image description here

risposta

13

risolto semplicemente utilizzando potrace anziché l'autotrace.

per riferimento, questi sono i passaggi:

convertire bitmap in SVG (line Linux Command):

potrace -s sourceimg.bmp 

uso SVG come glifo (pitone):

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

Questo è tutto , il risultato sotto per l'uso su un sito 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

si potrebbe tentare di invertire il percorso, non so se ci sia un'opzione in FontForge che ti permette di fallo, ma puoi farlo con inkscape (Percorso> Indietro).

+0

grazie erik, ho provato il tuo suggerimento, sfortunatamente non sembra fare il trucco ... – Hoff

0

Sembra che il glifo è disegnato a mano. Se si desidera creare un font TTF completo con decine o centinaia di glifi, si potrebbe prendere in considerazione ad esempio. Scanahand che ho usato per generare font disegnati a mano. Usa un modello, sul quale si disegnano (o incollano) le lettere, in modo che vengano nella giusta posizione verticale. La posizione orizzontale (e la spaziatura) sono calcolate automaticamente almeno in [A-Za-z] (potrebbero essere in futuro anche altre lettere).

Ma apprezzo lo your solution perché utilizza strumenti gratuiti o open source e hai quasi il pieno controllo di tutto (ad es. Spaziature). E la cosa migliore di potrace e fontforge è che puoi farlo al volo o creare un servizio di creazione di font online! Potrace è portato su AS3 (funziona, ho provato) e ora anche in JS (https://github.com/antimatter15/js-potrace o https://github.com/dunvi/potrace-js), quindi dovrebbe essere anche possibile creare una finestra di anteprima in tempo reale, che mostri come il risultato della vettorizzazione cambia quando i parametri di potrace cambiano.

Problemi correlati