RSS
0

うむー

PDFとZIPファイルの観覧とテキストファイルの縦書き表示をする自炊ビューアを作ろうとしてるけど,他の仕事でブランクが飽きすぎた.ああ,億劫になってきた
Read more
0

戦場のヴァルキュリア3の体験版をプレイした

戦場のヴァルキュリア3の体験版をプレイ.このシリーズは好きで今度こそPS3復帰と期待したけど,今回もPSPだったのでちょっとテンションダウンだけど,好きなので試しにDLしてプレイ.

体験版ということで,なんで特殊能力が使えるの?,このキャラクターは誰?は仕方ないとして,システムが2の焼き直しだ・・・.2は嫌いじゃないけど,なんか新鮮みが足りない.これは悩むけど,結局買うと思う.
Read more
0

UIButtonのbuttonWithTypeはオーバーライドできない

@iphone_dev_jpでUIButtonのサブクラスとbuttonWithTypeについての質問があった.

結論から言うと,UIButtonのサブクラスでbuttonWithTypeはオーバーライドはできない(そもそもクラスメソッドのオーバーライドはしない).UIButtonのサブクラスを作る場合は,buttonWithTypeに触れずにコーディングしないといけない.ただ,UIButtonはクラスメソッド(buttonWithType)でしか初期化方法がドキュメントに載っていなく,気になっていたので,ちょうど良かったので調べてみた.

UIButtonのサブクラスMyButtonを作って,buttonWithTypeを使うとエラーが起こる.

+(id)buttonWithType:(UIButtonType)buttonType_
{
MyButton *myButton = [super buttonWithType:UIButtonType_];
[myButton setHoge:hoge_];
return myButton;
}

エラーは仕方ないとして,エラーメッセージを見て気がついていたことがある.buttonWithTypeに与えるUIButtonType_によって返ってくるクラスが変わっていた.UIButtonTypeCustomだと自作クラス(MyButton),UIButtonTypeRoundedRectだとPrivateボタン,その他だとUIButtonで返ってくる.UIButtonって簡単に使っているけど,結構奥深い.

実は質問者本人が最初ごろにしたツイートで既に結論がでてたんだよな.質問者がしたいことが今一わからないから何だけど,カテゴリでメソッドを追加したらいいんじゃないかな.
Read more
0

iPhone:アプリ内で色違い画像を生成する

先日,@iphone_dev_jpで同パターンの色違い画像がアプリ内で作れないかとあった.これはちょっと前から同じことを考えていたので,作ってみた.

最初,単色画像を動的に作ってそれをマスク処理で切り取ればと思ったけど,アルファ値が考慮されないので断念.それじゃ,UIImageのブレンド設定でと思ったら,これもアルファ値だけを残して他の輝度値を変えるのが上手く行かなかったので断念.

結局,単純に画像のアルファ値だけを残して他の輝度値を直接書き換えるようにしてみた.小さいボタン画像ぐらいにしか使わないよね?という前提.大きな画像だと無駄な計算が増えるのであまりお勧めできない.

----------
追記(9/22)
----------
アルファ値を考慮したマスクはCGContextClipToMaskを使う,またはCGImageCreateWithMaskの設定を変更すればできると知ったので,実装した.DLはこちらから.ライセンスは「使った分だけ昼飯を隣人に奢る」と「自己責任」です.
Read more
12

iPadアプリ:ネームパッド(NamePad) v1.1

NamePad(ネームパッド)は,漫画のネーム作成を目的としたシンプルなお絵かきアプリです.ネームに不可欠なペンと縦書きテキストを備え,場所を問わず,アイディアを思いついたその場所で,ネームを作成することができます.



本アプリの主な機能は以下の通りです.

■ペン■
黒色 / 灰色 / 赤色のペンと消しゴム(それぞれ太さ2種類)があり,これらは左に並んだアイコン群から簡単に選択できます.またフリーバンドと直線の2つの描画パターンを用意しました.

■テキストボックス■
左アイコンの最上部の吹き出しアイコンを押すと,テキストモードに切り替わります.新規テキストボックスはそのアイコンをドラッグして,任意に配置します.また,ボックスの位置とサイズ,およびフォントサイズは,自由に変更可能です.

■原稿用紙■
2本指タップで表示倍率(1倍と2倍ズーム)を切り替えます.また,2本指ドラッグで用紙を任意に移動でき,3本指タップで位置と倍率が初期化されますに戻ります.

■プレビュー■
3種類のプレビューを用意しました.(1)ページ番号(1/2のように表示される)をタップすると,ページジャンプも備えた簡易のスライドショーが現れます.ページ確認をしつつ編集したいページにダブルタップで移動します(なお,ジャンプするページはスライドショーの中央に表示されたページです).(2)サムネイルボタン(田のようなボタン)をタップすると,2x2のサムネイルが表示されます.ここでページをダブルタップするとそのページに移動します.(3)iPadを横にして持つと,書籍のような見開きで表示されます.

■エクスポート■
作成したネームは,写真ライブラリに書き出す,PDFや画像または連番画像(ZIPファイル)に変換,テキストを書出しことができます.また,メール添付もあり,簡単にネームのやり取りを行うことができます.iTunesのファイル共有に対応しており,ネームファイルをファイル共有でやり取りすることで,複数でネームファイルの確認が行えます.なお,複数人でネームファイルを別々に編集する場合,自動同期機能はありませんので,ファイルの上書きなどにはお気を付け下さい.

最後に,私は漫画が大好きで,日々楽しませてもらっています.少しでも漫画家さんの手助けになれば,幸いです.

*iPadにペン(スタイラス)は付属していません.本アプリは指で書くことが出来ますが,指で書くことに違和感をお持ちの方は,静電容量式のタッチパネル用ペンをご用意して,お使いください(このペンは導電スポンジなどで代用が可能です).

今後,以下のアップデートを予定しています.

・テキストの読み込み

読み込みはテキストファイルに台詞の区切りやどのページに配置するのかという記述ルールを設定しないといけないため,使いやすいインタフェースを考える時間をください.

・マルチタスク機能

iOS4.2からの機能になりますので,iPadのアップデート(無料)が必要になります.

その他希望する機能があれば,コメントやTwitterで連絡くださいませ.AppStoreでも構いませんが,要望に対して私から質問や返信することもあるので,返信可能な手段で連絡してもらうとありがたいです.

=== 更新内容 ===

2010/10/19 v1.1

追加機能
(1)テキストの書き出し
(2)undo最大30回(メモリの使用状況により回数は変わります)
(3)サムネイルにページジャンプ

修正項目
(1)短間隔のペン入力の不具合
(2)テキストボックス青点の挙動.

2010/9/15 v1.0

初版リリース
Read more
0

ガイドラインもNDAじゃないの?

アップルが最近,某ガイドラインを公表した.そのドキュメントは開発者ログインしないと見れない.その内容でワイワイガヤガヤ話すのならともかく,内容そのままを転載するのってアウトじゃね?.ガイドラインの転載はOKやっていう記述ってあるのかな.
Read more
8

iPad: UIPopoverControllerとUIActionSheetは閉じてくれ

幾つかのアプリは,UIPopoverControllerとUIActionSheetを「明示的に閉じる」を実装していない(注1).それらを閉じるにはそれら外をタップすれば閉じるけど,指を遠くに動かさなければならない,かつ,アプリには色々なところにタップイベントが隠れているので,想定外の動作を引き起こす場合がある(注2).このインタフェースは致命的.有名どころのアプリでも,これを見る.ポップオーバー類は「開く」と「閉じる」をセットで実装してほしい.ちなみに,iPad用Safariはちゃんと実装している(さすがアップル!).(注3)

注1:「閉じる」に関してであり「閉じるボタン」ではない.領域外タップを期待して「閉じる」を自前で実装していないということ.

注2:無駄な動きが増えれば増えるほど誤動作が起こる確率は上がります.シングルタップのつもりが勢いあまってダブルやトリプルに.この話では,開ボタンに「閉じる」があれば,わざわざ指を領域外に移動させる必要がなくなるじゃないでか!

注3:本来アップルが求めるUIは「領域外のタップで閉じる」を求めている.開いたボタンも領域外となるが,そのボタンが「開く」しか制御してなければ,「閉じる」を期待してそのボタンを押しても結局開くだけになる.純正のSafariやMailが規定通り閉じるのに,一部サードがそれ従わないというのはどうしたものか,というお話.

例えばUIActionSheetの場合,visibleを確認すれば,1つのメソッド(1つのボタンだけ)でUIActionSheetの「開く」と「閉じる」を制御できる.下記はその一例.ちなみに,UIActionSheetを複数の用途で使い回すときは,下記コードを少し加筆しないとユーザーには優しくないよ.
@interface HogeHoge : UIViewController
{
UIActionSheet *actionSheet;
}
@end

@implementation HogeHoge
-(IBAction)showActionSheet:(id)sender
{
if ( actionSheet.visible)
{
[actionSheet dismissWithClickedButtonIndex:-1 animated:YES];
return;
}
actionSheet = [[UIActionSheet alloc] ...];
[actionSheet showFromBarButtonItem:sender animated:YES];
}
@end

----------
勘違いされた方がいたので追記(9/12)
----------





簡単に言い換えると,(コード例を見ても分かると思うけど)ポップオーバーのトリガーになるボタンを開ボタンだけでなく開閉ボタンにしろということです.開ボタンと閉ボタンの二つにしろという話ではありません(セットは独立って意味じゃないだろ・・・).試しに,今お使いのブラウザの「ファイル」ボタン(なければ,それ相応のモノ)を押してメニューを開いてください.さらに,そのボタンを押してください.ちゃんと閉じますよね,このことです.このメニューが閉じなかったら,不便だと感じませんか?.「俺なんか毎回別の場所をクリックして閉じてるぜ!」なんて人は少ないと思います.

タップイベントのことは,ユーザーは必ず規定のアクションをするのか?って話と関連します.手ぶれなんかする人間はいない!,机だけでしか使わない!と思っているなら今すぐ開発を辞めた方がいい.人間の行動には必ず不確実性が伴います.シングルタップを意図しても,ダブルタップになることがあるため,“想定外の動作を引き起こす場合がある”と書きました.特にこの場合,開ボタンから別の位置に移動するための速度(加速度)が指に加わるので,その可能性は上がります.他にも動画を見てもらえれば分かりますが,ポップオーバー中はすべてのタッチイベントが停止するわけではありません.ただ閉じたいと思ったのに,他のボタンを触ってしまって,想定外のアクションが起こる(動画では別のポップオーバーが開く)のはナンセンスです.ユーザーすべて,子供,大人,老人,障害者,・・・,があなたのような思考やスキルを持っているわけではありませんし,あなたも「絶対に間違えることはない!」とは言い切れないでしょう.

アプリはXcodeでビルドしてケーブルを繋いだMacの目の前で操作するものではありません.持ち歩いたり,横になったりして操作すると,開発者でも思いもしない操作が起こります.あなたが,俺のアプリはどんなユーザーでも誤動作を絶対にさせない!,痙攣していれもシングルタップとダブルタップを区別できる!(極端の例ですが)と言いきるならば関係のない話ですが,相手が人間ならば,それは不可能です.誤動作を引き起こす可能性があるならば,(100%は無理ですが)その可能性を出来る限り取り除くべきです.
Read more
0

ASUS UL20Aを買った

12-3インチ程度のWindowsノートが欲しくなったのでASUS UL20Aを購入した.今まで,ASUSはEeePCでお世話になったけど,ちょっとグレードを上げた.ちょうど最近,この後継機が発売されたけど,スペック的にあまり良くないので,このモデルにした.いま,また値上がりしてるみたい.一ヶ月まえに買えば良かった.

