1

I am working with Manchu script in MonTeX (mls) and am wondering if there is a way to display the "round a" without any written form before it. "Round a" referring to the "a" found at the end of words just after a "b" or "p", or the leftwards stroke at the end of an isolate "e"? Is there any way to search this up in MonTeX?

3
  • To clarify: you mean ᠊ᠠ᠋? If so, for anyone trying to help: that would be a combination of unicode characters 0x1820 0x180B. Sep 10 '19 at 8:06
  • 1
    @LokiRagnarok, 0x180B is a variation selector. None of my Mongolian fonts has that glyph. Interesting.
    – Cicada
    Sep 10 '19 at 15:17
  • @@LokiRagnarok, From the documentation: The reason is they are non-printable. FVS1 is programmed, ligatures are done in MetaFont (seems Mongolian only, not Manju), display representation is \textmongolianfreevariationselectorone. FVS2 does nothing. To 'see' FVS1, issue \ShowSpecialMLStrue and then a \PrettyMLS{ba'dmi}}, where ' is the FVS1 input (it is not synchronized with the ligatures, though, from what I have tried.
    – Cicada
    Sep 11 '19 at 13:11
5

Documentation (p 58) says non-final vowel (in Manju) is entered as vowel+*, which gives this table:

be

Is that what you mean?

MWE:

\documentclass{article}
\usepackage{mls}
\begin{document}
\begin{tabular}{cccc}
\ & \ & \huge b & {\Huge \mabosoo{b}} \\
\ & \ & \ & \ \\
\huge a* & {\Huge \mabosoo{a*}} & \huge ba & {\Huge \mabosoo{ba}} \\
\ & \ & \ & \ \\
\huge o* & {\Huge \mabosoo{o*}} & \huge bo & {\Huge \mabosoo{bo}} \\
\ & \ & \ & \ \\
\huge u* & {\Huge \mabosoo{u*}} & \huge bu & {\Huge \mabosoo{bu}} \\
\ & \ & \ & \ \\
\huge e* & {\Huge \mabosoo{e*}} & \huge be & {\Huge \mabosoo{be}} \\
\ & \ & \ & \ \\
\huge i* & {\Huge \mabosoo{i*}} & \huge bi & {\Huge \mabosoo{bi}} \\
\end{tabular}
\end{document}

===========

Basically, the answer is no, not really, the alternate character shape is a ligature, says the documentation. The ligatures are done in MetaFont; the input method using ' (e.g.,badmi') does not seem to synchronize with the ligature rules in the font all the time, and the ligature seems to apply to Mongolian only, not Manju, as far as I can tell (but I haven't tried all possible combinations).

Mongolian

Code for the above:

\ShowSpecialMLStrue
\begin{tabular}{ccccccl}
\ & \ & \huge b & {\Huge \mbosoo{b}} \\
\ & \ & \ & \ \\
\huge a & {\Huge \mbosoo{a}} & \huge ba & {\Huge \mbosoo{ba}} & \huge bad & {\Huge \mbosoo{bad}} & \emph{\PrettyMLS{ba'd}}\\
\ & \ & \ & \ \\
\huge o & {\Huge \mbosoo{o}} & \huge bo & {\Huge \mbosoo{bo}}& \huge bod & {\Huge \mbosoo{bod}} & \emph{\PrettyMLS{bod}} \\
\ & \ & \ & \ \\
\huge u & {\Huge \mbosoo{u}} & \huge bu & {\Huge \mbosoo{bu}} & \huge bud & {\Huge \mbosoo{bud}} & \emph{\PrettyMLS{bud}}\\
\ & \ & \ & \ \\
\huge e & {\Huge \mbosoo{e}} & \huge be & {\Huge \mbosoo{be}} & \huge bed & {\Huge \mbosoo{bed}} & \emph{\PrettyMLS{bed}}\\
\ & \ & \ & \ \\
\huge i & {\Huge \mbosoo{i}} & \huge bi & {\Huge \mbosoo{bi}} & \huge bid & {\Huge \mbosoo{bid}} & \emph{\PrettyMLS{bid}}\\
\end{tabular}

Free Variation Selector 1 (FVS1), as mentioned in the comments, is non-printable, but it can be 'viewed' with \textmongolianfreevariationselectorone (as a control-character-shape). FVS2 is not programmed, according to the documentation. FVS3 is not much mentioned at all.

When ShowSpecialMLS is switched on with \ShowSpecialMLStrue, then \PrettyMLS{...} displays FVS1 (as a control).

The other input control character is =, as in =a, for the tail-end vowels.

======

Unicode

Using Xelatex, unicode fonts, and code adapted from Manchu and Mongolian script, shows the ligature (test text is: a aFVS1 b ba baFVS1 baaFVS1):

font1

font2

font3

MWE

% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
\newfontfamily{\dcw}[]{Noto Sans Mongolian}
\newfontface\fma{Mongolian Art}
\newfontface\fmb{Mongolian Baiti}
\newfontface\fmc{Mongolian Title}
\newfontface\fmd{Mongolian White}
\newfontface\fme{Mongolian Writing}
\newfontface\fmf{Menk Amglang Tig}
\newfontface\fmg{Menk BudunTig}
\newfontface\fmh{Menk Doroge Tig}
\newfontface\fmi{Menk Egulen Tig}
\newfontface\fmj{Menk Erihe Tig}
\newfontface\fmk{Menk Garqag Tig}

\newfontface\fml{Menk Hawang Tig}
\newfontface\fmm{Menk Hvlvsvn Tig}
\newfontface\fmn{Menk Lhundb Tig}
\newfontface\fmo{Menk Mcdvnbar Tig}
\newfontface\fmp{Menk Narin Tig}
\newfontface\fmq{Menk OnqaHar_a Tig}
\newfontface\fmr{Menk Qagan Tig}
\newfontface\fms{Menk Qimed Tig}
\newfontface\fmt{Menk Qimig Tig}
\newfontface\fmu{Menk Qingming Tig}
\newfontface\fmw{Menk Scnin Tig}
\newfontface\fmx{Menk Sidam Tig}

\newfontface\fmua{Menk Svgvnag Tig}
\newfontface\fmva{Menk Svlbiya Tig}
\newfontface\fmwa{Menk Tegus Tig}
\newfontface\fmxa{Menk Tenigun Tig}
\newfontface\fmy{Menk Tvgvrai Tig}
\newfontface\fmz{Menk Ujug Tig}
\newfontface\fmza{Menk Vran Tig}
\newfontface\fmzb{Menk Vyangga Tig}
\newfontface\fmzc{Menk Xvsiga Tig}




%==================================
%#1 = sample number
%#2 = font switch
%#3 = font name
\newcommand\fpmon[3]{{\fplain \normalsize \rotatebox{+90}{#1} }#2 ᠠ ᠠ᠋ ᠪ ᠪᠠ ᠪᠠᠳ ᠪᠠ᠋ᠳ {\fplain \normalsize #3 }}

%The test text is: a aFVS1 b ba baFVS1 baaFVS1



\newfontface\fplain{DejaVu Serif}
\usepackage{graphicx}
\begin{document}
\noindent
Line above\\% to demonstrate that the lines are being stacked as normal
{\Huge
\rotatebox{-90}{%
\XeTeXupwardsmode1\\% successive lines will be stacked upwards instead of downwards
\begin{minipage}{18em}% this will be the vertical length of the Mongolian section
{\dcw% 
\fpmon{1}{}{Noto Sans Mongolian} \\
%{\fplain \normalsize \rotatebox{+90}{1} } ᠠ ᠠ᠋ ᠪ ᠪᠠ ᠪᠠᠳ ᠪᠠ᠋ᠳ {\fplain \normalsize Noto Sans Mongolian }\\% direct Unicode input of Manchu letters
\fpmon{2}{\fma}{Mongolian Art }\\
\fpmon{3}{\fmb}{Mongolian Baiti }\\
\fpmon{4}{\fmc}{Mongolian Title }\\
\fpmon{5}{\fmd}{Mongolian White }\\
\fpmon{6}{\fme}{Mongolian Writing }\\
\fpmon{7}{\fmf}{Menk Amglang Tig
}\\
\fpmon{8}{\fmg}{Menk BudunTig
}\\
\fpmon{9}{\fmh}{Menk Doroge Tig}\\
\fpmon{10}{\fmi}{Menk Egulen Tig}\\
\fpmon{11}{\fmj}{Menk Erihe Tig}\\
\fpmon{12}{\fmk}{Menk Garqag Tig}\\
}% End font
\end{minipage}
\XeTeXupwardsmode0
}% End rotatebox
}%end Huge

\noindent
Line underneath

\newpage
{\Huge
\rotatebox{-90}{%
\XeTeXupwardsmode1\\% successive lines will be stacked upwards instead of downwards
\begin{minipage}{18em}% this will be the vertical length of the Mongolian section
{\dcw% 
\fpmon{13}{\fml}{Menk Hawang Tig} \\
\fpmon{14}{\fmm}{Menk Hvlvsvn Tig}\\
\fpmon{15}{\fmn}{Menk Lhundb Tig}\\
\fpmon{16}{\fmo}{Menk Mcdvnbar Tig}\\
\fpmon{17}{\fmp}{Menk Narin Tig}\\
\fpmon{18}{\fmq}{Menk OnqaHar\_a Tig}\\
\fpmon{19}{\fmr}{Menk Qagan Tig}\\
\fpmon{20}{\fms}{Menk Qimed Tig}\\
\fpmon{21}{\fmt}{Menk Qimig Tig}\\
\fpmon{22}{\fmu}{Menk Qingming Tig}\\
\fpmon{23}{\fmw}{Menk Scnin Tig}\\
\fpmon{24}{\fmx}{Menk Sidam Tig}\\
}% End font
\end{minipage}
\XeTeXupwardsmode0
}% End rotatebox
}%end Huge


\newpage
{\Huge
\rotatebox{-90}{%
\XeTeXupwardsmode1\\% successive lines will be stacked upwards instead of downwards
\begin{minipage}{18em}% this will be the vertical length of the Mongolian section
{\dcw% 
\fpmon{25}{\fmua}{Menk Svgvnag Tig} \\
\fpmon{26}{\fmva}{Menk Svlbiya Tig}\\
\fpmon{27}{\fmwa}{Menk Tegus Tig}\\
\fpmon{28}{\fmxa}{Menk Tenigun Tig}\\
\fpmon{29}{\fmy}{Menk Tvgvrai Tig}\\
\fpmon{30}{\fmz}{Menk Ujug Tig}\\
\fpmon{31}{\fmza}{Menk Vran Tig}\\
\fpmon{32}{\fmzb}{Menk Vyangga Tig}\\
\fpmon{33}{\fmzc}{Menk Xvsiga Tig}\\
}% End font
\end{minipage}
\XeTeXupwardsmode0
}% End rotatebox
}%end Huge


\end{document}

=====

If anyone wants to try out the variation selectors and vowel separator on different fonts, and doesn't have a Mongolian keyboard, here's a mapping file so transliterated input will be accepted.

translit

latin-to-mongolian.map (excluding Todo/Sibe/Manchu glyphs for the moment, but easy to add)

; TECkit mapping for TeX input conventions <-> Unicode characters

LHSName "latin-to-mongolian"
RHSName "UNICODE"

pass(Unicode)

; ligatures from Knuth's original CMR fonts
U+002D U+002D           <>  U+2013  ; -- -> en dash
U+002D U+002D U+002D    <>  U+2014  ; --- -> em dash

U+0027          <>  U+2019  ; ' -> right single quote
U+0027 U+0027   <>  U+201D  ; '' -> right double quote
U+0022           >  U+201D  ; " -> right double quote

U+0060          <>  U+2018  ; ` -> left single quote
U+0060 U+0060   <>  U+201C  ; `` -> left double quote

U+0021 U+0060   <>  U+00A1  ; !` -> inverted exclam
U+003F U+0060   <>  U+00BF  ; ?` -> inverted question

; additions supported in T1 encoding
U+002C U+002C   <>  U+201E  ; ,, -> DOUBLE LOW-9 QUOTATION MARK
U+003C U+003C   <>  U+00AB  ; << -> LEFT POINTING GUILLEMET
U+003E U+003E   <>  U+00BB  ; >> -> RIGHT POINTING GUILLEMET


U+0062 U+0069 U+0072       <>  U+1800    ;  bir ᠀ 
U+0065 U+006C U+006C       <>  U+1801    ;  ell ᠁
U+002C         <>  U+1802    ;  , ᠂
U+002E         <>  U+1803    ;  . ᠃
U+003A         <>  U+1804    ;  : ᠄
U+0064 U+006F U+0074 U+0073      <>  U+1805    ;  dots ᠅
U+002D         <>  U+1806    ;  - ᠆
U+0073 U+0073 U+0062 U+006D      <>  U+1807    ;  ssbm ᠇
U+006D U+002C        <>  U+1808    ;  m, ᠈
U+006D U+002E        <>  U+1809    ;  m. ᠉
U+006E U+0069 U+0072       <>  U+180A    ;  nir ᠊
U+0046 U+0056 U+0031       <>  U+180B    ;  FV1 ᠋
U+0046 U+0056 U+0032       <>  U+180C    ;  FV2 ᠌
U+0046 U+0056 U+0033       <>  U+180D    ;  FV3 ᠍
U+004D U+0056 U+0053       <>  U+180E    ;  MVS ᠎

U+0030         <>  U+1810    ;  0 ᠐
U+0031         <>  U+1811    ;  1 ᠑
U+0032         <>  U+1812    ;  2 ᠒
U+0033         <>  U+1813    ;  3 ᠓
U+0034         <>  U+1814    ;  4 ᠔
U+0035         <>  U+1815    ;  5 ᠕
U+0036         <>  U+1816    ;  6 ᠖
U+0037         <>  U+1817    ;  7 ᠗
U+0038         <>  U+1818    ;  8 ᠘
U+0039         <>  U+1819    ;  9 ᠙

;U+0078 U+0078 U+0078       <>  U+181A    ;  xxx ᠚
;U+0078 U+0078 U+0078       <>  U+181B    ;  xxx ᠛
;U+0078 U+0078 U+0078       <>  U+181C    ;  xxx ᠜
;U+0078 U+0078 U+0078       <>  U+181D    ;  xxx ᠝
;U+0078 U+0078 U+0078       <>  U+181E    ;  xxx ᠞

U+0061         <>  U+1820    ;  a ᠠ
U+0065         <>  U+1821    ;  e ᠡ
U+0069         <>  U+1822    ;  i ᠢ
U+006F         <>  U+1823    ;  o ᠣ
U+0075         <>  U+1824    ;  u ᠤ
U+006F U+0065        <>  U+1825    ;  oe ᠥ
U+0075 U+0065        <>  U+1826    ;  ue ᠦ
U+0065 U+0065        <>  U+1827    ;  ee ᠧ
U+006E         <>  U+1828    ;  n ᠨ
U+0061 U+006E U+0067       <>  U+1829    ;  ang ᠩ
U+0062         <>  U+182A    ;  b ᠪ
U+0070         <>  U+182B    ;  p ᠫ
U+0071         <>  U+182C    ;  q ᠬ
U+0067         <>  U+182D    ;  g ᠭ
U+006D         <>  U+182E    ;  m ᠮ
U+006C         <>  U+182F    ;  l ᠯ
U+0073         <>  U+1830    ;  s ᠰ
U+0073 U+0068        <>  U+1831    ;  sh ᠱ
U+0074         <>  U+1832    ;  t ᠲ
U+0064         <>  U+1833    ;  d ᠳ
U+0063 U+0068        <>  U+1834    ;  ch ᠴ
U+006A         <>  U+1835    ;  j ᠵ
U+0079         <>  U+1836    ;  y ᠶ
U+0072         <>  U+1837    ;  r ᠷ
U+0077         <>  U+1838    ;  w ᠸ
U+0066         <>  U+1839    ;  f ᠹ
U+006B         <>  U+183A    ;  k ᠺ
U+006B U+0068        <>  U+183B    ;  kh ᠻ
U+0074 U+0073        <>  U+183C    ;  ts ᠼ
U+007A         <>  U+183D    ;  z ᠽ
U+0068 U+0061 U+0061       <>  U+183E    ;  haa ᠾ
U+007A U+0072        <>  U+183F    ;  zr ᠿ
U+006C U+0068        <>  U+1840    ;  lh ᡀ
U+007A U+0068 U+0069       <>  U+1841    ;  zhi ᡁ

(compile with teckit_compile, to produce the latin-to-mongolian.tec file)

and accompanying MWE (compile with xelatex):

\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\newfontfamily\dcw[Mapping=latin-to-mongolian]{Menk Mcdvnbar Tig}
%Compile the mapping file with:
%teckit_compile latin-to-mongolian.map latin-to-mongolian.tec
%(shortcut: teckit_compile latin-to-mongolian).

%==================================
%#1 = text
\newcommand\fpmon[1]{{\fplain \normalsize \rotatebox{+90}{#1} }#1}




\newfontface\fplain[Colour=blue]{DejaVu Serif}
\usepackage{graphicx}


%================== generic minipage
%#1 = text in the minipage
\newcommand\mmp[1]{%
{\Huge
\rotatebox{-90}{%
\XeTeXupwardsmode1\\% successive lines will be stacked upwards instead of downwards
\begin{minipage}{18em}% this will be the vertical length of the Mongolian section
{\dcw #1}% End font
\end{minipage}
\XeTeXupwardsmode0
}% End rotatebox
}%end Huge
}





%=================================
\begin{document}
\noindent
%Line above\\% to demonstrate that the lines are being stacked as normal
{\Huge
\rotatebox{-90}{%
\XeTeXupwardsmode1\\% successive lines will be stacked upwards instead of downwards
\begin{minipage}{18em}% this will be the vertical length of the Mongolian section
{\dcw% 
\fpmon{a} \fpmon{aFV1} \fpmon{b} \fpmon{ba} \fpmon{bad} \fpmon{d} \fpmon{dd} \fpmon{badmi} \fpmon{.}\\ \\
\fpmon{a}
\fpmon{e}
\fpmon{i}
\fpmon{o}
\fpmon{u}
\fpmon{oe}
\fpmon{ue}
\fpmon{ee}
, \\
\fpmon{n}
\fpmon{ang}
\fpmon{b}
\fpmon{p}
\fpmon{q}
\fpmon{g}
\fpmon{m}
\fpmon{l}
, \\
\fpmon{s}
\fpmon{sh}
\fpmon{t}
\fpmon{d}
\fpmon{ch}
\fpmon{j}
\fpmon{y}
\fpmon{r}
\fpmon{w}
\fpmon{f}
,\\
\fpmon{k}
\fpmon{kh}
\fpmon{ts}
\fpmon{z}
\fpmon{haa}
\fpmon{zr}
\fpmon{lh}
\fpmon{zhi}
\fpmon{chi}
.\\ \\
\fpmon{0}
\fpmon{1}
\fpmon{2}
\fpmon{3}
\fpmon{4}
\fpmon{5}
\fpmon{6}
\fpmon{7}
\fpmon{8}
\fpmon{9}
. \\ \\
\fpmon{bir}
\fpmon{ell}
\fpmon{,}
\fpmon{.}
\fpmon{:}
\fpmon{dots}
\fpmon{-}
\fpmon{ssbm}
\fpmon{m,}
\fpmon{m.}
\fpmon{nir}
.\\
\fpmon{FV1}
\fpmon{FV2}
\fpmon{FV3}
\fpmon{MVS}
.
}% End font
\end{minipage}
\XeTeXupwardsmode0
}% End rotatebox
}%end Huge

%\noindent
%Line underneath

\newpage
% \mmp{} is a minipage with the mapped font.
This is \mmp{munggul bichik. \\
pab, od \\
pabFV1, odFV1 \\
pabFV2, odFV2 \\
pabFV3, odFV3.\\
guya\\
guyMVSa.}

\end{document}

fvs123 and mvs

Addendum

If it helps: In the modern toolchain (fontspec, plus xelatex/lualatex), the zero-width joiner glyph can be used to treat the word-intial/medial/final forms of a glyph separately.

ZWJ examples

MWE

\documentclass{article}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\pagecolor{green!3}
\usepackage{fontspec}
\setmainfont{Noto Serif}

%============================== Font
\newfontfamily\ftmon{Noto Sans Mongolian}[Script=Mongolian,Renderer=HarfBuzz]
%Renderer= option is for lualatex; remove for xelatex.
%==============================


%Glyphs entered as codepoints
%so as to be independent of the editor setup.
\newcommand\bdtest[1]{%
\rotatebox{-90}{{\ftmon   ^^^^182a^^^^200d{\color{red}^^^^200d#1^^^^200d}^^^^200d^^^^1833}}}

\newcommand\rb[1]{\rotatebox[origin=c]{-90}{{\ftmon #1}}}



%===================================
\begin{document}
Using ZWJ to treat the parts separately.

\bigskip
\begin{tabular}{cccc}
\hline
 & \itshape b & \itshape a & \itshape d\\
 \hline
initial &
 \color{red}\rb{^^^^182a^^^^200d}&
 \rb{^^^^1820^^^^200d}&
 \rb{^^^^1833^^^^200d}
\\
medial&
 \rb{^^^^200d^^^^182a^^^^200d} &
 \color{red}\rb{^^^^200d^^^^1820^^^^200d}&
 \rb{^^^^200d^^^^1833^^^^200d}
\\
final &
 \rb{^^^^200d^^^^182a}&
 \rb{^^^^200d^^^^1820}&
 \color{red}\rb{^^^^200d^^^^1833}
\\
\hline
\end{tabular}






\bigskip
\begin{tabular}{cccccccc}
\rowcolor{blue!7}a & e & i & o & u & oe & ue & ee\\
\rb{^^^^1820} &
\rb{^^^^1821} &
\rb{^^^^1822} &
\rb{^^^^1823} &
\rb{^^^^1824} &
\rb{^^^^1825} &
\rb{^^^^1826} &
\rb{^^^^1827}
\\ 
\bdtest{^^^^1820} & 
\bdtest{^^^^1821} & 
\bdtest{^^^^1822} & 
\bdtest{^^^^1823} & 
\bdtest{^^^^1824} & 
\bdtest{^^^^1825} & 
\bdtest{^^^^1826} & 
\bdtest{^^^^1827}  
 \\
\hline
\end{tabular}
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.