Monthly Archives: 1月 2011

イラレで作ったロゴをOOo Drawで使用する

1
Filed under OpenOffice.org, 仕事ツール
Tagged as , ,

Adobe Illustratorで作ったロゴ(.ai)をOpenOffice.org Draw(以下、OOo Draw)で使いたくて、でも、今の環境にはIllustrator入っていなかったときになんとかしたメモ。
ロゴもPNG画像とかあるんだけど、両方共ドローソフトなのになんだか画像になってしまうのは癪だったので何とかしたのです。

中継役はInkscape

まず、OOo Drawでは.aiファイルは開けないので、Inkscapeというオープンソースのドローソフトで開きます。

ザクっと楽勝でひらけたので助かりましたが、問題はそこから何で書き出すか。
SVGなら楽勝だろ、と思っていたら、今のOOo Drawのバージョンが3.2.1なのですが、SVGを読み込めないようなのです!プラグインも3.x対応のが見つからない!ということで結局SVG経由は諦めました。。
Windows Metafile(.wmf)とかでもうまくいかず、、と思って出力を見ていたら、なんとOOo Draw形式(.odg)で書き出せるではありませんか!!Inkscapeグッジョブです!!

で、OOo Drawで読み込んだ状態がこんな感じ。

マークとロゴの”O”が見えません。
とりあえず、選択できるし、ラインに色をつけてみたら、ラインが表示されているので、ライン情報は消えていないことは分かります。

ロゴを選択し、パーツを個別に選択できるまでグループ解除していきます。
そして、あるとき、オブジェクトを選択してコンテキストメニューを開くと「オブジェクトを閉じる」という項目が出てきますので、これを実行します。

これで無事に塗りを設定できるようになりました!

まとめ

以上の要点は2点になります。

  • .aiをOOo Drawで開くには、Inkscapeで.aiを開き、OOo Draw形式で書き出す
  • OOo Drawで消えてしまったオブジェクトは、「グループ解除」+「オブジェクトを閉じる」で解決

[AD]

↓こういう書籍で一度しっかりやればIllustratorを置き換えられるかも。

徹底図解 GIMP & Inkscapeのすべて (100%ムックシリーズ)

出版社:晋遊舎( 2010-03-26 )

定価:¥ 1,280

大型本 ( 111 ページ )

ISBN-10 : 4863910738

ISBN-13 : 9784863910737


↓基本機能の説明だけではなく「データベース活用、マクロ処理など」も説明してるらしい!深そう!

オープンガイドブックOpenOffice.org 3 (DVD付)

著者/訳者:鎌滝 雅久 あわしろ いくや 松宮 哲 松井 幹彦 株式会社グッデイ 榎 真治 中本 崇志

出版社:翔泳社( 2009-03-20 )

定価:¥ 2,940

大型本 ( 472 ページ )

ISBN-10 : 4798119423

ISBN-13 : 9784798119427


Macの特殊キー記号を覚えてしまおう!

2
Filed under Mac
Tagged as , , ,

Macの特殊キーの記号ってなんかよく分からないと思い込んでしまっていて、なかなか覚えていなかった。が、ちょっと考えてみたら意味があるはずで、過去の経験から「物事の意味を理解すれば、それは大体覚えられるようになる」という知識があったので、ここでしっかり意味を調べてみて、ついでに記号をすぐ読めるように覚えてしまおうと思いました。

⌘:コマンドキー (Command)

