上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

Logitec 製のブルーレイドライブ LBD-PME6U3VBK (色違いの製品に LBD-PME6U3VRD, LBD-PME6U3VSV 等がある) を親が買ってきたが、これが動かない。この対処に四苦八苦したので一応書き留めておく。

LBD-PME6U3VBK

PC は二台あるのだが、その両方が別々の原因でうまく動かなかった。


まず、一台目の PC (NEC Lavie LM550/D)。この PC では DVD 等は読めるが Blu-Ray だけが読めない。原因を探っていると、Blu-Ray を読むのに必要な電力が足りてないみたい。(レーザやモータに必要な電力が DVD とは違うのかもしれない…)

ちなみに電力不足の原因は USB2.0。USB 2.0 では仕様上、最低限 500mA の電流は流せる事になってる。一方、この製品は 4.5W (5V, 900mA) を必要とする。USB によるバスパワー駆動ではまるで足りない。(ちなみに USB3.0 は 900mA。また、USB2.0 でも規定以上の電流を流せるタイプもある。)

解決策としては、製品とは別売の AC アダプタを購入し、それで電力を補う事。ただし、メーカ推奨の AC アダプタの値段は結構バカにならない。理論上は 5V で 900mA を超え極性と接続部分の形状さえ合う AC アダプタなら代替できるはず。(この通りやって機器が破損しても当方は責任を負いかねるので、あくまで自己責任でお願いします。) (ちなみにどうやら、PSP の AC アダプタがぴったりらしい。うちにはないので古い電子辞書の AC アダプタを使った。)


次に、二台目の PC (DELL XPS L701X)。この PC では USB3.0 のポートがあるのに全く動かない。というか何度も何度も認識音が鳴り、ドライバのインストールに失敗したりの繰り返し。いつまでたってもまともに認識してくれない。一方、USB2.0 のポートにつなげば動く。

原因はこの PC に付属の USB3.0 のドライバ (ルネサス製) だった。

解決策としては、NEC 製のドライバに変える事。(ルネサス社には NEC の血筋も入ってたはずだけど、何故こんな事になるかは不明)。

一応手順をのせておく。

  1. ルネサス製のドライバがインストールされているか確認
    1. [スタートボタン] → [コントロールパネル] → [プログラムのアンインストール]
    2. "Renesas Electronics USB 3.0 Host Controller Driver" の項目を探す。
  2. NEC 製の USB3.0 ドライバの最新版をネットからダウンロード
  3. ルネサス製の USB3.0 ドライバの最新版をネットからダウンロード
    (これは上手くいかなかった時に元の状態へ戻せるようにするため)
  4. もし Blu-Ray ドライブが PC に接続されたままなら抜いておく。
  5. ルネサス製の USB3.0 ドライバをアンインストール
    1. [スタートボタン] → [コントロールパネル] → [プログラムのアンインストール]
    2. "Renesas Electronics USB 3.0 Host Controller Driver" の項目を探しアンインストール。
  6. NEC 製の USB3.0 ドライバをインストール
  7. Blu-Ray ドライブを接続しうまくいったか確認
    (駄目ならルネサス製のドライバをインストールしなおし諦める。)

役に立ったらぽちっとよろしく。 人気ブログランキングへ

スポンサーサイト

ひさびさの話は、Windows では何故かフリーフォントがパッとしないという話。

少ないドット数でも文字 (グリフ) を読み易くするため、文字色とその背景色だけでなく、その中間色も利用する技術、これがフォントスムージング。

例えば

元の文字 スムージング無し スムージングあり

ただ、Windows のフォントスムージング技術、ClearType はかなり奇妙な特徴がある。こいつは、多くの液晶画面が横方向に R (赤) G (緑) B (青) の順で画素が並んでいる事を利用して、色調を犠牲に横方向への解像度を極端に高くする。ところが、横方向にはこれだけ神経を尖らせているのに、縦方向の解像度は完全に無視するようになっている。(Mac では、縦方向は単純なスムージング、横方向は Windows と似た形式)

