有人知道是否可以在 XeLaTeX 中排版旧韩文(韩语字母)吗?
我指的是这些信件:http://en.wikipedia.org/wiki/Old_Hangul
虽然无法在 Mac 上直接打字,但 Unicode 中包含以下字符:
http://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
我无法将 unicode 直接复制并粘贴到文档中,因为每个音节韩语块都由 2-3 个 Unicode 字符组成。通常,输入编辑器会为我们完成这一组合,但 Mac 输入编辑器不支持包含旧韩语的音节块。
最小工作示例:
\documentclass[utf8,12pt,letterpaper]{article}
\usepackage{setspace}
\usepackage[fallback]{xeCJK}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\newcommand{\mainfont}[0]{Times New Roman}\newcommand{\mainfontCJK}[0]{Gulim}
\setmainfont{\mainfont}
\setCJKmainfont{\mainfontCJK}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\title{}
\author{}
\date{}
\begin{document}
\maketitle
ᆰᆀ
ᆱᅥ %Consonant + vowel combinations copied from http://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
\end{document}
答案1
如果我没理解错的话,你需要的是Unicode 文档,特别是“韩文音节组成”。
一种可能的方法是创建一个 TECkit 映射文件并使用它。
您可能需要编写一个脚本程序来生成
.map
如下内容(tex-text.map
):; TECkit mapping for TeX input conventions <-> Unicode characters LHSName "TeX-text" 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
下载TEC套件然后运行
teckit_compile Jamo.map -o Jamo.tec
然后你可以使用
\setCJKmainfont[Mapping=Jamo]{Some Font}
这只是草稿。我不太懂韩语,所以无法给你一个合适的最终结果。抱歉。
答案2
在 macOS 上书写旧韩语
这部分与 TeX 或 LaTeX 本身无关,但我将提供这些信息以确保此答案的完整性。
macOS 上的默认输入法编辑器 (IME) 不支持旧韩文字母。要输入这些字母,您必须下载“gureum IME (구름 입력기)”,这是一个第三方 IME。您可以在 上下载它https://gureum.io/
(所有指南均以韩文编写)。
安装后,转到System Preferences → Keyboards
并添加두벌식 옛글
输入源。按cmd + space
将在旧韩语和其他语言之间切换。
在 XeLaTeX 上排版旧韩文
要正确排版韩语,您必须使用该kotex
软件包。此外,您还必须使用可以正确呈现旧韩语的特殊韩语字体。一些示例是“Noto Serif CJK KR”和“Noto Sans CJK KR”,它们是开源的,也可以在 Overleaf 上轻松获得。
要设置韩语字体,您应该使用\setmainhangulfont
、\setsanshangulfont
和。语法与、和\setmonohangulfont
相同,但只影响韩语字母。您还必须提供选项以启用韩语字体来正确呈现旧韩语。fontspec
\setmainfont
\setsansfont
\setmonofont
Script=Hangul
以下是一个例子。
\documentclass{article}
\usepackage{kotex}
\setmainhangulfont[Script=Hangul]{Noto Serif CJK KR}
\begin{document}
\section{Old Hangul Test (옛한글 테스트)}
나랏말ᄊᆞ미 듀ᇰ귁에 달아 문ᄍᆞᆼ와로 서르 ᄉᆞᄆᆞᆺ디 아니ᄒᆞᆯᄊᆡ
\end{document}
替代方法:pmhanguljamo
如果您在安装 IME 时遇到问题,您可以使用pmhanguljamo
包(可在加拿大运输安全局) 和fontspec
包。此包定义了解析拉丁字符并将其转换为旧韩文字母的\jamoword
命令和jamotext
环境。使用此包,您不必设置 IME(但仍需要设置字体,但请遵循包文档中的指南)。
您可以使用以下代码获得上述相同的结果:
\documentclass{article}
\usepackage{fontspec}
\usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo}
\section{Old Hangul Test (\jamoword{yeis/han/gvr tei/sv/tv})}
\begin{jamotext}
na/ras/mar/ss@/mi dyuf/guig/ei dar/a mun/jj@q/oa/ro se/rv s@/m@s/di a/ni/h@r/ss@i
\end{jamotext}
\end{document}
更多信息
有关详细信息,请参阅韩语 TeX 用户组(KTUG)。您可以找到大量有关排版现代/古韩语和编写韩语文件的信息。