<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ramya Thirunavukkarasu</title>
    <description>The latest articles on DEV Community by ramya Thirunavukkarasu (@ramya_thirunavukkarasu_0a).</description>
    <link>https://dev.to/ramya_thirunavukkarasu_0a</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3761488%2Fb740994a-bddc-4a89-b817-4253ef2a33fe.png</url>
      <title>DEV Community: ramya Thirunavukkarasu</title>
      <link>https://dev.to/ramya_thirunavukkarasu_0a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ramya_thirunavukkarasu_0a"/>
    <language>en</language>
    <item>
      <title>How I Turned My Handwriting Into a Font Using Python</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Mon, 16 Mar 2026 03:21:19 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/how-i-turned-my-handwriting-into-a-font-using-python-3ca9</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/how-i-turned-my-handwriting-into-a-font-using-python-3ca9</guid>
      <description>&lt;p&gt;we’ll build a simple system using Python that converts your handwritten characters into a TrueType font (.ttf).&lt;br&gt;
Step 1 – Install the Required Library&lt;br&gt;
First, we need a Python library called Pillow. It helps us create and edit images.&lt;br&gt;
Open your terminal or command prompt and run:&lt;br&gt;
pip install pillow&lt;br&gt;
Once it installs, you're ready to move to the next step.&lt;br&gt;
Step 2 – Create a Template for Handwriting&lt;br&gt;
Instead of manually drawing boxes for every letter, we can let Python generate a template automatically.&lt;br&gt;
Create a new file called:&lt;br&gt;
create_template.py&lt;br&gt;
Add the following code:&lt;br&gt;
from PIL import Image, ImageDraw, ImageFont&lt;br&gt;
font_size = 80&lt;br&gt;
image_width = 2600&lt;br&gt;
image_height = 1200&lt;br&gt;
font_path = "arial.ttf"&lt;br&gt;
output_image_path = "template_image.png"&lt;br&gt;
characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"&lt;br&gt;
template_image = Image.new("RGB", (image_width, image_height), "white")&lt;br&gt;
draw = ImageDraw.Draw(template_image)&lt;br&gt;
font = ImageFont.truetype(font_path, font_size)&lt;br&gt;
x = 50&lt;br&gt;
y = 100&lt;br&gt;
for char in characters:&lt;br&gt;
    draw.text((x, y-60), char, fill="black", font=font)&lt;br&gt;
    draw.rectangle([x, y, x+80, y+80], outline="black")&lt;br&gt;
    x += 120&lt;br&gt;
    if x &amp;gt; 2400:&lt;br&gt;
        x = 50&lt;br&gt;
        y += 150&lt;br&gt;
template_image.save(output_image_path)&lt;br&gt;
print("Template created:", output_image_path)&lt;br&gt;
Now run the script:&lt;br&gt;
python create_template.py&lt;br&gt;
After running it, a new image will appear in your folder:&lt;br&gt;
template_image.png&lt;br&gt;
This image contains boxes for every letter.&lt;br&gt;
Step 3 – Fill the Template With Your Handwriting&lt;br&gt;
Now comes the fun part.&lt;br&gt;
Open the image:&lt;br&gt;
template_image.png&lt;br&gt;
You can use any drawing tool like:&lt;br&gt;
Paint&lt;br&gt;
Photoshop&lt;br&gt;
Inkscape&lt;br&gt;
Draw your handwriting inside each box.&lt;br&gt;
For example:&lt;br&gt;
[A] [B] [C]&lt;br&gt;
[D] [E] [F]&lt;br&gt;
Once you're done, save the file as:&lt;br&gt;
filled_template_image.png&lt;br&gt;
Step 4 – Extract Each Character&lt;br&gt;
Now we need to cut each letter into separate images.&lt;br&gt;
Create a new Python file called:&lt;br&gt;
extract_characters.py&lt;br&gt;
Add this code:&lt;br&gt;
from PIL import Image&lt;br&gt;
import os&lt;br&gt;
image = Image.open("filled_template_image.png")&lt;br&gt;
characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"&lt;br&gt;
os.makedirs("character_images", exist_ok=True)&lt;br&gt;
x = 50&lt;br&gt;
y = 100&lt;br&gt;
for char in characters:&lt;br&gt;
   crop = image.crop((x, y, x+80, y+80))&lt;br&gt;
crop.save(f"character_images/{char}.png")&lt;br&gt;
   x += 120&lt;br&gt;
    if x &amp;gt; 2400:&lt;br&gt;
        x = 50&lt;br&gt;
        y += 150&lt;br&gt;
print("Characters extracted")&lt;br&gt;
Run it:&lt;br&gt;
python extract_characters.py&lt;br&gt;
A new folder will appear:&lt;br&gt;
character_images&lt;br&gt;
Inside it, you'll see files like:&lt;br&gt;
A.png&lt;br&gt;
B.png&lt;br&gt;
C.png&lt;br&gt;
Each letter is now stored as its own image.&lt;br&gt;
Step 5 – Convert the Images Into a Font&lt;br&gt;
Now we turn those images into a real font.&lt;br&gt;
Create another file called:&lt;br&gt;
create_handwriting_font.py&lt;br&gt;
Add the script that converts the character images into a .ttf font.&lt;br&gt;
This script uses FontForge to map each character image to its Unicode value and generate the font file.&lt;br&gt;
import os&lt;br&gt;
import fontforge&lt;br&gt;
from PIL import Image, ImageDraw, ImageFont&lt;br&gt;
font_size = 80&lt;br&gt;
image_width = 2600&lt;br&gt;
image_height = 1200&lt;br&gt;
font_path = "arial.ttf"&lt;br&gt;
output_image_path = "template_image.png"&lt;br&gt;
filled_template_image_path = "filled_template_image.png"&lt;br&gt;
output_directory = "character_images"&lt;br&gt;
output_font_path = "handwritten_font.ttf"&lt;br&gt;
english_characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"&lt;br&gt;
def create_template_image():&lt;br&gt;
    template_image = Image.new("RGB", (image_width, image_height), "white")&lt;br&gt;
    draw = ImageDraw.Draw(template_image)&lt;br&gt;
    font = ImageFont.truetype(font_path, font_size)&lt;br&gt;
    x = 50&lt;br&gt;
    y = 50&lt;br&gt;
    character_positions = {}&lt;br&gt;
    for char in english_characters:&lt;br&gt;
        draw.text((x, y), char, fill="black", font=font)&lt;br&gt;
        box = (x, y+80, x+font_size, y+80+font_size)&lt;br&gt;
        draw.rectangle(box, outline="black")&lt;br&gt;
        character_positions[char] = box&lt;br&gt;
        x += font_size * 2&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    if x &amp;gt; image_width - font_size:
        x = 50
        y += font_size * 2  template_image.save(output_image_path)
print("Template created")
return character_positions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;def crop_character_images(character_positions):&lt;br&gt;
    img = Image.open(filled_template_image_path)&lt;br&gt;
    os.makedirs(output_directory, exist_ok=True)&lt;br&gt;
    for char, pos in character_positions.items():&lt;br&gt;
        crop = img.crop(pos)      crop.save(os.path.join(output_directory, f"{char}.png"))&lt;br&gt;
    print("Characters cropped")&lt;br&gt;
def create_font(character_positions):&lt;br&gt;
    font = fontforge.font()&lt;br&gt;
    font.familyname = "HandwrittenEnglish"&lt;br&gt;
    font.fontname = "HandwrittenEnglish"&lt;br&gt;
    for char in english_characters:&lt;br&gt;
        unicode_val = ord(char)&lt;br&gt;
        glyph = font.createChar(unicode_val)&lt;br&gt;
        image_path = os.path.join(output_directory, f"{char}.png")&lt;br&gt;
        if os.path.exists(image_path):          glyph.importOutlines(image_path)&lt;br&gt;
            glyph.addExtrema()&lt;br&gt;
            glyph.simplify()          glyph.correctDirection()&lt;br&gt;
 font.generate(output_font_path)&lt;br&gt;
    print("Font generated:", output_font_path)&lt;br&gt;
def main():&lt;br&gt;
    positions = create_template_image()&lt;br&gt;
    print("Fill template and save as filled_template_image.png")&lt;br&gt;
    input("Press Enter after filling handwriting...") crop_character_images(positions)&lt;br&gt;
    create_font(positions)&lt;br&gt;
if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
    main()&lt;br&gt;
After running the script, Python will generate:&lt;br&gt;
handwritten_font.ttf&lt;br&gt;
Step 6 – Install Your Font&lt;br&gt;
Once the font file is created, install it on your system.&lt;br&gt;
Then open any program like:&lt;br&gt;
Microsoft Word&lt;br&gt;
Notion&lt;br&gt;
Google Docs&lt;br&gt;
Final thoughts &lt;br&gt;
However,in my case the font installs successfully, but it does not appear in Microsoft Word yet. This means there is still something that needs to be fixed in the font generation process.&lt;br&gt;
So in my next blog, I will explain:&lt;br&gt;
Why the font is not appearing in Word&lt;br&gt;
What changes are needed in the code&lt;br&gt;
How to properly generate a working font&lt;br&gt;
Stay tuned for the next part where we will fix this issue and make the handwriting font work properly.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>devops</category>
      <category>learning</category>
    </item>
    <item>
      <title>Convert Images to SVG in Python Using vtracer 🚀</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Thu, 12 Mar 2026 18:30:56 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/convert-images-to-svg-in-python-using-vtracer-ide</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/convert-images-to-svg-in-python-using-vtracer-ide</guid>
      <description>&lt;p&gt;Recently I found a Python library called VTracer that can convert images to SVG automatically.&lt;br&gt;
