To Shruti Converter — Harikrishna Font

Problem: Even after conversion, Word shows "Harikrishna" as the font name.
Solution: Select all text and manually change the font to Shruti. Conversion changes encoding, not the font tag.


A Harikrishna→Shruti converter transliterates text encoded in the legacy Harikrishna (Kruti Dev-like) Devanagari font encoding into Unicode Devanagari using the Shruti font (which uses standard Unicode Devanagari code points). This is useful for converting old documents typed in legacy fonts into modern, interoperable Unicode text.

If you have a large database or want to automate this, here is a Python script using the fonttools library or a manual mapping dictionary.

Note: Harikrishna mapping varies by specific version (Harikrishna, Harikrishna Plus, etc.). This script uses a generalized mapping logic. harikrishna font to shruti converter

def convert_harikrishna_to_shruti(text):
    # This is a simplified mapping dictionary.
    # Harikrishna maps English keyboard keys to Gujarati glyphs.
    # Shruti uses standard Unicode.
mapping = 
        # Vowels
        'a': 'અ', 'A': 'આ', 'i': 'ઇ', 'I': 'ઈ', 'u': 'ઉ', 'U': 'ઊ',
        'e': 'એ', 'E': 'ઐ', 'o': 'ઓ', 'O': 'ઔ',
# Consonants
        'k': 'ક', 'K': 'ખ', 'g': 'ગ', 'G': 'ઘ', 'c': 'ચ', 'C': 'છ',
        'j': 'જ', 'J': 'ઝ', 'T': 'ટ', 't': 'ત', 'D': 'ડ', 'd': 'દ',
        'N': 'ણ', 'n': 'ન', 'p': 'પ', 'P': 'ફ', 'b': 'બ', 'B': 'ભ',
        'm': 'મ', 'y': 'ય', 'r': 'ર', 'l': 'લ', 'L': 'ળ', 'v': 'વ',
        's': 'સ', 'S': 'શ', 'h': 'હ',
# Matras (Vowel Signs) - Usually shift keys in legacy fonts
        'q': 'ા', 'w': 'િ', 'W': 'ી', 'x': 'ુ', 'X': 'ૂ',
        'z': 'ે', 'Z': 'ૈ', 'v': 'ો', 'V': 'ૌ', 'f': '્', # Halant/Virama
# Numbers
        '0': '૦', '1': '૧', '2': '૨', '3': '૩', '4': '૪',
        '5': '૫', '6': '૬', '7': '૭', '8': '૮', '9': '૯',
# Special Characters
        'f': '્', # Halant (often used to join consonants)
        ']': 'ં',  # Anusvara
        '\\': 'ઃ', # Visarga
converted_text = ""
    for char in text:
        # Check if character is in mapping, else keep original
        converted_text += mapping.get(char, char)
return converted_text
# Example Usage
# Input text is usually what you see when you type in Harikrishna 
# (e.g., typing 'k' produces 'ક' in Harikrishna, but in ASCII it is stored as 'k')
legacy_text = "kmM"  # Example: This would look like "કમ્" in Harikrishna font
unicode_text = convert_harikrishna_to_shruti(legacy_text)
print(f"Original (Legacy): legacy_text")
print(f"Converted (Shruti/Unicode): unicode_text")
# Output should be readable Gujarati in Shruti font.

There are three primary methods, ranging from online tools to professional software.

If you are correcting text manually, you need to know which key corresponds to which Gujarati letter in the Shruti (Unicode) standard versus the Harikrishna layout.

| Key | Harikrishna (Visual) | Shruti (Unicode) | | :--- | :--- | :--- | | a | અ | અ | | A | આ | આ | | i | ઇ | ઇ | | u | ઉ | ઉ | | k | ક | ક | | K | ખ | ખ | | g | ગ | ગ | | c | ચ | ચ | | j | જ | જ | | t | ત | ત | | T | ટ | ટ | | d | દ | દ | | D | ડ | ડ | | n | ન | ન | | p | પ | પ | | m | મ | મ | | y | ય | ય | | r | ર | ર | | l | લ | લ | | v | વ | વ | | s | સ | સ | | h | હ | હ | | [ | ળ | ળ | | ] | ં | ં | | f | ્ (Halant) | ્ (Halant) | Problem: Even after conversion, Word shows "Harikrishna" as

Problem: Converted text shows English digits instead of Gujarati digits.
Solution: After conversion, use find-replace to change 1→૧, 2→૨, etc., or choose a converter with number mapping options.

You can theoretically use Windows Character Map to manually replace each Harikrishna character with its Shruti equivalent. But with over 200 characters and conjuncts, this is impractical for anything beyond a single sentence.


In the realm of Gujarati digital typography, two names have historically dominated the landscape: Harikrishna and Shruti. For years, these fonts have been the backbone of countless documents, newspapers, and literary works. However, as technology evolves, so do compatibility standards. The once-ubiquitous Harikrishna font has become a major obstacle in modern computing, leading to an urgent need for reliable conversion tools. There are three primary methods, ranging from online

If you have an old document saved in the Harikrishna font and need to open it on a new device, a website, or a standard word processor, you’ve likely encountered the dreaded "garbage text" or "unreadable boxes" problem. This is where a Harikrishna font to Shruti converter becomes essential.

In this comprehensive article, we will explore what these fonts are, why conversion is necessary, how the tools work, and step-by-step methods to convert your files successfully.


Scroll to Top