Two years ago I asked already a similar question, but couln't find a solution: here.
How can I extend this map with the Unicode U+1CDA Vedic tone double svarita? I tried but did not succeed:
; TECkit mapping for ITRANS input scheme for writing Unicode IAST (0000-200D)
; by Abhinandan S.P. <abhinandan.sp@iiitb.net> and Shrisha Rao <shrao@acm.org>,
; based on harvardkyoto.map written by Daniel Stender.
;
; Updated 2014-09-01
LHSName "itrans-iast"
RHSName "Unicode"
LHSDescription "Devanagari-ITRANS input method for Unicode Roman (IAST)"
Version "2.00"
Define dot U+002E
Define a U+0061
Define A U+0041
Define i U+0069
Define I U+0049
Define u U+0075
Define U U+0055
Define R U+0052
Define L U+004C
Define e U+0065
Define E U+0045
Define o U+006F
Define H U+0048
Define k U+006B
Define h U+0068
Define g U+0067
Define G U+0047
Define c U+0063
Define C U+0043
Define j U+006A
Define J U+004A
Define T U+0054
Define D U+0044
Define N U+004E
Define t U+0074
Define d U+0064
Define n U+006E
Define p U+0070
Define b U+0062
Define m U+006D
Define y U+0079
Define r U+0072
Define l U+006C
Define v U+0076
Define w U+0077
Define z U+007A
Define S U+0053
Define s U+0073
Define Y U+0059
Define O U+004F
Define anudatta U+002D ; -
Define svarita U+0021 ; !
Define dsvar U+003F
Define tlde U+007E
Define cret U+005E
Define M U+004D
Define q U+0071
Define f U+0066
Define x U+0078
Define zwj U+200D
Define zwn U+200C
Define anunasika U+0901
Define anusvara U+0C82
Define visarga U+0C83
Define vstroke U+0951
Define hstroke U+0952
Define dstroke U+1CDA
Define mdot U+1E43
Define ndot U+1E47
Define ntilde U+00F1
Define tdot U+1E6D
Define ddot U+1E0D
Define ndota U+1E45
Define sacute U+015B
Define sdot U+1E63
Define lbelow U+1E3B
Define ldot U+1E37
Define asvara a
Define Asvara U+0101
Define isvara i
Define Isvara U+012B
Define usvara u
Define Usvara U+016B
Define rvoc U+1E5B
Define Rvoc U+1E5D
Define lvoc U+1E37
Define Lvoc U+1E38
Define Esvara e
Define aisvara a i
Define Osvara o
Define ausvara a u
Define ka k
Define kha k h
Define ga g
Define gha g h
Define Ga ndota
Define cha c
Define Cha c h
Define ja j
Define jha j h
Define Ja ntilde
Define Ta tdot
Define Tha tdot h
Define Da ddot
Define Dha ddot h
Define Na ndot
Define ta t
Define tha t h
Define da d
Define dha d h
Define na n
Define pa p
Define pha p h
Define ba b
Define bha b h
Define ma m
Define ya y
Define ra r
Define la l
Define va v
;Define wa U+0CB5
Define sha sacute
Define Sha sdot
Define sa s
Define ha h
Define rla ldot
Define danda U+0964
Define ddanda U+0965
;Define U+0CCD
Define avagraha U+2019
Define lcb U+007B
Define rcb U+007D
Define zero U+0CE6
Define cbindu U+0901
Define ksha ka Sha
pass(Unicode)
a > asvara
a a > Asvara
A > Asvara
i > isvara
i i > Isvara
I > Isvara
u > usvara
u u > Usvara
U > Usvara
R R i > rvoc
R cret i > rvoc
R R I > Rvoc
R cret I > Rvoc
L L i > lvoc
L cret i > lvoc
L L I > Lvoc
L cret I > Lvoc
e > Esvara
a i > aisvara
a M > a mdot
o > Osvara
o o > Osvara
O > Osvara
a u > ausvara
a dot N > a m cbindu
k > ka
k h > kha
k dot h > ka
k x > ka ksha
k h dot h > kha
k h x > kha ksha
g > ga
g dot h > ga
g x > ga ksha
g a dot n > ga anusvara
g h > gha
g h dot h > gha
g h x > gha ksha
tlde N > Ga
N cret > Ga
N tlde > Ga
G G > Ga
tlde N dot h > Ga
N cret dot h > Ga
tlde N x > Ga ksha
N cret dot h > Ga
;N cret x > zero ksha
;N cret g > zero ga
;N cret g h > zero gha
n g > na ga
c > cha
c h > cha
c h h > Cha
;c h dot h > cha
;c h x > Cha ksha
;c h h x > Cha ksha
C h > Cha
C h x > Cha ksha
;C h dot h > Cha
;c h h dot h > Cha
j > ja
j dot h > ja
j x > ja ksha
j h > jha
j h x > jha ksha
j h dot h > jha
tlde n > ntilde
tlde n a > Ja
tlde n x > Ja ksha
tlde n dot h > Ja
J N > Ja
J N x > Ja ksha
T > Ta
T x > Ta ksha
T dot h > Ta
T h > Tha
T h dot h > Tha
T h x > Tha ksha
D > Da
D x > Da ksha
D dot h > Da
D h > Dha
D h dot h > Dha
D h x > Dha ksha
N > Na
N dot h > Na
N x > Na ksha
;N N > Na Na
t > ta
t dot h > ta
t x > ta ksha
t h > tha
t h x > tha ksha
t h dot h > tha
d > da
d x > da ksha
d dot h > da
d h > dha
d h x > dha ksha
d h dot h > dha
n > na
n x > na ksha
n dot h > na
p > pa
p x > pa ksha
p dot h > pa
p h x > pha ksha
p h dot h > pha
b > ba
b x > ba ksha
b dot h > ba
b h > bha
b h x > bha ksha
b h dot h > bha
m > ma
m dot h > ma
m x > ma ksha
y > ya
y dot h > ya
y x > ya ksha
r > ra
r x > ra ksha
r dot h > ra
l > la
l x > la ksha
L > rla
L x > rla ksha
l dot h > la
L dot h > rla
v > va
v x > va ksha
v dot h > va
w > va
w x > va ksha
w dot h > va
s h > sha
s h x > sha ksha
s h dot h > sha
s h h > Sha
s h h x > Sha ksha
s h h dot h > Sha
S h > Sha
S h x > Sha ksha
S h dot h > Sha
s > sa
s x > sa ksha
s dot h > sa
h > ha
h x > ha ksha
h dot h > ha
N cret x > zero ksha
x > ksha
x dot h > ksha
k S h > ksha
k S h dot h > ksha
G Y > ja Ja
j tlde n > ja Ja
v a cret cret r > va ra
m lcb rcb > ma
lcb rcb > zwn
H > U+1E25
M > mdot
dot n > mdot
L > ldot
;dot m > anunasika
;U+004D > anusvara
;U+0029 M > U+0029 U+0CE6
;dot a M > avagraha zero
;dot n > anusvara
;U+0048 > visarga
dot a > avagraha
dot a lcb rcb > avagraha
;dot a N cret > avagraha U+0CE6
;U+002C >
;dot N > na
svarita > vstroke
anudatta > hstroke
dsvar > dstroke
;U+002F dot > dot
;U+007C > danda
;U+007C U+007C > ddanda
;U+002D > U+002D
;U+005C dot > dot
;U+0022 > U+201D
;U+0027 > U+0027
;U+0028 > U+0028
;U+0029 > U+0029
;U+0060 > U+2018
;U+0060 U+0060 > U+201C
;U+0030 > U+0CE6 ; Numerals
;U+0031 > U+0CE7
;U+0032 > U+0CE8
;U+0033 > U+0CE9
;U+0034 > U+0CEA
;U+0035 > U+0CEB
;U+0036 > U+0CEC
;U+0037 > U+0CED
;U+0038 > U+0CEE
;U+0039 > U+0CEF
;pass(Unicode)
;UniClass [vyanjana] = (ka..dha pha..ba ra..la)
;UniClass [mvyanjana] = (pa ba bha)
;UniClass [svara] = (Asvara isvara Isvara usvara Usvara rvoc Rvoc lvoc Esvara aisvara Osvara ausvara)
;UniClass [matra] = (Amatra imatra Imatra umatra Umatra rmatra Rmatra lmatra Ematra aimatra Omatra aumatra)
;UniClass [naletter] = (na)
;UniClass [anusvaraletter] = (zero)
;UniClass [avaletter] = (avagraha)
;UniClass [maletter] = (ma)
;UniClass [Naletter] = (Na)
;UniClass [galetter] = (Ga)
;UniClass [jaletter] = (Ja)
;UniClass [osvaraletter] = (Osvara)
;UniClass [omatra] = (Omatra)
;UniClass [vletter] = ( )
;[naletter] [vyanjana] > [anusvaraletter] [vyanjana]
;[maletter] [mvyanjana] > [anusvaraletter] [mvyanjana]
;[maletter] [maletter] [osvaraletter] > [anusvaraletter] [maletter] [omatra]
;[galetter] [vyanjana] > [anusvaraletter] [vyanjana]
;[jaletter] [vyanjana] > [anusvaraletter] [vyanjana]
;[Naletter] [vyanjana] > [anusvaraletter] [vyanjana]
;[anusvaraletter] [vyanjana] [svara] > [anusvaraletter] [vyanjana][matra]
;pass(Unicode)
;UniClass [vyanjana] = (ka .. ha rla)
;UniClass [svara] = (Asvara isvara Isvara usvara Usvara rvoc Rvoc lvoc Esvara aisvara Osvara ausvara)
;UniClass [matra] = (Amatra imatra Imatra umatra Umatra rmatra Rmatra lmatra Ematra aimatra Omatra aumatra)
;[vyanjana] [svara] > [vyanjana] [matra]
;pass(Unicode)
;UniClass [vyanjana] = (ka .. ha)
;[vyanjana]=v1 [vyanjana]=v2 > @v1 @v2
;pass(Unicode)
;UniClass [vyanjana] = (ka .. ha)
;[vyanjana]=v1 [vyanjana]=v2 > @v1 @v2
;pass(Unicode)
;Uniclass [vyanjana] = (ka .. ha rla)
;[vyanjana] asvara > [vyanjana]
These were my addings:
Define dsvar U+003F
Define dstroke U+1CDA
dsvar > dstroke
And this the code I use:
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage[parfill]{parskip}
\newfontfamily\textskt{Sanskrit2003}
\newfontfamily\textiast[Mapping=itrans-iast]{Sanskrit2003}
\newcommand\devtext{
\fontspec[Script=Devanagari,Mapping=itrans-dvn]{Sanskrit2003}}
\newcommand\iast{
\fontspec[Script=Greek,Mapping=itrans-iast]{Sanskrit2003}}
\newcommand{\Paragraph}[1]{\devtext{#1}
\par\medskip
{\iast{#1}}}
\begin{document}
\Paragraph{nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH. \\
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H}
\end{document}
And in the existing map there is no ligature existing between svarita, anudatta and visarga. After rendering it looks like this नम॑◌ः
I would be very happy for any suggestions how to extend that file.











~and^will have no effect in\Paragraphyou will get a missing math mode error if you use^in that argument. – David Carlisle Dec 31 '19 at 10:33dev2font feature, handles the font shaping better for these accents. – Cicada Dec 31 '19 at 11:29dsvaras?, yet it is not used in the code, as far as I can see. – Cicada Dec 31 '19 at 11:30;is the comment character, just like%is the comment character in tex files. In your mapping file, is there a reason most of it is commented out? The way it is set up, it requires multiple Unicode passes to resolve all the mappings and classes of mappings, yet most of them are commented out. Is it intended to be a test map file for double svarita only? – Cicada Jan 01 '20 at 00:17