まず,メモリを純正2GBに2GBを追加して,4GBにした.OSがWin7の64bitなので,無駄なく使える.後継機はDDR3になってるから,まだDDR2のUL20Aは使い回しができるので財布に優しい.

HDDをSSDに交換した.バッファローのSSD(64GB)を選んだけど,コレが大きな誤りだった.だって,再起動しない・・・.意味が分からんぞ!!.持ち運びを想定してるからSSDは外せない!ということで,パソコン工房に走って,Intel X25-M 80GBを購入して,リカバリして,無事に完成ー!

まだ,セットアップ中だけど,使い心地はEeePCは越えてる.IntelのSSDを載せたのもあるけど,サクサク動く.これは良いマシンだ.ただ,バッファローは許さない.オークション行きや!!
Read more
0

付属品

iPhoneにBTキーボードを付けてみたけど,なんかダサイ.アップルキーボードの機能性が皆無ってのもあるけど,わざわざ付けるほどでもないと思った.まあ,机の横にはデスクトップマシン,モバイルだったらノートパソコンがあるわけで,必要じゃないっと持論.携帯電話なので極力,iPhoneでガッツリ文章は書かないようにしてるしな.
Read more
0

熱中症

昨日,高温,頭痛,吐き気と熱中症らしき症状になった.頭がぼーっとするし,頭を振り回されるような感じでフラフラ.怖いぞ,熱中症.
Read more
0

Mac版FirefoxのGoogleツールバーを復活させる

ここ最近,Mac版FirefoxのGoogleツールバーがまったく機能していない.検索が簡単にできないうえ,Googleブックマークに簡単にアクセスできないという悪環境になり,Mac上での仕事効率がガッチリ落ちてた.アップデートを待っていてもFxばかりでツールバーのアップデートが一向に来ない.色々調べたら,その対策方法を見つけた.下記のどちらかを行えばOK,Googleツールバーは復旧します.

・古いバージョンのツールバー(v5.0.20090324)に入れ直す

・英語版Fxをインストールする

ありがとう,これで仕事ができます,ただ一時しのぎなのでまた再発するかもしれないけど.
Read more
0

アップル製品のマンネリ化

UNIXのMac OS X!! 64bitのG5!! といろいろドキドキしたアップル製品だったけど,今回の新発売は何とも言えないぞ.コアを増やすアップデートは,なんか芸がないな.Mac Proはもうプロ向けだから関係ないけど悲しいぞ.

トラックパッドはないよ.アップルはデザイン優先で機能性が皆無だから,UI装置に期待していない.いっそのこと,iMacのディスプレイをタッチパネルにしたら,iPhone効果で売れると思う.

電池はね・・・,なんでもアップルマークを付ければいいってもんじゃないよ・・・.中身はエネループか?
Read more
0

ワープロアプリの素

ワープロを作るための必要なモノの大まかな雰囲気が分かってきた.でーも,iOSにそれらが見つからない・・・.Apple純正のPageは秘蔵APIを使ってるのかな?.今のところ,iPhoneまたはiPadでワープロを作るにはそれらの代用APIを作るか,別のアプローチで攻めないといけない.道は長いぞ.
Read more
0

僕のガジェット思考

宮崎駿監督iPadについて「ぼくには、鉛筆と紙があればいい」と語る
宮崎駿 「iPadをいじってる姿は、自慰行為のようで嫌悪感ある」

その通り,ガジェットに踊らされている人たちはガジェッターではない,ただの一時的な流行り好き.ガジェットが生活を変えるのではなく,生活を変えた人が必要に応じてガジェットを使う.ガジェットはツールであって,ファッションではない.

学生時代に,英語教師が「電子辞書ではなくて紙の辞書を」と連呼していた.今となって,その意味が分かったかもしれない.ナイフの使い方を知らずにナイフを振り回すようなもの(これ,すげーよく切れるー!,・・・,痛っ,血が血がぁ)で,便利すぎると人を駄目にする.実際,以前Matlabというプログラミング言語を使っていたとき,便利すぎて他の言語が書けなくなった(Matlabは,他の言語と違って数値計算のアルゴリズムが数多く用意されている).また,それだけでセカイが完結していた.iナントカで能力が伸びる人がいても,多くのiナントカに甘えて堕落する(考えない)人の方が圧倒的に多いだろう.だから,僕が作るアプリの基本的なコンセプトは「誰でも使えるけど,誰でも使えない」.入力が一つでもユーザー次第でいろんなモノができるような自由度のあるアプリを作ってるし,作りたい.「ボタン一つで写真にエフェクトが~」というのは,ユーザーが使っているのではなくて,ユーザーがアプリに操作されているもんです.
Read more
0

iPhone:カメラからのライブビュー

iOS4.0から追加されたカメラのライブビュー表示をちょろっと実装してみた.今までのようななんちゃってライブじゃなくて本当のライブだった.でも,その分ごまかしが利かなくなって,計算量を今まで以上に意識してないと,アプリとしてはリリースできなくなった.4ならA4プロセッサでカバーできても,それ以下だとちょっと考えもの.
Read more
0

iPhone: 指に沿って線を描く方法

[Tutorial] Drawing to the screen.
親UIView一杯にUIImageViewを置いて,タッチイベント内でリアルタイムにそのUIImageViewのimageを変更することで,線のフリーハンドを実現している.高解像度のiPhone4やiPadに耐えられるかは分からないけど面白い方法だと思う.

ちなみに,いまiPadでフリーハンドを実装したけど,使ったのはOpenGL.遅延も無くサクサク描けてます.
Read more
0

iPhone:iOS4.0の回転ロックでハマったこと

iOS4.0から搭載された回転ロックは優秀で寝転がってもSafariが読める!,むしろSafariのために搭載されたと思うぐらい.だけど,この回転ロックのせいで開発が難航してしまった.

iPhoneの向きを取得するには以下のように書く.
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
iPhoneをいくら振り回してもUIDeviceOrientationPortrait(通常の縦持ち方)しか返ってこない.バージョンが変わってUIApplicationでないと取れないの!?とかAPIが変わった?とか色々悩んだけど,回転ロックしているから当たり前といえば当たり前.これに気づくのに小一時間悩んだ.回転ロックのオンオフを調べるAPIがあるかもしれないけど,今のところ見つけられてない.向きを扱うアプリだと,回転ロックに気をつけないといけない.

回転ロックを検出するAPIが見つからないので,判定コード(ScreenStatus.h/m)を作った.原理は回転ロック中はUIDeviceOrientationPortraitしか戻ってこないので,実際の加速度センサの値と比べて判定する.そのため,通常の縦持ちだと,ロックかどうかは判定できない.ダウンロードはこちらから.ライセンスは使った分だけ隣人に昼飯を奢ること.

-(BOOL)isScreenLock;
画面回転ロックならばYES, そうでなければNOを返す

-(UIDeviceOrientation)orientation;
UIDeviceの返ってくる向き

-(UIDeviceOrientation)physicalOrientation;
加速度センサから計算した向き

[注意]initで加速度センサをONにするので,忘れずにreleaseする
Read more
0

エヴァカメラクローン

Togetter - まとめ「iPhoneアプリ開発できる方を探してます。エヴァカメラと同等の仕様で納期が明日昼と急ですがよろしくお願いします」に触発されて,作った.このアプリは単純で,カメラ画像に別の画像を載せるだけのアプリなので,数時間で作れた.ソースコードはこちら(現在公開停止,欲しい方は要連絡)です.対して難しいことはしていないので,自己責任のもとでご自由にどうぞ.ただ,ほぼそのままか,申請やらで外部に出すときは一報ください.

このアプリをまじめに開発するとなると,機能が簡単すぎるし,この手のアプリは多いから機能を追加する.重ねる画像はプリセットとカメラとライブラリから選ぶ.カメラはフロントとバックを使って背景画像でも素材画像でも使う.画像それぞれは移動・回転・スケーリング・重ねる順序で自由に配置可能にする,あと可能ならばトリミングも.書き出し後ペン入力で書き描きできるようにする.これぐらいしないと流石にリリースできない.

しかし,これだと明日昼の納期は無理だ.最低1〜2週間とデバッグ用iPhone4がもらえるなら,がんばって作りますよ,パブリッシャー各位.
Read more
10

iPhoneアプリ:たてがき v1.0


たてがき」がリリースされました.本アプリはiPhone(iOS4.0以上)を対象としたシンプルな縦書き専用のテキストエディタ・リーダーです(iPadユーザーの方は,iPad用にカスタムしたアプリをどうぞ).日本語は縦書きすることで,その美しさがよく分かります.ちょっとしたメモや物書きにとご利用してください.

主な機能
(1)一般のエディタのように,複数のファイルが扱えます.
(2)iTunesのファイル共有を使って,本アプリとコンピュータでテキストファイル(文字コードがUnicodeもしくはShift-JISの.txtのみ)のやり取りが行えます.
(3)アプリ内のテキストはメールに添付することもできます.

テキストを縦書き表示します.なお,右下のアクションボタンからテキストをメールに添付することができます.

フォントは3種類から選べます.また,その大きさはピンチイン・アウトで調節できます.

右上のキーボードボタンを押すとキーボードが現れます(閉じるときは同様にボタンを押す).その他のエディタアプリと同様な操作でテキストの入力を行うことが出来ます.

もちろん,コピペも完備.

アプリ起動後はこの画面が表示されます.ここはドキュメントフォルダのようにテキストファイルの操作(新規作成や削除)を行います.iTunesのファイル共有を上手く使って,XXX第1章,XXX第2章とちょっとした電子書籍にも成ります(ただし,とても長いテキストファイルはパフォーマンスが低下するので,適宜文字数を調整してください).

*** いいわけ ***

(1) 本アプリは横持ちには対応していません.理由はiPhoneの画面が物理的に狭いためです.横にしてキーボードを表示したとき,残りのスペースは縦書きに不向きと判断しました.ご了承ください.

(2) IME(日本語を入力したり,漢字に変換するもの)はiOSのものを用いています.本格的な文章を書く場合,その漢字変換の精度に満足しないことがあります.これは仕様のためご了承下さい.他のIMEが搭載可能ならば対応いたします(未定).なお,iOSのIMEは一度変換した漢字を優先的に変換候補に挙げるので,書き手側でカバーを(「弘法筆を選ばず」のように)お願いいたします.また,iOS4.0から辞書登録機能が追加されています.よく使う単語などは事前に登録をお願いいたします.

*** おねがい ***

iPhoneで使えるIMEをご存じの方,うちのシステムに縦書きを組み込んじゃいなよと太っ腹な方などのたれ込みをお待ちしています.
Read more
0

iPadアプリ:縦書きパッド v1.1

縦書きパッドv1.1がリリースされました.本アプリは、iPadを対象とした縦書き専用のエディタ・リーダーです(iPhoneユーザーの方は、iPhone用にカスタムしたアプリをどうぞ)。日本語は縦書きすることで、その美しさがよく分かります。ちょっとしたメモや物書きにとご利用してください。

主な機能
(1)一般のエディタのように、複数のファイルが扱えます。
(2)iTunesのファイル共有を使って、本アプリとコンピュータでテキストファイル(文字コードがUnicodeもしくはShift-JISの.txtのみ)のやり取りが行えます。
(3)テキストをPDFに変換できるようになります。
(4)画面の両端中央部にスクロールボタン(ページ送り)があります。通常時は透明なので読み物の邪魔をしません。
(5)文字数を表示します。




*** いいわけ ***

(1) 本アプリはエディタ(メモ帳やシンプルテキストのようなもの)のため,ルビなどワープロ機能は実装されていません.今後,ワープロソフトへ更新したときに実装します(未定).(本音)本当はワープロを作りたいけど,作るのが難しい・・・.

