2012-10-03 16 views
6

Ben bir yazı/glif oluşturmak çalışıyorum aracılığıyla kabartma:Ters kabartma: Bitmap> -autotrace yoluyla SVG> FontForge

  • (Linux'ta) -autotrace bir SVG'yi yaratan bir bitmap görüntü
  • alarak
  • piton-FontForge ile işaret ile aynı anahat ithal (glyph.importOutlines (svgfile))

Bu (im bkz ters sonuçlanan glyph'ten dışında ince işleri yaşlar). Bunun nasıl önlenebileceği hakkında bir fikir, SVG veya glif nasıl tersine çevrilebilir, ya da böyle bir şey olabilir?

Kaynak bitmap: source bitmap

autotraced SVG: enter image description here

Ortaya font: enter image description here

cevap

13

bunu sadece autotrace yerine potrace kullanarak çözmüştür. bu kadar

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

: svg için

dönüştürme Bitmap (linux komut satırı): kabartma (piton) olarak

potrace -s sourceimg.bmp 

kullanım svg

başvuru için, bu adımlar şunlardır , bir web sitesinde kullanım için aşağıdaki sonucu elde edin:

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

Sen en izin FontForge bir seçenek varsa, emin değilim yolunu tersine çevirmek için deneyebilirsiniz Bunu yap, ama inkscape ile yapabilirsin (Yol> Ters).

+0

Teşekkürler erik, önerinizi denedim, maalesef hile yapmıyor gibi görünüyor ... – Hoff

0

sizin kabartma elle çizilmiş gibi görünüyor. Eğer tam bir TTF yazı tipini onlarca veya yüzlerce glif ile yapmak istiyorsanız, o zaman örneğin düşünebilirsiniz. Elle çizilmiş yazı tipleri oluşturmak için kullanmış olduğum Scanahand. Harfleri çizdiğiniz (veya yapıştıracağınız) bir şablonu kullanır, böylece doğru dikey konuma gelirler. Yatay pozisyon (ve aralık) en azından [A-Za-z] 'de otomatik olarak hesaplanır (ileride başka harflerde de olabilir).

your solution10 Ancak, ücretsiz veya açık kaynak araçları kullandığı ve neredeyse her şeyin (örn. Boşluklar) kontrolünü kullandığınız için teşekkür ediyorum. Ve potrace ve fontforge ile en iyi şey, on-the-fly yapmak veya bir çevrimiçi yazı tipi oluşturma hizmeti yapmak olabilir ki! Potrace AS3 (çalıştığı, test ettiğim) ve şimdi de JS (https://github.com/antimatter15/js-potrace veya https://github.com/dunvi/potrace-js) adresinde taşınmıştır, bu yüzden de tübül parametreleri değiştiğinde vektörizasyon sonucunun nasıl değiştiğini gösteren gerçek zamanlı bir önizleme penceresi yapmak mümkün olmalıdır.