SVG files use vector paths, which means they can scale to any size without losing quality. That’s why logos, icons, and illustrations are often stored as SVG files.&lt;br&gt;
But converting raster images into vectors usually requires design software.&lt;br&gt;
The challenge is converting pixel images into vector shapes automatically.&lt;br&gt;
What is VTracer?&lt;br&gt;
VTracer is a tool that helps turn normal images into vector graphics.&lt;br&gt;
In simple words, it takes images like PNG or JPG (which are made of pixels) and converts them into SVG files (which are made of vector shapes). SVG images can be resized to any size without losing quality.&lt;br&gt;
Installing VTracer&lt;br&gt;
Just install it with pip:&lt;br&gt;
pip install vtracer&lt;br&gt;
Converting an Image to SVG:&lt;br&gt;
Sample:&lt;br&gt;
import vtracer&lt;br&gt;
input_path = "input.jpg"&lt;br&gt;
output_path = "output.svg"&lt;br&gt;
vtracer.convert_image_to_svg_py(input_path, output_path) &lt;br&gt;
Final Thoughts&lt;br&gt;
Not every image will convert perfectly. Complex photos probably won’t turn into clean vectors.&lt;br&gt;
But for logos, icons, and simple graphics, this works really well.&lt;br&gt;
And the best part is that it takes only a few lines of Python.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
    <item>
      <title>Exploring FontForge Libraries: UFO, XML and Unicode</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Tue, 10 Mar 2026 18:22:31 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/exploring-fontforge-libraries-ufo-xml-and-unicode-2iah</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/exploring-fontforge-libraries-ufo-xml-and-unicode-2iah</guid>
      <description>&lt;p&gt;FontForge supports different font technologies that help designers create, store, and share fonts easily. Some important ones are UFO, XMLand Unicode. Each of them helps FontForge handle fonts in different ways.&lt;br&gt;
UFO (Unified Font Object)&lt;br&gt;
UFO is a font format mainly used by font designers while developing a font.&lt;br&gt;
Instead of storing everything in one big file, UFO stores font data in a folder with multiple readable files. These files contain information about glyph shapes, spacing, kerning, and other font details.&lt;br&gt;
Because of this structure, UFO is very useful for:&lt;br&gt;
Editing fonts easily&lt;br&gt;
Working with other font tools&lt;br&gt;
Tracking changes using version control systems like Git&lt;br&gt;
FontForge can open, edit, and export UFO files, making it easier for designers to manage font projects.&lt;br&gt;
XML&lt;br&gt;
XML stands for Extensible Markup Language. It is a format used to store data in a structured and readable way.&lt;br&gt;
In FontForge, XML is used to store certain types of font information and metadata.&lt;br&gt;
This helps because:&lt;br&gt;
The data is organized and easy to read&lt;br&gt;
Programs can easily process the information&lt;br&gt;
Font settings and structures can be stored clearly&lt;br&gt;
FontForge uses XML libraries to read and write this structured data.&lt;br&gt;
Unicode&lt;br&gt;
Unicode is a universal system that assigns a unique number to every character used in languages around the world.&lt;br&gt;
For example:&lt;br&gt;
English letters&lt;br&gt;
Tamil characters&lt;br&gt;
Arabic scripts&lt;br&gt;
Symbols and emojis&lt;br&gt;
FontForge uses Unicode to connect each glyph in a font to a specific character. This ensures that when someone types a letter, the correct glyph from the font is displayed.&lt;br&gt;
Unicode support allows FontForge to create fonts that work across different languages and platforms.&lt;br&gt;
&lt;strong&gt;Pillow vs VTracer – What’s the Difference?&lt;/strong&gt;&lt;br&gt;
When working with images in Python, two libraries you might encounter are Pillow and VTracer. Although both deal with images, they serve very different purposes.&lt;br&gt;
Pillow:&lt;br&gt;
Pillow is a popular Python library used for general image processing. It is actually the modern version of the Python Imaging Library (PIL).&lt;br&gt;
What Pillow Does&lt;br&gt;
Pillow works with raster images (pixel-based images). It allows you to manipulate images by editing pixels.&lt;br&gt;
Common Features&lt;br&gt;
With Pillow you can:&lt;br&gt;
Open and save images&lt;br&gt;
Resize images&lt;br&gt;
Crop images&lt;br&gt;
Rotate images&lt;br&gt;
Apply filters&lt;br&gt;
Convert image formats (PNG, JPG, etc.)&lt;br&gt;
Example&lt;br&gt;
from PIL import Image&lt;br&gt;
img = Image.open("photo.jpg")&lt;br&gt;
img.resize((300,300))&lt;br&gt;
img.save("resized.jpg")&lt;br&gt;
When to Use Pillow&lt;br&gt;
Use Pillow when you need to:&lt;br&gt;
Edit photos&lt;br&gt;
Resize or crop images&lt;br&gt;
Apply filters&lt;br&gt;
Convert image formats&lt;br&gt;
Pillow is mainly used in image processing and computer vision projects.&lt;br&gt;
VTracer:&lt;br&gt;
VTracer is a library used for image vectorization. It converts raster images into vector graphics.&lt;br&gt;
What VTracer Does&lt;br&gt;
VTracer analyzes shapes in an image and converts them into SVG vector paths.&lt;br&gt;
Key Features&lt;br&gt;
Converts PNG/JPG to SVG&lt;br&gt;
Detects shapes and outlines&lt;br&gt;
Supports colored images&lt;br&gt;
Produces scalable graphics&lt;br&gt;
Example&lt;br&gt;
import vtracer&lt;br&gt;
vtracer.convert_image_to_svg_py("image.png", "output.svg")&lt;br&gt;
When to Use VTracer&lt;br&gt;
Use VTracer when you need to:&lt;br&gt;
Convert images into vector graphics&lt;br&gt;
Create scalable graphics&lt;br&gt;
Vectorize logos or icons&lt;br&gt;
Convert drawings into SVG&lt;/p&gt;

