Built with love by Lazar Dragos George. The content may not be distributed without my permission.
17 October 2025
Introducing ZainRo: A Font for Romanian
I'm excited to introduce a small but important project I've been working on: ZainRo. It’s a custom version of the beautiful Google Font, Zain, which I’ve modified to include Romanian diacritics.
The Problem: Missing Characters
I chose the Zain typeface for my personal website, bylazar.com, because of its clean, modern aesthetic. However, I quickly ran into a problem. While Zain has great language support, it was missing the glyphs for three essential Romanian characters: ă, î, ș, and ț.
This meant that any Romanian text on my site would render inconsistently, with the browser falling back to a different font for those specific characters. It was a small detail, but it disrupted the visual harmony of the typography.
The Solution: Modifying the Font with FontForge
Instead of picking a new font, I decided to solve the problem myself. Using FontForge, a powerful open-source font editor, I added the missing glyphs to the Zain font family.
The process involved a few key steps and challenges:
- Checking the License: Before I could modify anything, I had to confirm that the Zain font's license allowed for modifications. A quick check confirmed it uses the SIL Open Font License, which permits derivative works as long as they are also released under the same license.
- Verifying Unicodes: I had to be careful to use the correct Unicode points for Romanian characters. Some languages have visually similar glyphs with different codes, and using the wrong one would defeat the purpose.
- Creating the Glyphs: I opened the original font files in FontForge, created the new characters (ă, î, ș, ț), and made sure they matched the design and metrics of the existing glyphs.
- Renaming the Font: To avoid conflicts and give the project its own identity, I renamed the font family to ZainRo.
After a bit of work, ZainRo was born.
Timelapse
Typeface Highlights
The result is a complete, seamless experience for multilingual content. Here’s what ZainRo offers:
- Full Romanian Support: Adds glyphs for ă, î, ș, and ț.
- Eight Weights: Ships with all eight original OpenType weights and styles, from Extra Light to Black.
- Ready to Use: Includes desktop (.ttf, .otf) and web (.woff2, .eot) formats for immediate use.
How to Use It
Integrating ZainRo into your projects is straightforward.
Desktop Use
Simply install the .ttf files from the ZainRo/ directory in the repository into your system’s font manager.
Web Use
You can embed the font in your website using the CSS @font-face rule.
@font-face {
font-family: "ZainRo";
src: url("/fonts/ZainRo-Regular.ttf") format("truetype");
font-weight: 400;
font-style: normal;
}
body {
font-family: "ZainRo", "Zain", sans-serif;
}Open Source and Available on GitHub
ZainRo is an open-source project, and you can find all the files on GitHub. This includes the final font files, the editable FontForge source files (.sfd), and the original upstream release from Google Fonts.
The project is licensed under the SIL Open Font License 1.1, which means you are free to use, modify, and redistribute it.
Check out the project on GitHub
This was a fun little project that solved a real problem for me. It’s a great example of how open-source tools like FontForge empower you to customize and improve upon existing resources to fit your specific needs.