<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>transliteration on
A Scripter's Notes</title><link>https://scripter.co/tags/transliteration/</link><description>Recent content in transliteration
on A Scripter's Notes</description><language>en-us</language><managingEditor>kaushal.modi@gmail.com (Kaushal Modi)</managingEditor><webMaster>kaushal.modi@gmail.com (Kaushal Modi)</webMaster><lastBuildDate>Wed, 22 Apr 2026 08:24:58 -0400</lastBuildDate><generator>Hugo -- gohugo.io</generator><docs>https://validator.w3.org/feed/docs/rss2.html</docs><atom:link href="https://scripter.co/tags/transliteration/index.xml" rel="self" type="application/rss+xml"/><item><title>Gujarati Transliteration</title><link>https://scripter.co/gujarati-transliteration/</link><description>&lt;blockquote>You can phonetically write a non-English language on an English
keyword in Emacs, and that transforms into that non-English
script. This is called &lt;a href="https://en.wikipedia.org/wiki/Transliteration">&lt;em>transliteration&lt;/em>&lt;/a>, and I demonstrate that for
the Gujarati language in this post.&lt;/blockquote>&lt;div class="ox-hugo-toc toc">
&lt;div class="heading">Table of Contents&lt;/div>
&lt;ul>
&lt;li>&lt;a href="#enabling-transliteration">Enabling transliteration&lt;/a>&lt;/li>
&lt;li>&lt;a href="#toggling-the-input-method">Toggling the input method&lt;/a>&lt;/li>
&lt;li>&lt;a href="#caveats-with-gujarati-and-other-indic-language-transliteration">Caveats with Gujarati and other Indic language transliteration&lt;/a>&lt;/li>
&lt;li>&lt;a href="#input-method-cheat-sheet">&amp;ldquo;Input method&amp;rdquo; cheat sheet&lt;/a>&lt;/li>
&lt;li>&lt;a href="#closing">Closing&lt;/a>&lt;/li>
&lt;li>&lt;a href="#gujarati-transliteration-references">References&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;!--endtoc-->
&lt;p>Emacs provides the transliteration feature using the
&lt;strong>set-input-method&lt;/strong> command. I&amp;rsquo;ll introduce that and few related
functions in this post to get to help get started with transliteration
quickly.&lt;/p>
&lt;h2 id="enabling-transliteration">Enabling transliteration&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#enabling-transliteration">#&lt;/a>&lt;/h2>
&lt;p>Emacs uses the &amp;ldquo;input method&amp;rdquo; feature to do character conversion from
ASCII to the target language or script. The &amp;ldquo;input method&amp;rdquo;, stored in
&lt;code>current-input-method&lt;/code>, is &lt;em>nil&lt;/em> by default. In this state, you see
the exact ASCII in Emacs buffer, that you typed on the
keyboard&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>.&lt;/p>
&lt;p>In this post, my target non-English language is &lt;a href="https://en.wikipedia.org/wiki/Gujarati_language">Gujarati&lt;/a>. So I want to
type on my English keyboard and have Gujarati script letters show up
in the buffer.&lt;/p>
&lt;p>Emacs provides the &lt;code>set-input-method&lt;/code> command to change the &lt;em>current
input method&lt;/em>. This command is bound to &lt;kbd>C-x&lt;/kbd> &lt;kbd>RET&lt;/kbd>
&lt;kbd>C-\&lt;/kbd> by default. Pick the new input method after calling
that command.&lt;/p>
&lt;div class="note">
&lt;p>To see the available input methods, do &lt;code>M-x list-input-methods&lt;/code>.&lt;/p>
&lt;/div>
&lt;p>As I want to do Gujarati transliteration, I pick the &lt;code>gujarati-itrans&lt;/code>
method.&lt;/p>
&lt;p>If you don&amp;rsquo;t know Gujarati, don&amp;rsquo;t fret! The commands shown here will
work when transliterating to other languages too &amp;mdash; only the
Gujarati-specific &lt;em>input method&lt;/em> &lt;code>gujarati-itrans&lt;/code> will change to the
input method of your choice.&lt;/p>
&lt;h2 id="toggling-the-input-method">Toggling the input method&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#toggling-the-input-method">#&lt;/a>&lt;/h2>
&lt;p>I often need to switch between the Gujarati and English languages in
the same document. You can see me doing that in this post next section
onwards. The &lt;code>toggle-input-method&lt;/code> command bound by default to
&lt;kbd>C-\&lt;/kbd> is helpful here.&lt;/p>
&lt;p>So if I am already in the &amp;ldquo;Gujarati transliteration mode&amp;rdquo; calling this
command will set &lt;code>current-input-method&lt;/code> back to &lt;em>nil&lt;/em>. Repeating that
same call will again set &lt;code>current-input-method&lt;/code> to &lt;code>gujarati-itrans&lt;/code>,
and I will once again be in the &amp;ldquo;Gujarati transliteration mode&amp;rdquo;.&lt;/p>
&lt;h2 id="caveats-with-gujarati-and-other-indic-language-transliteration">Caveats with Gujarati and other Indic language transliteration&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#caveats-with-gujarati-and-other-indic-language-transliteration">#&lt;/a>&lt;/h2>
&lt;p>Apologies, but this section is meaningful only if you know how to read
Gujarati. So you can safely skip to the next section.&lt;/p>
&lt;p>Below table is a quick glimpse of some nuances in Gujarati
transliteration. I will save my explanation and instead show some of
the mistakes I made in transliteration using examples.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>ASCII input&lt;/th>
&lt;th>Gujarati Transliteration&lt;/th>
&lt;th>Rough Translation&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;em>ram&lt;/em>&lt;/td>
&lt;td>રમ્&lt;/td>
&lt;td>(incorrect spelling, no meaning)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>rama&lt;/em>&lt;/td>
&lt;td>રમ&lt;/td>
&lt;td>play&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>raama&lt;/em>&lt;/td>
&lt;td>રામ&lt;/td>
&lt;td>a popular name Raama (as in Lord Raama)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>angreji&lt;/em>&lt;/td>
&lt;td>અન્ગ્રેજિ&lt;/td>
&lt;td>(incorrect spelling)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>hu.n&lt;/em>&lt;/td>
&lt;td>હું&lt;/td>
&lt;td>I&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>chhu.n&lt;/em>&lt;/td>
&lt;td>છું&lt;/td>
&lt;td>am&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>a.ngrejii&lt;/em>&lt;/td>
&lt;td>અંગ્રેજી&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/td>
&lt;td>English (language)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;em>Ime.cksa&lt;/em>&lt;/td>
&lt;td>ઈમૅક્સ&lt;/td>
&lt;td>this literally reads &amp;ldquo;Emacs&amp;rdquo;&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="input-method-cheat-sheet">&amp;ldquo;Input method&amp;rdquo; cheat sheet&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#input-method-cheat-sheet">#&lt;/a>&lt;/h2>
&lt;p>Thankfully Emacs provides full help through the
&lt;code>describe-input-method&lt;/code> command bound to &lt;kbd>C-h&lt;/kbd>
&lt;kbd>C-\&lt;/kbd>
&lt;span class="sidenote-number">&lt;small class="sidenote">
If you haven&amp;rsquo;t already noticed the consistency in these bindings, the
default bindings with &lt;kbd>C-\&lt;/kbd> in them are related to &amp;ldquo;input
method&amp;rdquo; commands.
&lt;/small>&lt;/span>
by default.&lt;/p>
&lt;p>For example, &lt;code>M-x describe-input-method gujarati-itrans&lt;/code> gives this:&lt;/p>
&lt;p>&lt;a id="figure--gujarati-itrans-help">&lt;/a>&lt;/p>
&lt;figure>
&lt;a href="gujarati-itrans-help.png">
&lt;img src="https://scripter.co/gujarati-transliteration/gujarati-itrans-help.png" alt="Figure 1: Partial screen capture of Gujarati transliteration cheat sheet C-h C- gujarati-itrans"/> &lt;/a>&lt;figcaption>
&lt;p>
&lt;span class="figure-number">Figure 1: &lt;/span>Partial screen capture of Gujarati transliteration cheat sheet &lt;code>C-h C- gujarati-itrans&lt;/code>
&lt;/p>
&lt;/figcaption>&lt;/figure>
&lt;p>The ∗Help∗ that shows up looks formidable at the first glance. Though,
I found comfort in the fact that roughly half of the key sequences
were obvious and roughly half resulted in Gujarati characters that I
have never found the need of! 😃&lt;/p>
&lt;h2 id="closing">Closing&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#closing">#&lt;/a>&lt;/h2>
&lt;p>Typing this in the &amp;ldquo;transliteration mode&amp;rdquo;:&lt;/p>
&lt;blockquote>
&lt;p>maaru naama kaushala chhe. mane e jaaNii ne aana.nda thaaya chhe ke
hu.n aa sahelaaI thI lakhI shaku chhu.n. (joDanI-bhula maapha.)&lt;/p>
&lt;/blockquote>
&lt;p>will result in:&lt;/p>
&lt;p>મારુ નામ કૌશલ છે. મને એ જાણી ને આનંદ થાય છે કે હું આ સહેલાઈ થી લખી શકુ
છું. (જોડણી-ભુલ માફ.)&lt;/p>
&lt;p>&lt;em>Translation: My name is Kaushal. I am happy knowing that I can write
this easily.&lt;/em>&lt;/p>
&lt;h2 id="gujarati-transliteration-references">References&amp;nbsp;&lt;a class="headline-hash no-text-decoration" href="#gujarati-transliteration-references">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Input-Methods.html" title="Emacs Lisp: (info &amp;quot;(emacs) Input Methods&amp;quot;)">Emacs Info: Input Methods&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Select-Input-Method.html" title="Emacs Lisp: (info &amp;quot;(emacs) Select Input Method&amp;quot;)">Emacs Info: Select Input Method&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;code>M-x describe-input-method gujarati-itrans&lt;/code>&lt;/li>
&lt;/ul>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>I am assuming an English keyboard here.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>This spelling might still render incorrectly on your browser
depending on the unicode character set available for Gujarati on your
system.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description><author>Kaushal.Modi@fakeEmailToMakeValidatorHappy.com (Kaushal Modi)</author><category domain="https://scripter.co/categories/emacs">emacs</category><category domain="https://scripter.co/series/gujarati-in-emacs">Gujarati in Emacs</category><category domain="https://scripter.co/tags/gujarati">gujarati</category><category domain="https://scripter.co/tags/transliteration">transliteration</category><category domain="https://scripter.co/tags/100daystooffload">100DaysToOffload</category><guid>https://scripter.co/gujarati-transliteration/</guid><pubDate>Mon, 27 Jun 2022 18:43:00 -0400</pubDate></item></channel></rss>