-
Notifications
You must be signed in to change notification settings - Fork 2
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
CUI版の背景色指定機能 #63
Comments
まあ CUI 版はそうなるだろうなという印象です。「排他的」はすなわち「GUI で透過のチエックボックスがが有効でも背景色指定はグレーアウトしない;背景色のデフォルトは白」と合致しますね。Win と Mac の完全統一はまったく意図していないのですが、GUI と CUI が乖離してほしくないので賛成です。 |
色指定はFF00FFみたいな書式で良いような気がします.それとredとかいくつかの名前をデフォルトで入れておきたいですね.xcolorにあるのをと思ったけど,結構多いなぁ……. 「透明も背景色の一種」という扱いだとどうでしょう.--background-color=transparentという書式を用意して,--transaparentはこれと同等.--transparent-は互換性を考慮に入れると--background-color=whiteが妥当でしょうか. |
書式は小数だとわかりにくいので16進数に賛成です。デフォルトで名前があると助かりますね。とりあえず color.sty で使えるものから始めて、需要がありそうなら後から足してもよいのではないでしょうか。
まだ GUI が想像ついていないのでなんともいえません… 「透明」を選んだときに JPG は背景が何色になるのかがみえたほうがよいと思うのですが、「透明または白」みたいな表示にするのは収まりが悪いし。その点からは、今の「可能なら」は気に入っています。 |
ボタンを白くして,「透明」とボタン名をつけるとか?設定は悩みますが,カラーダイアログに「透明」っていうチェックボックスを入れるのが良いでしょうか. しかし,透明ってのは色の種類ではない(青い透明だってある)ので,概念的に良くない気もしてきました. |
透過か非透過かは(私の場合は)設定を変える頻度が高い部類に入るので、カラーダイアログに入れ込まれるとちょっと面倒になります。(そういってしまうと既に「透明が色の一つ」とは相容れないわけですが…)
「透過指定の有無」と「背景色指定」が独立だと“青い透明”と思われかねないので、色ボタンをグレーアウトさせるのはやっぱり正解でしょうね(Mac 版でこの解釈を避けるにはどうすればよいのだろう…)。全ての画像が透過可能なら話は簡単でいまの Win 版の状態で良いと思うのですが、JPG のわかりにくさがネックになっています。やっぱり GUI は色指定ボタンをグレーアウトさせる今の状態で「可能なら;不可能な場合は白」と書き加えるのが簡単だと思いました。
これは既に |
むしろ「青い透明」を避けるために,ユーザに「透明は色の一つ」と見なすようにさせよう,という意図でした.これが意識されれば「青」と「透明」は同時には存在し得ない野で,「青い透明」はあり得ません.
というのはそういう方向かなと思ったので.
これは別件といえば別件ですが,使用頻度が高そうなのはメニューにも表示させても良いかもしれません.といっても透過くらいかもしれませんが…… |
こんな感じでどうでしょうか?
|
青と透過は同時に存在し得ないことを意識してもらうなら、確かに透過も色の一つとみなすのがよいですね(いまちょっと、青いセロハンを青い光だけ透過するような「物理的な透明」と、青を透過色に選択して PNG アルファチャネルを指定するような「画像処理的な色透過」の両方が頭をよぎったのですが、色の一つとみなす仕様だとどちらの誤解も起きないはず)。そのうえで「よく使うものを UI で表に出す」という案との両立ができたら良さそうです。
おお、分かりやすいです。あとはデフォルトの色をどのくらい用意するかでしょうか?(white, red, etc. transparent も色の一つとして含めるか?) |
「透過も色の一つ」というのに従い,内部では「背景色」のみを持っていると思ってください.
この流れだとGUIの透過ボタンをOFFにするのは--transparent-と同じが自然ですが,実際には「透過にする直前の色」を復帰させるようにしています. 「透過」「背景色」を分離させるよりいい気がしているのですが,GUIがどうしても透過用にチェックボックスを用意せざるを得ない以上,完全に統合しているようには見えないのが気になってはいます.コマンドラインオプションの方は--bagkcround-color=transparentの省略形ということで良いのですが. もし分離させるならば,内部には「背景色」と「透過フラグ」があり,
となるでしょうか.
HTML色を解釈できるようだったので,それに突っ込んでみました.たぶん |
TeX2img for Mac Ver. 2.1.2 beta 1 を作成しました。 Ver. 2.1.1 → 2.1.2 beta 1 の新機能背景色関係
作業ディレクトリ指定機能
既知の制約作業ディレクトリとして $TMPDIR 以外を指定できるようになった結果,作業ディレクトリのパスにスペースが含まれる可能性が生じるようになりました。その場合の対策は不十分です。 |
Mac 版 beta 2.1.2 beta 1 を試しました。CUI 版で RGB の値を指定した場合に Abort trap: 6 で落ちました。色名で指定する (red, magenta) は設計どおりになっているようです。
0..255 の数値指定・16進数の FF00FF の指定の両方で Abort trap: 6 で落ちます。 |
ご指摘ありがとうございます。修正した Ver. 2.1.2 beta 2 を用意しました。 |
Ver. 2.1.2 beta 2 は動くようになりました。なんだかよくわからないのですが
と出ています。これでよいのかどうかよくわかりません… |
よくないですね……😓 |
Ver. 2.1.2 beta 3 は大丈夫でした。古い OS への対応、ありがとうございます。色指定の種類っていろいろあるのですね。 |
Ver. 2.1.2 beta 4 を作りました。
|
Ver. 2.1.2 beta 4 は問題ないようです。「作業フォルダのパスにスペースが含まれる場合」も大丈夫でした。 |
--transparent-で白くするのは
というのとあわせたのと,あまり御利益がないかなと思ったからです.むしろ--transparent-をしたときに何色になるのか予想できないケースの方が多いかと思いました.デメリットの方が多いかと思っています.白以外を指定したいときにはおとなしく--background-colorでやってもらえば良いかと. |
CUI版 Ver. 2.1.2 beta 5 を作りました。
|
Mac 版は CUI が別なので、単にそれは「デフォルト値の白」が出てくるだけなのだと思います。だからエイリアスでデフォルト値を変えれば、むしろ見た目上 Win 版の「設定ファイルに書かれている値が使われる」に対応します。
は単に「現在:ナントカ」で出て解りますので、それで困れば |
前の実装は「内部には背景色のみがあり,透過はその色の一つ」という扱いだったので
では「transparent」とか出るようにしていたと思いますが,
ということは,背景色+透過フラグでの管理が良いと言うことですね.だとすると となるでしょうか.--background-colorの現在の値がFF00FF 透過とか出るのが判断に迷いそうではあります. |
Ver.2.1.2b5 を確認しました。どちらの指定も正常でした。実行直後に出てくる |
Win 版は前におっしゃっていた
になったということですね。透過のチェックボックスがある以上、完全に統合するのは難しいように思えたので、別のフラグがあるほうが逆に自然です。今度は GUI と CUI が同じになった気がします。 |
CUI版 Ver. 2.1.6 beta 6 を作りました。
|
CUI版 Ver. 2.1.6 beta 6
これでもう大丈夫ですね! |
ではそろそろリリース作業に入りましょうかね!😏 |
|
Win 版の 1.6.8 をダウンロードしたのですが、背景色がなぜか全く付かなくなっているみたいです。 |
ありゃ,失敗しました.こっそり直しました. なんかそれでやってみたら,epsをPS_Viewで見たらでかく表示されてしまっているようです.BoundingBoxは正しく入っているように見えるのですが…… |
背景色塗り復活しました。 PS_View と GSview はバウンディングボックスの外側まで描画する仕組みになっているっぽいです(BoundingBox 行を無視してクロップ前の A4 サイズを表示したかのように塗る)。ちなみに Inkscape で開いてもまた違った見え方になります(これは左下だけバウンディングボックスに合わせて右上はだだっ広く A4 サイズ分塗って表示)。ビットマップ画像にすると正しくクロップされているのは、バウンディングボックスがちゃんと描かれている証拠だと思います。 |
そうすると塗る範囲をきちんと取得したBoundingBoxに併せておいた方が良さそうですね.後でやっておきます. |
Windows 版は「TeX → … → PDF →[必要なら塗る (pdfTeX)]→ PDF →[gs or pdfTeX]→ …」になっているのですね。どこで塗っているのかよく分かっていませんでした… この塗る作業は現状では元サイズに合わせて |
一応今の段階のをtex2img_generate.pdfに書いてみました.(寺田くんのと違ってきれいでなくてすみません…….) |
せっかくなので「透明の青」もやってみようかと思って次のようなソースをかけてみました.
なんだか変です……Ghostscriptがやたら遅いし,EPSを作るとPS_Viewで開いても変です. |
gs9.16 で試してみました。確かにアウトライン化されていませんね。TikZ の shadows ライブラリを含む場合にアウトライン化に失敗すると同じ現象が起きている気がします。TikZ の shadows ライブラリは影の部分を transparent に描画しますし、この**「半透明」が Ghostscript が苦手とするパターンに共通している**ようです。思わぬところから gs の不具合パターンがみえてきました。 |
どうやら gs9.15 以降で pdfwrite にも新設された |
なるほど,TikZの shadows ライブラリを含む場合など,半透明のサポートを考えると,変換経路図 の右のエリアにある「途中に eps2write を経由しているが最終出力がEPSではない場合」については,pdfcrop類似処理 + pdfwrite + NoOutputFonts のコンボにするのがよいということになるでしょうかね。 |
「gs9.15 以上」かつ「現状のスキームでは途中に eps2write でアウトライン化」かつ「最終出力が EPS ではない」の場合に pdfwrite の |
#60 の議論から分岐。
「
--transparent
と--background-color
は排他で,後から指定した方が先にあった方の効果を(可能な場合)上書きする」という挙動がよいのではないかと思います。CUI版はデフォルトで
--transparent
有効の設定ですので,--transparent
単独なら → 可能なら背景透過,そうでなければ白色塗り--no-transparent
単独なら → 白色塗り--background-color <r g b>
単独なら → 指定された背景塗り--transparent --background-color <r g b>
なら →--transparent
は無効化され,指定された色で背景塗り--background-color <r g b> --transparent
なら → 可能なら背景透過,そうでなければ指定された色で背景塗りいかがでしょう,直観的でしょうか?
あと,
<r g b>
の部分の指定の書式も詰める必要があります。などの指定法が考えられます。
The text was updated successfully, but these errors were encountered: