Labs

外部SWFファイルからフォントの埋め込み。

2011.01.02 / Labs

ActionScriptで外部のSWFファイルに登録してあるフォントを、動的に埋め込む方法です。
初めにフォント情報をリンケージとして登録するためのSWFを作成します。
新規でflaファイルを作成して、ライブラリパネル上で右クリックから表示されるコンテクストメニューで「新しいフォント…」を選択します。

フォント名を入力して、埋め込みたいフォントと文字を選択します。
ここでのフォント名は後から参照することはないので、自由な名称で構いません。

続いて「ActionScript」タブからリンケージの「アクションスクリプト用に書き出し」にチェックを入れて、クラス名を入力します。
このクラス名は埋め込みの際にActionScriptから参照します。

これでライブラリパネルに、リンケージとしてフォントが登録されました。
この状態でSWFファイルを書き出して、ファイル名を「fonts.swf」としておきます。

 

次に、作成した外部SWFを読み込み、フォントを埋め込むActionScriptファイルを作成します。
下記のようなスクリプトを記述します。

上記はドキュメントクラスとして記述した場合の例です。

 

初めに作成した外部SWFファイルを読み込みます。

 

外部SWFファイルにリンケージとして登録したフォント(クラス)を利用可能にするために「ApplicationDomain」を登録します。
フォントクラス「HelveticaRegular」として登録します。

 

先ほど登録したフォントクラスを、グローバルフォントに登録します。

 

フォントクラスから作成したオブジェクトをもとに、テキストフォーマットにフォント名を指定します。

 

フォントの埋め込みを有効にします。

 

フォントクラスから埋め込みの際のテキストフィールドは、アンチエイリアスが「NORMAL」の状態で、あまりきれいではないので「ADVANCED」に変更します。

jQueryでモーダルウィンドウを作成。

2010.12.23 / Labs

(追記/2011.12.02)ウィンドウをスクロールの際に、背景もズレてしまう不具合があったので、CSSとJavaScriptの一部を調整しました。

 

jQueryを使ってモーダルウィンドウを作成します。ウィンドウに表示するコンテンツはjQueryのAjaxで読み込むようにしています。
サンプルはこちら

jQueryを使ってリストのリンクをクリックで「href」のアドレスを参照し、「div#modal div.container」に対してコンテンツを読み込み、表示します。

 

CSSでは、モーダルウィンドウの背景を黒(#000000)の透明度75%としています。

 

リンクの「href」のアドレスを参照してコンテンツを読み込み、表示しています。
背景の「div#modal div.background」、またはコンテンツ内の「a.close」をクリックで、モーダルウィンドウを閉じます。

 

Drupal 7をローカル環境にインストール。

2010.10.16 / Labs

先日公開されたDrupal 7のベータ版をローカルのテスト環境(MAMP)にインストールしてみました。
インストールの流れは、おおむねDrupal 6のときと同じでした。日本語の言語ファイルはDrupalのTranslateサイトのものを利用させていただきました。

 

言語ファイルの取り込みは、ダウンロードしたpoファイルを「profiles/standard/translations/」ディレクトリに配置してインストールを行えばよいという認識だったのですが、インストール実行中にエラーが表示され進めることができなかったので、一旦英語版の状態でインストールを完了し、管理画面の「環境設定 > インターフェースの翻訳」よりpoファイルをインポートして、日本語の言語ファイルを取込みました。
インポートには、予めコアモジュール「Locale」を有効にしておく必要があります。

 

デフォルトのフロントページはこんな感じです。
テーマは新しく導入された「Bartik」というテーマです。
Drupal 7
Drupal 6に比べて大きく違うのは、上部に管理メニューが表示されていること、デフォルトテーマが変わったことです。
従来のテーマ「Garland」も含まれているので、メニューの「テーマから」変更することもできます。
Drupal 7
管理画面も大きく変わり、通常ページに対してレイヤーで表示されるようになりました。
非同期通信で管理画面を遷移していくので、体感的には表示がクィックになったように思います。
Drupal 7
Drupalで最も重要なモジュールの一つ「Views」も、Drupal 7用の開発版が利用可能です。
ViewsのインターフェイスはDrupal 6のものと大きな違いはありません。機能的な部分はまだ触っていませんが、見た感じは若干項目が整頓されています。
Drupal 7
Drupal 7になってCCKモジュールは本体に統合されました。フィールドのタイプも、ファイル、画像などが追加されて、より使いやすくなっています。
ノード参照、ユーザー参照が含まれていないようですが、これはベータ版だからかな?
Drupal 7
ちなみに管理画面のレイヤー表示はコアモジュールの「Overlay」を無効にすることで、これまで通りの表示に戻すことができます。
Drupal 7
レイヤー表示では上下左右に余白ができるので、小さなディスプレイでは使いにくいという場合には、こちらの方がよいかもしれません。

 

軽く触ってみた感じでは、管理画面のメニューが整頓されたり、レイヤー表示であったりと、サイトの更新においてずいぶん使いやすくなったと思います。
CCKが統合されたことで、これからDrupalを始める方にとっても、Drupalの拡張性の高さを直ぐに感じることができるのではないでしょうか。
現在はまだベータ版なので、バグのようなものも若干見られます。
しばらくはテーマ作成など取り組んでみて、2011年の前半あたりに正式版の登場を期待したいです。

 

drupal.org

Google Mapsを簡単に設置。

2010.09.22 / Labs

Google Maps API Version 3になってからAPIキーが不要になり、ホームページへ手軽に設置できるようになりました。
基本的なGoogle Mapsを設置するためのコードを、コンパクトにまとめてみました。
サンプルはこちら

 

最初に、Google Maps APIを読み込みます。

 

Google Mapsを設置するための関数を呼び出します。引数にはオブジェクトで、表示するためのDIV要素のID、緯度、経度、ズーム、ウィンドウのテキストを入れています。

 

関数はセンターにマーカーを表示して、クリックでウィンドウが開くシンプルな構成です。

PHPで祝日表示付きカレンダーの作成。

2010.05.16 / Labs

PHPのPEARライブラリを使って、祝日の表示を加えたカレンダーの作成方法です。
カレンダーの作成には「Calendar」ライブラリ、祝日の取得には「Date_Holidays_Japan」ライブラリを利用しています。

あらかじめ祝日の月日、名称を配列に格納しておき、カレンダー生成のループの中で、祝日の判定を行っています。

 

PEAR Calendar
PEAR Date_Holidays_Japan