タグ

ブックマーク / nyaruru.hatenablog.com (14)

  • HTML5 Forms の type 指定がデスクトップ IMEに影響するという話 - NyaRuRuが地球にいたころ

    最近やっていた仕事について,一通りリリースが終わって誰でも試せる段階になったので書いてみる.Web アプリ開発者の人や,IME 作成者の人には影響があるかも知れない.ただし Windows デスクトップを相手にしていなければ,ここで読むのをやめてもなんら問題はない. 最近 Chromium と Firefox にパッチを書いて,HTML5 Forms の type 指定が InputScope として TSF ベースの IME (いわゆる Text Input Processors; TIP) やソフトウェアキーボードに通知されるようにした.これは,基的に Windows 8 上での Internet Explorer 10 の動作に合わせたものである.具体的には,以下の環境で,各種ブラウザが InputScope をサポートするようになった. Microsoft Internet Ex

    HTML5 Forms の type 指定がデスクトップ IMEに影響するという話 - NyaRuRuが地球にいたころ
  • SSD なら動作を変えるアプリケーションを作る - NyaRuRuが地球にいたころ

    Windows 7 以降の OS では,SSD 上のボリュームに対してデフラグがスケジューリングされません.これと同様に,ドライブ特性に応じた動作戦略の変更をアプリケーションでも行いたいこともあるでしょう.そのような場合にアプリケーションに組み込めるように,簡単なサンプルコードを書いてみます. 元ネタは, Windows 7 Disk Defragmenter User Interface Overview - The Storage Team at Microsoft - File Cabinet Blog - Site Home - TechNet Blogs で解説されているアルゴリズムです. 以下,物理ドライブ "\\.\PhysicalDrive0" について,"no seek penalty" かどうかと,"nominal media rotation rate" かどうかの取

    SSD なら動作を変えるアプリケーションを作る - NyaRuRuが地球にいたころ
  • TSF を使う (1) - Windows Input Method の歴史 - NyaRuRuが地球にいたころ

    前回もお伝えしたように,そもそも TSF の話を急いでする必要はなくなりました. Windows Vista で当初私が懸念していた Full IME-aware applications の UI ウィンドウ制御に関する互換性問題は,DirectX SDK のサンプルに存在していたバグが原因であり,Vista 開発陣は IMM32 の互換機能をきちんと実装していること 現在いくつかの MMORPG 等で発生している Windows Vista での日本語入力に関する問題は,もし上記 DirectX SDK のバグと同じコードが使用されているのであれば,非常に簡単に修正可能であること 今後 Legacy IM が TSF で置き換えていく流れが確実になっているとはいえ,これで当面急いで TSF に乗り換える必要は無いと思います. そういうわけでしばらく時間をおいてもいいのですが,いったんま

    TSF を使う (1) - Windows Input Method の歴史 - NyaRuRuが地球にいたころ
  • ハードページフォールト - NyaRuRuが地球にいたころ

    "Working Set" から外されたメモリページの内容がディスク上に書き出され,元々の物理メモリの内容が消去されてしまうこともあります*1.この後に該当アドレスにメモリアクセスが発生すると,HDD に退避したデータを物理メモリに読み出した上で動作が継続されます.このようなディスクアクセスを伴うページフォールトは「ハードページフォールト」と呼ばれています.ソースコード上はただのメモリアクセスという箇所あっても,非常に長時間処理をブロックされる可能性があることに注意してください. これが実際どれぐらい影響を及ぼすかは,以下のように確かめられます.上のサンプルの SetProcessWorkingSetSize を呼び出した直後にプログラムを一時停止させ,いわゆる「メモリ最適化系」のツールを実行してみます.今回は「メモリの掃除屋さん」を利用させて頂きました. http://www6.plal

    ハードページフォールト - NyaRuRuが地球にいたころ
  • Windows Vista での GDI/GDI+ 描画 - NyaRuRuが地球にいたころ

    この文章の初版が「煽りともとれる」という指摘はもっともだと思いますので,修正しお詫び申し上げます.(id:NyaRuRu:20061202#p1) 『【速報】Windows Vista製品版の処理性能をチェック』及び「PC オンライン」でのその詳細記事『Vistaの製品版で性能をチェック』より. Vista がXPに後れを取ったのは、2Dの描画性能。通常の作業をしている範囲では特に遅さは感じないのだが、Excelのマクロによるテストを実施したところ、画面の描画はXPの半分以下の性能となった。原因として、透明なウインドウ枠などを特徴とする新ユーザーインタフェース「Windows Aero」の処理負荷が影響していることが考えられる。実際、Aeroを無効にすると2〜3割性能が向上した。しかしそれでもXPには及ばないことから、それ以外の要素が関係している可能性もある。なお「3DMark 06」を使

    Windows Vista での GDI/GDI+ 描画 - NyaRuRuが地球にいたころ
  • 数式入力パネルとアプリケーションを連携させる 2 つの方法 - NyaRuRuが地球にいたころ

    Windows 7 では,タブレット PC 向け機能が強化され,数式の手書き入力がサポートされるようになりました.この機能とアプリケーションを連携させるための方法を 2 つほど紹介します. 数式入力パネルからのデータをクリップボード経由で受け取る 『数式入力パネル』は,単体アプリケーションとして動作する数式入力ツールです.このツールは,いわゆるソフトウェアキーボードや文字パレットのように動作し,入力フォーカスを持つアプリケーションに数式情報を送り込みます. 実際には,この機能はクリップボードを利用して実現されています. 『数式入力パネル』は,挿入ボタンが押されると,数式を UTF-8 でエンコードされた MathML 形式でクリップボードに格納し,Ctrl+V のキーボードイベントを発生させます.このとき,入力フォーカスを持つアプリケーションが,Ctrl+V で貼り付け動作を行い,かつクリ

    数式入力パネルとアプリケーションを連携させる 2 つの方法 - NyaRuRuが地球にいたころ
  • GDI+ - NyaRuRuが地球にいたころ

    GDI+はWindows 98以降のWindowsに対応したGDIを扱うためのクラスライブラリで,以下のような特徴を持ちます. 極力ステートレスな構造をとる アルファチャンネル,アンチエイリアスなどGDIを越える拡張機能をサポートする 体はGDIPlus.dllがexportするC++用のクラスである GDI+はMicrosoft Office XP以降のOffice製品や .NET Framework*1でも利用されています.以前はひっそり公開されている印象のあったGDI+ですが .NET Frameworkで利用できるようになって以来徐々に知名度が向上しているように感じます.実際GotDotNet家のMessage Boardは,GDI+に関するボードの方が投稿数でDirectXを上回っているようです. http://www.gotdotnet.com/Community/Mess

    GDI+ - NyaRuRuが地球にいたころ
  • DirectX 9.L will be a DirectX 10 for Windows XP ? - NyaRuRuが地球にいたころ

    「がくっちの散財でいこう」より. DirectX 9.L will be a DirectX 10 for Windows XP WindowsVista専用のDirectX10ですが、WindowsXP用にDirectX9.Lというのを出すそうです これはVista専用と言われたDX10を名前を変えてWindowsXPでも使えるようにしたものだそうです DX10=DX9.Lということだそうです まぎらわしいっすね(゚∀゚) 何かこう聞いたことあるテクノロジの名前を適当に組み合わせて電波記事書いてみました,という感じの記事が the Inquirer に載っていたので,某 Private News Group の方を覗いてみたら,案の定既にスレッドが出来ていて,DirectX MVP の面々から「誰かあのバカを止めろ(意訳)」「まあ the inquirer だし.マジメに受け取る奴いない

    DirectX 9.L will be a DirectX 10 for Windows XP ? - NyaRuRuが地球にいたころ
  • C# 2.0 クイズ - NyaRuRuが地球にいたころ

    RTM の公開も開始され,今後はいよいよ C# 2.0 のコードを目にする機会も増えてくることかと思います.さて今日は「C# 2.0 の準備できてますかチェック」ということで,いくつかクイズを出してみましょう. 元ネタは青柳さんの blog ですが,ネタばれを避けるためにリンクの紹介は解答と一緒に行っています. 第1問 以下のプログラムの実行結果を予想しなさい using System; using System.Collections.Generic; class Program { public delegate void MyFunction(); static public IEnumerable<MyFunction> MyFuncs1() { List<MyFunction> funcs = new List<MyFunction>(); for (int i=0; i < 1

    C# 2.0 クイズ - NyaRuRuが地球にいたころ
    akakit
    akakit 2010/03/12
  • Windows 7 のグラフィックスの変更点を整理する - NyaRuRuが地球にいたころ

    (2009年2月9日追記) 『GDI アクセラレーションについて整理する - NyaRuRu の日記』にて,公開された WDK のドキュメントを元に追加の考察を行っています. 基的にはプレビュー版のWindows 7においても、日語を利用することは可能だった。しかし、1つだけ大きな問題がある。それはAero Glassと日語表示が必ずしも共存しないことだ。 図5はおなじみの日語エディタ、秀丸Windows 7のプレビュー版で起動したところだ。見れば分かるように、メニューの表示がおかしい。「その他」のメニューの途中から日語表示が普通なのは、まだカーソルがこのエリアまで至っていないことを意味している。カーソルを下に持って行くと、それに連れてメニュー上部のように日語表示がおかしくなっていく。なお、この画面はBlue Badgeを適用した後のものだが、この現象はBlue Badgeの

    Windows 7 のグラフィックスの変更点を整理する - NyaRuRuが地球にいたころ
  • Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ

    Windows における例外ハンドリング - @a4lg の準技術的日記 すごくまとまってました.個人的に印象深かったのはこの辺. 実は、x64 版 Windows 用のバイナリにおいては、fs:[0] に例外ハンドリング構造体へのポインタを設定するなどという行為は一切行いません。というより、コード上には、例外をハンドルする如何なる追加コードも存在しません。これは、例外ハンドリングを行わない場合のプログラムには一切オーバーヘッドが存在しないということを意味します。 Windows の細かい部分まで見てみると,64-bit プロセスのみ影響を受ける仕様というのがいくつかあって,今回のケースもそのひとつですかね.64-bit アプリケーションの場合,「従来から存在するバイナリ」というのが存在しないので,互換性に悩まされることなく 32-bit 時代の仕様をリセットできる,と. Windows

    Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ
  • 例えば構造体にひとつ要素を追加すると,無関係な API でバグ疑惑が発生するという話 - NyaRuRuが地球にいたころ

    Visual C++ 2008 (バージョン9) とWindows SDK 以下は動作から推測した話ですが、あながち外していないと思います。 Visual C++ 2008は、Windows Vista対応のPlatform SDK(改名されてWindows SDKらしい)を搭載しています。Express Editionにも、必須ライブラリが含まれています。 この新しいWindows SDKに含まれるライブラリは、どうやら古いPlatform SDKとは異なるもののようです。つまり、同じ名前のlibファイルの中身が違うのです。おそらく、Windows Vista(GDI+以上の何かすごいAPIを持ってたり、CrearTypeフォントが使えたり)を考慮して、もうgdi32.dllを直接インポートするライブラリではなくなったのでしょう。 このために起きる弊害として、Visual C++ 200

    例えば構造体にひとつ要素を追加すると,無関係な API でバグ疑惑が発生するという話 - NyaRuRuが地球にいたころ
    akakit
    akakit 2009/08/21
    VC 2008 onXP SystemParametersInfo ではまってた。MFC なら targetver.h でマクロ定義修正。
  • .NET Generics について一言いいたくなったときに読み直すべき PPT - NyaRuRuが地球にいたころ

    とりあえず道路族,みたいな. class root { } class derivedA : root { } class derivedB : root { } internal class derived<T> : T where T : root { } まぁダイヤモンド継承のようなMixinに使いたいんだけど、このC<T>もだめ。 ああ、愛しのテンプレート様。 .NET Generics に関して,この手の疑問が生まれたら,とりあえず読みなおそうという感じなのが以下の PPT. この中の,Parametric Polymorphism for Popular Programming Languages (PPT) という PPT ファイルの 12 ページ目に,先日波村さんが言われていた「C# 1.0 のリリース時に動く形の Generics 実装が Microsoft Resear

    .NET Generics について一言いいたくなったときに読み直すべき PPT - NyaRuRuが地球にいたころ
  • DWM Thumbnail API と WPF による Expos&eacute; 風エフェクト - NyaRuRuが地球にいたころ

    WPF 関係の大御所「Greg Schechter's Blog」の『A Couple of Cool Uses of the DWM Thumbnail APIs』より. [Copycat] Expose sous Windows Vista RC1 にて,DWM Thumbnail を使った面白いプログラムが公開されています. DWM Thumbnail API でウィンドウのサムネイル画像を取得し,それを枠なし最上位表示の WPF ウィンドウにて表示する,というものです.リンク先の作者のページの画像をクリックするとプログラムをダウンロードできます.実行して F12 を押してみましょう. 今のところコンセプト・デモという感じで,細かい部分を変更するには付属するソースコードを編集する必要があります.サンプルコードでは F12 降下後のアニメーション時間が 500 msec になっています

    DWM Thumbnail API と WPF による Expos&eacute; 風エフェクト - NyaRuRuが地球にいたころ
  • 1