Question

J'essaie de créer une police / glyphe par:

  • Prendre une image bitmap
  • Création d'un SVG avec AutoTrace (sur Linux)
  • Importation du contour comme glyphe avec Python-Fontforge (glyph.importlines (SVGFILE))

Cela fonctionne bien sauf que le glyphe résultant en inversé (voir images).Aucune idée de la manière dont cela peut être empêché, comment le SVG ou le glyphe peut être inversé ou quelque chose comme ça?

Source Bitmap: bitmap source

SVG AutoTracéd: Entrez la description de l'image ici

police résultante: Entrez la description de l'image ici

Était-ce utile?

La solution

a résolu cela simplement en utilisant Potrace au lieu d'AutoTrace.

Pour référence, ce sont les étapes:

Convertir bitmap en svg (ligne de commande Linux):

potrace -s sourceimg.bmp

Utilisez SVG comme glyphe (Python):

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

C'est ça, résulte ci-dessous pour une utilisation sur un site 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>

Entrez la description de l'image ici

Autres conseils

Vous pouvez essayer d'inverser le chemin, je ne sais pas s'il y a une option dans Fontforge qui vous permet de le faire, mais vous pouvez le faire avec de l'encre (chemin> inverse).

Il semble que votre glyphe soit dessinée à la main. Si vous voulez faire une police TTF complète avec des dizaines ou des centaines de glyphes, vous pourriez considérer, par exemple. ScanaHand que j'ai utilisé pour générer des polices dessinées à la main. Il utilise un modèle sur lequel vous dessinez (ou coller) des lettres, de sorte qu'ils viennent dans la position verticale droite. La position horizontale (et l'espacement) est calculée automatiquement au moins dans [A-ZA-Z] (peut être à l'avenir également d'autres lettres).

Mais j'apprécie Votre solution car elle utilise des outils de source gratuits ou open-open et vous avez presque totalement le contrôle (par exemple . Espacement). Et la plus belle chose avec Potrace et Fontforge est que vous pouvez le faire à la volée ou faire un service de création de polices en ligne! Potrace est porté sur AS3 (Ça fonctionne, j'ai testé) et maintenant également dans JS ( https://github.com/antimatter15/js-poTrace ou https://github.com/dunvi/potrace-js ), il devrait également être possible de créer une fenêtre de prévisualisation en temps réel, qui montre comment la vectorisation résulte des modifications lorsque les paramètres de Potrace changent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top