</description>
      <category>design</category>
      <category>opensource</category>
      <category>tooling</category>
      <category>programming</category>
    </item>
    <item>
      <title>Inside the Noto Tamil Font Repository: How Tamil Fonts Are Built</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Wed, 04 Mar 2026 16:16:58 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/inside-the-noto-tamil-font-repository-how-tamil-fonts-are-built-3phh</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/inside-the-noto-tamil-font-repository-how-tamil-fonts-are-built-3phh</guid>
      <description>&lt;p&gt;When Google launched the Noto project, the mission was ambitious but simple:&lt;br&gt;
No more tofu boxes (□) showing up when text fails to render.&lt;br&gt;
The goal was to support every script in Unicode — properly and consistently — across platforms.&lt;br&gt;
One part of that effort is Noto Sans Tamil and its serif companion Noto Serif Tamil, developed openly in this repository:&lt;br&gt;
🔗 &lt;a href="https://github.com/notofonts/tamil%E2%81%A0%EF%BF%BD" rel="noopener noreferrer"&gt;https://github.com/notofonts/tamil⁠�&lt;/a&gt;&lt;br&gt;
I explored this repository with one question in mind:&lt;br&gt;
How does a Tamil font actually get built?&lt;br&gt;
What I found was a mix of design, engineering, automation, and strict quality control.&lt;br&gt;
What Is Noto Tamil?&lt;br&gt;
  it’s “just a font.”&lt;br&gt;
