일본어 글꼴

일본어 글꼴 처리는 서체의 종류, 문서 안에서의 전환, 엔진별 설정이라는 세 층으로 나뉩니다. 본문에 쓰는 명조체(Mincho), 제목과 강조에 쓰는 고딕체(Gothic)라는 두 서체의 틀을 바탕으로, \mcfamily / \gtfamily로 전환하는 법, (u)pLaTeX에서는 kanji-config-updmap, LuaLaTeX에서는 luatexja-preset으로 설정하는 법, 그리고 실제로 어떤 글리프 파일이 임베드되는지(현재 TeX Live 기본값은 Harano Aji)를 차례로 살펴봅니다.

일본어 서체: 명조체와 고딕체

일본어 조판의 기본은 두 가지 서체입니다. 명조체(Mincho)는 가로획이 가늘고 세로획이 굵으며, 획 끝에 *uroko*(“비늘”)라고 부르는 작은 삼각 장식이 붙는 서체로 서양의 세리프체(로마체)에 해당합니다. 가독성이 높아 긴 본문에 쓰는 것이 정석입니다. 고딕체(Gothic)는 획의 굵기가 거의 일정하고 장식이 없는 서체로 서양의 산세리프체에 해당합니다. 시인성이 높아 제목, 강조, 캡션, 도표 안의 글자에 알맞습니다.

이 대응은 서양 글꼴의 틀과 그대로 겹칩니다. 명조체가 로마체(\rmfamily)에 대응하는 기본 본문 서체, 고딕체가 산세리프체(\sffamily)에 대응하는 서체라는 두 계통 모델입니다. 중요한 결과로 일본어에서는 \bfseries(굵은체)가 사실상 고딕체에 할당됩니다. 서양 문자와 달리 명조체는 기본으로 굵은 웨이트를 갖지 않으므로 “굵게 만들기”가 “고딕으로 전환하기”가 됩니다(LuaTeX-ja 기본값에서도 명조와 고딕 양쪽의 굵은 시리즈는 고딕의 중간 굵기와 일치합니다).

이 두 서체 외에도 붓글씨 서체가 있습니다. 해서체(Kaisho)는 한 획씩 붓을 떼어 정연하게 쓰는 서체이고, 행서체(Gyosho)는 조금 흘려 쓰며 획을 이어 쓰는 서체입니다. 상장, 식사문, 안내장, 일본적인 분위기를 내고 싶은 곳에 사용합니다. 또한 모서리를 둥글게 한 마루 고딕체(Maru Gothic)도 있으며, 아래에서 다루는 otf 패키지의 deluxe 옵션 등으로 사용할 수 있습니다. 다만 일상적인 논문과 책 조판의 중심은 어디까지나 명조체와 고딕체입니다.

문서 안에서 서체 전환하기

서체 전환은 서양 글꼴 명령과 같은 방식입니다. 범위를 나누어 효과를 주는 선언형과, 인수의 말에만 적용되는 명령형 두 가지가 있습니다. 명조체는 \mcfamily(선언형)와 \textmc{...}(명령형), 고딕체는 \gtfamily\textgt{...}입니다. mc는 mincho, gt는 gothic의 약자입니다.

latex
本文は明朝体で組みます。\textgt{ここだけゴシック体}で強調できます。

{\gtfamily この波括弧の中はすべてゴシック体になります。}

見出しなどは \textbf{太字} にすると、和文では自動的にゴシック体になります。

이 명령들은 서체(family)를 전환하는 것이며, 굵기(series)나 기울임(shape)과는 독립적입니다. 앞서 말했듯 \bfseries\textbf{}는 일본어에서 고딕체에 대응합니다. 또한 일본어에는 기본적으로 이탤릭체나 사체의 개념이 없어서 서양 문자처럼 기울어진 글리프는 보통 준비되어 있지 않습니다. 클래스나 패키지에 따라 \rmfamily / \sffamily를 사용할 때 명조/고딕도 함께 전환되도록 설정할 수 있습니다(LuaTeX-ja에서는 luatexja-fontspecmatch 옵션).

설정 (1): pLaTeX / upLaTeX + dvipdfmx

전통적인 (u)pLaTeX에서는 조판에 쓰는 일본어 글꼴의 메트릭(글자 폭 정보)이 가상적으로 고정되어 있으며, 본문 소스에서는 “어떤 실제 글꼴을 쓸지” 지정하지 않습니다. 실제로 PDF에 임베드되는 실제 글꼴은 문서가 아니라 시스템 쪽 설정으로 결정됩니다. 그 설정을 전환하는 도구가 TeX Live에 포함된 kanji-config-updmap입니다. 이는 dvipdfmx가 참조하는 글꼴 맵(updmap.cfg)을 다시 써서 명조와 고딕에 대응하는 실제 글꼴을 한꺼번에 바꿉니다.

모든 사용자에게 공통으로 설정하려면 kanji-config-updmap-sys(관리자 권한 필요), 자신에게만 설정하려면 kanji-config-updmap-user를 사용합니다(사용자 설정이 시스템 설정보다 우선). 먼저 현재 상태를 확인한 뒤, 쓰고 싶은 글꼴 이름을 넘겨 전환합니다.

terminal
# いまどの和文フォントが埋め込まれる設定かを確認 / show the current setting
kanji-config-updmap-sys status

# 原ノ味フォントに切り替える(TeX Live の既定)/ switch to Harano Aji (the TeX Live default)
sudo kanji-config-updmap-sys haranoaji

# 他の例:ヒラギノ・IPAex・Noto / other examples
sudo kanji-config-updmap-sys hiragino-pron
sudo kanji-config-updmap-sys ipaex
sudo kanji-config-updmap-sys noto-otc

# フォントを埋め込まない/自動で見つける / embed nothing, or auto-detect
sudo kanji-config-updmap-sys nofont
sudo kanji-config-updmap-sys auto

status는 현재 설정과 시스템에서 찾은 후보 글꼴을 나열합니다. auto는 사용할 수 있는 상용 또는 무료 글꼴을 자동으로 찾아 임베드 설정으로 만들고, 찾지 못하면 임베드 없음으로 되돌립니다. JIS X 0213:2004 글리프 모양(이른바 “2004 JIS”)을 쓰고 싶다면 --jis2004를 붙입니다(예: sudo kanji-config-updmap-sys --jis2004 haranoaji). dvipdfmx는 기본적으로 글꼴을 PDF에 임베드하므로, 배포용 PDF에서도 글리프가 재현됩니다.

본문에서 여러 서체와 여러 웨이트를 쓰고 싶을 때는 otf 패키지(다음 절)를 읽어들입니다. upLaTeX에서는 \usepackage[uplatex]{otf}처럼 엔진을 명시합니다.

설정 (2): LuaLaTeX + LuaTeX-ja

LuaLaTeX에서는 LuaTeX-ja(luatexja)가 일본어 조판을 담당하고, OS에 설치된 OpenType/TrueType 글꼴을 이름으로 직접 지정할 수 있습니다. 가장 간단한 방법은 luatexja-preset 패키지로, 자주 쓰는 일본어 글꼴 조합을 “프리셋” 한 단어로 설정할 수 있습니다. Harano Aji라면 다음 한 줄입니다.

document.tex
\documentclass{ltjsarticle}
\usepackage[haranoaji]{luatexja-preset}  % 明朝=原ノ味明朝, ゴシック=原ノ味角ゴシック
\begin{document}
本文は明朝体。\textgt{見出しはゴシック体}\end{document}

프리셋 이름은 haranoaji, hiragino-pro / hiragino-pron, noto / noto-otc, sourcehan, ipa / ipaex, ms, yu-win10 등 여러 가지가 정의되어 있습니다. 여러 웨이트(본문 안에서 명조/고딕의 굵고 가는 꼴을 구분)를 활성화하려면 deluxe 옵션을 함께 사용합니다.

latex
\usepackage[haranoaji,deluxe]{luatexja-preset}

프리셋에 의존하지 않고 임의의 글꼴을 지정하고 싶을 때는 luatexja-fontspec을 읽어들이고 fontspec과 같은 방식의 명령을 사용합니다. 일본어용은 \setmainjfont(본문=명조), \setsansjfont(=고딕), \setmonojfont(등폭)이며, 서양 문자 쪽의 \setmainfont 등과 대응합니다. 일회성 지정에는 \jfontspec도 사용할 수 있습니다.

