2013-08-05 10 views
6

Sto cercando di convertire il testo in curve e percorsi, ad esempio:Come convertire il testo in tracciati?

Text = 'Benvenuti a python'

sto cercando di convertire il testo al percorso. Inoltre sto cercando di ottenere questa informazione sul percorso come lista di punti.

Desidero memorizzare il testo come tracciati in un file SVG.

Come quando si converte il testo in contorni all'interno di Adobe Illustrator, ad esempio.

Ho provato questo esempio, ma questo non è quello che voglio: cairo example

import cairo 

def text_extent(font, font_size, text, *args, **kwargs): 
    surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0) 
    ctx = cairo.Context(surface) 
    ctx.select_font_face(font, *args, **kwargs) 
    ctx.set_font_size(font_size) 
    return ctx.text_extents(text) 

text='Example' 
font="Sans" 
font_size=55.0 
font_args=[cairo.FONT_SLANT_NORMAL] 
(x_bearing, y_bearing, text_width, text_height, 
x_advance, y_advance) = text_extent(font, font_size, text, *font_args) 
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(text_width), int(text_height)) 
ctx = cairo.Context(surface) 
ctx.select_font_face(font, *font_args) 
ctx.set_font_size(font_size) 
ctx.move_to(-x_bearing, -y_bearing) 
ctx.text_path(text) 
ctx.set_source_rgb(0.47, 0.47, 0.47) 
ctx.fill_preserve() 
ctx.set_source_rgb(1, 0, 0) 
ctx.set_line_width(1.5) 
ctx.stroke() 

surface.write_to_png("/tmp/out.png") 
+1

* Perché * questo esempio non fa quello che vuoi? –

+1

perché voglio convertire il testo in path non solo delineare il testo voglio che i dati del percorso come elenco di punti siano in grado di memorizzarlo come percorso nel file svg –

+0

@TawfiqabuHalawah se trovi una soluzione, puoi postarla per favore? –

risposta

0

È possibile utilizzare inkscape:

import subprocess 
subprocess.call("inkscape in.svg --export-text-to-path --export-plain-svg out.svg", shell = True) 

nota: dovrete installare Inkscape prima