PHPで組んだものをIEデミルとどうも動きが怪しい。
ちょっと調べてみると、IEがセキュリティ設定の都合でHTTP_REFERERを吐いていないらしく、一部画面の推移に影響が出ていた。
てっきりJavaScriptだけだと思っていたのに、サーバにも情報を隠蔽していたらしい。
仕方がないので、HTTP_REFERERを使わないようにい変更するしかない・・・
「その他」カテゴリーアーカイブ
RGBとCMYKのお話
RGBは加法混色、CMYKは減法混色。
モニタで見る色と、印刷で見る色は異なり、同じ色を出すことはできません。
この違いをどうエミュレートするかが、DTPの鍵なので、いろいろ調べてみました。
有名な変換式
RGB→CMYK
C=(1-R-K)/(1-K) M=(1-G-K)/(1-K) Y=(1-B-K)/(1-K) K=min(1-R,1-G,1-B)
CMYK→RGB
R=1-min(1,C*(1-K)+K) G=1-min(1,M*(1-K)+K) B=1-min(1,Y*(1-K)+K)
これらの式はいわゆる論理式に近く、実際に使用できるほどの精度はない。
RGBとCMYの最小値~最大値を変換しているだけで、色の再現性は無視されている。
そこで、DPのソフトウェアでは、独自の式を用いている場合が多いが、イラストレーターの場合はバージョンで式が異なる。そこで、いったいどうなっているのか調べてみたので、記録しておく。
イラストレータ7の場合
赤を変換してみる。
C:M:Y:K=0:100:100:0
↓
R:G:B=255:0:0
↓
C:M:Y:K=1.17:96.55:91.8:0
↓
R:G:B=250:13:10
↓
C:M:Y:K=2.34:94.92:91.02:0.39
↓
この後はどんどんずれていき、
R:G:B=236:22:11
C:M:Y:K=6.25:91.41:92.97:0.78
前後で安定する。
どのような式で変換されているのかまったくの不明である。
イラストレータCS3の場合
C:M:Y:K=0:100:100:0
↓
R:G:B=204:34:41
↓
C:M:Y:K=0:100:100:0
↓
R:G:B=204:34:41
と、CS3では可逆変換になっている。
ちなみにRGBから変換すると、
R:G:B=255:0:0
↓
C:M:Y:K=0:96.08:89.8:0
↓
R:G:B=255:0:0
こちらも可逆らしい。
イラレ7とは異なる式が用いられているのは明らか。
Photoshop7の場合
C:M:Y:K=0:100:100:0
↓
R:G:B=237:28:36
↓
C:M:Y:K=0:100:100:0
こちらも可逆変換のよう。
RGBから変換すると、
R:G:B=255:0:0
↓
C:M:Y:K=0:99:100:0
↓
R:G:B=255:0:0
こちらも可逆変換と思われる。
しかし、CS3とはRGBが異なり、異なる式が用いられているらしい。
GIMP2.6の場合
C:M:Y:K=0:100:100:0
||
R:G:B=255:0:0
簡単な式によって変換されている。
推測だが、ImageMagickもGIMPと同じ式を用いて変換されているらしい。
C=1-(R/255)
M=1-(G/255)
Y=1-(B/255)
但し
C=M=Yの場合に限り
K=C
C=M=Y=0
となる。
結論としては、CMYKを基準にして、ディスプレイでは適当なRGBを選択しておき、EPSなどにするときは内部でテーブルを用意して置き換えるのがよさそうです。
桂ヒナギク starring 伊藤 静
ハヤテのごとく!!のヒロイン(?)である桂ヒナギク様のキャラクターソングCDです。
雨の中、池袋のアニメイトで買ってきました。
発売から2ヶ月ぐらいたっていますが、いまだに限定版が面で置いてあって、発注に失敗したのか、作りすぎでメーカーから押し付けられたのか・・・と詮索はここまでにして。
いまだに曲を確認せずにタイトル買いなのですが、全体ではそこそこ良い方だと思います。
一部の曲はミックスダウンがドンシャリで少々聞きづらかったりもしてますが、キャラを生かした構成にはなっているかと。ちなみに予算の都合上、通常版を買いました。
Fedora10でWebminがインストールできない時には
Fedora10で何も考えずにWebminをインストールしようとすると失敗します。
Firefoxでパッケージをダウンロードしてインストールを開始すると、以下のようなエラーが表示されて進めません。
Error Type: <type 'exceptions.UnicodeDecodeError'>
Error Value: 'ascii' codec can't decode byte 0xe3 in position 56: ordinal not in range(128)
File : /usr/lib/python2.5/site-packages/yum/rpmtrans.py, line 376, in callback
self._instProgress( bytes, total, h )
File : /usr/lib/python2.5/site-packages/yum/rpmtrans.py, line 457, in _instProgress
self.complete_actions, self.total_actions)
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 2187, in event
self._showName(self.info_actions[action])
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 2180, in _showName
self.base.package(package_id, status, self.curpkg.summary)
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 230, in package
PackageKitBaseBackend.package(self, package_id, status, summary)
File : /usr/lib/python2.5/site-packages/packagekit/backend.py, line 109, in package
print >> sys.stdout, "package\t$s\t$s\t$s" $ (status, package_id, summary)
ここで肝心なのは最初の1行のみ。
文字コードに問題がある用です。
Fedora10のFirefoxはダウンロード先はデスクトップの「ダウンロード」フォルダです。この「ダウンロード」という文字が怪しそうです。
そこで、パッケージをデスクトップに移動してもう一度インストールを行うと、無事に完了しました。
CentOS5.3ではデフォルトの保存先はデスクトップだったのでこの様な事態に遭遇しませんでしたが、Fedora10ではこのような事態が発生します。
エラーが表示されても、落ち着いてメッセージを確認すれば大抵のことは分かります。
今手に入るLinuxではWindowsみたいに謝るだけで何がダメなのか教えてくれないなんてことはありません。
イラレのEPSファイルを考察する
今回は文字についての考察です。
文字を比較していて気がついたのですが、イラレのEPSフォーマットは8と9で大きく異なります。
まず、文字の記述方法です。
イラレ8までは、「(abcdefg) TX 1 0 Tk」となりますが、
イラレ9以降では、「(abcdfeg) sh」となります。
文字を含むかどうかをチェックしたい場合、
イラレ8までは、ほかにtxを含むものがないので「/\) tx/i」でよく、
イラレ9からは、shの後は必ず改行があり、showとかぶるので「/\) sh\r?\n/」となります。「\r?\n」とするのは、エディタで改行コードを変えた場合に備えておきます。
次は画像についてです。
イラレ8までは、「%AI5_File:」があれば画像情報を含んでいることになります。
イラレ9ではどうやらPDFとして埋め込まれているようで、フォーマットについて理解がありませんが、おそらく「Adobe_AGM_Image」このあたりが怪しいです。
とりあえず、こんな感じです。
Spreadsheet_Excel_Readerのバグ
セルの書式に文字列を指定すると、
Notice: Undefined variable: formatstr in D:\xxx\xxx\Excel\reader.php on line 636
という注意が出ます。
xxxは適当なパスだと思ってください。
このエラーメッセージの出るところを見てみると、変数の初期化がきちんと行われていなため、例外処理が不完全だということのようです。
このあたりの一連の処理が始まるところで、$formatstrを初期化してしまいましょう。
630行目に
$formatstr=”;
とでもしておきます。
これで注意が表示されなくなりました。
このあたりは、PHPのバージョンが違うと注意は表示されないのかもしれません。
このライブラリのようなコードの書き方はあまり馴染めません。
中括弧({})を使ったほうが見やすいと思うのですが。
けいおん!
HTTP_REFERER
javascriptでlocationを変更した場合、IEではHTTP_REFERERを返さない。
ちなみにFirefoxとOperaはきちんと返してくれる。
処理の戻りを手抜きしたかったのに・・・
Firefox限定でもいいや・・・
アイ!マイ!まいん!
ぜんまいざむらいが終わってもテレビをつけっぱなしにしていたら始まった番組で、第1話をみてぶったまげました。
しばらく見ていましたが、なかなかのロリコンホイホイで、自分も捕らえられたその一人。
このようなご乱心をNHKが続けてくれることを望みつつ。
アスキーコードのメモ
| コード範囲 | 内容 |
|---|---|
| 0x00~0x1f | 制御文字 |
| 0x20 | 空白 | 0x21~0x7e | 図形文字 |
| 0x7f | 制御文字 |
「文字」として表示可能なのは0x20~0x7e
その中で・・・
「数字」である0~9は0x30~0x39
「大文字の英字」であるA~Zは0x41~0x5a
「小文字の英字」であるa~zは0x61~0x7a
これ以外は記号文字とか言われたりするが、正式な名称はあるのだろうか?
ちなみに、バックスラッシュである0x5cはいろいろ面倒を引き起こすことで有名。