(2) 一行あたりの文字数,行数や列数の指定(原稿用紙のような設定)は,内蔵キーボードの表示・非表示によってテキストビューの高さが変わるため,実装していません.また,それらを実装することによって,数文字だけ読む・書くたびにビューを上下にスクロールするのは好ましくないと判断したためです.ご了承ください.

(3) IME(日本語を入力したり,漢字に変換するもの)はiOSのものを用いています.本格的な文章を書く場合,その漢字変換の精度に満足しないことがあります.これは仕様のためご了承下さい.他のIMEが搭載可能ならば対応いたします(未定).なお,iOSのIMEは一度変換した漢字を優先的に変換候補に挙げるので,書き手側でカバーを(「弘法筆を選ばず」のように)お願いいたします.

*** おねがい ***

iPadで使えるIMEをご存じの方,うちのシステムに縦書きを組み込んじゃいなよと太っ腹な方などのたれ込みをお待ちしています.
Read more
0

Dear anyone

Thank you for being interested in me. However I am difficult to trust your mail since it is too simple (no profile, no signature). If you mail me again, please add some profiles.

Thanks,
Read more
0

iPhone4の発売ですが

iPhone4S 64GBモデルが出るのを待ちます.基本引きこもり体質でフロントカメラは使うことはないので,そこまで食指は動かなかったです.Retina Displayは開発に気になるけど,グラフィッカル命なアプリはないので傍観です.

今縦書きを使って,和風?なTwitterクライアントを作ろうと考えてるが,面倒極まりない.ツイートの送受信は簡単だけど,そのほかが面倒だ.「夏らいおん」のソースがgitにあるので参考にしてみようと思う.最近の一般的なクライアントでこのUITextViewを入れ替えたらOKなコードは落ちてないかな・・・
Read more
0

整理中

次アプリの設計が上手く行かないので,縦書きパッドのコードをキレイにしてる.縦書きTextViewは再利用しやすいようにしてたけど,アプリの改修でいろいろいじってたから,またきれいにする.次のアプリは,縦書きTextViewを組み込む予定だけど,デザインやらがまだまとまってないからまだ先.
Read more
0

iPad生活

予想通り,iPadは開発以外では使っていない.NASにメディアデータを置いて,ネットブックでゴロゴロ見るという引きこもりシステムが構築されているので,iPadには出番がない.発売時にどこかのブログでオフィスワークはiPadでするという記事も見たけど,それも無理だった.やっぱり,iPadはソファーでゆっくりみたいな欧米スタイルで生活してる人じゃないと旨みはない.
Read more
0

縦書きアプリがリリースされてきた

縦書きパッドの他にも縦書きアプリがリリースされてる.ちょっと落として遊んだけど,このアプリはリアルタイムに組版をやってる(おそらく).だから,原稿用紙風に文字数やら行間を指定できる.ただし,裏の入力作業と表の組版処理が上手くリンクしてないときがある.これは問題だ.

原稿用紙モードとは見習いところはある,罫線はなくてもいいんだ.これはうちにも実装しようなかと
Read more
0

iPhone: テキストファイルの文字コードを調べる

結論からいうと,未知なテキストファイルの文字コードは分からない.唯一できるのはUnicodeか,Unicodeでないかの二者択一だけ.今のところ,少しでも文字コードの問題を回避したいならば,Unicode以外は全部S-JISだ!と排他的処理で通すしかない.

文字コードを(一応)取得するにはNSStringのstringWithContentsOfFile:usedEncoding:error:を使えばできる.これは戻り値がなくて,変数のポインタで返ってくるので,ちょっと使いやすくすると下のようなメソッドを作ればOK.ちなみにシミュレータだとEUCも識別してくれるけど,実機だとやっぱりUTFだけ.

+(NSStringEncoding)getEncode:(NSString *)path
{
NSStringEncoding enc;
NSString *str = [NSString stringWithContentsOfFile:path usedEncoding:&enc error:nil];
str = nil;
return enc;
}

この問題は昔から結構有名な問題らしい.だったら未知なファイルをiconvで文字コード変換すればいいじゃんと思っても,元の文字コードが分からないとiconvは動かない.このスパイラルは抜け出せない.
Read more
0

縦書きパッドの次バージョン?

やっぱり,原稿用紙モードを追加したい.

ただし,現ヴァージョンはテキストエディタ(Winでいうメモ帳,Macでいうシンプルテキスト)なので,ワープロ的要素が足りない.ページの概念と,原稿用紙のルールがない.んー,難しい.いろいろ考えて可能ならば実装したい
Read more
0

縦書きパッドv1.0.1

縦書きパッドv1.1がリリースされました.詳細はこちらです.

縦書きパッドv1.0.1がリリースされました.本アプリは、iPadアプリでは珍しい縦書き専用のエディターです(2010年6月現在,おそらく縦書きができる唯一のエディタです)。日本語は縦書きすることで、その美しさがよく分かります。ちょっとしたメモや、日記にとご利用してください。

主な機能
(1)一般のエディタのように、複数のファイルが扱えます。
(2)iTunesのファイル共有を使って、本アプリとコンピュータでテキストファイルのやり取りが行えます。
(3)テキストをPDFに変換できるようになります。


*** アップデートについて ***
現在iPadを横にしたときの表示の不具合を修正したv1.0.2を準備中です.また,この版はフォントを幾つか追加する予定です.しばらくお待ちください.
Read more
1

携帯機向け電子書籍の組版を考える

ずっと書籍アプリやらの組版でLaTeX for iPhone OSができないかと考えてたけど,この記事 「クラウドの中のLaTeX」を試す にあるように,日本語に対応したクラウドLaTeXが構築されたら,上手く行きそうな気がする.アプリ内にテキストファイル(+画像)だけを持たせて,携帯機内で組版するだけ・・・と思ったけど,常にネット必要ってのがネックだな.スタンドアローンで動かないと難しいな,やっぱり.
Read more
0

iPhone/iPad:なんちゃって組版をつくった

縦書きTextViewを作る前に,試験的に作っていた縦書きを再設計して,縦書きPadのPDF変換に使う縦書き用組版に書き直した.アップデート申請を入れ替えた後に気づいたけど,これで多段組もできるわけだ.でも簡易なものだから,文章によってはちゃんと整列しないかもしれん.しかも,純正で作成したPDFは何か汚い.オプション設定は見あたらなかった.何かあるかもしれない.この組版の元は,公開しても良かったかと思ったけど,新たな機能を持ったせいで公開はまた未定.
Read more
0

iPhone/iPad:いろんなモノをPDFで保存する

OS 3.2からUIKitを使って,PDFを作ることができる.例えば,ファイル名saveNameのPDFを作るには,UIGraphicsBeginPDFContextToFile()とUIGraphicsEndPDFContext()の間で,UIGraphicsBeginPDFPageWithInfo()を使って各ページごとを描いていく.
-(void)hogehoge
{
NSString *saveName = @"xxx";

int page = 1; // ページ数
BOOL done = NO;
UIGraphicsBeginPDFContextToFile(saveName, CGRectZero, nil);
do{
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 横サイズ, 縦サイズ), nil);

[self drawForPage:page]; // 各ページに対応したモノを描く
page++;

if ( 終了条件 == YES )
{
done = YES;
}
}while (!done);

UIGraphicsEndPDFContext();
}

実ファイルではなくデータのPDFが欲しいときは,UIGraphicsBeginPDFContextToFile()の代わりに,UIGraphicsBeginPDFContextToData()を使う.
Read more
0

縦書きパッド v1.0.1を申請しました

縦書きパッド v1.0は個人的な実験要素を調べるために,必要最小限の機能しかありません.アップデートを申請したv1.0.1からは一般的なエディタのような機能が追加されます.お手数ですが,しばらくお待ちください.なお,このヴァージョンで追加される主な機能は以下の通りです.

(1)一般のエディタのように,複数のファイルが扱えるようになります.

(2)iTunesのファイル共有を使って,本アプリとコンピュータでテキストファイルのやり取りが行えます.

(3)テキストをPDFに変換できるようになります.PDFは縦書きですが,現在は組版未対応のため,見栄えは正直あまりよくありません.今後,簡易的な組版を組み込んで見栄えをより良くする予定です.(6/1追記)アップデート申請を簡易組版を組み込んだ版に差し替えました.



Read more
0

iPhone: UIActionSheetとかのbuttonをNSArrayで設定する方法

UIActionSheetなどのinitで,ボタンを
@"hoge1", @"hoge2", nil
などでを設定する処理をNSArrayで一括で設定するのは,
NSEnumerator *e = [titleArray objectEnumerator];
id title;
while ( (title = [e nextObject]) )
{
[sheet addButtonWithTitle:title];
}
とするれば,OK.
Read more
0

縦書きパッドがリリース!

やっと縦書きパッドがリリースされた.やっぱり実機がないとデバッグが難しい.いろいろAppleさんにはリジェクトで迷惑をかけました.付き合ってくれてありがとう,Appleさん!

さて,昨日iPadを買ったのでさっそく入れました.ちゃんと日本語が縦になります~.しかし,日本語キーボードにおまけが付くなんて知らなかった・・・


これは修正.あと,エディタ兼リーダーとしての機能をいくつか追加する.今のが機能が少なすぎるからー!
Read more
0

新しい寝床

我が家の犬は新しい寝床を開拓したようだ

Read more
0

iPad: 縦書きパッド v1.0

縦書きパッドv1.1がリリースされました.詳細はこちらです.


縦書きパッド

縦書きができるエディターです。日本語は縦書きすることで、その美しさがよく分かります.ちょっとしたメモや、日記にとご利用してください。

使い方
iPadを縦にしたときは編集、横にしたときは観覧に切り替わります。キーボードを閉じると、文字の大きさや種類の変更、文章のメール送信などを行えます。文章は自動に保存され、次回起動時にそのままの形で表示されます。


Read more
0

iPhone/iPad: 縦書きしかできないエディター

はじめてのiPadアプリは,縦書きを実装したいがためにでっち上げたエディターです.最低限の機能を追加して,デザイン周りを調整して公開します.




追記
無事に縦書きパッドがリリースされました.
Read more
0

iPhone:縦書きUITextViewを作るなう

ちょっと前に熱くなっていた縦書きのUITextViewを作るなう.というのも,未リリースなアプリのソースはNDAでがっちり規制されているからね.この縦書き自体は難しくないので,iPad用に機能とUIをちょっと考えてさっさと提出しよう.リリースされたら,縦書きはどっかに挙げる.

追記
できた.コード開示はそれを組み込んだアプリがリリースされるまでちょっと待ってて.


追記
個人開発ゆえの悩みから,ちょっと公開は考える.公開してもペイできないから.今のところ,急いでいる,アプリを見てビジネス的に組み込んでいいかもと思ったら,連絡してください.

追記
無事にリリースされたw 実験目的がメインだったので機能が少なすぎて怒られるかと思ったけど良かった・・・ 縦書きUITextViewの公開は,いろいろ修正もしてるので,一般?公開は未定です.
Read more
0

iPhone: インディケータを背景画像付きで表示する

インディケータを背景付きで表示するオブジェクトを作ってるので,それをメモとして公開.


コレ↑


自作のIndicatorView.m/h(後述を参照)をプロジェクトに追加して,初期設定をする.例えば,背景画像をbackground.pngとして,100x100のサイズで現viewの中心座標に表示する

IndicatorView *indicatorView = [[IndicatorView alloc] init];
[indicatorView setImage:[UIImage imageNamed:@"background.png"]];
[indicatorView setFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)];
[indicatorView setCenter:self.view.center];