But Tamil is not a simple script.&lt;br&gt;
It includes:&lt;br&gt;
Independent vowels&lt;br&gt;
Consonants that combine with vowel signs&lt;br&gt;
Context-based glyph substitutions&lt;br&gt;
Combining marks and ligatures&lt;br&gt;
Designing a Tamil font isn’t just drawing characters.&lt;br&gt;
It’s making sure characters behave correctly when combined.&lt;br&gt;
That behavior is controlled by Unicode standards and OpenType rules.&lt;br&gt;
In other words:&lt;br&gt;
A Tamil font is as much engineering as it is design.&lt;br&gt;
Opening the Repository&lt;br&gt;
When you open the repository, you don’t see pretty letter previews first.&lt;br&gt;
You see structure:&lt;br&gt;
sources/&lt;br&gt;
scripts/&lt;br&gt;
qa/&lt;br&gt;
documentation/&lt;br&gt;
Makefile&lt;br&gt;
requirements.txt&lt;br&gt;
fontbakery.yml&lt;br&gt;
The Project: &lt;br&gt;
sources/&lt;br&gt;
This is where the real work lives.&lt;br&gt;
Inside this folder are:&lt;br&gt;
Glyph outlines&lt;br&gt;
OpenType feature definitions&lt;br&gt;
Character mappings&lt;br&gt;
This is where designers define how letters look.&lt;br&gt;
It’s also where engineers define how letters interact.&lt;br&gt;
The shape of a character is only half the story.&lt;br&gt;
The logic behind how it behaves is just as important.&lt;br&gt;
Automation: scripts/&lt;br&gt;
Instead of manually exporting font files, the repository uses Python scripts to compile everything.&lt;br&gt;
That means:&lt;br&gt;
Repeatable builds&lt;br&gt;
Fewer human errors&lt;br&gt;
Structured releases&lt;br&gt;
Fonts today are built more like software releases than art files.&lt;br&gt;
Quality Control: qa/&lt;br&gt;
Before any font is considered complete, it must pass automated checks.&lt;br&gt;
These tests verify:&lt;br&gt;
Unicode correctness&lt;br&gt;
Proper naming standards&lt;br&gt;
Rendering consistency&lt;br&gt;
Licensing information&lt;br&gt;
Nothing gets merged casually.&lt;br&gt;
Everything is validated.&lt;br&gt;
How the Build Process Works&lt;br&gt;
The repository uses a Makefile-based workflow.&lt;br&gt;
To build the font:&lt;br&gt;
make build&lt;br&gt;
To run tests:&lt;br&gt;
make test&lt;br&gt;
To generate visual proof files:&lt;br&gt;
make proof&lt;br&gt;
Behind these simple commands:&lt;br&gt;
Python tools compile glyphs&lt;br&gt;
OpenType features are processed&lt;br&gt;
Font files (.ttf) are generated&lt;br&gt;
QA tests run automatically&lt;br&gt;
It’s a clean, professional pipeline.&lt;br&gt;
Continuous Integration&lt;br&gt;
Whenever someone pushes changes:&lt;br&gt;
Fonts are rebuilt automatically&lt;br&gt;
Tests run&lt;br&gt;
Proof files are generated&lt;br&gt;
This ensures broken fonts never get merged.&lt;br&gt;
It’s production-level engineering for typography.&lt;br&gt;
Understanding Tamil Font Logic&lt;br&gt;
Tamil requires:&lt;br&gt;
Correct Unicode mapping&lt;br&gt;
GSUB (Glyph Substitution)&lt;br&gt;
GPOS (Glyph Positioning)&lt;br&gt;
Precise mark attachment&lt;br&gt;
Ligature handling&lt;br&gt;
For example:&lt;br&gt;
A consonant plus a vowel sign must render correctly together.&lt;br&gt;
If anchor points are slightly misaligned, the text looks broken.&lt;br&gt;
These positioning rules are defined in OpenType feature files.&lt;br&gt;
It’s invisible work — but absolutely essential.&lt;br&gt;
From Design to Final Font&lt;br&gt;
The pipeline looks like this:&lt;br&gt;
Glyph Design → Feature Programming → Build Scripts → TTF Output → QA Validation&lt;br&gt;
The final .ttf file you download is the result of:&lt;br&gt;
Vector outline definitions&lt;br&gt;
Layout logic&lt;br&gt;
Metadata generation&lt;br&gt;
Automation scripts&lt;br&gt;
Quality validation.&lt;br&gt;
⚠️ Drawbacks&lt;br&gt;
While the Noto Tamil repository is well-structured and professional, it has a few challenges:&lt;br&gt;
Steep learning curve – Requires knowledge of Unicode, OpenType (GSUB/GPOS), and build systems.&lt;br&gt;
Strict build process – Small mistakes can break the build or fail QA checks.&lt;br&gt;
Slow debugging cycle – Every change requires rebuilding and reinstalling the font.&lt;br&gt;
Complex script handling – Tamil combining marks and substitutions increase technical difficulty.&lt;br&gt;
Limited creative flexibility – Focused on consistency and &lt;br&gt;
neutrality.&lt;br&gt;
Final thoughts:&lt;br&gt;
After exploring the Noto Tamil repository, I realized how much effort goes into something we usually take for granted. A font isn’t just shapes on a screen — it’s careful design, technical rules, repeated testing, and a lot of patience.&lt;br&gt;
At the same time, it’s not easy to work with. Understanding Unicode, OpenType features, and the build process can be difficult, especially for beginners. Even small changes can take time to test and verify. But that difficulty is part of what keeps the font stable and reliable.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>python</category>
    </item>
    <item>
      <title>How to Create a Tamil Unicode Font Using FontForge</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Tue, 24 Feb 2026 17:52:39 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/how-to-create-a-tamil-unicode-font-using-fontforge-5ao9</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/how-to-create-a-tamil-unicode-font-using-fontforge-5ao9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Tamil font creation has become easier because of Unicode standards and open-source software. One of the most powerful tools for font design is FontForge. Using FontForge, we can draw Tamil letters, assign Unicode values, and generate font files like .ttf. we will create a simple Tamil glyph and export it as a font.&lt;br&gt;
