そうでなければ,たとえば ko.TeX を導入すれば,韓国の方々が手を尽くしておられる韓国語組版システムが手に入ります.
¥documentclass{jsarticle}
¥usepackage[utf8]{inputenc}
¥usepackage[multi]{otf}
¥input{hangul.dfu}
¥begin{document}
asdfあいうえお가나다라
¥end{document}
と書いて、「タイプセット」したのですが、
### platex 名称未設定-1.tex
This is pTeX, Version 3.141592-p3.1.10 (utf8) (Web2C 7.5.4)
(./繃^90^^8d腱井^^9c┃絎^^9a-1.tex
pLaTeX2e <2006/01/04>+0 (based on LaTeX2e <2005/12/01> patch level 0)
(/usr/local/teTeX/share/texmf/ptex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2006/11/01 okumura
) (/usr/local/teTeX/share/texmf-local/tex/latex/base/inputenc.sty
(/usr/local/teTeX/share/texmf-local/tex/latex/base/utf8.def
(/usr/local/teTeX/share/texmf-local/tex/latex/base/t1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/ot1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/omsenc.dfu)))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/otf.sty
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/ajmacros.sty))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlutf.sty)
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlcid.sty) (./hangul.dfu)
(./繃^90^^8d腱井^^9c┃絎^^9a-1.aux) [1] (./繃^90^^8d腱井^^9c┃絎^^9a-1.aux)
)
Output written on 繃^90^^8d腱井^^9c┃絎^^9a-1.dvi (1 page, 404 bytes).
Transcript written on 繃^90^^8d腱井^^9c┃絎^^9a-1.log.
### dvipdfmx 名称未設定-1.dvi
名称未設定-1.dvi -> 名称未設定-1.pdf
[1
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
]
5948 bytes written
### Succesfully generated 名称未設定-1.dvi and 名称未設定-1.pdf
ーーーーーーーーーーーーーーーーー
と出て、pdfファイルでは 「asdfあいうえお」とだけ表示されました。
この問題の解決方法を教えて頂けますでしょうか
UniJIS-UTF16-Hを導入し、ファイル名を「test.tex」にして
¥documentclass{jsarticle}
¥usepackage[utf8]{inputenc}
¥usepackage[multi]{otf}
¥input{hangul.dfu}
¥begin{document}
asdfあいうえお가나다라
¥end{document}
としましたところ、consoleでは
### platex test.tex
This is pTeX, Version 3.141592-p3.1.10 (utf8) (Web2C 7.5.4)
(./test.tex
pLaTeX2e <2006/01/04>+0 (based on LaTeX2e <2005/12/01> patch level 0)
(/usr/local/teTeX/share/texmf/ptex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2006/11/01 okumura
) (/usr/local/teTeX/share/texmf-local/tex/latex/base/inputenc.sty
(/usr/local/teTeX/share/texmf-local/tex/latex/base/utf8.def
(/usr/local/teTeX/share/texmf-local/tex/latex/base/t1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/ot1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/omsenc.dfu)))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/otf.sty
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/ajmacros.sty))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlutf.sty)
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlcid.sty) (./hangul.dfu)
(./test.aux) [1] (./test.aux) )
Output written on test.dvi (1 page, 404 bytes).
Transcript written on test.log.
### dvipdfmx test.dvi
test.dvi -> test.pdf
[1
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
]
5948 bytes written
### Succesfully generated test.dvi and test.pdf
と出て、先程と同様な結果になりました。
UniJIS-UTF16-H blank.tex blank1.tex test.pdf test0001.pdf
blank.aux blank1.aux hangul.dfu test.tex test0001.tex
blank.dvi blank1.dvi test.aux test0001.aux
blank.log blank1.log test.dvi test0001.dvi
blank.pdf blank1.pdf test.log test0001.log
UniJIS-UTF16-Hはダウンロードして、フォルダに入れました。
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/archive/ のページにSizeが156Kとあるのに、DLされたファイルのSizeが164Kとなってるのは気になりますが・・・
ちなみに、/usr/local/teTeX/share/texmf-local/fonts/cmap/dvipdfm/ にUniJIS-UTF16-Hを入れて、
sudo /usr/local/teTeX/bin/mktexlsr
(mktexlsrする、とはこれのことでしょうか?)しましたところ、同様な結果になりました。
/usr/local/teTeX/share/texmf/fonts/cmap/ptetex/UniJIS-UTF16-H は、入っていました。
このエラーメッセージ
** WARNING ** No character mapping available. CMap name: UniJIS-UTF16-H input str:
は「UniJIS-UTF16-H の中に『何か』(Input str だけど見えてない)が見つからない」ということでしょうから、UniJIS-UTF16-H 自体は見つかっているはずです。『何か』は当然ハングルの文字でしょう(UniJIS-... の中にあるはずがない)。つまり、韓国語用(のはず)のフォントの CMap が UniJIS-UTF16-H であるというおかしな状態になっています。
ということは、恐らく、otf の韓国語用のフォントの設定が正しく行われていないのだと思います。
やっぱり私の考え違いですね。
UniJIS-UTF16-Hは美文書環境にも入っているはずですし,よく考えてみたら,韓国語を使うのならUniJISではなくUniKSとなるはずですよね。
/usr/local/teTeX/share/texmf-config/web2c/updmap.cfg
には
KanjiMap otf-cktx.map
というのが入っているでしょうか。これがなければ書き込んで
updmap-sys
を再実行しないといけないですね。でもこれも入っていたようにも思います(思い違いかもしれません)。
とりあえずはこのあたりをチェックしていただけますでしょうか。
あとはフォントを埋め込むには otf-cktx.map の右辺に実フォント名を書いて,そのフォントを
/usr/local/teTeX/share/texmf-local/fonts/opentype/
あたりに入れて(あるいはシンボリックリンクして),mktexlsr ということでしょうか。
$ platex test
This is pTeX, Version 3.141592-p3.1.10 (utf8) (Web2C 7.5.4)
(./test.tex
pLaTeX2e <2006/01/04>+0 (based on LaTeX2e <2005/12/01> patch level 0)
(/usr/local/teTeX/share/texmf/ptex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2006/11/01 okumura
) (/usr/local/teTeX/share/texmf-local/tex/latex/base/inputenc.sty
(/usr/local/teTeX/share/texmf-local/tex/latex/base/utf8.def
(/usr/local/teTeX/share/texmf-local/tex/latex/base/t1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/ot1enc.dfu)
(/usr/local/teTeX/share/texmf-local/tex/latex/base/omsenc.dfu)))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/otf.sty
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/ajmacros.sty))
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlutf.sty)
(/usr/local/teTeX/share/texmf/ptex/platex/otfstable/mlcid.sty) (./hangul.dfu)
No file test.aux.
[1] (./test.aux) )
Output written on test.dvi (1 page, 404 bytes).
Transcript written on test.log.
$ dvipdfmx test
test.dvi -> test.pdf
[1]
6565 bytes written
これをAcrobatで見てみました:
TeXShopの設定(Fontなど)が前の状態を勝手に引き継いでいたことは気になりますが・・・
test.texをタイプセットしてみましたところ、
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
** WARNING ** No character mapping available.
CMap name: UniJIS-UTF16-H
input str:
と、再インストール前同様の結果となりました。
Cygwin + ptetex の環境ですが,dvipdfmx を実行したときの verbose ログ (test.dvipdfmx.log) を以下に貼り付けておきます.
コマンドは,
$ platex -kanji=utf8 test.tex
$ dvipdfmx -vv test.dvi 2> test.dvipdfmx.log
と実行しています.もう少しお付き合いいただけるようでしたら,処理したソース,platex 時のログと,dvipdfmx の冗長ログを付けていただけると解析できるかもしれません.TeXShop の開発環境でないところで実行するとどうか,という点も,チェックしたいところになります.
<FONTMAP:pdftex.map><FONTMAP:kanjix.map>test.dvi -> test.pdf
DVI Comment: TeX output 2009.10.30:2137
<AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1<cmr10@9.96pt(TFM:cmr10[/usr/local/teTeX/share/texmf-dist/fonts/tfm/public/cm/cmr10.tfm])
fontmap: cmr10 -> cmr10.pfb
pdf_font>> Simple font "cmr10.pfb" enc_id=<builtin,-1> opened at font_id=<cmr10,0>.
><nmlminr-h@9.21pt(TFM:nmlminr-h[/usr/local/teTeX/share/texmf/fonts/tfm/public/otfstable/nmlminr-h.tfm])(VF:/usr/local/teTeX/share/texmf/fonts/vf/public/otfstable/nmlminr-h.vf(TFM:hminr-h[/usr/local/teTeX/share/texmf/fonts/tfm/public/otfstable/hminr-h.tfm])<hminr-h@9.21pt
fontmap: hminr-h -> Ryumin-Light(H)[noemb]
(CMap:H)
pdf_font>> Input encoding "H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "Ryumin-Light".
(CID:Ryumin-Light)
pdf_font>> Type0 font "Ryumin-Light" cmap_id=<H,2> opened at font_id=<hminr-h,1>.
>)(VF)><utfkmra-h@9.21pt(TFM:utfkmra-h[/usr/local/teTeX/share/texmf/fonts/tfm/public/otfstable/utfkmra-h.tfm])(VF:/usr/local/teTeX/share/texmf/fonts/vf/public/otfstable/utfkmra-h.vf(TFM:otf-ukmr-h[/usr/local/teTeX/share/texmf/fonts/tfm/public/otfstable/otf-ukmr-h.tfm])<otf-ukmr-h@9.21pt
fontmap: otf-ukmr-h -> HYSMyeongJo-Medium(UniKS-UTF16-H)[noemb]
(CMap:UniKS-UTF16-H)
pdf_font>> Input encoding "UniKS-UTF16-H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "HYSMyeongJo-Medium".
(CID:HYSMyeongJo-Medium)
pdf_font>> Type0 font "HYSMyeongJo-Medium" cmap_id=<UniKS-UTF16-H,3> opened at font_id=<otf-ukmr-h,2>.
>)(VF)><utfkmrb-h@9.21pt(TFM:utfkmrb-h[/usr/local/teTeX/share/texmf/fonts/tfm/public/otfstable/utfkmrb-h.tfm])(VF:/usr/local/teTeX/share/texmf/fonts/vf/public/otfstable/utfkmrb-h.vf<otf-ukmr-h@9.21pt>)(VF)>](cmr10.pfb[CMR10][built-in][Type1][6 glyphs][929 bytes])(CID:Ryumin-Light[Ryumin-Light][CIDFontType0])(CID:HYSMyeongJo-Medium[HYSMyeongJo-Medium][CIDFontType0])
Compression saved 21 bytes. Try "-V 5" for better compression
3607 bytes written
platex -kanji=utf8 test.texとしたところ、
This is pTeX, Version 3.141592-p3.1.10 (utf8) (Web2C 7.5.4)
! I can't find file `test.tex'.
<*> test.tex
Please type another input file name:
と出たのですが、test.texはどこに入れれば?いいのでしょうか。
dvipdfmx -vv test.dvi 2> test.dvipdfmx.logに関しては、実行しても何も起こりませんでした。
test.tex, hangul.dfu は /home/hoge/work に一緒にいれておきます.
コマンドラインの見た目は環境によって異なるのですが,
$ cd /home/hoge/work
$ pwd
/home/hoge/work ### <- カレントディレクトリ
$ ls
test.tex hangul.dfu ### <- 一緒にいれておく.(test.tex はいままでも例に挙がっているもの)
$ platex -kanji=utf8 test.tex
... (中略) ...
$ dvipdfmx -vv test.dvi 2> test.dvipdfmx.log
という感じになります.
> dvipdfmx -vv test.dvi 2> test.dvipdfmx.logに関しては、実行しても何も起こりませんでした。
に関しては, test.dvi が存在していないはずなので,仕方ありません.上のようにソースファイルを配置して,再度お試しください.
「日韓混在文書の組版 --- ptexenc と otf パッケージを用いた方法」として解説記事を書きました.http://ptetexwin.sourceforge.jp/jkexample/
- (otf-)hangul.dfu ファイルが明示的においてあるのが本フォーラム上の添付ファイルだけだったという状況を改善するのが第一の目的です.
- 最近になって Hack できた,JIS X 0208 外の文字を verb(atim) 中でも表示するための方法も書いてあります.
国際的な開発の流れに追いつくことや,(最近また話題になっていますが) Utf82TeX プリプロセッサを用いる方法を試してみることなど,やることはたくさんありますので,上記のページは順次更新していく予定です.
kuroky さん、こんにちは。ZRです。
解説記事、大変興味をもって読ませて頂きました。 LaTeX(p-、up-、Xe-、Lua- を問わず)のもつ能力を一般の LaTeX ユーザが解る形で解説するのはとても大事なことだと感じています。
読んでいて気になった点を挙げておきます。
- (「TeX ソースファイルの骨格」小節)
\usepackage[utf8]{inputenc}% または \usepackage[utf8x]{inputenc}
utf8 と utf8x の間には互換性は全くないようです。utf8x の
\DeclareUnicodeCharacter{<code>}{<text>}
の構文は一見 utf8 のそれと似ているのですが、code は 10 進での指定です。 - (その少し後)
韓国語の組版においては,ハングル-ASCII文字間に,pTeX における漢字仮名-ASCII文字間の
\xkanjiskip
のような小さな空白を空けることはしません.韓国語でも空きを入れるようですよ。
参照→Re: ptex を使ったハングル組版 - (verb(atim) 中での問題点)
私も bxutf8 入力エンコーディング(UTF-8 直接入力を\UTF
に渡すことができます)の開発の際に同じ問題に遭遇しました。で、私は TeX コードをガリガリ書いて強行突破しております。;-)
参照→Safe caret 機能
〈^
〉をアクティブにしておいて^^ab
形式を自力で解析を試み、成功したら変換結果に置き換え、失敗したら通常文字(catcode 12)の〈^
〉に置き換える、という処理をしています。ただ、これでも解決できないケースがあるんですね(→Re: utf82texの変換;OldSlav 自身が UTF-8 の解析を行う部分があるため)。なお、同じページに CJK 言語を混在させた例を幾つか扱っています。
kuroky さんの解説文書にある例を bxutf8 + pxbabel で実現する例を掲載します。
% このファイルの文字コードは UTF=8; platex -kanji=utf8 で組版 \documentclass[papersize]{jsarticle} \usepackage[bxutf8]{inputenc} \usepackage[expert,multi]{otf} \usepackage[english]{babel} \usepackage[main=japanese]{pxbabel} \usepackage{palatino} \pagestyle{empty} \begin{document} \fbox{\vbox{\hsize=21zw {\TeX}はスタンフォード大学のクヌース教授によって開発された組版システムであり、 組版の美しさと強力なマクロ機能を特徴としている。\par \bigskip \begin{otherlanguage*}{korean}\noautoxspacing {\TeX}은 스탠포드 大學의 크누스 敎授에 의해 開發된 組版 시스템으로, 組版의 美와 强力한 매크로 機能이 特徵이다.\par \end{otherlanguage*} }} \end{document}