Wikipedia – Command keyによると、もともとコマンドキーは、アップルのロゴを使う予定だったのだが、〆切まで2日前のこと、Jobsが「社ロゴの乱用になってしまうから変えよう」と言ったことで、社内デザイナー Susan Kareが新しく記号を探すことになったらしい。
そこで見つけたのがこのマーク[⌘]。
スカンジナビア半島で一般的に観光地のマークとして使用されているものらしいです。(実際の写真→Questions Answered: Part Two (The Nerd Edition) | Hilarity 100

©2006 Simon Wright, Hilarity100

んで、Kareが他の社員にこれいいんじゃないか?と見せたところ、評判も良く決まったとのこと。
まぁ、このマークは、後述する他の特殊キーのマークより参照することが多いですし、現在発売されている日本語キーボードにも刻印されているので分かりやすいですね。

⌃:コントロールキー (Control)

このマークが覚えにくい!のですが、Wikipedia – Control keyによると、伝統的に(Traditional)コントロールキーというのはこのマーク[^]らしい。
“Traditional”とか言われてしまうと、しょうがない。これはこのまま覚えるしか無いようです。

⌥ :オプションキー (Option)

Macのオプションキーは、PCではAltキーに相当するキーです。これは、左から右に進む道が分かれている分岐点で、メインじゃない道を進んでいるイメージでいいじゃないかな、と思います。(これを思いついたのが今日のブログを書くきっかけになりました)

⇧ :シフトキー (Shift)

シフト=ずらす。ということで、矢印[⇧]と考えれば納得出来るマーク。

⇪ :キャプスロックキー (Caps Lock)

用途的にシフト押しっぱなしなので、シフトキーマーク[⇧]を何回も押しているイメージで、これも理解できる。
iPhoneではシフトキーをダブルタップでキャプスロック状態になるのでそのイメージのほうが分かりやすいですね。

⎋ :エスケープキー (Escape)

丸の中から左上に矢印。
ある状態(丸)から抜け出す(escapeする)というイメージですね。
通常、エスケープキーは、キーボードの左上にあるので、そういう感じでも覚えられるかもしれません。([↖]というHomeキーを指す記号もあるので、ちょっと注意が必要です)

HTMLでのUnicode文字コードを直接指定

ちなみに、上記の見出しの記号ですが、Unicodeの記号で存在するものなので、HTMLで文字として出力しています。

&#数値;

数値の部分はUnicodeの文字コードで、xで始まる場合は16進数、そうでない場合は10進数、ということなので、上記の記号についてまとめると、以下のようになります。

記号 名前 Unicode HTML表記
コマンドキー (Command) 0×2318 ⌘
コントロールキー (Control) 0×2303 ⌃
オプションキー (Option) 0×2325 ⌥
シフトキー (Shift) 0x21E7 ⇧
キャプスロックキー (Caps Lock) 0x21EA ⇪
エスケープキー (Escape) 0x238B ⎋

うん、いろいろすっきりした!!

追記(2011/01/26):リターンキーの記号

記号 名前 Unicode HTML表記
リターンキー (Return) その1 0x23ce ⏎
リターンキー (Return) その2 0x21a9 ↩

[AD]

↓WEB+DB PRESS plusシリーズに文字コード本が出ていたのですね!これは全プログラマ必携か!

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

著者/訳者:矢野 啓介

出版社:技術評論社( 2010-02-18 )

定価:¥ 2,709

Amazon価格:¥ 2,709

単行本(ソフトカバー) ( 400 ページ )

ISBN-10 : 477414164X

ISBN-13 : 9784774141640


↓第1部 ロジカル・シンキング(垂直思考)内の「1人でできること・できないこと」という項目とか気になる!

これからの思考の教科書 ~論理、直感、統合ー現場に必要な3つの考え方~

著者/訳者:酒井 穣

出版社:ビジネス社( 2010-09-28 )

定価:¥ 1,365

Amazon価格:¥ 1,365

単行本(ソフトカバー) ( 222 ページ )

ISBN-10 : 4828415904

ISBN-13 : 9784828415901


↓マウスを買ったらあわせて買いたい。MacBook Proのパームレストの熱から逃げられる!

Apple Wireless Keyboard (JIS) MC184J/A

Apple Wireless Keyboard (JIS) MC184J/A

定価:¥ 6,800

Amazon価格:¥ 8,800

カテゴリ:Personal Computers

発売日:2009-10-31


Objective-Cの既存のクラスを拡張する仕組み

0
Filed under iPhone, Objective-C, プログラミング言語
Tagged as , , , , ,

Objective-Cには「カテゴリ」という機能があり、それについて調べたときのメモをまとめました。

その名は「カテゴリ」

ネットに転がっているソースを見ていて、それまで見たことなかった書き方があったときにはそれをどうやって調べたらいいのか、なかなか手こずります。その書き方そのものの名を知らないからです。
今回の例で言うと「カテゴリ」という機能のことで、下記のような感じで書かれていたら、それはカテゴリ機能を使っているのです。

1
@inteface NSString (HogeHoge)

このカテゴリ機能を活用すると、既存のクラスをちょっと機能拡張したい時に無駄なクラスを作る必要がなくなります。
例えば、文字列を扱うクラス NSString をに機能を追加したいことはよくあるのですが、NSStringの中身に応じたハッシュ値(MD5)を出力できるようなメソッドを追加する、という例に説明してみます。
MD5の機能実装の参考にしたのはこちらのサイト。関数の中身は全く同じです。

ざっくりしたカテゴリの書き方と使い方

まず、カテゴリ定義の書き方。
NSStringにMD5の機能を追加する場合、ファイル名は、NSString+MD5.h, NSString+MD5.m とするのがマナーのようです。
また、後述するソースを見ると分かるのですが、定義部は @inteface NSString (MD5)、実装部は @implementation NSString (MD5) という感じにして、あとは通常のクラス定義と同じように書きます。
次に使い方ですが、#import “NSString+MD5.h” として一緒にビルドすれば、そのソース内でNSStringインスタンスは全てMD5カテゴリの機能を持つことが出来ますので、下記のようなコードでMD5値を出力させることが出来ます。

1
2
NSString* strTest = @"テスト文字列";
NSLog( @"original[%@], MD5[%@]", strTest, [strTest MD5String] );

NSString+MD5 コード全容

1
2
3
4
5
6
7
//  NSString+MD5.h
 
#import <Foundation/Foundation.h>
 
@interface NSString (MD5)
- (NSString*) MD5String;
@end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//  NSString+MD5.m
 
#import "NSString+MD5.h"
#import <CommonCrypto/CommonDigest.h> // for CC_MD5
 
@implementation NSString (MD5)
- (NSString *) MD5String
{
  const char *cStr = [self UTF8String];
  unsigned char result[CC_MD5_DIGEST_LENGTH];
  CC_MD5( cStr, strlen(cStr), result );
  return [NSString stringWithFormat:
    @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
    result[0], result[1], result[2], result[3], 
    result[4], result[5], result[6], result[7],
    result[8], result[9], result[10], result[11],
    result[12], result[13], result[14], result[15]
    ];  
}
@end

iOS SDKのMD5関数についての説明

おまけとして、上記のソースの内容を説明します。
MD5への変換関数 CC_MD5はiOS SDKにC言語ライブラリが用意されています。(リファレンスはこちら

CC_MD5は、次のように定義されています。

1
2
extern unsigned char*
CC_MD5(const void *data, CC_LONG len, unsigned char *md);

data が元になるデータのポインタ。
len がdataの長さ。
md がMD5計算の結果を格納する出力用バッファへのポインタで、CC_MD5_DIGEST_LENGTHの長さが必要なので、予め用意しておきます。本当はCC_MD5_DIGEST_LENGTHの長さに合わせて、出力部分を対応できるよう書いておく必要がありますが、CC_MD5_DIGEST_LENGTHは、そうそう16から変わることはないので、出力部分を固定で16要素並べてstringWithFormatで出力させています。

クラスの機能分割、という視点

カテゴリについての詳しい説明は、「Dynamic Objective-C」という書籍にも3ページに渡って説明されているのですが、こちらでの視点はチョット違う。

Dynamic Objective-C

著者/訳者:木下 誠

出版社:ビー・エヌ・エヌ新社( 2009-03-27 )

定価:¥ 3,360

Amazon価格:¥ 3,360

単行本(ソフトカバー) ( 456 ページ )

ISBN-10 : 4861006414

ISBN-13 : 9784861006418


そのセクション名は「カテゴリ ―動的なメソッドの追加によるクラスの拡張」となっていながらも、最初の段落の説明は次にように書かれている。

Objective-Cには、カテゴリと呼ばれる機能がある。クラスが持つメソッドを、名前の通りカテゴリごとに分類するための機能だ。これを使うことで、大きなクラスでもコーディングしやすいように分割することができる。

そもそもカテゴリとは、クラス実装を分割するための仕組み、だというのだ。
なるほど、そう考えるとカテゴリが「カテゴリ」という名前の由来もわかるし、ウェブに転がるサンプルのファイル名がHOGEHOGE-FOO.hとかハイフン繋ぎになっているモノがあるのも理解できる。
MVCモデルでクラスを分けても大きくなってしまうクラスはあるし、その場合にはカテゴリを使った機能分割も視野に入れていいかもしれない。
その他にもObjective-Cの深いところをじっくり説明してくれている「Dynamic Objective-C」はおすすめ書籍です!

カテゴリで出来ないこと

後から知ったのですが、カテゴリ機能で「クラスのインスタンス変数の追加」は出来ないようですね。
これ、結構重要なポイントだと思います。

参考サイト:『kuro’s blog : Objective-C:カテゴリで「できること」と「できないこと」』


[AD]

↓「CHAPTER09 カテゴリ」とカテゴリについて章を割いて説明されているようです!

詳解 Objective-C 2.0 改訂版

著者/訳者:荻原 剛志

出版社:ソフトバンククリエイティブ( 2010-12-17 )

定価:¥ 3,990

Amazon価格:¥ 3,990

大型本 ( 608 ページ )

ISBN-10 : 4797361786

ISBN-13 : 9784797361780


↓昨年8月に亡くなった今敏が1985年〜1986年に連載していたマンガ!面白そう!

OPUS(オーパス)上(リュウコミックス) [コミック]

著者/訳者:今 敏

出版社:徳間書店( 2010-12-13 )

定価:¥ 980

Amazon価格:¥ 980

コミック ( ページ )

ISBN-10 : 4199502211

ISBN-13 : 9784199502217


↓PS3もXbox360も持っていないけど、これは面白そう!

キャサリン 特典 サントラCD付き

キャサリン 特典 サントラCD付き

定価:¥ 7,329

Amazon価格:¥ 4,980

カテゴリ:Video Game

発売日:2011-02-17


iOSアプリ雑記 1月号

0
Filed under iPhoneアプリ
Tagged as , ,

2011年、最初のエントリは、iOSアプリ雑記です!
すぐにネタ切れるなるかと思いきや、意外にあれこれ買ったりして気になるものが出てくるので、このコラム、割と続けられるかもしれません。
今年は、iPhone5とiPad2ですね!Mac App Storeの展開具合も気になりますが、その他にone more thingはあるのかな?

Talking Tom Cat @ 0円

知り合いに教えてもらって面白かったので入れてみたアプリ。
喋った言葉を言い返すだけのアプリなんですが、なんだか妙に楽しくて、2歳の娘が超ハマっている。子供キラーアプリ!!

ただ単純に「録音・再生」ではなくて、音程を上げて再生しているのが面白さのポイントかも知れない。
アプリ内課金で追加コンテンツもあるようだが、そこまで購入しなくても結構楽しめる。

Dragon Dictation @ 0円

喋った言葉を文字に起こしてくれ、そのままTwitterなどに投稿できるアプリ。
無料なんだけど、かなり良く出来ていて、この音声認識レベルと、編集画面の使いやすさは驚異的。

neu.Annottate PDF @ 0円

PDFに注釈を入れられるアプリ。
iPhoneをサーバにして、そこにファイルをコピーしたり、iTunes経由でPDFを入れて使えるアプリ。

でも結局、この転送手順がネックになり、使いにくいなぁ、という結論。EvernoteかDropboxと連携するならいいんだけど、注釈を入れるためにコピーする、という使い方が本末転倒な気がして、現在はあまり使っていません。

ibis Mail @ 450円

超高機能IMAP対応メーラ。
機能は十分なんだが、iPhoneアプリなんだし、もうちょっと色気があってもいいんじゃないかな?と思う。

IKKI @ 115円

顔文字入力に特化したアプリ。
メイン画面が、面白く気持ちいいインターフェイス

このアプリの全てがいいとは思わないが、アプリ開発に携わりインターフェイスを考えるのが仕事のような人はこのメイン画面は見ておいたほうがいいと思う。

Trunk Notes @ 450円

Wikiエンジンアプリ
未購入ですが、いろいろと可能性を感じるアプリ。デフォルトのメモアプリを置き換えるくらいの気持ちで使ってみたらいいかもしれない。

iPhone自体をサーバにして他のPCから見れる、というのは面白いなぁ。

Fan☆デコ @ 0円

SoftBank印のデコメアプリ!
お父さん絵文字がついています!

Fan☆デコ by SoftBankMobile 1.00
カテゴリ: ユーティリティ
価格: 無料 App
更新: 2010/12/23

imagesimages

バージョンアップに期待!


[AD]

↓期間限定だが、この本は本書のPDFを落とせるURLとか付いてくるらしい。ずっとやって欲しいサービスですね。

電子書籍革命の真実 未来の本 本のミライ (ビジネスファミ通)

著者/訳者:西田 宗千佳

出版社:エンターブレイン( 2010-12-20 )

定価:¥ 1,500

Amazon価格:¥ 1,500

単行本 ( 239 ページ )

ISBN-10 : 4047269840

ISBN-13 : 9784047269842