LWJGFont ver 1.1 をリリースしました
2014/2/25 にリリースした LWJGFont の更新版 ver1.1 をリリースしました。
LWJGFont は LWJGL 上で日本語文字列表示を簡単に実現するための、LWJGL の 3rd パーティライブラリです。
ver 1.0 では日本語文字列を表示するのに使いたいフォントのフォントファイルを手元に用意する必要がありましたが、ver 1.1 ではそれに加えて Java VM が認識しているシステムフォントも利用できるようになりました。とにもかくにもすぐに LWJGFont を使ってみたいという場合に OS にインストールされているフォントを使って日本語表示を実装できるようになりました。
また ver 1.0 の Windows 環境で発生していたいくつかの不具合を修正し、安定性が向上しています。コマンドラインから実行する際に出力されるメッセージは実行環境にあわせて日英で切り替わるようになりした。
ひとまず先週の初期リリースで見逃してしまっていたバグについてはひと通り修正してありますので、すでに ver 1.0 をご利用頂いている方はぜひ最新版への乗り換えをお願いいたします。
なお、ver 1.1 へバージョンアップする際には再度 LWJGFont を実行し、フォントを jar ファイルに変換する必要があります。
加えて、net.chocolapod.lwjgfont.AbstractFont はクラス名が net.chocolapod.lwjgfont.LWJGFont に変更されているので注意してください。
続きを読む
LWJGFont 開発
コメント (9) 2014/03/02 11:38:52
LWJGFont ver 1.0 を公開しました
2014/2/25 に、LWJGFont ver 1.0 をリリースしました。
LWJGFont はお手持ちのフォントを使って手軽に文字列表示をするための LWJGL のサードパーティライブラリです。あらかじめ任意のフォントを任意のサイズで画像イメージに描き出しておき、実行時にはそれを切り貼りすることで文字列を表示させます。
特に LWJGL で日本語表示(テクスチャーマッピング)する際の壁となる日本語文字画像の用意、日本語文字画像の切り貼り作業をサポートしているため、java.awt.Graphics.drawString() の感覚で文字列を表示することができます。LWJGFont は等幅フォントに加え、プロポーショナルフォントにも対応しています。プロポーショナルフォントは文字によって文字幅が異なるため、手動でテクスチャーマッピングしようとすると手間がかかりますが、LWJGFont ではプロポーショナルフォントの文字幅についても自動計算して表示するため、手軽に綺麗な文字列表示を実装することができます。
2014/03/02 追記
LWJGFont ver 1.1 がリリースされています。
Windows 環境での不具合を修正した安定版となりますので、そちらをご利用ください。
ダウンロード
LWJGFont は公式ページからダウンロードすることができます。
また、maven をご利用の方は、pom.xml に以下の設定を追加することで入手できます。 <dependencies>
...
<dependency>
<groupId>net.chocolapod</groupId>
<artifactId>lwjgfont</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
LWJGFont のしくみ
簡単に LWJGFont のしくみについて触れておきたいとおもいます。
LWJGFont は任意のフォントで、アルファベット、ひながなカタカナ、数字、常用漢字約 2000 文字をすべて描きこんだ画像ファイルを生成します。また、画像ファイルのどこにどの文字が書き込まれているかというマッピング情報を持ち、実際に Java プログラムから各文字を表示するための class ファイルも作り出します。これらのファイルを jar ファイルにまとめるので、LWJGFont と LWJGFont が生成した jar ファイルをクラスパスに追加することで、LWJGL から好きなフォントでの文字列表示ができるようになります。
詳しい使い方についてはチュートリアルを用意しましたのでそちらをご覧下さい。
続きを読む
LWJGFont 開発
コメント (1) 2014/02/25 08:39:05
LWJGFont の開発をはじめました。
LWJGL で好きな True Type Font を使うためのライブラリ LWJGFont を作り始めました。
以前書いた記事: LWJGL で日本語フォントを使ってみるで、Java AWT の Graphics を使って文字列を描き、それを Image からテクスチャーに随時変換して表示していく方法についてご紹介しました。Java SDK の java.awt.Font を使って True Type Font を読み込むので、比較的簡単な実装で日本語のテキストを LWJGL で表示することができます。ただ、OpenGL ではテクスチャーの生成にそれなりのコストがかかるため、表示する文字列が変わるたびにテクスチャーを再生成するというのはリアルタイム性に課題が残るやり方でした。
LWJGL をラップする形で実装されている Slick2D では TrueTypeFont や UnicodeFont というクラスが用意されているそうですが、サンプルプログラムを見る限り、これらのクラスも java.awt.Font を利用して文字列を表示しているようです。.ttf ファイルの読み込み自体は実行時に行われるようなので、おそらく同じような仕組みで動いているのではないかと思います。
そうは言っても、文字列表示はゲームでも重要な要素であるわりに、LWJGL で実現しようとするとそれなりに敷居が高いのが現状です。そこで、以前の日本語フォントを表示する方法とは少し違ったアプローチで、開発者にとって、もう少し手軽に文字列表示を実現しようというのが LWJGFont 開発のゴールになります。
ライブラリを準備する際にひと手間加えなければならないのですが、文字列の表示処理自体は以下のようなシンプルな呼び出しでできるようになります。MyFont myFont = new MyFont();
myFont.drawString("捲土重来!!!", 100, 400, 0);
LWJGFont で提供するのは、Java AWT などでよく見かける drawString(String, flaot, float, float) というメソッドです。第一引数は表示する文字列、第二~第四引数は表示する座標(X, Y, Z)になります。
今週にかけてそれなりに時間をかけていたので、ようやくひとまずの完成形が見えてきました。
今回は開発の経緯とコンセプトを少し書くだけですが、そう遠くないうちに LWJGL のサードパーティライブラリとして公開できるのではないかと思います。
2012/02/25 追記
LWJGFont ver 1.0 を公開しました。公式ページをご覧ください。
続きを読む
LWJGFont 開発
コメント (0) 2014/02/13 23:59:31
Fedora 20 をインストールした後に行うひと通りの初期設定
月曜日にしていた Fedora 20 のインストール作業に関する記事です。
Fedora 20 の UI はまた少しずつおしゃれに進化していて、これなら職場の PC も遠くないうちにバージョンアップすることになりそうなので、Fedora のインストール後に私がいつもやる初期設定をまとめて書いておきたいと思います。
初期設定は UI 関連のことを中心にしています。私の Fedora の用途は開発環境としてなので、エンジニア的なこともそれなりに含まれていますが、java とか ant とか maven とかのインストールは割愛しています。もし同じようなことをやりたいとなった時に、参考にしていただけるものがあれば嬉しいです。
続きを読む
Linux
コメント (0) 2014/01/16 00:21:22
Fedora 17 にて SCSI 接続のドライブで CD を焼いてみる
2013 年 12 月 17 日に Fedora 20 の Final Release がリリースされました。
Fedora プロジェクト 10 周年記念だそうで、Fedora Core が出始めた頃からのユーザーとしてはなんとも感慨深いものです。
私は何気にめんどくさがりで、PC の置き換えなどがないとなかなか OS の入れ替えはしないのですが、せっかくなので家の開発環境を更新してみることにしました。今使ってる Fedora 17 は 2013 年 7 月 30 日にサポート切れてますしね!
さっそく Fedora 公式ページから Live 版を取ってきたのはいいものの、cdrecord コマンドで ISO イメージを焼こうとしたところ、こんなエラーが出ました。# cdrecord -scanbus
wodim: No such file or directory.
Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
ドライバーが使えないですエラーです。
ていうか SCSI って!久しぶりに聞いたよ!そういえば SCSI 接続だったのを今思い出したよ!
Dropbox や github なんかでファイルを管理するこのご時世に、CD や DVD メディアを焼くなんてことも少なくなってきました。
備忘録がてら、Linux 環境で CD / DVD を焼く方法について書き残しておきたいと思います。
続きを読む
Linux
コメント (1) 2014/01/13 12:50:49
Pushy Grandma ver 0.23 を公開しました
高確率でクッキー中毒(もしくは Grandma の虜)になってしまうという Cookie Clicker プレイヤーの手の健康を守るべく(言い訳)、昨日作成した Pushy Grandma をバージョンアップしました。
これまでは画面内のノーマルクッキーと金のクッキーを音もなく自動クリックし続けていましたが、あまりに BOT 的で味気ないので、クッキークリック時の画面エフェクトを追加してみました。(画面エフェクトがあろうとなかろうと BOT っぽいですが……)
皆さん考えることは同じのようで、世の中にはもう結構な数の自動クリックツールが出回っているようです。なので Pushy Grandma では視覚的な面白さも加えてみようということで(完全趣味の方向に)手を入れています。
画面効果以外の機能はほとんど変わっていませんが、細かいバグを直したりしているので、できれば最新版へのバージョンアップをお勧めします。
ダウンロード
Greasemonkey 用 Cookie Clicker 自動クリックスクリプト
Pushy Grandma ver 0.23
※ 2014/04/26 ver0.3 を公開しました。
なお、インストール手順は前回と同様になります。
バージョンアップには、そのまま ver 0.23 のリンクを開いてもらえればいいと思いますが、もしうまくインストールできないようでしたら、一度 Pushy Grandma を削除してから再度インストールしてみてください。
続きを読む
WEB 技術
コメント (6) 2013/09/18 22:44:29
Cookie Clicker で自動クリックする Greasemonkey スクリプトを書いてみた
『気づいたら朝になっていた』『腱鞘炎患者製造機』と一部で人気のブラウザゲーム Cookie Clicker をはじめてみました。
このゲームの目的はただひたすらにクッキーを作ることです。
画面左の大きなチョコチップクッキーをクリックすることで、おいしそうなクッキーが1枚手に入ります。
作ったクッキーとひきかえにアイテムを買うことでクッキーの生産効率がアップし、さらに多くのクッキーを作れるようになります。
クッキーを何個作ったら何かが起こるとか、そういうのはありません。(PS3 的な実績はありますが。)本当にそれだけ。
……なぜそうまでして人はクッキーを作り続けるのか……。
……このクッキーにいったいどれだけの意味があるというのか……。
しかしあなたに悩むための時間はありません。
「おい新入りィ!!手が止まってんぞォッ!!」
どこからか親方の声が聞こえてきます。
そう、考える暇があるのなら、ひたすらクッキーをクリックし続けるのです。
この宇宙をクッキーで埋め尽くすために……。
―――以上クッキー中毒者の脳内ストーリーより。
という感じで怪しいくらいにはまってしまう Cookie Clicker ですが、いい加減マウスが壊れそうになってきたので、自動でクリックしてくれるグリモンスクリプトを書いてみました。(ようやく本題)
画面左に表示されるクッキーだけでなく、稀に出現するボーナスアイテム: 金のクッキーも自動でクリックしてくれます。
注意
このスクリプトによって Cookie Clicker のゲームバランスを壊したとしても、当方は一切責任を負いません。
ご自身で心ゆくまで手作りクッキーを焼いた上で、自己責任のもとご利用ください。
Cookie Clicker からクリックをとったらただの Cookie ですからね…。
ただ、クリックで作れるクッキーの数は、自動生産されるクッキーのだいたい 3 % くらいのようなので、クリックを自動でまわしても極端に有利になるということもなさそうです。1 秒間に 33 回クリックしてやっと自動生産量と同じになる感じ。
続きを読む
WEB 技術
コメント (2) 2013/09/17 12:30:35
翠星のガルガンティア Blu-ray BOX 1 が届きました!
人類銀河同盟軍 戦士諸君、啓発の時間だ!
モニターから適切な距離をたもち、適度な休息をとりながら隅々まで映像を確認して欲しい。以上だ!
8/28 発売の翠星のガルガンティア Blu-ray BOX 1 が届きましたー!!
発売日より 1 日早いです。ありがとう Amazon 先生!!
ブログにはまったく書いていませんでしたが、翠星のガルガンティアは 2013 年春アニメで一番楽しんでいた SF ロボットアニメです。シリーズ構成・脚本には我らがぶっちーこと虚淵玄が参加していて、当初はまた鬱展開が繰り広げられるのではと巷は戦々恐々としていました。が、見事にその期待は裏切られ、SF 的トリックは残しつつも物語はノスタルジックな日常の空気を漂わせた見事な牧歌的癒し系アニメに仕上がっています。ロボが飛び回ってるのに不思議!
ガルガンティアの Blu-ray は BOX 販売のみで、全 3 巻の予定です。各巻にテレビ放映話が 4 ~ 5 話と、1 巻と 3 巻には完全新作 OVA が 1 話収録されます。BOX 2 巻の映像特典はアニメ公式サイトで公開されていたぷちっとガルガンティアです。1 クールの作品だと Blu-ray は 2 話収録が多いですが、それが 2 巻分ずつ + 特典が 1 ディスクで販売という形です。
今日届いた 1 巻にはテレビ放映分では第 1 話『漂流者』から第 4 話『追憶の笛』が収録されています。冒頭の一波乱が終わってガルガンティアの生活が始まる辺りまでですね。それにコメンタリーや OVA 第 14 話『廃墟船団』、絵コンテや書き下ろし小説などをまとめた冊子がついてきました。なかなか盛りだくさんです。
続きを読む
雑記,
アニメ,
お買い物
コメント (0) 2013/08/27 23:37:55
Putty の鍵ファイル .ppk を Linux ssh 用に変換してみる
最近 Windows 文化の人と仕事をすることが多く、そのせいなのかはわかりませんが、ec2 インスタンスログイン用の秘密鍵が ppk で届きました。ppk は個人的にはあまり馴染みのない鍵のフォーマットで、GNOME ターミナル好きとしては Linux の ssh コマンドで使える OpenSSH 互換のファイル形式に変換したいなということで変換してみました。
ちなみに、Linux 用の Putty クライアントもいくつかあるようで、それを使えば Linux マシンからも Putty 形式の秘密鍵でも ssh 接続できるようです。
続きを読む
Linux
コメント (0) 2013/08/21 22:20:26
Html5 Outliner Extended
HTML5 で追加された article, aside, nav, section タグはセクショニング・コンテンツと呼ばれています。これらのタグは WEB ページのデータ的な構造を表すために使用されます。ただ、これらのセクショニング・コンテンツによって表されるページ構造のアウトラインは、デザイン(CSS など)をあてるためのタグ構造と必ずしも一致している必要がなく、視覚的にも確認しづらいものです。
ページのアウトラインを確認するツールとして、HTML5 Outliner という Chrome 拡張があります。
これは表示しているページの HTML を読み込んで section や article などのタグからページのアウトラインをツリー構造で表示してくれるものです。
わたし自身もこれにだいぶお世話になっているのですが、使っているうちにもう少し使いやすくできたらと思うようになり、ちょっとした機能ではあるのですが拡張バージョンを作ってみました。
HTML5 Outliner のオリジナルバージョンは MIT License でソースコードも公開されています。作者は dymonaz ( Dominykas Blyžė ) さんという方です。
本来ならオープンソースのプロジェクトらしくパッチを送って取り込んでもらえばいいのでしょうが、チキンなのでなかなかそこまでは踏み出せず、fork した形で公開することにしました。ここに置いてあるものは、オリジナルの HTML5 Outliner を独自に機能拡張した野良バージョンとなります。
最新バージョン
ダウンロードはこちらからどうぞ。
html5outlinerExt.0.5.1.crx
HTML5 Outliner ver 0.5.1 相当です。
続きを読む
WEB 技術
コメント (0) 2013/08/13 00:28:16