在 MonTeX 中显示孤立的满文“a”

在 MonTeX 中显示孤立的满文“a”

我在 MonTeX (mls) 中使用满文,想知道是否有办法显示“round a”,而前面没有任何书写形式。“Round a”是指单词末尾紧跟“b”或“p”的“a”,还是孤立“e”末尾向左的笔划?有没有办法在 MonTeX 中搜索这个?

答案1

文献(第 58 页)说,非尾元音(在文言文中)输入为元音+*,由此得出下表:

是

你是这个意思吗?

梅威瑟:

\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}

===========

基本上,答案是否定的,文档中说,替代字符形状是连字。连字是在 MetaFont 中完成的;使用'(例如badmi')的输入法似乎并不总是与字体中的连字规则同步,而且据我所知,连字似乎仅适用于蒙古文,而不适用于满文(但我还没有尝试所有可能的组合)。

蒙

上述代码:

\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}

正如评论中提到的,自由变体选择器 1 (FVS1) 是不可打印的,但可以“查看” \textmongolianfreevariationselectorone(作为控制字符形状)。根据文档,FVS2 未编程。FVS3 根本没有太多提及。

ShowSpecialMLS打开时\ShowSpecialMLStrue,则\PrettyMLS{...}显示FVS1(作为控制)。

另一个输入控制字符是=,例如=a,表示尾部元音。

======

统一码

使用 Xelatex、unicode 字体和改编自的代码满文和蒙古文,显示连字(测试文本为:a aFVS1 b ba baFVS1 baaFVS1):

字体1

字体2

字体3

平均能量损失

% !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}

=====

如果有人想在不同的字体上尝试变体选择器和元音分隔符,但又没有蒙古文键盘,这里有一个映射文件,可以接受音译输入。

翻译

latin-to-mongolian.map(暂时不包括托多文/锡伯文/满文字形,但很容易添加)

; 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 ᡁ

(使用 teckit_compile 进行编译,生成 latin-to-mongolian.tec 文件)

以及附带的MWE(使用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 和 mvs

附录

如果有帮助:在现代工具链(fontspec加上 xelatex/lualatex)中,零宽度连接符字形可用于分别处理字形的单词初始/中间/最终形式。

ZWJ 示例

平均能量损失

\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}

相关内容