Make Your Own
Vinara is open source and designed to be forked. Redesign the characters, add new ones, or adapt it for a different language.
What You Need
- Inkscape or Figma (free) — for designing vector glyphs
- FontForge (free) — for building the font file
- Basic understanding of bezier curves — for drawing clean outlines
Step 1 — Design Your Characters
Start with the Vinara SVG files as a base, or draw from scratch. Each character should fit within a consistent bounding box. Here are the key consistency rules:
- Stroke width: Keep all strokes the same weight for visual unity.
- X-height: Most characters should sit on the same baseline and reach the same height.
- Baseline: All characters align to the same bottom line.
- Spacing: Leave consistent side bearings so characters flow naturally when typed.
Figma workflow: Create one frame per character. Use the pen tool to draw outlines. Outline strokes before export (Outline Stroke → Flatten). Export each character as a clean SVG with no transforms.
Step 2 — Build the Font
Import your SVGs into FontForge:
- Open FontForge and create a new font.
- For each character, select a glyph slot and import the SVG.
- Unicode mapping: Vinara uses the Latin letter slots (a-z, A-Z) so it works immediately in any text field. You can also use Private Use Area (PUA) codes like
E000–E021if you prefer. - Fix common issues:
- Correct direction — ensure outlines are wound correctly
- Remove overlap — merge overlapping paths
- Add extrema — ensure curves have points at their extremes
- Round to integer — snap coordinates to the grid
- Set metrics ( ascent, descent, em-size ) consistently.
- Export as TTF.
Step 3 — Build the App
Fork the Vinara app from GitHub and customize it:
- Replace the font file in
font/vinara.ttfwith your own. - Update the keyboard map in
js/mapping.jsif you added or changed characters. - Update the transliteration rules in
js/translit-engine.jsif your romanization differs. - Deploy on Vercel (free) by connecting your GitHub repo.
Here is the basic font-face CSS you will need:
@font-face {
font-family: 'YourFontName';
src: url('font/your-font.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}
Licensing
Vinara is released under the SIL Open Font License 1.1. This means:
- You are free to use, study, modify, and redistribute the font.
- You cannot sell the font by itself.
- You cannot use the reserved font name "Vinara" for modified versions without permission.
- Modified versions must be released under the same license.
See the LICENSE file for the full text.
Ready to start?
Fork on GitHub