そして,表示
[indicatorView showAt:self.view];

消す
[indicatorView remove];

それだけ.ライセンスは「自己責任と使った分だけ隣人にジュースを奢る」です.IndicatorView.m/hは,ここからDLできます.
Read more
0

Xperiaの赤ジャケットが売っていない

このXperia用赤ジャケット(RT-SE10C3/R)が売っていない.

いろいろな店で納期未定のままだ.唯一売っているメーカー公式サイトは,定価のうえに,送料+代引き手数料が付いてくる.定価は別にかまわないけど,他の手数料を加算すると,支払いが定価の1.5倍になるのか嫌でしかたない.しかも受け取り時にクレジット決済って意味わからねー
Read more
0

FaceTrackingの紹介ビデオを作ってみた

iMovieは便利だ,iMovieの編集機能でそれっぽく見えるっ.

Read more
0

FaceTrackingの遊び方


戦隊っぽい何か


笑い男模倣ツール
Read more
0

技適マークというか法律は守れよ

おまえら技適マーク,というか電波法は守れ.万引きのように軽く思わない方が良い.電波法は地味に厳しい.いい大人なんだから(子供でも)バレ無ければいいじゃ済まない.何のために法律があるのか.技適マークが付くまで,おとなしく航空機モードにしておくしない.
Read more
0

iPhone: FaceTracking v1.0 is released !!


FaceTracking v1.0は人の顔をセミリアルタイムで認識するカメラです.認識された顔はマーカーが追跡します.このマーカーの画像はプリセット画像,写真ライブラリやカメラから変更できます.また,マーカーの描画パターンも変更可能です.

*計算に時間が掛かるので,リアルタイムでの認識はできません.3GSを推奨します.
*識別精度は100%ではありません.正面を向いた顔を高い確率で認識します.
*OpenCVを使用しているため,アプリを使用する前に,ランセンスに目を通してください.

FaceTracking v1.0 recognizes human's faces, here it is not realtime but semi-realtime. Recognized faces are overwrited to a marker image. The marker images can be changed from other markers, photo library or built-in camera.

* Because computational load is heavy, it does not recognize it in real time.
* The identification accuracy is not 100%. The front faces may be recognized.
* It use OpenCV. Please confirm OpenCV license.



坂本龍犬


複数にも対応しています


イラストでも認識できる場合があります





* 開発時に撮影したので製品版とUIが異なりますが,機能は同等です.
Read more
0

Xperiaを買いました

Xperiaはv2.1 or v2.2にアップデートが確実と聞いたので,Xperiaに変えた.HT-03Aは名機だけどモッサリ感が酷かったので,サクサク感にすげー満足.AndroidのUIにソニエリのUIが乗ってるので,HT-03Aよりは大衆性が上がってる気がする.でも,それに踊らされたら,痛い目を見るのは変わらない.いわゆる情弱が文句言ってる,Androidにi-modeを求めることは最大の間違い.あと,排他的iPhone厨や情強が,DesireやiPhoneを比べて総叩きしてるけど,そこまで悪くはない.マルチタッチは絶対必要ではないし,そもそもケータイでゲームなんてのめり込まない.
Read more
0

守銭奴に食われる国

国民の生活が第一,どこの国民かを書かないのが秀逸だ.


お金ください! 「子ども手当て」に外国人殺到で大混乱

外国人を多く抱える自治体の窓口にはすでに連日のように外国人が訪れ、「子どもがいればお金がもらえると聞いた」などと職員を困らせているという。

とりあえず,友愛を掲げるなら,議員を止めて,有り余る財産を配れよ.
Read more
0

「iPhoneSDK開発のレシピ」を買った

非公開APIのコードを掲載するのはさすがに駄目だろう.ここが,読んでて一番「えっ!?」と思ったこと.非公開APIを安易に広めるのは,アップルを怒らせるだけだろ・・・.あと,「おぉ,これ知ってるよー」な項目が多かった.コンセプトとはいえ,UIkit本やAudio本のいいとこ取りがして残念だ.うーん,わさわざAmazonで注文するほどでもなっかったかな・・・.ごにょごにょ開発してる人は買う前に立ち読みしたほうがいい.もっとディープなのを,うっかり書くと飯の種がなくなるぐらいのディープなのが見たい.

Read more
0

計算量と高速化

これもちょっと前にある人と話したこと.「計算量が大きいから現行のアルゴリズムでは実装は難しい」と話したところ,「今後,スペックが上がれば・・・」と返ってきた.これはないわ.手法の1つでもあるが,これはプログラマの逃避であって回答ではない.
Read more
0

ボーダレスの幻想

ちょっと前にある人から「今はSNSやTwitterがあるから都市も地方でも変わらない」って言ってたけど,それは都市部に住んでる所以の幻想.これが地方の現実.
情報は人が集まっているところに集まる.情報は無料ではない,公開される情報はフィルターを通る.母集団が大きくないと非凡人も増えない.母集団の絶対数が圧倒的に異なる都市と地方の差は永遠に埋まらない.
Read more
0

電気料金が月579円上がる

誰もが薄々と気づいていたことだけど,やっぱり電力の買い取りが始まると,電気料金に上乗せされる.買い取りが主流になれば,民主党と仲良しの京セラが太陽光発電で儲かるだけで,下っ端の一般家庭には何もありません.そもそも台風が多い日本で一般家庭が高額な太陽光発電を設置するは博打だ.素を取る前に確実に壊れる.
Read more
0

iPhone: FaceTracking

FaceTrackingは人の顔をセミリアルタイムで認識するカメラです.認識された顔はマーカーが追跡します.このマーカーはプリセット画像または写真ライブラリから変更できます.

*計算速度に時間が掛かるので,リアルタイムでの認識はできません.
*識別精度は100%ではありません.正面を向いた顔のみを高い確率で認識します.

Read more
0

笑い男模倣ツール at iPhone 3GS

笑い男模倣ツールをiPhone 3GSで作ってみた.



Read more
1

今はアプリの修正ばっかりしてる

Manga Cameraを修正した.消費メモリを約10MBぐらい下げたので,今回は3Gでもちゃんと動くようになると思います(3Gを持っていないので数値だけで判断してます).あと,Decode Morseも更新作業に入りました.今のおもちゃ精度を上げるべき,いろいろしてます.進捗状況は30%ぐらいかな.遅くとも,4月ぐらいまでに更新したい.
Read more
0

4ない運動?

近くの交通案内の電子掲示板.コースアウト4ない運動って何?.その標語も3種類しかなかったし,この4が何をしたいのか,さっぱり分からない.
Read more
0

iPhoneで動画と音楽を同時再生する

@iphone_dev_jpに「iPhoneで動画と音楽の同時再生できるか」と質問があったので,検証した.動画をMPMoviePlayerController,音楽をSystemSoundIDまたはAVAudioPlayerで準備して,アプリを実行すると,





こんな感じで同時に再生される.ただし,AVAudioPlayerの場合,Audio SessionのカテゴリをkAudioSessionCategory_AmbientSoundにセットしないと再生されない.

動画と音楽の同期を上手くとれば,吹き替えのローカライズができる.この同時再生はちょっと面白いかも.サンプルコードはこちらです.もちろん動画や音楽はないので,各自で用意してください,使用条件は自己責任と使用した分だけ隣人にジュースを奢るです.
Read more
2

iPhoneで縦書きをする,の続き,の続き

縦書きはOS 3.2から簡単に作れそうな見込み(いろいろ組み合わさないとできませんが)だと分かったので,一旦停止.あと,別のアプローチも教えて貰ったので,現状の手法にこだわる必要がなくなったものある.今までの手法がもし知りたいという奇特な人がいたら・・・って居ないね.
Read more
0

iPhoneで縦書きをする,の続き

iPhoneで縦書きする方法はだいたい分かってきた.SkyBook式かは分からないけど,コピペも実装できる.ただ,肝心のコンテンツがないのが致命的だ.
とりあえず,コードをキレイに汎用的にして,青空文庫用にでもカスタマイズする・・・かな.
Read more
0

iPhoneで縦書きをする

ちょっと気になったので,iPhoneで縦書きをごにょごにょ実装してみた.
一応,縦書きの表示はできたけど,これは実用レベルにはほど遠い.青空文庫リーダーのSkyBookがどうやって上手く縦書きをしているのか気になる.誰かちゃんとした縦書きの実装をご存知ならご教授ください.

(追記)
だいたい分かったよ.
Read more
0

Manga Camera v2.1 is released and v2.2 will be released

Manga Cameraがアップデートしてv2.1になりました.大きな変化はありませんが,コマと擬音の素をそれぞれ調整して,コマ割りや漫画写真を作り易くしました.あと,数日後にv2.2がリリースされる予定です.v2.2は吹き出し機能が強化されて,自由に文字を書き込めるようになります.

これでManga Cameraの目立ったアップデートは一旦終了です.今後はバグ修正やコマなどの素の追加が主になると思います.個人的には,トーン機能を実装したい気もしますが,いまいち最適なUIや手法が思いつかないので保留です.
Read more
0

iPhone:センサ周りのサンプルコード

自分のメモ用に近接センサ,加速度センサとコンパス(3GSのみ)を集めたサンプルコード.センサが最低限使える程度なので,アプリに仕上げるならインタフェースもちゃんとしないと駄目.ダウンロードしたい人はココからどうぞ.使用条件は自己責任と,使った分だけ隣人にジュースを奢るライセンスを守ること.
Read more
0

Manga Camera v2.0 is released.

Manga Camera v2.0がリリースされました.前バージョンのコンセプトを継承して,コマ割り作成と擬音付加(と新しいコード)を追加して,新しく成りました.今後はコマ割りと擬音の素の再整理と,可能ならばテキスト入力を追加したいと思います.

Manga Camera v2.0 was released. It is new features; creating frames and attaching imitation sounds. Future works are to coordinate parts of frames and sounds, and to add text that we can input.
Read more
0

Appleのエロアプリの大量削除について思う

電話に出た相手が,今まさにiPhoneのグラビアでイかんとするときと思うと萎えるので,Appleのエロアプリ無双はいい動きだと思う.いつもテンションの高い奴が沈着冷静だったら,おまえヤったなと.
Read more
1

Manga Camera v2.0 in English


"Manga Camera" creates photos as one page of comics. Here, "manga" means comics in Japanese. It draws each view, separated as comics, using the camera or the photo library. [UPDATE(v2.0)] The view can be separated by yourself as comic artist.

The application starts a window as follows. This is "manga drawing" that draws a photo at each frame, attachs imitation sounds and saves at the photo library. The frame, separated view, can be created. Let's change daily life to a comic.



[photo]
- It runs the built-in camera (only iPhone) and the photo library.
- When you single-taps (camera) or double-taps (library) a view, it is drawn on the view.
- The photo (library) is moved by sliding, scaled and rotated by the green buttons.
- If erase a view, you slide your finger on the view.

[additional]
- It is imitation sounds that can be attached at the photo.
- It is moved by sliding, scaled and rotated by the green buttons.


[frame]
- It changes a comic frame.
- The frames can be created, updated and deleted.



[save]
- The resolution enables to select.
- The orientation depends on the physical orientation of your iPhone or iPod touch.

When you tap "add" or "update" at [frame], it opens a window for frame creation. It is easy to create it only by selecting and allocating parts of the frames. Stored your frame is enable to use from [frame].



[back]
- It returns to "manga drawing".

[parts]
- Parts are selected and allocated.
- Parts are moved by sliding, scaled and rotated by the green buttons.



[properties]
- It is the frame name and last update time.



[store]
- It stores the frame.


Read more