OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- 和田 勇 の投稿
返信数: 8
まだ対応策は思いついてはいないので、報告です。

OS X El Capitan で 以下のサンプルのような内容に濁点半濁点がファイルを uplatex  + dvipdfmx で処理すると、「が」--> 「か」+「゛」のようになってしまいます。

\documentclass{ujarticle}
%\documentclass[uplatex]{jsarticle}% どちらでも同じ
\begin{document}
「がぎぐげご」
\end{document}

なお platex 対応すれば問題は発生しません。

OSX では今まで pdf や Web Browser から濁点半濁点の文字列をコピペするとこの問題が元々ありましたが、El Capitan から一文字に見えるものは分けないように変更されたようで文字コード自体も変わっているようです。編集して保存するとこの部分に差分が生じてしまいます。(私は emacs を utf-8 で操作しています)


和田 勇 への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- Dora TeX の投稿
> El Capitan から一文字に見えるものは分けないように変更されたようで文字コード自体も変わっているようです。

こちらでは状況が再現できません。
El Capitan 上で,

・TextEdit
・CotEditor
・TeXShop

などのアプリ内で,

・OS X 標準の日本語入力
・ATOK

で濁点付きかな文字の入力・保存をやってみましたが,いずれも合成済み文字でしか入力されませんでした。
Emacs の設定の問題ではないでしょうか?

基底文字+濁点へと分解された形(結合文字列)をpTeXで処理すると合成されるのは,Unicode から JIS への変換時に同一視されるからですね。
Dora TeX への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- 和田 勇 の投稿
早々の検証ありがとうございます。

今友人とメールのやりとりしていて、もしかしたら emacs かと思い始めていたところでした。二つ懸念があります。

一つは、emacs25 を git checkout したものをコンパイルした
もう一つは起動時の読み込みファイルを整理した

この二つの点から調べてみたいと思います。
和田 勇 への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- 和田 勇 の投稿
題目は 濁音、半濁音が妥当ですね :-(

おさわがせしました。原因が判明しました。

原因は emacs 起動時の読み込み設定ファイルを整理した際に離れた濁音半濁音を補正するためのカスタマイズでファイルの文字コードを
    (prefer-coding-system 'utf-8-hfs)
と追加していました。さらに
    (setq locale-coding-system  'utf-8-hfs);
とダメおしもしていました。:-(

これらを取り除いて無事濁音半濁音が離れないで一文字に見えるよう出力できるようになり uplatex も無事想い通りの結果を得ることができました。platex はこの対応をしているのですね。

余談: emacs 24 を何も設定を読み込まずに起動し、25 で作成したものを 24 で開いて確認していたのですが、emacs25 のバッファや terminal で内容を見ても一文字に表示されていて、なかなか気が付きませんでした。what-cursor-position で調べればもっと早く気がついたかもしれません。
Dora TeX への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- t tk の投稿
今回は、すでに解決なさったようですが、
平仮名、片仮名の基底文字+濁点へと分解された形を合成済み文字へ変換する処理をpTeXと同様、upTeXでも働くように
TeX Live svnにコミット(r38704)しました。

JIS X 0208にない文字
ゔヷヸヹヺ
も合成されます。
Unicodeで合成済み文字が規定されていない文字(か+半濁点等)は合成できません。

そもそも入力ファイルを用意する段階で対応すればいい話で中途半端な仕様のような気もしますが、合成された方がうれしいこともあるようなので今回対応の方法をとることにします。
t tk への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- t tk の投稿
今回の対応での副作用について以下、検討します。

今回の対応後、
upTeXの文字入力のかなり早い段階で「結合文字列(基底文字+合成用濁点・半濁点)」→「合成済み文字」の変換を行うため、逆に「結合文字列」の扱いが出来なくなります。

Windows, Linux(Unix)では、
ファイル名として「合成済み文字」と「結合文字列」の両方とも使用可能らしいです。
つまり
(1) ほげ.tex  (「げ」は合成済み文字)
(2) ほげ.tex  (「げ」は基底文字+合成用濁点)
の両方が使えますが、
upTeX (upLaTeX) のソースに、例えば
(1a) \input ほげ.tex  (「げ」は合成済み文字)
(2a) \input ほげ.tex  (「げ」は基底文字+合成用濁点)
と書いたとして、
従来は(1a)→(1), (2a)→(2)の対応関係になりましたが、
変更後は、(1a)→(1), (2a)→(1) となってしまい、(2)のファイル名が使用不可になります。 (実験しての確認はしていませんが、理屈からしてそうです。)

Mac (HFS+) の場合、(1)のファイル名の存在が許されず(2)のみ存在することになってるらしいのですが、(1a)や(2a)と書いた場合どういう動作になっているのか、現状、変更後ともに分かりません。どうなんでしょうか?

上記の副作用の評判が悪いようでしたら r38704 は撤回しようと思います。
ご意見いただけるとありがたいです。

t tk への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- Dora TeX の投稿
HFS+ は,「合成済み文字」の形でファイルへのアクセス要求があった場合,自動的に「結合文字列(基底文字+合成用濁点・半濁点)」に読み替えてファイルにアクセスさせる仕様になっています。
これは,HFS+ では結合文字列が使われるものの,それ以外の多くの場面では Mac においても合成済み文字を使うのが普通(例えばOS標準の日本語入力システムでも濁音文字は合成済み文字で入力されます)であるため,その間の整合性をとるためです。

そのため,HFS+ においては,従来版では (1a), (2a) どちらでも同一のファイル(2)にアクセスされます。
変更後の方はまだ試しておりませんが,理屈上,変更後も動作は変わらないはずです。
(TeXShop では,保存時に(2a)を自動的に(1a)に統一するオプション機能を用意して対応しておりました。)

ですから,HFS+ における \input の挙動については,今回の変更の影響は特に受けないと思います。
Dora TeX への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- 和田 勇 の投稿
私のケアレスミスだったのになんか事が大きくなってしまい恐縮です。

とはいえ、日本語のファイル名はいずれは通らなくてはならないと思い、
せめて検証のお手伝いをしようと検証環境を作ろうと思っているのですが、disk space が不足気味で未達です。どなたかが「結論」を出すまであれこれ試みてみます。

# コンパイルは 2008/2009 以来かな?
Dora TeX への返信

Re: OSX El Capitan で uplatex で濁点半濁点の表示がおかしい

- t tk の投稿
> HFS+ における \input の挙動については,今回の変更の影響は特に受けないと思います。
とのコメント、ありがとうございました。
安心しました。