Ticket #38487

LuaTeX-ja+Noto CJK(Source Han)で2倍ダーシ(U+2015 2文字並べ)が崩れる

Open Date: 2018-08-11 09:07 Last Update: 2018-08-11 11:36

Reporter:
Owner:
(None)
Status:
Open
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None

Details

TeX forum 中に同名の報告があったので,こちらにも貼っておきます.

日頃から、素晴らしいパッケージを開発・維持してくださり、感謝いたします。

題名のとおり、

********
\documentclass{ltjtarticle}
%\documentclass{ltjsarticle}
\usepackage[noto-otf,match]{luatexja-preset}
\begin{document}

しかし――そして――なぜなら――!――まさか――?――『聞こえますか……――』――終

\textsf{しかし――そして――なぜなら――!――まさか――?――『聞こえますか……――』――終}

\end{document}
********

このようなソースをlualatexでコンパイルすると、縦書き・横書きともに2倍ダーシが崩れます。
Noto CJK/Source Hanフォントでは、―(U+2015)を2文字並べると合字が出力されているように見えますが、
縦書きでは前に1文字ぶん陥没し、横書きでは後ろに1文字ぶん陥没してしまいます。

この問題はすでに開発サイドでも把握済みでしょうか?
現状では\ruleを使った自作のマクロで対応していますが、記号がベタ打ちできると便利だと思います。

テスト環境はUbuntu Linux 18.04にTUGの(Ubuntuレポジトリではない)Vanilla Tex Live 2018です。

Attachment File List

Ticket History (3/5 Histories)

2018-08-11 09:07 Updated by: h7k
  • New Ticket "LuaTeX-ja+Noto CJK(Source Han)で2倍ダーシ(U+2015 2文字並べ)が崩れる" created
2018-08-11 10:14 Updated by: h7k
  • File shs_two-em_dash.tex (File ID: 5418) is attached
2018-08-11 10:14 Updated by: h7k
  • File shs_two-em_dash.pdf (File ID: 5419) is attached
2018-08-11 10:19 Updated by: h7k
  • Type Update from Bugs to Support Request
Comment

U+2015 を並べた場合がうまく組まれるようなソース shs_two-em.tex を作りました.上に添付してあります. この中の

\usepackage{luacode}
\begin{luacode}
...
\end{luacode}
\documentclass によるクラス読み込み直後に書いてみて下さい. なお,pdf でも分かるように,U+2014 を並べた場合にはまだ対応していません(U+2014 を並べると U+2E3A TWO-EM DASH という別のグリフが出てきます).

本来は合字の情報だったり縦書きグリフの原点(OpenType フォントの VORG テーブル)をきちんとみるべきですが,前者は面倒だったので,また後者は内部で使っている luaotfload がそもそも VORG テーブルを読まないので,いずれもきちんとはやっていません.Lua コードのコメント中にあるような安直な判断基準で「このグリフは倍角ダーシだな」と判断させています.

2018-08-11 11:36 Updated by: h7k
Comment

h7k への返信

U+2015 を並べた場合がうまく組まれるようなソース shs_two-em.tex を作りました.

おっと,LuaTeX-ja 側を 9b34f19 に更新する必要があることを忘れていました. 同じ変更ですが,ltj-jfont.lua の末尾に次の 1 行をたしても良いです:

luatexja.jfont.update_jfm_cache = update_jfm_cache

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login