Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 1/1: 1

ダイナミック疑似クラスに対応したよ(暫定) - Aug 07, 2007

テキストシャドウを:hover, :focus, :activeのダイナミック疑似クラスに対応させた……つもり。でも試してみたら:focusは意図通り動いてくれない。何でだろう。

userContent.css内でのtext-shadowの指定に対応したよ - Aug 06, 2007

テキストシャドウに、userContent.css内の指定を読む機能を加えた。圧倒的多数のサイトではtext-shadowはまだまだ使われていないけれども、ユーザースタイルシートを使えば色々遊べるよ、と。

といっても全サイトで同じ色の影しか指定できない、サイトごとにいちいち影の色を指定しなきゃいけない、なんてのじゃあとてもじゃないけど使ってらんないので、userContent.css内の指定のみ、色が無指定の時はCSS3の仕様を無視して自動的にそれっぽい影の色を適用するようにしてみた。例えばh1, h2, h3, h4, h5, h6 { text-shadow: 0.2em 0.2em 0.2em; }とかuserContent.cssに書いとけば、色んなサイトで影が付いて楽しくなるかもしれません。

ちなみに、XPCOMを使ってもuserChrome.cssやuserContent.cssから生成されたスタイルシートオブジェクトには絶対にアクセスできない。なので今回は、新規に空のドキュメントを生成し、そこにxml-stylesheet処理命令でuserContent.cssを読み込ませて、生成されたスタイルシートオブジェクトを参照する、という裏技を使っている。

いつの間にか取り残されていた僕ら - Aug 03, 2007

テキストシャドウを作って以降、何かの機会に見るページで不意に影付きテキストがあったりして、「ああ、今まで僕は『古いブラウザの人は最新のWeb技術の恩恵を受けられなくてかわいそうだなあ』とか思ってたけど、いつの間にか、Firefoxユーザの自分自身の方が『最新の技術の恩恵を受けられずにみすぼらしいページしか見れずにいるかわいそうな人』になっていたんだ……」と切なくなる。(いやまあtext-shadowそのものは10年近く前の仕様ですけどね……)

この道はいつか来た道(他の人が) - Aug 01, 2007

Bugzillaの方のコメントにも書かれてるけど、テキストシャドウを公開した後で、2年以上前に同じようなことをやってた人がいたことを知った。いやぁ、薄々「既出なんじゃね?」とは思ってはいたんですけどね。

一応、対応してる機能(CSSのセレクタをかなりまじめに解釈してる)や使い勝手(XBLを使ってるので影付きテキストのコピペで困らない、アドオンだから自動アップデートできる、など)の面でアドバンテージはあると思うけど……まあ追加のコメントにも書いたように、頑張ればそれもGreasemonkeyスクリプトで実現は可能そうではあるわけで、アドオン嫌いグリモン好きというタイプの人は頑張ってみるのもいいかもね。

影付きテキストをコピーしても余計な文字列が出ないようにしたよ - Aug 01, 2007

テキストシャドウ原理上、影付きのテキストをコピーしようとした時に、影のために使っているダミーテキストまでコピーされてしまうのが大きな問題だった。フォーカスできなくしたり選択できなくしたりすることはできても、コピーの対象から外すということは、普通にやる限りはどう頑張ってもできない。

で、これをどうやって解決したのかという話なんだけど。

以前XHTMLルビサポートを作った時に、略語のフルスペルをルビで表示するという機能も持たせていて、そうやって表示したフルスペルはどう頑張ってもコピーできないという現象が起こっていたんだけれども、これがヒントになった。

略語のフルスペルの表示のためにルビサポートではバインディングを使っていて、どうやらバインディングで埋め込まれた匿名内容の中のテキストノードは、触れることもコピーすることもできないようだった。そして、XBLの<children/>要素の位置に配置された元々の子要素や子のテキストノードについては、通常通りアクセスできる。

ということは、逆に言えば、コピーの対象にさせたくないテキストはバインディングを使って匿名内容の中に入れてやればよいというわけだ。

ダイナミック疑似クラスの問題はまだ残っているとはいえ、もっとも致命的な問題はこうして解決できたので、やっと胸を張って「Firefoxをtext-shadowに対応させました」と言えるようになったと思う。

一部の疑似クラスと疑似要素に対応したよ - Jul 29, 2007

テキストシャドウを地道に改良し続けている。

  • 一部の疑似要素と疑似クラスに対応
  • インラインで折り返された文字列に対する影の描画を改善
  • 影の表示をSafariの表示に近くなるように調整
  • Firefox 3でも動くようにした

Geckoもtext-shadowに対応してくれ!というバグにこれを貼り付けて煽ってみようかと思ったら、貼られていたテストケースで::first-line疑似要素が使われてて表示できなくてこりゃまずいと思ったんで、元々対応する気の無かった疑似要素と疑似クラスにまで頑張って対応してみた。疑似クラスについてはGeckoすら対応してない物にまで対応してたりして。

続きを表示する ...

拡張機能でtext-shadowを実装してみた - Jul 28, 2007

Text Shadow。名前の通り、CSS3のtext-shadowを無理矢理再現するインチキ拡張機能。もう小学生だなんて言わせないZE!

以下は原理的にどうしようもない問題。

  • 重い重い重い重い重い重い重い
  • 疑似クラス、疑似要素には対応できず(ダイナミック疑似クラス? 何それ? つおい?)ダイナミック疑似クラスと:before, :after疑似要素以外はサポートの目処が付いた。:selection等はこの実装だと実現してもあまり意味がないし、そもそもFirefoxではセレクタ自体が無視されてしまうので、実装はオミットしても良さげ。0.2.2007080702でダイナミック疑似クラスに対応した。
  • 文字選択やソースの表示で、無駄な文字列が大量に出てきてしまう 無駄な文字列までコピーされてしまう問題は0.2.2007080101で解決した。

以下はめんどくさいから実装をさぼってる部分。そのうちどうにかするかもしれないし、しないかもしれない。

  • userContent.css内に書かれたtext-shadowの指定を読めない。 0.2.2007080602で、userContent.cssで書かれた指定も反映するようにした。
  • 名前空間付きのセレクタに対応していない。
  • ウィンドウをリサイズした時に自動で再描画しない。 0.1.2007072902で再描画処理を入れた。重いけど。
  • mm、cm、pt、pcなどの絶対単位に対応していない。絶対単位は72dpi固定でとりあえずサポートした(0.1.2007073101)。ちなみにemとexの算出方法もいいかげんです。
  • @mediaルールやなんかにも対応してません。0.1.2007072801で@mediaに対応した。セレクタの優先順位もまともに評価してません。0.2.2007080101で、セレクタの優先順位も計算するようにした。
  • style属性で指定されたtext-shadowには対応してない。 style属性での指定には0.1.2007072800で対応した。
  • 複数の影の指定に対応してない(まあSafariも対応してないし、そこは許してくださいな) 0.1.2007072802で複数の影の表示に対応した。が、Firefoxの仕様上の問題で3つ以上の指定は正しく認識できない。

セレクタから要素ノードを選択する処理は、selector.jsを丸パクリ。でも組み込んでみたら予想以上にまともに動いてくれなかったので、半泣きになりながら修正してやっとちゃんと使えるようにした。

Page 1/1: 1

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき