Difference between revisions of "Indic Scripts"

From Wiki
Jump to navigation Jump to search
Line 92: Line 92:
 
* Bengali <code>bengalinumerals</code>
 
* Bengali <code>bengalinumerals</code>
 
for use as values of the keys  <code>numberconversion</code>, <code>conversion</code> and with {{cmd|convertnumber}}
 
for use as values of the keys  <code>numberconversion</code>, <code>conversion</code> and with {{cmd|convertnumber}}
 +
 +
= Sanskrit Transliteration =
 +
Transliteration of '''Sanskrit''' from IAST to Devanagari and vice-versa as well as from and to other Indic languages is available in ConTeXt. The following transliteration schemes are supported with more planned:
 +
{|
 +
!Transliteration Scheme
 +
!Vector
 +
|-
 +
|Devanagari to IAST
 +
|<code>deva to iast</code>
 +
|-
 +
|IAST to Devanagari
 +
|<code>iast to  deva</code>
 +
|-
 +
|Devanagari to Malayalam
 +
|<code>deva to mlym</code>
 +
|-
 +
|Malayalam to Devanagari
 +
|<code>mlym to deva</code>
 +
|-
 +
|Devanagari to Kannada
 +
|<code>deva to knda</code>
 +
|-
 +
|Kannada to Devanagari
 +
|<code>knda to deva</code>
 +
|-
 +
|Devanagari to Telugu
 +
|<code>deva to tlgu</code>
 +
|-
 +
|Telugu to Devanagari
 +
|<code>tlgu to deva</code>
 +
|-
 +
|Devanagari to Bengali
 +
|<code>deva to bngl</code>
 +
|-
 +
|Bengali to Devanagari
 +
|<code>bngl to deva</code>
 +
|}
 +
 +
The main macro to set up a transliteration is {{cmd|definetransliteration}}.
 +
 +
<texcode>
 +
\definetransliteration
 +
    [TrDevaToIAST]
 +
    [vector={deva to iast},
 +
    define=yes]
 +
</texcode>
 +
 +
The above defines a slew of macros for both inline and block transliteration:
 +
 +
<texcode>
 +
\starttext
 +
\starttransliteration[TrDevaToIAST]
 +
महाजनस्य संसर्गः कस्य नोन्नतिकारकः।
 +
पद्मपत्रस्थितं तोयं धत्ते मुक्ताफलश्रियम्॥
 +
\stoptransliteration
 +
\stoptext
 +
</texcode>

Revision as of 10:36, 26 January 2022


TODO: this page needs to be reviewed (See: To-Do List)


Basic Sample

A very basic sample with Indic scripts is the following:

%\definefontfamily [kannada] [rm] [Kedage] [features=kannada-one]
\definefontfamily [kannada] [ss] [Tunga] [features=kannada-one]

\definetypeface [kannada] [mm] [math] [modern]

\setupbodyfont [kannada]

\starttext
ಇದು ಹೇಗಿದೆ? ನಾನು ಹೀಗೆ ತುಂಬ ಬರೆಯಬೇಕೆಂದು ಯೋಚಿಸುತ್ತಿದ್ದೇನೆ.
\stoptext


Supported Scripts

The list of Indic scripts supported by ConTeXt MkIV and LMTX are:

  • Devanagari
  • Bengali
  • Gujarati
  • Gurmukhi
  • Kannada
  • Malayalam
  • Oriya
  • Tamil
  • Telugu

In order to get the proper OpenType features, you need to select the proper feature from the following list:

  • devanagari-one
  • bengali-one
  • gujarati-one
  • gurmukhi-one
  • kannada-one
  • malayalam-one
  • oriya-one
  • tamil-one
  • telugu-one

Depending on your font, you might need instead:

  • devanagari-two
  • bengali-two
  • gujarati-two
  • gurmukhi-two
  • kannada-two
  • malayalam-two
  • oriya-two
  • tamil-two
  • telugu-two

Script Versions

Script tags from the OpenType specification contains second versions for what might be some (or all [I’m afraid I don’t know]) Indic scripts.

Why are those second versions available? From their own explanation:

The OpenType script tags can also correlate with a particular OpenType Layout implementation, with the result that more than one script tag may be registered for a given Unicode script (e.g. 'deva' and 'dev2').

Features ending in -one use the older OpenType implementation, while the ones ending in -two deploy the newer implementation.

Hyphenation

The hyphenation patterns for the following languages are included in ConTeXt:

  • Sanskrit sa
  • Hindi hi
  • Kannada kn
  • Telugu te
  • Tamil ta
  • Malayalam ml
  • Bengali bn
  • Gujarati gr

A pattern is activated with \language. The Sanskrit hyphenation patterns support hyphenation of Sanskrit written using the Malayalam, Telugu, Kannada, Bengali and Latin with IAST.

Numbers and Conversion sets

The following number conversion sets are available:

  • Devanagari devanagarinumerals
  • Malayalam malayalamnumerals
  • Tamil tamilnumerals
  • Kannada kannadanumerals
  • Telugu telugunumerals
  • Bengali bengalinumerals

for use as values of the keys numberconversion, conversion and with \convertnumber

Sanskrit Transliteration

Transliteration of Sanskrit from IAST to Devanagari and vice-versa as well as from and to other Indic languages is available in ConTeXt. The following transliteration schemes are supported with more planned:

Transliteration Scheme Vector
Devanagari to IAST deva to iast
IAST to Devanagari iast to deva
Devanagari to Malayalam deva to mlym
Malayalam to Devanagari mlym to deva
Devanagari to Kannada deva to knda
Kannada to Devanagari knda to deva
Devanagari to Telugu deva to tlgu
Telugu to Devanagari tlgu to deva
Devanagari to Bengali deva to bngl
Bengali to Devanagari bngl to deva

The main macro to set up a transliteration is \definetransliteration.

\definetransliteration
    [TrDevaToIAST]
    [vector={deva to iast},
     define=yes]

The above defines a slew of macros for both inline and block transliteration:

\starttext
\starttransliteration[TrDevaToIAST]
महाजनस्य संसर्गः कस्य नोन्नतिकारकः।
पद्मपत्रस्थितं तोयं धत्ते मुक्ताफलश्रियम्॥
\stoptransliteration
\stoptext