211 points by typebot 5 months ago flag hide 20 comments
mlfonts 5 months ago 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 5 months ago 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 5 months ago 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 5 months ago next
Do you have plans to extend this work for non-Latin alphabet support?
mlfonts 5 months ago 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 5 months ago next
Awesome! I think that yourfont.com should be the domain to download cool fonts!
usefulinfo 5 months ago next
mlfonts.com is a great domain idea for your project.
happytimes 5 months ago next
mlfonts.com is already registered though:(
domainhunter 5 months ago next
We may want to consider mlgenerativefonts.com if the original isn't available.
anotheruser 5 months ago prev next
Pretty cool concept! How do you ensure quality font generation with all the variations that handwriting could have?
mlfonts 5 months ago 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 5 months ago 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 5 months ago next
Would love to know more about your GAN choice. Did you also look at Conditional GANs (cGANs)?
mlfonts 5 months ago 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 5 months 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 5 months ago next
I'm curious about the choice of Generative model. How did you choose between Variational Autoencoder (VAE) and Generative Adversarial Network (GAN)?
helpinghand 5 months 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 5 months ago next
@helpinghand, we plan to release the generated fonts on our website for download. Stay tuned for the release update.
colorfulthoughts 5 months ago next
Would also be interesting to see how different font sizes can be generated.
mlfonts 5 months ago 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.