New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upjisr-v のコロン #5
Comments
ドキュメント に記載したことと同じ課題かと思います。
まだ検討すらできていません。なので、良い解決策があれば歓迎です。 おぼろげながら、縦組みのコロンは各種規格や実装で迷走していて頭痛がして放置したような記憶があります。 |
ドキュメントにあったのですね,見つけることが出来ていませんでした。 縦組のコロンは中国語だと回さない(ただし仮想ボディの右に寄る)というのが一般的らしく,こっちで先ほど教えていただきました。CMap の整備は簡単ではないですね。触らずに TODO のままにしておきます… もちろん,いい方法が浮かべばまた考え直すことにします。 |
ASCII pTeXの方の jis-v のコロンは回転していますか? (疑問) CMapの件、今の私案は以下です。 |
jis-v でもコロンは回転しません。(が,jsarticle なども縦書きは jis-v を採用していなくて tmin10 のままなので,jis-v を実用している人はほぼいません。tmin10 もコロンは回転していません。) 「jis-v も tmin10 も回転しないのに,upjis-v だけ回転しても構わないのか?」というと,私は構わないと考えています。例えば「度 °」「分 ′」「秒 ″」が pTeX と upTeX で違う
という例があります。makejvf が回しているわけではなく,V と UniJIS-UTF16-V で違う CID が当たるからです。両者で同じ出力を得るためには,JFM や VF のメトリックを変更するか,別の CMap に当てるかの特殊処理が必要ですが,現状はそうなっていないので,実際に違う出力になります。
メトリックと実際の出力が合致しない例はコロン以外にもあるのでしょうか? どの方法をとるか(あるいは何もしないか)は,それらを列挙したあとに考えても良いのではと思えてきました。 |
そもそも、各種TrueTypeフォントあるいは各種CMapが“適切だと思う方”を選んでいるわけですよね。だとすると、「JFMで回転させる」(つまり“わざわざ逆にする”)という選択はありえないでしょう。 そうすると、自分には、「単純にUniJIS-UTF16-Vに従う」のが自然だと思うのですけど……。 |
私も考えがまとまっていませんが,そもそも「現状では JFM で想定している字形と,実際に出力する字形が合致しないので,それで良いのだろうか」という疑問が発端でした。これが「良くない」ならば,
のいずれかで,合致させれば良いわけです(どの方法も一長一短あります)。もし,「面倒だから別に構わない」なら,そのままで良いのです。どちらなのかが今のところ不明だ,というのが issue です。 |
この文章ではコロンに絞ります。 実際に出回っているフォントの実装では、縦書きの全角コロンU+FF1Aを回すかどうかはフォントによりバラバラみたいですね。こことかこことか。ただし、新しいものほど回す実装になっていそうな気がします。 |
新しいものほど回す実装,というのはなんとなく実感としてあります。 Adobe にプルリクを出して,UniJIS-UTF16-V の縦書きコロンを CID12101 に変更してもらうと万事解決するのでしょうか?(もしそうだとして,実現可能性はどのくらいだろう?) |
AJ1のcid2code.txtのコメントを見ると、「UniJISとUniJISX0213の使い分け」について次のようなことが書かれています。
もしかすると、UniJISの方は“Std”でも使えないといけないから無理かも? |
よく考えてみたら、UniJISX0213のCMapは、UTF32しか用意されてないので使えないのですね。 UniJISPro-UCS2-Vはクオートがミニュートになっているので、その意味でも魅力的ですね。 |
グリフの表ありがとうございます。コード表だけを見るのよりもはるかに実感が沸きます。
我々のニーズに合うCMapがAdobe提供のセットの中に無いならば、作ってしまえばよいと思います。 横組みの方は、私は UniJIS-UCS2-HとUniJIS-UTF16-Hを別のtfmに振り分ける、というややこしい仕組みをupjisr-hに入れてしまいましたが、今思えばCMapの自作で対応できることだったのに、という気がしてきました。 |
ものは試しで、cmap-customize というブランチを作成し、UniJISup-UTF16-{H,V} というものを作ってみました。動作確認はまだ出来ていません。 |
CMap というと,そういえば https://github.com/texjporg/jfontmaps/tree/master/jis04cmap_exp というのもありましたが(テフライブで配られるが,cmap フォルダにインストールされないので実際に使われてはいない),これも新しい CMap の検討に役立つでしょうか? これは縦組コロンを考慮していそうです。 |
簡単なテストをしたところ、手元では UniJISup-UTF16-{H,V} で触った9個(‘’“”:㍾㍽㍼㍻)に関しては、所望の動作が得られました。 jis04cmap_exp のご紹介ありがとうございます。CIDとの対応部分のネタ元は
とあるので、既に参考にしている cid2code.txt の一部に当たります。 |
縦組み字形は伏魔殿というのが率直な印象です。 拙作 UniJISup-UTF16-{H,V} と既存 upjisr-v の組み合わせでJIS X 0213の縦組み例示字形がカバーでき、さらに「㍾㍽㍼㍻」も対応できた(UniJISPro-UCS2-Vと同等レベル)と思います。
ということで合格点なのではないかと思います。 |
ありがとうございます。私も
に同意です。
についてですが,ptex-fontmaps のマップに書かれるもの(現在は Adobe 標準)がデフォルトですね。選択の手段は,ユーザー各位に \special してもらう,という想定でよろしいでしょうか。 |
今気づいたのですが,UniJIS2004up-* も作った方がよいのでしょうか? |
あまり考えていませんでしたが、さてどうしましょう。 UniJIS-UTF16-V で可能な範囲は、 UniJISup-UTF16-V で可能な範囲はさらに、 横組みの方の
想定しているのは漢字の字形の差し替えでしょうか? 需要はありそうですね。 |
現時点で,私も同じ考えです。つまり新しい CMap を提供するだけ,でよいと思います。
これは「現状維持(クオートだけ UniJIS-UCS2-H に割り当てる)」がよいと思います。Windows の游フォントのクオートの幅問題の対処として「クオートだけ別のフォントに割り当てる」という裏技(例えば pxchfon パッケージの yu-win10+ プリセットが使っている)もありうるので…。
はい,そのとおりの想定でした。UniJISup-* に需要があるならば,UniJIS2004up-* にも同程度の需要が見込めると思います。
perl script があると確かに便利ですね。もし可能ならばどちらかといえば
を変換できる方が,追従しやすいのではないかと思います。 |
Adobe提供の UniJIS2004-* と UniJISX02132004-* は、多くの記号がプロポーショナルのグリフに対応づけられており、upTeX では嬉しくないです。そこで、 UniJIS2004up-UTF16-* は UniJIS2004-UTF16-* をベースにしたものではなく、
とするのがベストかと思います。名前は混乱を招きそうですが、対案が思いうかびません。
こういう裏技は、*-V でも需要がありますかね? あまりややこしい実装を増やしたくはありませんが… |
「多くの記号がプロポーショナルのグリフ」なのは“X0213”の特徴であって、“2004”と非“2004”の違いは漢字のグリフだけ、のはずですよ。(cid2code.txt の最後のNOTEを参照。) |
UniJISup-* が開発中ということで,一つご提案を。
私も矢印類の網羅的調査をしたわけではありませんが,UniJIS-UTF16-V を使った場合, 左←↑↓→☜☝☟☞⇦⇧⇩⇨⬅⬆⬇➡右
\mbox{\tate 上←↑↓→☜☝☟☞⇦⇧⇩⇨⬅⬆⬇➡下} のコンパイル結果が となります。⬅︎⬆︎⬇︎だけ回転がかからず,その結果⬇︎と➡︎の出力がともに⬇︎となり,縦書きで➡︎を出力する方法がなくなっています。 これはどう見ても不合理な挙動だと思いますので,他の矢印類に合わせて,⬅︎⬆︎⬇︎も回転すべく,UniJISup-* には
を含めるとよいのではないでしょうか。 |
これは不合理という意見に同意です。 UniJISup-* でどうするかというよりも,Adobe にプルリクエストして直せる可能性はあるでしょうか? もしありそうなら,どういうレポートの仕方がよいでしょう? 「dvipdfmx でうまく出ない」という内容の issue を立てるわけにもいかないと思いますし… |
確かに,本家の側でこの不合理を直してもらうのが本来の筋ではあるでしょうね。
「Acrobat Distiller の不具合」という体でレポートするという手はいかがでしょう。 (自分の持っている Acrobat 9 Pro for Mac の環境ですと)
を書き加えてから Distiller で処理すると,矢印が意図通りのPDFが生成されるようになりました。 |
なるほど Distiller なら妥当ですね。レポート先は https://github.com/adobe-type-tools/cmap-resources だと思うのですが,お願いできますか? > @doraTeX |
了解です。Issueを立てておきました。 |
謎だらけです。 |
cmap-customize ブランチを更新しました。
ご指摘ありがとうございます。 |
ざっと調べてみたところ (ひょっとしたらfallbackにより別のものを取り違えている虞があります)
U+27A1, U+2B05..2B0の4個のデザインが揃っているのでさえ例外的な印象を受けました。 |
こんなのが見つかりました。 これ自体はEmoji属性に関する提案ですが、その中で➡や⮕の来歴に関する話が載っています。 |
ドキュメントのご紹介とXeTeXの出力、ありがとうございます。 |
cmap-customize ブランチを更新しました。 UniJIS-UTF16-{H,V}では、U+2196 (↖ NORTH WEST ARROW), U+2197 (↗ NORTH EAST ARROW), U+2198 (↘ SOUTH EAST ARROW), U+2199 (↙ SOUTH WEST ARROW)は横組でCID12204, CID12205, CID12202, CID12203に割り当てられていて、縦組みではそのままになっています。 私としては、ここまでの追加・修正を master にマージして本件をクローズしたいと思っています。 |
いろいろとありがとうございました。最近 (u)pLaTeX の方に力を入れているため,追いきれていませんでした。今少し動かした簡単なテストでは Adobe の UniJIS-UTF16-{H,V} よりも自然な挙動に思えました。 書いているうちに新しいコメントが入っていました。ここまでのマージ・クローズで賛成です。 |
cmap-customize ブランチを master にマージしました。 |
遅くなりましたが,皆様ご尽力ありがとうございました! |
この結果が以下のようになるのですが
The text was updated successfully, but these errors were encountered: