novi's Blog

Mac、iPod、オーディオなどの覚え書き

Leopard上のdvipdfmxでのフォントエラー

とりあえずレポートを片づけないと...

Leopardにしてから、TeXのdvipdfmxが使えなくなりました。タイプセットしようとするとこんなエラーが出ます。
** WARNING ** Could not locate a virtual/physical font for TFM "rml".
** WARNING ** >> This font is mapped to a physical font "HiraMinPro-W3.otf".
** WARNING ** >> Please check if kpathsea library can find this font: HiraMinPro-W3.otf
** ERROR ** Cannot proceed without .vf or "physical" font for PDF output...
これじゃレポートどころじゃないです。

原因はヒラギノフォントにあるようです。
Leopardから新しくヒラギノのProNシリーズが追加されたらしく、今までのフォントは/Library/Fontsへ移動されてしまいました。

小川版pTeXの場合は日本語のotfフォントは/usr/local/share/texmf/fonts/opentype/にシンボリックリンクが張られているのでこいつを一度消して新しく貼り直せばOKです。

sudo rm /usr/local/share/texmf/fonts/opentype/HiraMinPro-W3.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraMinPro-W6.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W3.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W6.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuStd-W8.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraMaruPro-W4.otf
sudo ln -s /Library/Fonts/ヒラギノ明朝 Pro W3.otf /usr/local/share/texmf/fonts/opentype/HiraMinPro-W3.otf
sudo ln -s /Library/Fonts/ヒラギノ明朝 Pro W6.otf /usr/local/share/texmf/fonts/opentype/HiraMinPro-W6.otf
sudo ln -s /Library/Fonts/ヒラギノ角ゴ Pro W3.otf /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W3.otf
sudo ln -s /Library/Fonts/ヒラギノ角ゴ Pro W6.otf /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W6.otf
sudo ln -s /Library/Fonts/ヒラギノ角ゴ Pro W8.otf /usr/local/share/texmf/fonts/opentype/HiraKakuStd-W8.otf
sudo ln -s /Library/Fonts/ヒラギノ丸ゴ Pro W4.otf /usr/local/share/texmf/fonts/opentype/HiraMaruPro-W4.otf


新しく入ったProNシリーズを使いたい人はこちら。
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W3.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W6.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraKakuStd-W8.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraMaruPro-W4.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraMinPro-W3.otf
sudo rm /usr/local/share/texmf/fonts/opentype/HiraMinPro-W6.otf
sudo ln -s /System/Library/Fonts/ヒラギノ角ゴ ProN W3.otf /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W3.otf
sudo ln -s /System/Library/Fonts/ヒラギノ角ゴ ProN W6.otf /usr/local/share/texmf/fonts/opentype/HiraKakuPro-W6.otf
sudo ln -s /Library/Fonts/ヒラギノ角ゴ StdN W8.otf /usr/local/share/texmf/fonts/opentype/HiraKakuStd-W8.otf
sudo ln -s /Library/Fonts/ヒラギノ丸ゴ ProN W4.otf /usr/local/share/texmf/fonts/opentype/HiraMaruPro-W4.otf
sudo ln -s /System/Library/Fonts/ヒラギノ明朝 ProN W3.otf /usr/local/share/texmf/fonts/opentype/HiraMinPro-W3.otf
sudo ln -s /System/Library/Fonts/ヒラギノ明朝 ProN W6.otf /usr/local/share/texmf/fonts/opentype/HiraMinPro-W6.otf


ただし、dvipdfmxがProNフォントに対応しているか不明なのでおかしくなるかもしれません。

2chViewer

さっき、2ch行ったら、sonsonさんの2chViewerが出ていました。

早速ダウンロードして使ってみました。これはイイ。ですね。

さて、僕のMobile2chどうしましょうかw
忙しくて全然できなかったので進んでないんですね。実をいうとまだdatを表示するところで止まっています。デザインに凝りすぎたのか...それに、今日は歌詞で遊んでいたのでもう...
(←をい)。

1. sonsonさんに頑張ってもらうw
2. 放置して歌詞表示アプリをはやく作る
3. どっちもはやく作る
4. レポートして寝る

2chブラウザなんてtouchに2つも要らないのでどちらかというとマージとかできればいいんですが。
それよりも歌詞表示って必要ですか?

Leopardにアップグレードしたら、BathyScapheは起動しないし、環境は崩れるしもう散々でした。
まあ、環境はもう直りましたし、バチスカは新バージョンをダウンロードしたのでもう大丈夫。

iPod touch で歌詞表示

touchの歌詞表示ですが、曲ファイルを直接叩く方法はどうにも上手くいかないので、TunesTextで生成される歌詞ファイルをtouchに転送して、単に表示するだけのことをやってみました。

再生中の曲の歌詞を表示できるようにやっていますが、訳分からん...明らかに自分の力不足ですが。

いずれにせよ、touchでの歌詞表示は母艦のソフトでtouchへ転送、touchのネイティブアプリで表示という感じでしょうか。それが一番簡単かな。

あと、TunesTextってLeopard未対応みたいですね。画面が化けてしまいました。

Mobile2chと同時進行で全然進んでいないのでもうちょっとスピードアップせねば。

こちらの記事は古いですよ。

Leopard に iPhone の toolchain をインストール


Leopardをインストールしたものの、当然のごとく処理系に依存するiPhoneのtoolchainが使えなくなってしまいました。
試行錯誤した結果なんとかコンパイルできるまでになったので一応書いておきます。
すでにtoolchainを使っている人向け&メモなのでかなり端折ってあります。



環境構築
1. XCode 3.0 をインストール。(Leopard のインストールDVDに収録されています。)
2. Tigerのときようにtoolchain v05をインストール。(/usrにあるtoolchainとする)
3. Macportsをインストール。(10.4用を使います。)
4. Macports版のtoolchainをインストール。(/optにあるtoolchainとする)
$ sudo port install arm-apple-darwin-binutils arm-apple-darwin-cc arm-apple-darwin-runtime

5. /opt/local/arm-apple-darwin/heavenly/にiPhoneのファイルシステムをコピーしろといわれるので、すでに2.でコピーしたもののリンクを張ればOK。
$ sudo ln -s /usr/local/arm-apple-darwin/heavenly /opt/local/arm-apple-darwin/heavenly

6. もう一度4. を実行。
7. Developerフォルダにasのリンクを張る。
$ cd /Developer/usr/libexec/gcc/darwin
$ sudo mkdir arm
$ sudo ln -s /opt/local/arm-apple-darwin/bin/as arm/as



specsの更新
1. ここから、"this specs file"をダウンロードします。
2. /optへインストール。
$ cd /opt/local/arm-apple-darwin/etc
$ sudo mv arm-cc-specs arm-cc-specs.old
↑古いものをバックアップ
$ sudo cp ~/Downloads/arm-cc-specs .




ヘッダファイルのインストール
1. iphone-devからヘッダをもらう
$ svn checkout http://iphone-dev.googlecode.com/svn/trunk/include iphone-dev/include

2. インストール。
$ cd iphone-dev/include
$ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk
$ sudo bash install-headers.sh

All Done.と出ればインストール成功。
3. インストール先は、/usr/local/arm-apple-darwin/includeです。
ここに置いておいても見つけてくれないので、リンクを張ります。
$ sudo ln -s /usr/local/arm-apple-darwin/include /usr/local/arm-apple-darwin/arm-apple-darwin/include
↑/usrにある用
$ sudo ln -s /usr/local/arm-apple-darwin/include /opt/local/arm-apple-darwin/include
↑/optにある用


以上で、
/usr/local/arm-apple-darwin/
/opt/local/arm-apple-darwin/
に環境がインストールされます。



Makefile を作る
いつも通りな感じで問題ないようですが、上手く行かなかったりする場合はCC(コンパイラ)とLD(リンカ)の環境設定をいじってみるといいと思います。
/usrのCC・LDと/optのCC・LD、さらにCCでLD(リンク)を行うことがあるので組み合わせがかなりあります。
また、/usrと/optではコンパラのファイル名が微妙に違うので注意。

コンパイラとリンカに/optのccを使う
CC=/opt/local/arm-apple-darwin/bin/cc
LD=$(CC)

/usr側はgccとなるので注意
CC=/usr/local/arm-apple-darwin/bin/gcc
LD=$(CC)

