
Какие входные данные используются для создания анудатты, сварита и «двойной сварита» в деванагари и скрипте IAST?
Анудатта и сварита для деванагари Я узнал:
"-" для анудатта
"!" для сварита.
Но остались следующие вопросы:
как пишется «double-svarita» на языке деванагари?
для Itrans эти входы не работают, что там выбрать?
Я использую следующий шрифт. Я хочу поставить вышеупомянутые акценты (анудатта, сварита и двойная сварита) на деванагари и IAST. Если у вас также есть предложения по лучшей компоновке, дайте мне знать.
\documentclass[a4paper,12pt]{article}
\usepackage{ifxetex}
\RequireXeTeX
\usepackage{xltxtra}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont[Script=Devanagari,Mapping=../tec/iast]{Sanskrit2003}
\setlength{\parindent}{0mm}
\newcommand\devtext{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Devanagari,Mapping=itrans-dvn]{Sanskrit2003}}
\newcommand\iast{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Greek,Mapping=itrans-iast]{Linux Libertine O}}
\begin{document}
{\devtext
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
{\iast
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
\end{document}
решение1
Вопрос касается (TECkit) «Mapping» iast
, подобных itrans-dvn
тем itrans-iast
, которые включены в дистрибутивы TeX. (Например, внутри, /usr/local/texlive/2017/texmf-dist/fonts/misc/xetex/fontmapping/
если вы используете MacTeX-2017.)
Короткий ответ заключается в том, что хотя некоторые из этих отображений содержат способы получить U+0951 DEVANAGARI STRESS SIGN UDATTA
и U+0952 DEVANAGARI STRESS SIGN ANUDATTA
, ни одно из этих отображений не содержит ничего для double-svarita (я полагаю, вы имеете в виду U+1CDA VEDIC TONE DOUBLE SVARITA
). Так что если вам настоятельно необходимо использовать отображения, вам придется
- отредактируйте
.map
включенные туда файлы (или добавьте новый) и - запустить
teckit_compile
файл ,.map
чтобы сгенерировать.tec
файл,
и тогда вы сможете его использовать.
По моему мнению, гораздо лучше, чем использовать эти сопоставления, напрямую вводить символы деванагари в файл .tex
. Существуют различные программы и веб-сайты, упрощающие ввод символов деванагари, от методов ввода до транслитераторов, из которых можно копировать деванагари. Было бы предпочтительнее использовать один из них и оставить проблему ввода-транслитерации за пределами TeX.
решение2
Самый простой\быстрый способ — создать макросы для акцентов и тонов, использовать макросы в коде latex, они пройдут процесс сопоставления без изменений, поскольку файлы сопоставления ничего не знают о тонах. Но обратите внимание: файл сопоставления deva нужно подправить (я не знаю как (пока)).
(A) Чтобы ответить на поставленный вопрос, (1) измените шрифт на тот, который имеет double svarita
, например Shobhika Regular
; (2) добавьте двойную свариту напрямую: скопируйте и вставьте глиф ᳚ из таблицы символов, например; или вставьте глиф напрямую через его номер кодовой точки ( ^^^^1cda
), как здесь, внутри схемы транслитерации: nama!ste^^^^1cda
.
(Б) Чтобы ответить на другой вопрос, который возникнет:
Файл сопоставления требует доработки.
नम॑ः работает нормально вне среды транслитерационного отображения
но не внутри него:
Отображение itrans-dvn
сворачивает перекрывающиеся наборы классов строк глифов друг в друга в определенной последовательности и, предположительно, изолирует их от правильного присоединения последующих глифов. (Это связано с регулярными выражениями. Мне потребуется некоторое время (для меня!), чтобы разобраться.) (Кроме того, я заметил, что мой браузер и эта страница тоже не формируют их правильно.)
Для транслитерированного текста itrans-iast
сопоставление определяет входной псевдоним для svarita и anudatta, а именно !
и -
:
Define anudatta U+002D ; -
Define svarita U+0021 ; !
но ничего с ними не делает. Итак: сделайте копию itrans-iast.map
в месте, где TeX сможет ее найти (например, в вашей текущей папке). Назовите файл itrans-iast2.map
и добавьте эти две строки после первой pass(Unicode)
строки в файле:
pass(Unicode)
svarita > U+0951
anudatta > U+0952
Затем скомпилируйте с помощью Teckit_compile itrans-iast2
для создания itrans-iast2.tec
бинарного файла. Затем перейдите в ваш код latex и измените его Mapping=itrans-iast
на Mapping=itrans-iast2
.
(В качестве альтернативы вы также можете ввести их напрямую: nama^^^^0951ste^^^^1cda astu^^^^0952 dhanva^^^^0951ne bA^^^^0952hubhyA^^^^0951mu^^^^0952ta te^^^^0952nama^^^^0951^^^^0903
. Или использовать макросы в качестве сочетаний клавиш.
Определите их как:
\newcommand\svarita{^^^^0951}
\newcommand\anudatta{^^^^0952}
\newcommand\doublesvarita{^^^^1cda}
и используйте их следующим образом, соблюдая осторожность с пробелами:
\Paragraph{nama\svarita ste\doublesvarita\ rudra ma\anudatta nyava\svarita\ u\anudatta tota\anudatta\ iSha\svarita ve\anudatta\ namaH. \\
nama\svarita ste\doublesvarita\ astu\anudatta\ dhanva\svarita ne bA\anudatta hubhyA\svarita mu\anudatta ta te\anudatta\ nama\svarita H}
МВЭ
\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{fontspec}
\newcommand\mysktfont{Shobhika Regular}
\newfontface\fplain{\mysktfont}% no mapping
\newcommand\devtext{
\fontspec[Script=Devanagari,Mapping=itrans-dvn2]{\mysktfont}}%mapping transliteration to Devanagari
\newcommand\iast{
\fontspec[Mapping=itrans-iast2]{\mysktfont}} %mapping transliteration to IAST transliteration scheme
\newcommand{\Paragraph}[1]{\devtext{#1}
\par\medskip
{\iast{#1}}}
\begin{document}
\fplain
नम॑ः
\Paragraph{
nama!ste^^^^1cda rudra ma-nyava! u-tota- iSha!ve- namaH. \\
nama!ste^^^^1cda astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H
}
\end{document}
ВопросРасширение файла .map с помощью ведического тона U+1CDA двойной сваритаотносится.