document.tex
\usepackage{luatexja-fontspec}
\setmainjfont{Harano Aji Mincho}    % 明朝(本文)
\setsansjfont{Harano Aji Gothic}    % ゴシック(見出し・強調)
% \setmainjfont{Hiragino Mincho ProN}  % 例:macOS のヒラギノ

LuaLaTeX는 DVI를 거치지 않고 직접 PDF를 출력하며, 지정한 글꼴은 자동으로 임베드됩니다. 일본어 문자 코드는 UTF-8을 전제로 합니다. (u)pLaTeX와 달리, 글꼴 선택이 문서(소스) 안에서 완결된다는 점이 LuaLaTeX 방식의 장점입니다.

otf 패키지와 Adobe-Japan1 / CID

齋藤修三郎의 otf 패키지(japanese-otf)는 (u)pLaTeX에서 Adobe-Japan1 문자 집합에 접근하기 위한 표준입니다. Adobe-Japan1은 일본어 글꼴의 대표적인 글리프 집합으로, JIS X 0208에 들어가지 않는 이체자, 기호, 구자 등을 포함합니다. LuaTeX-ja에서도 luatexja-otf로 같은 기능을 사용할 수 있습니다.

문자를 직접 지정하는 명령이 두 가지 있습니다. \UTF{...}는 Unicode 코드 포인트(4~5자리 16진수)를, \CID{...}는 Adobe-Japan1의 CID 번호(10진수)를 받아 문자를 호출합니다. 입력할 수 없는 이체자(예: 인명에 쓰이는 옛 글자)를 코드값으로 확실히 출력할 수 있다는 것이 장점입니다.

latex
\UTF{9DD7}外(森鴎外の「鴎」を正字「鷗」で)
\CID{7652}飾区(葛の異体字)
葛城市、\CID{1481}城駅

패키지 옵션도 중요합니다. deluxe는 명조 3웨이트, 고딕 3웨이트, 마루 고딕 1웨이트의 총 7서체를 사용할 수 있게 하고, 마루 고딕에는 \mgfamily / \textmg{...}를 추가합니다. expert는 세로쓰기용 약물이나 이체자 등 추가 글리프를 활성화하고, jis2004는 2004 JIS 글리프를 선택합니다. 여러 웨이트를 사용하려면 대응하는 실제 글꼴(Harano Aji, Hiragino 등)이 설정되어 있어야 합니다.

주요 일본어 글꼴과 파일

마지막으로 실제로 임베드되는 “글리프 자체”를 봅니다. 현재 TeX Live가 기본으로 사용하는 일본어 글꼴은 “Harano Aji” 글꼴입니다. Google과 Adobe가 공개하는 Source Han(Source Han Sans / Serif) = Noto CJK에서 파생된 무료 글꼴로, PDF 임베드에 적합하도록 조정되어 있습니다. TeX Live 2020에서 이전 기본값이던 IPAex 글꼴을 대신해 기본값이 되었습니다(기존 환경에서 업데이트한 경우 설정이 이어지므로 kanji-config-updmap-sys haranoaji로 명시적으로 전환해야 할 수 있습니다).

글꼴계통 / 출처위치
Harano AjiHarano Aji; Source Han / Noto CJK 파생 무료 글꼴현재 TeX Live 기본값; Mincho + Gothic 완비
IPAex일본 IPA 기관 배포 무료 글꼴이전 기본값; Mincho + Gothic
HiraginoHiragino; macOS에 포함(상용)macOS에서 고품질; 프리셋 다수
Noto CJK / Source HanGoogle/Adobe의 오픈소스범 CJK; Harano Aji의 모체
MorisawaMorisawa(상용)상업 인쇄에서 표준적인 고품질 서체

Harano Aji의 실제 파일은 명조가 HaranoAjiMincho-Regular, 고딕이 HaranoAjiGothic-Medium 같은 이름이며, Light, Regular, Medium, Bold, Heavy 같은 웨이트가 갖춰져 있습니다. LuaTeX-ja의 기본값도 본문 명조에는 이 Regular, 고딕에는 이 Medium을 미리 읽어들입니다. 일본어 글꼴 인코딩은 가로쓰기가 JY3, 세로쓰기가 JT3입니다. 어떤 글꼴을 고르든 dvipdfmx와 LuaLaTeX 모두 배포를 위해 글리프를 PDF에 임베드하므로, 상대 환경에 글꼴이 없어도 같은 모양으로 열립니다.