コンパイラとリンカに/optのccとldを使う
CC=/opt/local/arm-apple-darwin/bin/cc
LD=/opt/local/arm-apple-darwin/bin/ld

/optのldを使うにはオプションが必要なので注意。
/opt/local/arm-apple-darwin/bin/ld -lobjc -framework CoreFoundation -framework Foundation -framework UIKit -framework LayerKit -syslibroot /opt/local/arm-apple-darwin/heavenly /opt/local/arm-apple-darwin/csu/crt1.o -lSystem -lgcc_s_v6.1 -lm -L/opt/local/arm-apple-darwin/lib -larmfp -o Hello hello.o HelloApplication.o



XCode 3.0 について
今まで使ってきたUIKit用のテンプレートは使えない(一覧に表示されない)のですでにあるものを変更するしかありません。
XCode用のMakefileは次のように変更します。

CC=/usr/local/arm-apple-darwin/bin/gcc
LD=/opt/local/arm-apple-darwin/bin/ld

LDFLAGS= -lobjc -framework CoreFoundation
-framework Foundation
-framework CoreGraphics
-framework GraphicsServices
-framework CoreSurface
-framework UIKit
-framework LayerKit
-framework WebCore
-syslibroot /opt/local/arm-apple-darwin/heavenly /opt/local/arm-apple-darwin/csu/crt1.o
-lSystem -lgcc_s_v6.1 -lm -L/opt/local/arm-apple-darwin/lib -larmfp



参考資料

古いですが、/opt版のtoolchain - iPhone - Celso Martinho
iphone-dev - Google Code

iPhone toolchain のインストールとTips

2月のSDKに備えてUIKitなんかの覚え書きを書いていこうと思います。

とりあえず、開発環境のインストール方法。

Native IPhone development using XCode, at last!

この辺を見れば一通り書いてあります。svnからゲットしてソースからコンパイルする方法もあるみたいですが、すでにバイナリパッケージが用意されているのでそちらを使ったほうが簡単かと思います。

日本語で詳しくは解説しないので、とにかく英語が苦手な方は頑張ってください。Objective-Cは基本的に英語の情報しか無いので。
まあ、Cocoaをやったことのある人なら問題なく行けると思います。逆に言うとtouchのアプリを作るにはCocoaのアプリを作ったことがないと辛いです。

さて、toolchainのインストールは自分でもやってみましたが、↑の解説にある通りには行かなかったので、別の方法で試しました。
まず、手順2のiPodからファイルシステムを転送するところで、helperがうまく動かなかったのでcpで普通にコピーしました。
sudo cp -Rn [iPhone Volume] /usr/local/arm-apple-darwin/heavenly
あらかじめ、iPodのファイルシステムはマウントしておきます。

手順6までやれば完了です。

XCodeにiPhone UIKit Application というテンプレートがあるので、それをもとにして作ればOK。まずはサンプルなんかを貼り付けて実行してみるといいでしょう。
実行するにはビルドした.appをiPod touchに転送して、sshから実行するかSpringBoardから実行します。
ssh で実行すると終了するまではSpringBoardには戻れないので注意。強制終了はもちろんcontrol+Cです。

それから、クラスをいくつか作ったあとはMakefileをいじってやらないとBus Errorとなるので注意。Makefileの上の方にある、SOURCEにリンクさせる.mファイルを指定する必要があります。

SOURCES=
main.m
Mobile2chApp.m
MainView.m
BBSView.m
BBSMenuParser.m


日本で、UIKitの情報はHMDTの木下さんがたまに紹介しているようなのでのぞいてみると良いかと思います。
非公式ですが、リファレンスやサンプルもあるようです。

CocoaDev: IPhoneRuntime

HMDT

 | HOME |  »

プロフィール


novi


Author:novi
学生。♂。
飽きやすいのでネタがころころ変わります。最近は iPhone の hack と工作。










月別アーカイブ


検索フォーム


今日の献立


DTIミニモブログ


DTIブログ
ブログでアフィリエイト


DTIブログポータルへ

このブログを通報

カレンダー

09 | 2007/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

Twitter


follow novi_ at http://twitter.com


カテゴリー


最近のエントリー


最近のコメント


最近のトラックバック


なかのひと


ジオターゲティング


ジオターゲティング


リンク


RSSリンク


PoweredBy

Powered By DTIブログ