そのせいで、'誉' のような縦につまってる字を、(IPA フォント等のフリーのフォントで表示すると)、横線同士がひっついて一つの太い線のように見えてしまう。

元の文字 Win Mac

ところが、Windows に元からバンドルされているフォントでは、上のようにはならない。これには二つのパターンがある。

  • ビットマップ内臓フォント

    この場合、そもそもスムージングが無効。フォントサイズが小さい場合、内臓ビットマップから近いサイズのものを選びそれを使う。内臓ビットマップに半透明を扱う情報がないため、スムージングされたフォントと比べるとギザギザしている。

  • ヒンティングを利用するフォント

    塗りの情報 (ベクトルデータ) をドット (ビットマップ) に落とし込むさいに、ヒント情報を利用して、見栄えがよくなるように調整する。

MS Pゴシック
(内臓ビットマップ)
メイリオ
(ヒンティング)

上の例ではどちらも、二本の線を一本にまとめて視認性を向上させている。内臓ビットマップの場合、人が手作業で調整しているものが多いが、ヒンティングによる場合は、ヒントにより自動的に似た処理を実現できる。


さてさて、フォントファイルのフォーマットは紆余曲折はあったが、最近は統一されてきている。ところがそうなると、ヒンティングを、縦にも解像度の高い Mac 側に合わせるか、低い Win 側に合わせるか、という問題がでてくる。そして多くの場合、Mac 側にあわされている。そのため、Win でフリーのフォントを使うと、インクが滲んだように汚く見えて仕方がない。

となると、小さめの文字でスムージングが効き、なおかつ日本語のフォントと言えば、Win では "メイリオ" の類しか残らない。これはちょっと困った話だ。"メイリオ" は、確かに視認性に優れた良いフォントだけど、じゃぁ MS ゴシックのような等幅フォントは?明朝体は?という事になる。

思うに、長めの小説なんてのは、明朝体がいい。そして例えば、Mac をお使いのあなたが、フリーで素晴らしい明朝体のフォントを見つけてきたとする。Web フォント等の仕組みを利用して、ユーザにフォントをダウンロードさせる。これで全ての環境であなたの小説が読みやすく!とはならない。あなたが気づかないうちに、Win 環境では酷い事になっている。

解決策としては…

  1. 個人レベルの対策としては、マニアックなソフトを入れれば、フォントのレンダリングを Mac 風味にできる。……が、Web では意味が無い。
  2. Microsoft が Windows のフォントレンダリングを Mac 風に変える。……ただ、メイリオ等の既存のフォントのイメージが若干変わってしまうかも。
  3. 一つ一つのドットが問題にならないほどの高解像度ディスプレイをみんなが使う。……将来的にはこうなるのかな。
  4. スクリプトで Win ならメイリオもしくはその改変フォント、それ以外ではフリーフォントを使うように細工する。……等幅フォントくらいならこれで何とか。

正直、現状ではどれもかなり苦しい。…… Windows 最大の問題はフォントにあり!とすら思う。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

ひさびさの更新、ブックマークレット

古いブラウザ向けに作られたサイトはレイアウトが変になって読みたい部分に他の部分が重なってうがーってなる時がある。Web インスペクタみたいな開発者ご用達ツールを使えば要素の削除もできるけど、これはこれで結構手間だし、リロードしないと元に戻せないという素晴らしい罠がセットになっている。同じレイアウトのページが沢山あって一つ一つ読む場合なんか泣けてくる。そこで、ちょっと自作。

  1. clickAndHide (start)
  2. clickAndHide (stop)
  3. clickAndHide (restore)

使い方…

  1. 上のリンクを全てブックマーク (お気に入り) に登録
  2. レイアウトがおかしいページで start のブックマークをクリック
  3. ページ内の消えて欲しい部分をクリックすると消える
  4. 複数消せるのでどんどん消す。
  5. もうこれで十分と思ったら stop のブックマークをクリック
  6. 元に戻す場合は restore のブックマークをクリック

注1: IE9 や Chrome 等、最新のブラウザなら大概動くはずです。

注2: Flash 等で作られている部分は直接は消せませんがちょっと外側をクリックすると消えます。

Yahoo Japan なんかが実験しがいのある騒がしいコンテンツの充実したサイトです、笑。

す~っきり!

役に立ったらぽちっとよろしく。 人気ブログランキングへ

昔の JSF、JSF1.2 の頃には、@ViewScoped がまだなく、おいらは同じ機能を自作してた。無かったのが不思議な位の機能なので、たぶん同じ事をしていた人も多いはず。で、ViewScoped がせっかく導入されたので、全部置き換えた。さよなら my code (涙)。。。

…けど、何か変。何故か c:if (JSTL) の test 属性の EL 式にビュースコープのマネージドビーンがあると、ポストバック時にも関わらず、新規作成される。…ぬ~、おいらは最近よく地雷を踏む、もしや、と思いまた検索してみると、Mojarra (GlassFish 同梱の JSF の参照実装) のバグだった。

で、どんなバグかと言うと、まず、Facelets で Partial State Saving が有効な場合に発生する。そして、ビューの再構築時に EL 式の評価が必要な属性で発生する。JSTL の属性や binding 属性がこれに該当する。例えば、c:if の test 属性は Restore View フェーズで動作し、下位コンポーネントの有無を決める。一方、JSF の rendered 属性はコンポーネントの表示の有無に関わるだけで、コンポーネントの有無自体には関わらない。そして、Partial State Saving の場合、ビューステートはテンプレートとの差分で保存されているので、復元時に最初にテンプレートを適用する構造上どうしても、一部の属性の評価がビュースコープのマネージドビーンの再構築より先に動いてしまう。結果、それらのビュースコープのマネージドビーンが、"無いので最初から作成します" という事になる。

しかし、最近本当によく地雷を踏んでしまう。まぁ、比較的新しい機能にすぐ飛びつくおいらの性格も悪いのだけど…。新機能を使って安全かどうかを確認するのに、プロジェクト毎の生還率 (バグに遭遇しなかった割合) を書いてて欲しい…と思った。で、本物の地雷原みたくドクロマークで表すとか。…ぬぉぉ~!周り全部ドクロマークじゃん!おぃおぃどうやって入ったんだよ!パラシュート部隊なんだよ俺は!!って事にならんように新技術の採用は慎重に、笑。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

ひさびさに EclipseLink (2.2 nightly) を使っていたら、はまった。フィールドにアクセスしただけで NullPointerException が出る。しかも、その stackTracenull になっている。バイトコード変換が悪さをしてるっぽい。以前も書いたけどこれはホコ天で車にはねられるようなものだ。…以前まだ EclipseLink が TopLink だった頃、随分使ってたんだけど、このバグは初めて出会う気がする。で、EclipseLink の Bugzilla にバグですよ~と毎度の事ながら下手な英語で報告してみた。

すぐに Tom Ware さんなる方から返信があり、WONTFIX との事。WONTFIX ...??? どんな意味?と思って bugzilla のリンクを辿って調べると "バグだけど修正しない" ってな事らしい。そ、そうなの…あ、なるほど…即答だったし既出って事!? …早速、オートボクシングが関係しているらしいので、それを頼りに調べると、あったあった既に一年以上前にバグとして上がってる。で、さっきの Tom Ware さん曰く、将来直す!との事。それまでは文字通り手動ボクシング!が必要みたい。
ぬ~ん…真っ白な灰になるまでには治ってると助かる…。

バグの詳細
現状、EclipseLink はオートボクシングの部分がバイトコードウィービングの時点で誤って消されてしまう模様。つまり、this.value != 1this.value != Integer.valueOf(1) と自力で変換すると解決する (this は JPA の EntityBean, value はその Integer 型のフィールド)。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

Copyright © ふらふら技術者の日記 All Rights Reserved.
Powered by FC2 Blog
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。