Step 1 – Install FontForge&lt;br&gt;
Download FontForge:&lt;br&gt;
&lt;a href="https://fontforge.org" rel="noopener noreferrer"&gt;https://fontforge.org&lt;/a&gt;&lt;br&gt;
FontForge is available for:&lt;br&gt;
Windows&lt;br&gt;
Linux&lt;br&gt;
macOS&lt;br&gt;
After installing, open the software.&lt;br&gt;
Step 2 – Open FontForge and Understand Glyph Grid&lt;br&gt;
When FontForge opens, you will see a glyph grid (many small boxes).&lt;br&gt;
Each box represents a Unicode character slot.&lt;br&gt;
Example:&lt;br&gt;
U+0B95 → க&lt;br&gt;
Each Tamil letter must be placed in its correct Unicode position.&lt;br&gt;
Step 3 – Set Unicode Encoding &lt;br&gt;
To work with Tamil Unicode:&lt;br&gt;
Menu:&lt;br&gt;
Encoding → Reencode → Unicode Full&lt;br&gt;
Tamil Unicode block range:&lt;br&gt;
U+0B80 – U+0BFF&lt;br&gt;
Now FontForge is ready for Tamil font creation.&lt;br&gt;
Step 4 – Find a Tamil Letter Slot&lt;br&gt;
Press:&lt;br&gt;
Ctrl + F&lt;br&gt;
Search Unicode:&lt;br&gt;
0B95&lt;br&gt;
This opens the slot for the Tamil letter:&lt;br&gt;
க&lt;br&gt;
Step 5 – Import Glyph from Inkscape&lt;br&gt;
If you already created the letter in SVG format using vector software:&lt;br&gt;
Menu:&lt;br&gt;
File → Import&lt;br&gt;
Select file:&lt;br&gt;
uni0B95.svg&lt;br&gt;
Now the glyph outline appears inside FontForge.&lt;br&gt;
Step 6 – Edit Glyph Shape&lt;br&gt;
Double-click the glyph box to open the editor window.&lt;br&gt;
You can:&lt;br&gt;
*Move nodes&lt;br&gt;
*Smooth curves&lt;br&gt;
*Resize shapes&lt;br&gt;
*Adjust alignment&lt;br&gt;
This step improves the quality of the font outline.&lt;br&gt;
Step 7 – Adjust Spacing (Metrics)&lt;br&gt;
Correct spacing is important for readability.&lt;br&gt;
Open:&lt;br&gt;
Window → New Metrics Window&lt;br&gt;
Adjust:&lt;br&gt;
Left spacing&lt;br&gt;
Right spacing&lt;br&gt;
Tamil letters should not touch each other while typing.&lt;br&gt;
Step 8 – Generate Font File&lt;br&gt;
After finishing glyph design:&lt;br&gt;
Menu:&lt;br&gt;
File → Generate Fonts&lt;br&gt;
Choose format:&lt;br&gt;
TrueType (.ttf)&lt;br&gt;
Now your Tamil font file is ready.&lt;br&gt;
Install the .ttf file and test typing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source Tamil Fonts: Noto Sans Tamil&lt;/strong&gt;&lt;br&gt;
Noto Sans Tamil is an open-source Unicode Tamil font developed by Google as part of the Noto Fonts project.&lt;br&gt;
It supports all Tamil Unicode characters (U+0B80–U+0BFF) and works on mobile, web, and desktop applications.&lt;br&gt;
The font is released under the SIL Open Font License, so anyone can:&lt;br&gt;
*Download&lt;br&gt;
*Use&lt;br&gt;
*Modify&lt;br&gt;
*Share the font freely&lt;br&gt;
The source files are available on GitHub, which helps designers learn Tamil font development.&lt;br&gt;
Noto Sans Tamil is widely used for:&lt;br&gt;
Tamil typing&lt;br&gt;
Graphic design&lt;br&gt;
Web fonts&lt;br&gt;
Unicode Tamil projects&lt;br&gt;
This font is a good starting point for beginners learning Tamil typography and open-source font creation.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>How to Convert Vector Letters into OTF (OpenType Font)</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Wed, 11 Feb 2026 15:46:33 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/how-to-convert-vector-letters-into-otf-opentype-font-4lf8</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/how-to-convert-vector-letters-into-otf-opentype-font-4lf8</guid>
      <description>&lt;p&gt;What Is OTF? &lt;br&gt;
OTF (OpenType Font)&lt;br&gt;
Supports advanced typography&lt;br&gt;
Works on Windows, macOS, Linux&lt;br&gt;
Is commonly used in design software (Photoshop, Illustrator, Word)&lt;br&gt;
OTF fonts store:&lt;br&gt;
Vector outlines of letters&lt;br&gt;
Spacing information&lt;br&gt;
Font metadata (name, style, author)&lt;br&gt;
1.Create Vector Letters Correctly&lt;br&gt;
Before FontForge, your vectors must be font-ready.&lt;br&gt;
Rules for Vector Letters:&lt;br&gt;
Use SVG or EPS&lt;br&gt;
One letter per file&lt;br&gt;
Paths must be:&lt;br&gt;
Clean (no strokes, only fills)&lt;br&gt;
No background rectangles&lt;br&gt;
2.Create a New Font in FontForge&lt;br&gt;
Open FontForge&lt;br&gt;
Click:&lt;br&gt;
File → New&lt;br&gt;
What you see now:&lt;br&gt;
A grid of empty boxes&lt;br&gt;
Each box = one character (glyph)&lt;br&gt;
For example:&lt;br&gt;
Slot “A” → Capital A&lt;br&gt;
Slot “a” → Small a&lt;br&gt;
This grid is how FontForge maps vector shapes → keyboard characters.&lt;br&gt;
3.Import Vector into a Glyph Slot&lt;br&gt;
Double-click on a letter slot (example: A)&lt;br&gt;
Go to:&lt;br&gt;
File → Import&lt;br&gt;
Select your SVG/EPS file&lt;br&gt;
Now your vector appears inside the glyph editor.&lt;br&gt;
4.Align and Scale the Letter &lt;br&gt;
Inside the glyph window you’ll see lines:&lt;/p&gt;

&lt;p&gt;Baseline → where letters sit&lt;br&gt;
Ascender → top limit&lt;br&gt;
Descender → bottom limit&lt;br&gt;
What You Must Do:&lt;br&gt;
         Scale the letter to fit naturally&lt;br&gt;
Place it correctly on the baseline&lt;br&gt;
Do NOT touch the top too much&lt;br&gt;
Why means:&lt;br&gt;
Incorrect alignment causes:&lt;br&gt;
Letters floating&lt;br&gt;
Uneven text&lt;br&gt;
Bad line spacing&lt;br&gt;
5.Generate OTF File&lt;br&gt;
Once all letters are imported:&lt;br&gt;
Go to:&lt;br&gt;
File → Generate Fonts&lt;br&gt;
Choose format:&lt;br&gt;
OpenType (CFF)&lt;br&gt;
Name your font&lt;br&gt;
Click Generate&lt;/p&gt;

&lt;p&gt;**How to Convert Vector Letters into WOFF (Web Open Font Format)&lt;br&gt;
What Is WOFF?&lt;br&gt;
WOFF (Web Open Font Format) is:&lt;br&gt;
A compressed font format&lt;br&gt;
Designed specifically for websites&lt;br&gt;
Supported by all modern browsers:&lt;br&gt;
Browsers cannot use SVG letters directly&lt;br&gt;
They need WOFF or WOFF2&lt;br&gt;
You do NOT convert SVG → WOFF directly&lt;br&gt;
You convert:&lt;br&gt;
Vector → Font (OTF/TTF) → WOFF&lt;br&gt;
FontForge handles this internally.&lt;br&gt;
1.Generate WOFF Using FontForge &lt;br&gt;
If your font project is already&lt;br&gt;
Go to:&lt;br&gt;
File → Generate Fonts&lt;br&gt;
Select:&lt;br&gt;
Web Open Font Format (WOFF)&lt;br&gt;
Click Generate&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>programming</category>
      <category>performance</category>
    </item>
    <item>
      <title>How to Turn Vector Letters Into a Font File</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Tue, 10 Feb 2026 13:56:24 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/how-to-turn-vector-letters-into-a-font-file-4b1d</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/how-to-turn-vector-letters-into-a-font-file-4b1d</guid>
      <description>&lt;p&gt;Vector letters into ttf(truetype font):&lt;br&gt;
      you can turn your vector letter designs into a working TrueType font using a free tool called FontForge.&lt;br&gt;
