フォーラム: 公開討議/質問 (スレッド #36081)

Source Han SansのOTF対応について (2014-10-21 14:14 by takahashim #74635)

MacTex 2014でLuaLaTeXを使ってみています。

Source Han Sansを使用したく試してみたところ、SubsetOTFのSourceHanSansJP-Regular.otfは正常に使えているようなのですが、SubsetではないOTFのSourceHanSans-Regular.otfではSegmentation fault: 11で失敗するようです。これは対応できないのでしょうか。

試したtexファイルは以下になります。
https://gist.github.com/takahashim/c539100cf96b729dfa3d#file-tmp-err-tex

エラーログはこちらです。
https://gist.github.com/takahashim/c539100cf96b729dfa3d#file-errorlog

どうぞよろしくお願いいたします。

メッセージ #74635 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: Source Han SansのOTF対応について (2014-10-21 15:13 by h7k #74636)

[メッセージ #74635 への返信]
> SubsetではないOTFのSourceHanSans-Regular.otfでは
> Segmentation fault: 11で失敗するようです。
> これは対応できないのでしょうか。

エラーログが
> </Users/maki/Library/Fonts/SourceHanSans-Regular.otfSegmentation fault: 11
で終わっているところを見ますと,LuaTeX がフォントを pdf に埋め込もうとしているところで Segmentation fault しているようです.

手元の環境で試したところ,エラーが出ずに,正常に pdf が出力されました.
> This is LuaTeX, Version beta-0.79.1 (TeX Live 2014/dev) (rev 5041)
> restricted \write18 enabled.
> (./tmp-err.tex
> LaTeX2e <2014/05/01>
> ...
> </opt/texlive/2014/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf></o
> pt/texlive/texmf-local/fonts/truetype/mine/SourceHanSans-Regular.otf>
> Output written on tmp-err.pdf (1 page, 5240 bytes).
> Transcript written on tmp-err.log.
こちらの LuaTeX バイナリが Tex Live 2014 のもの (rev 4971) とは違い,
手動でビルドしたものであることが関係しているのかもしれません.
#74635 への返信

メッセージ #74636 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: Source Han SansのOTF対応について (2014-10-21 16:06 by kmaeda #74637)

[メッセージ #74636 への返信]
> こちらの LuaTeX バイナリが Tex Live 2014 のもの (rev 4971) とは違い,
> 手動でビルドしたものであることが関係しているのかもしれません.

私も試してみましたが,TeX Live 2014 の rev 4971 と,
手元にあった rev 5030 では失敗したので,
rev 5064 に上げてみたらうまく動きました.
ただ,「こ (U+3053)」と「ん (U+3093)」が
それぞれ「吆 (U+5406)」と「吭 (U+542D)」に化けてしまいます.
「にちは」は正しく出ます.
他のひらがなも試してみたら色々おかしいです.
どうなっているのでしょう.
#74636 への返信

メッセージ #74637 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: Source Han SansのOTF対応について (2014-10-21 16:22 by h7k #74638)

[メッセージ #74636 への返信]
> こちらの LuaTeX バイナリが Tex Live 2014 のもの (rev 4971) とは違い,
> 手動でビルドしたものであることが関係しているのかもしれません.
調べてみましたら,LuaTeX r5041
(https://foundry.supelec.fr/scm/viewvc.php?view=rev&root=luatex&revision=5041}
以降ならば,SourceHanSans-Regular.otf を使っても Segfault は起きないようです.

また,先ほどレスした時には気づきませんでしたが,
Segfault なしで SourceHanSans-Regular.otf を使った
pdf が作れた場合でも,pdf 中で「こんにちは」が
「吆吭にちは」(正確には,2文字目はねべぶたが点になっています)
と化けてしまっています.
#74636 への返信

メッセージ #74638 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: Source Han SansのOTF対応について (2014-10-22 10:18 by takahashim #74644)

[メッセージ #74638 への返信]
> [メッセージ #74636 への返信]
> > こちらの LuaTeX バイナリが Tex Live 2014 のもの (rev 4971) とは違い,
> > 手動でビルドしたものであることが関係しているのかもしれません.
> 調べてみましたら,LuaTeX r5041
> (https://foundry.supelec.fr/scm/viewvc.php?view=rev&root=luatex&revision=5041}
> 以降ならば,SourceHanSans-Regular.otf を使っても Segfault は起きないようです.

ご確認ありがとうございます。
LuaTeX側の問題だったんですね…。

> また,先ほどレスした時には気づきませんでしたが,
> Segfault なしで SourceHanSans-Regular.otf を使った
> pdf が作れた場合でも,pdf 中で「こんにちは」が
> 「吆吭にちは」(正確には,2文字目はねべぶたが点になっています)
> と化けてしまっています.

なんと、文字化けしてしまうんですね。
これはフォント側の問題なんでしょうか。
#74638 への返信

メッセージ #74644 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: Source Han SansのOTF対応について (2014-11-09 15:06 by kmaeda #74772)

[メッセージ #74638 への返信]
> また,先ほどレスした時には気づきませんでしたが,
> Segfault なしで SourceHanSans-Regular.otf を使った
> pdf が作れた場合でも,pdf 中で「こんにちは」が
> 「吆吭にちは」(正確には,2文字目はねべぶたが点になっています)
> と化けてしまっています.

遅くなりましたが,ConTeXt でも試してみました.
しかし,やはり同様に化けてしまいます.

\usemodule[simplefonts]
\setmainfont[SourceHanSans-Regular]
\starttext
こんにちは
\stoptext


初回のキャッシュ作成時のログには下のような行が大量に出ます.

fonts > otf loading > preventing glyph 'Identity.65370' at index 0x0FF5A to overload unicode U+0FF5A
fonts > otf loading > preventing glyph 'Identity.65371' at index 0x0FF5B to overload unicode U+0FF5B
fonts > otf loading > preventing glyph 'Identity.65372' at index 0x0FF5C to overload unicode U+0FF5C
fonts > otf loading > preventing glyph 'Identity.65373' at index 0x0FF5D to overload unicode U+0FF5D
fonts > otf loading > preventing glyph 'Identity.65374' at index 0x0FF5E to overload unicode U+0FF5E
fonts > otf loading > preventing glyph 'Identity.65375' at index 0x0FF5F to overload unicode U+0FF5F
fonts > otf loading > preventing glyph 'Identity.65376' at index 0x0FF60 to overload unicode U+0FF60
fonts > otf loading > preventing glyph 'Identity.65504' at index 0x0FFE0 to overload unicode U+0FFE0
fonts > otf loading > preventing glyph 'Identity.65505' at index 0x0FFE1 to overload unicode U+0FFE1
fonts > otf loading > preventing glyph 'Identity.65506' at index 0x0FFE2 to overload unicode U+0FFE2
...

角藤さんも ConTeXt の ML で同じようなことを書いています.
http://www.ntg.nl/pipermail/ntg-context/2014/079498.html
#74638 への返信

メッセージ #74772 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする