OTFパッケージの今後の指針

OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
返信数: 25
先日は色々とご迷惑をおかけ致しまして誠に申し訳ございません

さて,標題の件ですが,OTFパッケージについてメンテナンスをした方が良いと思われる点があるようですので,私の考えている指針を述べさせて戴きたいと存じます.皆様のご意見をお聞かせ願いたく存じます.

1. disablejfamオプション使用時の不具合
・3/20付けで修正版を出しました.

2. JIS2004字形への対応
・JIS X 0208内については,新たにtfm, vfを用意し,shapeの切り替えによって切り替えられるようにする.
・\UTF, \CIDで指定する文字については何もしない.

一番目については,vfの段階でCIDに変換しておき,CMapはIdentityを使う方法と,vfではJISのコードのままにしておき,然るべきCMap(何を使えばよいのか,まだ調べていません)で変換する方法の2種類が考えられますが,どちらがよいでしょう?

3. ぶら下げ組への対応
リクエストがあったので,ぶら下げ組み用のtfm, vfを作成しましたが,これを取り込もうと考えています.
現在は,パッケージのオプションで切り替えするようにしていますが,これもshapeの切り替えでした方が良いと考えています.

4. speed up patchの適用
 土村様へのお願いとなりますが,ptexliveで使用されているspeed up patchを取り込ませて戴けないでしょうか.

5. 開発版,安定版の変更
・現在の安定版(ver. 1.2.9)はzipファイルの名称を変更して(例えばotf1.2.9.zip)残しておく.
・開発版(ver. 1.5.5)を安定版(ver. 1.6)としotfstable.zipとする.
・上記2, 3への対応をするものを,当面ベータ版としてotfbeta.zipとする.

他にした方が良いと思われることがありましたら,ご指摘下さい.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
単なる Make の際に関することです。
WEB 版の ovp2ovf がおそかれ早かれ無くなると思います。
それで以下の2点をよろしくお願い致します。
(1) ovp の場合にも
(OFMLEVEL D 0)
の文を入れる。
(OFMLEVEL D 1) が必要ならこれでも良いです。
(2) ovp において、実数には必ず小数点を付ける。

上の2点の変更で、次期版の C 版 ovp2ovf でも Make が
可になると思います。

pltotf のコマンド名は ppltotf でお願い致します。

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
対応します.
ただ,C版のovp2ovfがないので,テストをお願いすることになると思いますが,そのときはお願い致します.

pltotfはppltotfに直しておきます.

今までは,Windows用にバッチファイルを作成していたのですが,今後はこれを無くしたいのですが,構わないでしょうか.

uplatex用のパッチも適用しておきます.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
> 対応します.
> ただ,C版のovp2ovfがないので,テストをお願いすること
> になると思いますが,そのときはお願い致します.

ありがとうございます。

> 今までは,Windows用にバッチファイルを作成していたのですが,
> 今後はこれを無くしたいのですが,構わないでしょうか.

私自身は、ksh (のサブセット)を使っているので、バッチファイル
ではなくて、*nix 用スクリプトを使用していました。

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
・OFMLEVELエントリの追加
・土村さんのspeed up patchの適用
・uplatexへの対応

上記の変更を致しました.
C版のovp2ovfが通るかお試し戴ければと存じます.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
mkjvfに修正漏れがたくさんありました.
差し替えをお願い致します.

どうも,WEB版だと問題なく通ってしまうので,見逃しがちです.
すいません.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
すみません。
(OFMLEVEL D 0)
でないとだめでした。 LEVEL 1 を指定する必要は
ないと思いますので、できれば
(OFMLEVEL D 0) でお願いします。
なお、 WEB 版で
(OFMLEVEL D 0)
(OFMLEVEL D 1)
の場合をくらべると、全く同じ ovf ができているので
大丈夫だと思います。
(OFMLEVEL D 0)
としておくと、 C 版で WEB 版と同じ ovf ができます。

char_routines.c にちょっと変更をくわえないと、アクセス違反
で落ちるのですが、たぶん Peter さんが変更を認めてくれる
と思います。

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
> char_routines.c にちょっと変更をくわえないと、アクセス違反
> で落ちるのですが、たぶん Peter さんが変更を認めてくれる
> と 思います。

まちがいです。落ちるのは (OFMLEVEL D 1) の場合で、
これを落ちないように quick fix すると、 Broken ovf
ができます。(OFMLEVEL D 0) にして戴くと、現在の
C 版ソースそのままで ok です。

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
C 版 ovp2ovf を使用するとき
ovp における
(OFMLEVEL D 1) を
(OFMLEVEL D 0)
に変更するだけで、スクリプトが最後まで
異常なく終了することを確認しました。

齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- t tk の投稿
すっかり出遅れてしまいました。
uplatex パッチの採用、ありがとうございました。

uplatex 使用時の本文用vfを作成するため
齋藤様作成の"mkjvf"を改変しunicode動作可能にした"umkjvf"を作成し
すでに公開してしまっています。
(upTeX配布の中のotfstable-uptex-0.04.tar.gzの中のumkjvf)
otfパッケージに別名で追加して使う形にはなっていますが、
otfパッケージのライセンス上
「改変の上再配布」のようなことをしてしまってよいものか少々引っかかっていました。
断りも無く「改変の上再配布」を勝手に実行していたのを
お詫び申し上げます。

umkjvf以外は著作権とかライセンス云々というほどの内容はないので
問題ないと思っています。

mkjvfをumkjvfにする際の差分はそれなりの量になっていることと、
uplatexの将来性をどう捉えるかの問題もあるし、
メンテナンスのためにはuptex環境の準備をする手間もかかるとあって、
otfパッケージ開発元の齋藤様にメンテナンスをお願いするのは気が引けます。
このままumkjvfを私がメンテナンス、公開をしても差し支えないでしょうか?
お考えを伺えたらありがたく存じます。

t tk への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
今の配布形態であれば全く問題ありません.

かなり手を入れていらっしゃるようなので,このままttk様がメンテナンスして戴ければと存じます.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- t tk の投稿
ご回答ありがとうございました。

いつも齋藤様には感謝しております。
今後とも引き続きよろしくお願いします。
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
3/20版 (チラッとみただけです)で、もし ttk さんによる
uplatex サポートパッチが採り入れて無いならば、採り入れて
戴くとありがたいと思います。
\usepackage[uplatex]{otf}
のような使用法だったと思います。

齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 山本 和義 の投稿
disablejfam 使用時の不具合の修正ありがとうございます.うまく動いているようです.

disablejfam オプションを使わずに jarticle で使った場合には,常に mathrmmc オプション付きと同じ動作になります.が,これはまあ otf.sty の仕様なのだなと理解しています.
山本 和義 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
仕様というよりは,数式を組むことが殆どないので,どうしたら良いのか理解できていません.
アドバイスなど戴ければ幸いです.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 山本 和義 の投稿
釈迦に説法の部分もあるかと思いますが説明させていただきます.以下,disablejfam
オプションは使用していないという前提で話をします.

\AtBeginDocument 内の2つの \reDeclareMathAlphabet の部分は,\mathrm, \mathbf
がそれぞれ \mathmc, \mathgt の機能を合わせ持つようにするためのものです.
そして,現在の jarticle class では,これらは mathrmmc オプションを付加したとき
に同等のコードが発行されます.これは,\reDeclareMathAlphabet が脆弱であるのと
和文ゴシック体は実際には使わないのに \mathbf としただけで数式famが1つ消費される
ことのためです.従って,mathrmmc オプションを使わずに,\documentclass{jarticle}
として 3/20版の otf.sty を用いた場合,mathrmmc が指定されていないにもかかわらず
その機能が実現されるという意味論上の不整合が生じます.

一方,jsarticle class では mathrmmc オプションは実装されておらず,とくに
オプションを記述しなくても上記のコードが発行されます.このあたりは,class が
違えば考え方も違うということでしょう.この場合はなんの不整合も生じていません.

\reDeclareMathAlphabet はそれが同じ設定なら,一回発行すればそれで十分なものです.
そして,\if@enablejfam が存在しているならば,class file 内で

  \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}
  \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}

の2つが「必要ならば発行されているし,必要ないならば発行されていない」ことが
十分に予想できると考えられます.

で,結論です.otf.sty 内ではこれらは発行しないというのはいかがでしょうか?
(つまり \AtBeginDocument{...} を削除) 既に class file 内で必要ならば発行されて
いるはずなので,問題なく意図どおりに動作すると思われます.


%%% 以下,雑談というか... %%%

せっかく開発版 otf.sty を使うのなら,\mathbf で和文ゴシック体(\mathgt) が割り
当てられるのではなく和文太字が割り当てられるのがかっこいいかなと一瞬思いました.
しかし,あまり需要はないと思われます.数式を記述する場合に和文数式文字が必然と
なることは非常に少ないので,上の方に述べたことも「明朝体が数式内で手軽に使える」
ならば,どのようになっていてもクレームは付かないんじゃないかなと考えています.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 土 村 の投稿
> 土村様へのお願いとなりますが,ptexliveで使用されているspeed up patchを取り込ませて戴けないでしょうか.

お返事遅くなってすいません。もちろんご自由に扱っていただいて構いません。

私の場合、何度も make する必要から、待ち時間が短くなったらいいなぁ、というぐらいの動機で作ったパッチです。他の処理も見てみるとある意味で共通性があるというか、拡張性を確保してあるのだなぁ、と思ったので、わざわざ開発者にパッチの存在をお知らせするほどのこともないと思って、そのままにしてきました。お目にとまって恐縮しています。必要と思われる範囲で、ご自由にお使いいただけましたら幸いです。
土 村 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
ありがとうございます.
取り込ませて戴きます.

拡張性というか,perlを使い始めた頃のものなので,コピペして使い回しているのが本当のところです.

正直,これらのスクリプトは恥ずかしいので書き直したいところです……
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
角藤先生
ご指摘の通り,OFMLEVELを0に変更しておきました.

山本和義様
解説ありがとう御座います.ご指摘通り\AtBeginDocument{...}の部分を削除しておきました.

以上の修正をしたものを,ver. 1.5.6として公開致しました.
併せて,安定版,UTFパッケージも同様の修正を致しました.

2004字形への対応とぶら下げ組みの対応については,shapeで切り替えない方が良いような気がしてきました.

とりあえず,ぶら下げ組みについてはパッケージのオプションで対応することにして週末に作業をしようと思います.

2004字形はフォントメーカーごとの実装の違いなどで,ちょっと混乱しています.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
> ご指摘の通り,OFMLEVELを0に変更しておきました.

どうもありがとうございました。
なお、 otfstable.zip は更新されていないようなの
ですが、こちらの間違いでしょうか?

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
シェルスクリプトの更新が漏れていたようです.
すいませんでした,

他にもおかしな所がありましたでしょうか?
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
記述が不正確ですみませんでした。
OPL においては C 版でも CHARREPEAT がちゃんと
扱えるので、
script/mkcidofm.pl
script/mkpropofm.pl
においては元どおり
(OFMLEVEL D 1)
にしておいてください。この場合は LEVEL 1 の意味があり、
ファイルサイズが小さくなります。
(OFMLEVEL D 0) のものも使用可ですが、ファイルサイズ
がおおきくなります。

Akira Kakuto への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
修正致しました.
ご指摘ありがとう御座います.
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- Akira Kakuto の投稿
ありがとうございます。これで WEB 版でも C 版でも
同じものができました。

追伸:
C 版は現在のもの (TeX Live 2009) はおそらく使用不可
だと思います。次期版で使用可能になると思います。

齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
開発版、安定版ともにmkutfvf.plにspeed up patchが正しく適用されていないバグがありました。

本日中に修正版をアップします。

ご迷惑おかけいたしまして、申し訳ございません。

取り急ぎご報告まで。
齋藤 修三郎 への返信

Re: OTFパッケージの今後の指針

- 齋藤 修三郎 の投稿
修正したバージョンを公開しております.

不具合のあるバージョンでインストールなさってしまった方は,お手数ですが更新をお願い致します.

申し訳ございませんでした.