Need:&lt;br&gt;
Before you start, make sure you have:&lt;br&gt;
Vector letter designs (made in Illustrator, Inkscape, or any vector software)&lt;br&gt;
FontForge, a free and open-source font-making tool&lt;br&gt;
FontForge is where everything comes together it’s used to place your letters and export the final font file.&lt;br&gt;
Step-by-Step: Turning Letters Into a Font&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Prepare Your Vector Letters
First, design all your letters (A–Z, numbers, and symbols) as vectors.
Make sure that:
Your letters are vector shapes, not images
Everything is aligned, and sized properly
Each character is ready to copy on its own&lt;/li&gt;
&lt;li&gt;Open FontForge
Open FontForge and start a new font project.
You’ll see a grid filled with empty boxes. Each box represents a letter, number, or symbol in your font.&lt;/li&gt;
&lt;li&gt;Add Your Letters to FontForge
For each character:
Double-click the correct box (for example, the letter “A”)
Paste your vector letter inside
Adjust the size and position so it fits nicely
You’ll repeat this step for every letter. It’s a manual process, but it gives you full control.&lt;/li&gt;
&lt;li&gt;Set Up Your Font Details
Before exporting your font:
Give your font a name
Check spacing and alignment
Make sure no letters are overlapping or too small
These small details make a big difference when typing.&lt;/li&gt;
&lt;li&gt;Export Your Font
Once all letters are added:
Export the font as a .TTF file
Install it on your computer
Test it in your favorite design or text software&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>design</category>
      <category>opensource</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Font Creation Tools</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Tue, 10 Feb 2026 13:28:16 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/font-creation-tools-5h5l</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/font-creation-tools-5h5l</guid>
      <description>&lt;p&gt;Calligraphr:&lt;br&gt;
          An easy online tool that turns your handwritten text into a digital font.&lt;br&gt;
Features:&lt;br&gt;
*Converts handwritten text into digital fonts&lt;br&gt;
*Supports popular font formats such as TTF and OTF&lt;br&gt;
*Works directly in a web browser&lt;br&gt;
Drawbacks:&lt;br&gt;
*The free version supports only a limited number of characters&lt;br&gt;
*Advanced features are available only through a paid subscription&lt;br&gt;
*Offers limited control for complex or professional font design&lt;br&gt;
FontForge:&lt;br&gt;
         A powerful desktop application used to create and edit professional fonts in detail.&lt;br&gt;
Features:&lt;br&gt;
*Free and open-source software&lt;br&gt;
*Supports multiple font formats including TTF, OTF, SVG, and more&lt;br&gt;
*Allows detailed editing of individual glyphs&lt;br&gt;
*Available on Windows, macOS, and Linux&lt;br&gt;
Drawbacks:&lt;br&gt;
*Takes time to learn, especially for beginners&lt;br&gt;
*The interface can feel confusing at first&lt;br&gt;
*Needs patience and practice to use confidently&lt;br&gt;
What is a Font?&lt;br&gt;
           A font is a digital representation of characters with a specific design style.&lt;br&gt;
(letters, numbers, symbols, and punctuation)&lt;br&gt;
           Fonts define how text looks on a screen or when printed — including shape, thickness, spacing, and style.&lt;br&gt;
What Type of File Is a Font Stored?&lt;br&gt;
TTF (TrueType Font):&lt;br&gt;
              TTF is a widely supported font format developed by Apple and Microsoft. It is simple, reliable, and works well across all platforms. TTF fonts are commonly used for documents, basic designs, and handwritten fonts.&lt;br&gt;
OTF (OpenType Font):&lt;br&gt;
             OTF is an advanced font format developed by Adobe and Microsoft. It supports more features such as decorative characters and better language support. &lt;br&gt;
       OTF is preferred for professional typography and advanced font design.&lt;br&gt;
WOFF / WOFF2(Web Open Font Format):&lt;br&gt;
          WOFF and WOFF2 are used only on websites to make fonts load faster and look the same on all browsers.&lt;br&gt;
How Is a Handwritten Font Created?&lt;br&gt;
*Handwriting is written on paper or drawn digitally&lt;br&gt;
*Each character is scanned or digitized&lt;br&gt;
*Characters are converted into vector shapes&lt;br&gt;
*Glyphs are assigned to keyboard characters&lt;br&gt;
*Spacing and kerning are adjusted&lt;br&gt;
*Font is exported as TTF or OTF&lt;br&gt;
*Font is installed and tested&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>performance</category>
      <category>resources</category>
    </item>
    <item>
      <title>Learning Tech as an Intern</title>
      <dc:creator>ramya Thirunavukkarasu</dc:creator>
      <pubDate>Mon, 09 Feb 2026 09:47:22 +0000</pubDate>
      <link>https://dev.to/ramya_thirunavukkarasu_0a/learning-tech-as-an-intern-jp0</link>
      <guid>https://dev.to/ramya_thirunavukkarasu_0a/learning-tech-as-an-intern-jp0</guid>
      <description>&lt;p&gt;This blog is basically my tech notebook. I write about what I’m learning, what I’m working on. Most of it comes from my day-to-day work with code, projects I build. I’m learning in public and sharing the journey as it happens.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>python</category>
      <category>programming</category>
      <category>developer</category>
    </item>
  </channel>
</rss>
