TeX - LaTeX Asked by Mårten on August 6, 2020
I am trying to write a document including Manchu script on a Mac. Manchu is written with the Mongolian alphabet with the addition of some diacritics, but the extra diacritics are included in standard Mongolian fonts included in Mac OS. Manchu/Mongolian script functions similar to Arabic script, in that the letters are connected and their shape varies depending on their position within a word.
However, Mac OS is unable to input or even display Manchu/Mongolian properly, because it cannot handle the different forms that letters should take depending on their position within the word (isolated, initial, medial, or final).
PCs can now both input and display Manchu/Mongolian.
Now I’m wondering if it’s possible to enter Manchu/Mongolian in LaTeX (say, by typing the UNICODE numbers of the letters), and have the typesetter produce proper script?
in general you can use the Unicode numbers or the corresponding letters:
documentclass{article}
usepackage{fontspec}
setmainfont{圈点满文印刷体}% the font name of manchu.ttf}
begin{document}
abcdefghijklmnopqrst
char055char056char057
end{document}
You hvae to use platex, lualatex or omega to write it in the correct direction from top to bottom.
Correct answer by user2478 on August 6, 2020
The below functionality is available as the
manchuxetex
package on GitHub.
A minimal example as to demonstrate Khaled Hosny’s point of hacking Manchu/Mongolian into top-to-bottom, left-to-right:
% !TEX TS-program = xelatex
documentclass{scrartcl}
usepackage{fontspec}
newfontfamily{dcw}[]{DaicingWhite}%
begin{document}
noindent
Line above% to demonstrate that the lines are being stacked as normal
rotatebox{-90}{%
XeTeXupwardsmode1% successive lines will be stacked upwards instead of downwards
begin{minipage}{4em}% this will be the vertical length of the Mongolian section
{dcw% Font: Daicing White
1 ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ% direct Unicode input of Manchu letters
2 ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ
}% End font
end{minipage}
XeTeXupwardsmode0
}% End rotatebox
noindent
Line underneath
end{document}
This yields the following:
Daicing White’s letters are already rotated, therefore there is no need to use the Vertical=RotatedGlyphs
font feature here.
Answered by brian-ammon on August 6, 2020
A preliminary solution for Lua(La)TeX could be made emulating XeTeX upwards mode via inverting text lines and then rotating the result. The only issue is the paragraph break I couldn't get rid of. Text extract from http://www.cjvlang.com/Writing/writmongol/tradmononsite.html for comparison. Mongolian White is available from here: http://www.mongolfont.com/en/font/mnglwhiteotf.html
documentclass{standalone}
usepackage{luacode}
usepackage{fontspec}
setmainfont{Mongolian White}[Renderer=Harfbuzz,Script=Mongolian]
begin{luacode*}
userdata = userdata or {}
--Idea taken from chickenize's boustrophedon
userdata.mongolian = function(head)
rot = node.new(node.id("whatsit"),node.subtype("pdf_literal"))
rot2 = node.new(node.id("whatsit"),node.subtype("pdf_literal"))
for line in node.traverse_id(0,head) do
w = line.width/65536*0.99625
rot.data = "-1 0 0 -1 "..w.." 0 cm"
rot2.data = "-1 0 0 -1 "..-w.." 0 cm"
line.head = node.insert_before(line.head,line.head,node.copy(rot))
node.insert_after(line.head,node.tail(line.head),node.copy(rot2))
end
return head
end
end{luacode*}
defstartmongolian{directlua{luatexbase.add_to_callback("post_linebreak_filter", userdata.mongolian, "mongolian")}}
defstopmongolian{%
%Don't remove par !
pardirectlua{luatexbase.remove_from_callback("post_linebreak_filter", "mongolian")}%
}
usepackage{graphicx}
begin{document}
rotatebox{90}{%
parbox{8cm}{%
startmongolian
begin{flushleft}
ᠣᠢᠷᠠ ᠵᠢᠨ ᠡᠳᠦᠷ᠂ ᠦᠪᠦᠷ ᠮᠣᠩᠭᠣᠯ ᠦᠨ ᠰᠢᠯᠢ ᠵᠢᠨ ᠭᠣᠣᠯ ᠠᠢᠮᠠᠭ ᠦᠨ ᠰᠢᠯᠣᠭᠣᠨ ᠬᠦᠬᠡ ᠬᠣᠰᠢᠭᠣᠨ ᠦ ᠰᠢᠭᠦᠬᠦ ᠬᠣᠷᠢᠶᠠ ᠨᠢᠭᠡᠨ ᠬᠦᠴᠦᠷᠬᠡᠭᠯᠡᠨ ᠨᠦᠵᠢᠳᠯᠡᠭᠰᠡᠨ ᠶᠠᠯᠠᠲᠣ ᠬᠡᠷᠡᠭ ᠲᠦ ᠰᠢᠭᠦᠯᠲᠡ ᠬᠢᠪᠡ᠃ ᠰᠢᠭᠦᠨ ᠲᠠᠰᠣᠯᠣᠯᠳᠠ ᠪᠠᠷ᠂ ᠵᠠᠭᠠᠯᠳᠣᠭᠳᠠᠭᠴᠢ ᠡᠷᠬᠢᠮᠲᠦ ᠵᠢ ᠬᠦᠴᠦᠷᠭᠡᠭᠯᠡᠨ᠂ ᠨᠦᠵᠢᠳᠯᠡᠭᠰᠡᠨ ᠶᠡᠯᠡ ᠪᠡᠷ ᠭᠣᠷᠪᠠᠨ ᠵᠢᠯ ᠦᠨ ᠬᠣᠭᠣᠴᠠᠭᠠ ᠲᠠᠢ ᠬᠣᠷᠢᠬᠣ ᠡᠷᠡᠭᠦᠦ ᠪᠡᠷ ᠰᠢᠳᠬᠡᠭᠰᠡᠨ ᠪᠠᠢᠨᠠ᠃
end{flushleft}
stopmongolian
}
}
end{document}
Answered by user220367 on August 6, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP