<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cc="http://web.resource.org/cc/" xml:lang="ja" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel rdf:about="http://fantakeshi.blog50.fc2.com/">
    <title>ファン猛のブログ</title>
    <link>http://fantakeshi.blog50.fc2.com/</link>
    <description>主にWebに関するスクリプトの公開やプログラムについてのブログです</description>
    <dc:language>ja</dc:language>
    <atom:link rel="self" href="http://fantakeshi.blog50.fc2.com/?xml"/>
    <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://fantakeshi.blog50.fc2.com/blog-entry-56.html"/>
        <rdf:li rdf:resource="http://fantakeshi.blog50.fc2.com/blog-entry-55.html"/>
        <rdf:li rdf:resource="http://fantakeshi.blog50.fc2.com/blog-entry-53.html"/>
        <rdf:li rdf:resource="http://fantakeshi.blog50.fc2.com/blog-entry-51.html"/>
        <rdf:li rdf:resource="http://fantakeshi.blog50.fc2.com/blog-entry-50.html"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://fantakeshi.blog50.fc2.com/blog-entry-56.html">
    <link>http://fantakeshi.blog50.fc2.com/blog-entry-56.html</link>
    <title>Google共有カレンダーのデフォルトの見せ方を変える</title>
    <description>最近2013年 WBC見てましてGoogleカレンダーでWBCの予定一覧を作ってみました。しかし共有や埋め込んだ時は月表示になってしまい、デフォルトで週表示にする方法がわからない。こういう時間帯が重なるようなカレンダーは週表示で見せたいことがよくあります。調べた結果、URLにmode=???&amp;amp; を追加すれば良いようです。・週表示 mode=week&amp;amp;・月表示 mode=month&amp;amp;・リスト表示 mode=agenda&amp;amp;この技はカレンダー埋め込み支援ツールだけでは</description>
    <content:encoded><![CDATA[最近2013年 WBC見てましてGoogleカレンダーでWBCの予定一覧を作ってみました。<br><br><iframe src="https://www.google.com/calendar/embed?mode=week&amp;height=300&amp;wkst=1&amp;bgcolor=%23FFFFFF&amp;src=slg0a1k7dskn48t3gs7j2r9mqk%40group.calendar.google.com&amp;color=%232F6309&amp;ctz=Asia%2FTokyo" style=" border-width:0 " width="600" height="600" frameborder="0" scrolling="no"></iframe><br><br>しかし共有や埋め込んだ時は月表示になってしまい、デフォルトで週表示にする方法がわからない。<br>こういう時間帯が重なるようなカレンダーは週表示で見せたいことがよくあります。<br>調べた結果、URLにmode=???& を追加すれば良いようです。<br><br>・週表示 mode=week&<br>・月表示 mode=month&<br>・リスト表示 mode=agenda&<br><br>この技はカレンダー埋め込み支援ツールだけではなく、通常の共有カレンダーURLにも使えるというのがミソです。<br><a href="http://productforums.google.com/forum/#!topic/calendar/8NwSxZbbSlQ" target="_blank" title="参考URL">参考URL</a><br><br>ついでですが野球実況用にAAの作成を支援するツールも作ってみました。個人的なプログラミングのリハビリも兼ねてます。<br><a href="http://fantakeshi.web.fc2.com/baseball_aa/" target="_blank" title="http://fantakeshi.web.fc2.com/baseball_aa/">http://fantakeshi.web.fc2.com/baseball_aa/</a>]]></content:encoded>
    <dc:subject>Tips</dc:subject>
    <dc:date>2013-03-06T07:16:33+09:00</dc:date>
    <dc:creator>fantakeshi</dc:creator>
    <dc:publisher>FC2-BLOG</dc:publisher>
  </item>
  <item rdf:about="http://fantakeshi.blog50.fc2.com/blog-entry-55.html">
    <link>http://fantakeshi.blog50.fc2.com/blog-entry-55.html</link>
    <title>クラウド将棋盤ジェネレーターにHIDETCHI さんの新国際駒の追加 &amp;amp; ponanza_shogiの局面を国際駒で閲覧するブックマークレット</title>
    <description>クラウド将棋盤ジェネレーターに国際駒（新デザイン）が追加になりました。追加の際には国際駒の作者であるHIDETCHIさんに縮小版駒を作成して頂くという多大な協力をお願いし、快諾していただきました。この場を借りてお礼を申し上げます。例として、全ての駒を閲覧出来る局面図を作成しました。通常の将棋の局面としてはありえない図ではありますが、全ての駒が閲覧出来るものとなっております。ちなみに旧デザインはこちらです。</description>
    <content:encoded><![CDATA[クラウド将棋盤ジェネレーターに国際駒（新デザイン）が追加になりました。<br>追加の際には国際駒の作者であるHIDETCHIさんに縮小版駒を作成して頂くという多大な協力をお願いし、快諾していただきました。<br>この場を借りてお礼を申し上げます。<br><br>例として、全ての駒を閲覧出来る局面図を作成しました。<br><img src="http://sfenreader.appspot.com/sfen?sfen=lnsgkgsnl%2F1r5b1%2Fppppppppp%2F%2Bl%2Bn%2Bs%2Bg1g%2Bs%2Bn%2Bl%2F%2Bp%2Bp%2Bb%2Br1%2BR%2BB%2BP%2BP%2F%2BL%2BN%2BSG1G%2BS%2BN%2BL%2FPPPPPPPPP%2F1B5R1%2FLNSGKGSNL%20b%202r2b4g4s4n4l18p2R2B4G4S4N4L18P&turn=off&piece=international"><br>通常の将棋の局面としてはありえない図ではありますが、全ての駒が閲覧出来るものとなっております。<br><br>ちなみに<a href="http://meikoma.com/intpiece.html" target="_blank" title="旧デザインはこちら">旧デザインはこちら</a>です。どこが変わっているのか調べてみるのも面白かもしれませんね。<br><br>また、国際駒に追加に際して、<a href="http://twitter.com/ponanza_shogi">@ponanza_shogi</a>が出力する局面図を国際駒で閲覧するブックマークレットを用意しました。<br><br>以下のリンクを<span style="color:#FF0000"><strong>右クリックでブックマーク</strong></span>、または<span style="color:#FF0000"><strong>ドラッグ＆ドロップでブックマークツールバーに登録</strong></span>して、<a href="http://twitter.com/ponanza_shogi" target="_blank" title="@ponanza_shogi">@ponanza_shogi</a>の局面図が表示されている時にブックマークのボタンを押すと局面図が国際駒になります。<br><br>・<span style="font-size:x-large;"><a href="javascript:(function(){if(location.host!='sfenreader.appspot.com'){return;}location.href+='&piece=international';})();">国際駒で閲覧</a><br></span><br><br>以下はGoogleChromeの例ですが、ブックマークツールバーはアドレスバーのすぐ下にあります。どのブラウザでも大体同じです。<br><a href="http://blog-imgs-17.fc2.com/f/a/n/fantakeshi/bookmarklet.png" target="_blank"><img src="http://blog-imgs-17.fc2.com/f/a/n/fantakeshi/bookmarklet.png" alt="bookmarklet.png" border="0" width="351" height="164" /></a><br><br>上記の方法でも追加出来ない方は以下の文字列をリンク先のURLとして登録してください。<br><blockquote>javascript:(function(){if(location.host!='sfenreader.appspot.com'){return;}location.href+='&piece=international';})();<br></blockquote><br><br>このブックマークレットを登録して、ponanza_shogiの画面を見ている時に<strong>「国際駒で閲覧」</strong>を押すと国際駒で局面を見ることが出来ます。王位戦の投了図はこんな感じになります。<br><a href="http://blog-imgs-17.fc2.com/f/a/n/fantakeshi/international.png" target="_blank"><img src="http://blog-imgs-17.fc2.com/f/a/n/fantakeshi/international.png" alt="international.png" border="0" width="415" height="502" /></a><br><br>IE9、Firefox7、Google Chrome14、Opera11、Safari5.1で動作を確認しています。<br>スマートフォンについては未確認ですが、<a href="http://android-smart.com/2011/06/android%E3%81%A7%E3%82%82%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%82%88%E3%81%86.html" target="_blank" title="Androidの標準ブラウザはブックマークレットを使えない">Androidの標準ブラウザはブックマークレットを使えない</a>という情報もあるそうです。変わりに、Android版Firefox等の別ブラウザでお使いください。<br><br>国際駒で局面を眺めるとまた違った趣があります。個人的には龍のデザインがお気に入りです。<br><br>同時に拙い英語ではありますが、<a href="http://sfenreader.appspot.com/en/index.html" target="_blank" title="英語ページも公開しました">英語ページも公開しました</a>。ただ、Web上で局面図を作成するページに国際駒を足してないので修正はこれからになります。(そんなに大きな修正では無いはずです)]]></content:encoded>
    <dc:subject>自作物</dc:subject>
    <dc:date>2011-08-31T21:55:46+09:00</dc:date>
    <dc:creator>fantakeshi</dc:creator>
    <dc:publisher>FC2-BLOG</dc:publisher>
  </item>
  <item rdf:about="http://fantakeshi.blog50.fc2.com/blog-entry-53.html">
    <link>http://fantakeshi.blog50.fc2.com/blog-entry-53.html</link>
    <title>Canvasの描画(drawImageとputImageData)について</title>
    <description>3分くらいで読めます。局面図をWebで作成するページがFirefox7だと後手の駒が全部歩になってしまうという問題が出てしまいました。http://sfenreader.appspot.com/create_board.htmlHTML5のCanvasに描画する方法については、drawImageとputImageDataという２つのメソッドがあります。前者はHTMLImageElementやHTMLCanvasElement、果てはHTMLVideoElementが描画できるので万能に見え、これだけを使っていれば良いように思えます。し</description>
    <content:encoded><![CDATA[3分くらいで読めます。<br><br>局面図をWebで作成するページがFirefox7だと後手の駒が全部歩になってしまうという問題が出てしまいました。<br><a href="http://sfenreader.appspot.com/create_board.html " target="_blank" title="http://sfenreader.appspot.com/create_board.html">http://sfenreader.appspot.com/create_board.html<br></a><br>HTML5のCanvasに描画する方法については、drawImageとputImageDataという２つのメソッドがあります。<br>前者はHTMLImageElementやHTMLCanvasElement、果てはHTMLVideoElementが描画できるので万能に見え、これだけを使っていれば良いように思えます。<br><br>しかし、HTMLCanvasElementの内容をdrawImageした時に、実際にdrawされる内容はdrawImageが実行された瞬間ではない実装があるようです。実際にはFirefox7やFirefox5がそうでした。なので、drawImageしたCanvasの内容を頻繁書いたり消したりしていると、望む結果が得られないことがあります。<br><br>クラウド将棋盤ジェネレータでは、後手の駒を180度回転させて描画する時に、隠しCanvasに書いてからそれをdrawImageするという手法を使っていましたが実際にdrawImageされるタイミングが異なるためにFirefox7では全て同じ駒になるという問題が生じていました。<br><br>そこで、getImageDataとputImageDataを組み合わせることにしました。この方法だと実際にイメージを取得した瞬間の画像が描画されることが保証されるようです。実際に、各ブラウザ、(IE9、Firefox7、Chrome14、Opera11、Safari5）等で動かしてみましたが特に問題ないようです。<br><br>getImageDataで得られるデーターはHTMLImageElementとは互換性がないため若干使いづらいのですが、現状はこの実装で行こうと思います。例えば、普通にImageを読み込んで書く時でもputImageDataを使う場合（ImageDataで書く場合）どこかのCanvasに描画してからgetImageDataでImageDataを取得するという２度手間になってしまいます。またputImageDataは<a href="http://lislis.sblo.jp/article/37512669.html" target="_blank" title="exCanvasやFlashCanvasでの使用に難があるという情報">exCanvasやFlashCanvasでの使用に難があるという情報</a>もあります（実際には未確認）<br><br>getImageDataのImageDataはピクセル毎にアクセス可能であるというメリットもあるのですが、現状この機能は使わないのでとりあえず一時的に画像を保管できる機能としてしか使っていません。<br><br>(2011/09/11:追記) これ以上に重大な問題があって、getImageDataは別ドメインを描画したキャンバスのデータの取得がセキュリティ的に許されていないという問題があります。いわゆる<strong><span style="color:#FF0000">クロスドメインな場所にある画像へのアクセスが禁止されている</span></strong>ということです。これは悪意のある攻撃者が個人情報を含む画像からデータを抜き取ることを防ぐ目的だとされています。あるいはCaptcha的な画像認証を解析するコードを埋め込まれることなどを懸念しているのかもしれません。<br><br>Canvasが出てからまだしばらく経つのにブラウザ間の実装がこなれてない感じがしますね。そろそろライブラリが出てきてもいいような気がするのですが…]]></content:encoded>
    <dc:subject>自作物</dc:subject>
    <dc:date>2011-08-27T01:17:50+09:00</dc:date>
    <dc:creator>fantakeshi</dc:creator>
    <dc:publisher>FC2-BLOG</dc:publisher>
  </item>
  <item rdf:about="http://fantakeshi.blog50.fc2.com/blog-entry-51.html">
    <link>http://fantakeshi.blog50.fc2.com/blog-entry-51.html</link>
    <title>Canvas要素上でどこがクリックされたか正確に取得する方法</title>
    <description>3分くらいで読めます。先のエントリで将棋の局面図を作るWebUIをアップデートしたと書きましたが、一番の問題はCanvas要素上でクリックされた座標を取得する方法がブラウザによって異なることでした。ここでのポイントはページ内座標ではなくCanvas要素上でクリックされた座標の取得ということです。ページ内座標だとHTMLをいじくっているうちに座標がうまく取れない、なんてことが起こり得るのでCanvas上の座標でクリックされた場</description>
    <content:encoded><![CDATA[3分くらいで読めます。<br><br><a href="http://fantakeshi.blog50.fc2.com/blog-entry-50.html" target="_blank" title="先のエントリ">先のエントリ</a>で将棋の局面図を作るWebUIをアップデートしたと書きましたが、一番の問題はCanvas要素上でクリックされた座標を取得する方法がブラウザによって異なることでした。<br><br>ここでのポイントはページ内座標ではなくCanvas要素上でクリックされた座標の取得ということです。ページ内座標だとHTMLをいじくっているうちに座標がうまく取れない、なんてことが起こり得るのでCanvas上の座標でクリックされた場所を取得したいのです。<br><br>そのために、マウスクリック時のイベントオブジェクトではlayerXとlayerYというそのものずばりのプロパティがあるのですが、これだとFirefox6や64bit版ブラウザでうまく動作しないという問題がありました。<br><br>そこで検索した所、クリック時のページ内座標の取得についてはブラウザ別でも安定して取得する方法があるので、ページ内座標の取得→Canvasが配置されている座標のxy座標を引いて計算するという戦略でCanvas上の座標を取得するという方法が<a href="http://stackoverflow.com/questions/55677/how-do-i-get-the-coordinates-of-a-mouse-click-on-a-canvas-element" target="_blank" title="載っていました">載っていました</a>。Stack Overflowさまさまです。<br><br>以下はその引用です。<br><br><pre class="prettyprint">var x;<br>var y;<br>if (e.pageX || e.pageY) { <br>  x = e.pageX;<br>  y = e.pageY;<br>}<br>else { <br>  x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; <br>  y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; <br>} <br>x -= gCanvasElement.offsetLeft;<br>y -= gCanvasElement.offsetTop;<br></pre><br><br>しかし、クロスブラウザ対応ってクロスプラットフォーム対応より大変なんじゃないかという気がしてきました。まず主要ブラウザだけで、Internet Explorer、Firefox、Google Chrome、Opera、Safariと5つあり、このうちInternet Explorerはバージョン違いを考慮する必要があります。またFirefoxも4.0で大幅にUIを変えたり、アドオンの対応状況が微妙だったりということもあってアップデートに慎重な人もいたりします。ただ、これらに64bit版というのが掛け算でかかってくると頭の痛いところです。スマートフォンやタブレットに搭載のブラウザで動くというのは大きな魅力ではあるのですが、解像度のことを考えると画面デザインの変更は必須ですし…<br><br>ネイティブアプリの64bit対応ならば、APIの有無とかそもそも書き方が間違っている(例えばポインタのサイズ計算が間違っている)ということで解決できるのですが、ブラウザの対応についてはその時々のブラウザの実装状況というものに大きく左右されるので一瞬しか有用な情報ではなくバッドノウハウの最たるものではないかと思います。HTML5になってウェブアプリがリッチになったとは言え、完成されたライブラリの充実を待たないと修羅の道に足を踏み込むことになりそうです。]]></content:encoded>
    <dc:subject>HTML5</dc:subject>
    <dc:date>2011-08-09T04:18:42+09:00</dc:date>
    <dc:creator>fantakeshi</dc:creator>
    <dc:publisher>FC2-BLOG</dc:publisher>
  </item>
  <item rdf:about="http://fantakeshi.blog50.fc2.com/blog-entry-50.html">
    <link>http://fantakeshi.blog50.fc2.com/blog-entry-50.html</link>
    <title>Web上で将棋局面図を作るページがクロスブラウザ対応になりました</title>
    <description>ページはこちら過去バージョンでは32bit版Firefox6と64bit版ブラウザでは正常に動作しないことがわかってましたが、今回の修正でどちらも正常に動くようになりました。Firefox5については逆向きの駒が正常に描画されないという問題があることがわかっていますが、すぐにFirefox6にアップデートされることがアナウンスされていますので今後対応する予定はありません。@na2hiroさんの協力を頂いてMac版Google Chromeでも動作すること</description>
    <content:encoded><![CDATA[<a href="http://sfenreader.appspot.com/create_board.html" target="_blank" title="&lt;span style=&quot;font-size:x-large;&quot;&gt;ページはこちら&lt;/span&gt;"><span style="font-size:x-large;">ページはこちら</span></a><br><br>過去バージョンでは32bit版Firefox6と64bit版ブラウザでは正常に動作しないことがわかってましたが、今回の修正でどちらも正常に動くようになりました。<br>Firefox5については逆向きの駒が正常に描画されないという問題があることがわかっていますが、<a href="http://web-directors.net/modules/d3blog/details.php?bid=46" target="_blank" title="すぐにFirefox6にアップデートされることがアナウンスされています">すぐにFirefox6にアップデートされることがアナウンスされています</a>ので今後対応する予定はありません。<br><br><a href="http://twitter.com/na2hiro">@na2hiro</a>さんの協力を頂いてMac版Google Chromeでも動作することを確認しました。恐らくですがLinux版でも同様だと思われます。<br><br>あと対応していないブラウザはWindows XPでも動作するIE8ということになるのですが、作者の手元に動作環境が（用意しないと）ないということと、IE8が使える人はKifu for Windowsが使えるという代替手段があること、サポートするためにはかなりの労力が必要とされることから、仮にサポートするとしてもかなり後回しになることをご了承ください。]]></content:encoded>
    <dc:subject>自作物</dc:subject>
    <dc:date>2011-08-09T03:53:18+09:00</dc:date>
    <dc:creator>fantakeshi</dc:creator>
    <dc:publisher>FC2-BLOG</dc:publisher>
  </item>
</rdf:RDF>
