ラベル 計算機のこと の投稿を表示しています。 すべての投稿を表示
ラベル 計算機のこと の投稿を表示しています。 すべての投稿を表示

2010年12月8日水曜日

textext で日本語

ずいぶん前に inkscape と textext を導入して,Tex の数式を含む図を作成する環境を整えた話をした。

たいてい,論文は英文で書くので,当然図の中の文字も英語なもんで,あまり気付かなかったのだが,何もしないと textext では日本語が通らない。日本語で書いている本の挿絵でも作ろうかな~と思ったもんで,textext で日本語が使えるよう,設定した。

以下,こちらとこちら,およびこちらを参照して,自分が行なった作業を記録として残す(以上の参照サイトに掲載されている以上の情報は何もない。あしからず。)。

[1] Inkscape\share\extensions\textext.py の 54 行目 "import inkex" の下に以下を追加:

import codecs

[2] 735 行目を

            #f_tex.write(texwrapper)

とコメントアウトして,その下に以下の 2 行を追加:

            sjis_tex = codecs.getwriter('shift_jis')(f_tex)
            sjis_tex.write(texwrapper)

これで文字コードを sjis に変換して Tex に渡すことができる。
ちなみに python では行頭の空白も揃えないと正常に動かないので注意(タブなんかを使わないこと。)。

[3] 742 行目を

        #exec_command(['pdflatex', self.tmp('tex')] + latexOpts)

とコメントアウトして,以下の 2 行を追加:

        exec_command(['platex', self.tmp('tex')] + latexOpts)
        exec_command(['dvipdfmx', self.tmp('dvi')])

これは日本語を処理できない pdflatex の代わりに platex と dvipdfmx を用いるための設定。

[4] 863 行目 の "# Exec pstoedit: pdf -> svg" の下に

        exec_command(['gswin32c', '-dSAFER', '-q', '-dBATCH', '-dNOPAUSE',
                      '-sDEVICE=epswrite', '-dEPSCrop', '-r9600',
                      '-sOutputFile='+self.tmp('eps'), self.tmp('pdf')])

を追加。さらに,その下の3行を以下のように変更:

        exec_command(['pstoedit', '-f', 'plot-svg',
                      self.tmp('eps'), self.tmp('svg')]
                     + pstoeditOpts)

ちなみに変更箇所は 2 行目の "self.tmp" の中を 'pdf' から 'eps' にしただけ。これにより,フォントをアウトライン化して eps 形式で吐き出す。

[5] 以上の書き換えを行なった python のスクリプト "textext.py" を別名 "textext-jp.py" として保存。また,この "textext-jp.py" に対応させるため,"textext.inx" をコピーしてファイル名を "textext-jp.inx" とし,中身を適宜書き換え。

これにより,日本語を使いたいときはエクステンションとして textext-jp を,そうでないときは従来通り textext を用いることができる。

これについてはこちらを参照したが,このことでどの程度のご利益があるかは不明。少なくとも日本語を用いない場合は,今回新しく作成した拡張ファイルを使わなくても良いので,これまで安定して動いていた環境のまま,ということにはなる。


以上でおしまい。ちなみに,出力例は下図の通り。


これで教科書の挿絵が作れそうだ(ちなみに,上の例は執筆中の教科書とは何の関係もない。)。

2010年12月7日火曜日

写真のふちをぼかす

画像の周辺をぼかす方法について,前にも調べたんだが,すぐに忘れてしまうんで,自分の手元に残しておくべく,ここに備忘録として記す。

Adobe の Photoshop Elements でもできるが,今回はフリーの GIMP (ver.2.6.11) を使用。

[1] GIMP を起動し,加工したい写真を読み込む。

[2] 「選択」→「すべて選択」,「編集」→「コピー」。

[3] 「ファイル」→「新しい画像」で,「詳細設定」→「塗りつぶし色」→「透明」。キャンバスサイズは[2] でコピーした画像と同じになるはず。

[4] 「編集」→「貼り付け」で,[2] でコピーした元画像をペースト。

[5] 適当な選択ツールでぼかしたい領域を選択(下は楕円選択ツール)。


[6] 「選択」→「選択範囲を反転」。

[7] 「選択」→「境界をぼかす」を選択。「縁をぼかす量」は 5~50ピクセルくらいの値を適当に入力(元画像のサイズと出来上がりイメージに依存)。

[8] 「編集」→「消去」で周辺画像が消去され,縁のぼけた画像が残る。


[9] 「ファイル」→「名前を付けて保存」で適当なフォーマットでエクスポート。JPEG では透明色を扱えないので,他の画像の上に重ねたい場合など,背景を透明のまま残したい場合は PNG なんかを用いると良い。

以上。

補足: inkscape でもできるのかも知れないが,ちょっと面倒くさそうだ。

2010年7月27日火曜日

多様性の功罪

今日届いたキネマ旬報のメールマガジンでこんな記事を読んだ。ある映画試写会で,上映中,参加者に twitter へアクセスしてもらい,書き込まれたツイートをスクリーン脇に設置したディスプレイに映すという試みが行なわれたそうだ。このことの是非が議論になっている。ちょっと去年の高専プロコンで最優秀賞を獲ったウチの学生の作品を思い出したよ。あれは 2 ちゃんの書き込みをテレビにテロップで挿入するってやつだったけど。まぁ,目の付けどころは似てる。

映画ファンの中にはこういうのを忌み嫌う人もかなり多いだろうと予想される。3D とか吹替え版だってどうか,というのが議論になるくらいだし。まぁ,僕だって,こんなサービスがあったって参加しようと思わないし,こういうことをしている試写会や映画館にわざわざ行きたいと思わない。でも,数はどうあれ,これを面白いと思っている人がいるとすれば,それを全否定するのはどうかとも思う。

もちろん,すべての映画館,すべての上映でこういうことが普通の形式になったら,そりゃ困る。これは 3D とか吹替えも同じこと。同じコンテンツでも 3D 版と 2D 版,吹替え版と字幕版の両方があれば,僕らは選択できる。それが重要なのだ。

考えてみたら,映画界にしたってビジネスチャンスにつながる可能性もある。いくら割引制度を工夫したり値下げをしても,映画人口はいっこうに増えていないらしい。おそらく割引しても,元々映画に行っていた人たちが利用するのであって,新たな顧客開拓にはつながっていないんだろう。だとすれば,これまで映画館なんかに目を向けなかった層を開拓するための工夫が必要になる。そのためのチャレンジとして,今回の twitter みたいな試みはユニークだと言えなくもない。記事を読んだ限りでは,今回の試写会の主催者側が何を狙ってこういうことを行なったのかまではよくわからなかったので,映画界のために,とか,映画人口を増やすために,なんてことは考えていないかもしれない。でも,映画観客層の幅,すそ野を広げることが,延べ観客数や興行収入の増加につながるはず,という気もするのだが。

同じようなことが映画館での飲食にも言える。日本の映画館では,飲食は禁止,あるいは他の観客の迷惑にならないよう注意して,というのが普通。ところが,僕のいるメルボルンの映画館では,どこに行っても,みんな何か食べたり,ワイン片手に映画を楽しんでいるし,上映中に大声で笑ったり,つぶやき声が聞こえてきたりもする。ところが,これが意外と楽しい。そこにいる全員で見ているという臨場感がある。僕の世代ではもうわからないことだけど,昔の映画館ってそんな感じだったんじゃないんだろうか??

とにかく,ここの人達にとっては,映画を見に行くという行為が日常的なイベントとして確立しているという気がする。一方,日本では,そういったイベント性よりも作品としての「コンテンツ」自体を楽しむという方向に偏りすぎているきらいもあるんじゃないだろうか? そうだとすると,別に劇場で見なくても…なんてことを考える人たちが増えても全く不思議はないような気がするわけ。コンテンツとしての映画を楽しむ映画館があってもいいし,大勢でイベントそのものを楽しむ映画館があってもいい。まぁ,採算とか全体のバランスを考えると業界全体が団結しなくちゃいけない難しさはあるだろうけど。

映画がある限られた人たちの特別な趣味になっちゃいけない。本来(というか今だって),大して高尚なものではなく,もっと気楽に楽しめるものだったはずだ。「マナー」っていうのは,そもそも相手のことを思う気持ちが素直に現れるべきもので,画一的に決められるものではないはず。これまで日本の映画館でまことしやかに叫ばれてきた「マナー」は,一部の人達(もちろん,その中に自分も入ってきたことは十分自覚しているつもりだが)に心地よいことを押しつけ過ぎて来なかっただろうか? そのことが,それ以外の人達にとって窮屈に感じられるあまり,映画館から足を遠ざける原因になっては来なかっただろうか?

…と今日は,ちょっとそんなことをウダウダと考えてしまいました。

さて,最後にちょい仕事(かな?)の話。
研究室に最初から置き去りにされていたデスクトップ PC があったのだが,これまで特に必要も感じなかったので,ずっと放ったらかしにしてあった。でも,十分使えそうでもったいないし,日本から持ってきたラップトップ 1 台ですべてまかなうのもちょっと無理かな? と思い始めて(今頃気づいたか),今日,ubuntu 10.04 と Windows 7 をデュアルブートできるようにインストールした。プログラム組んだりちょっとした数値計算したりってのは,こっちを使えそうだ。前の住人も ubuntu 使ってたみたいだし。Windows は別に必要なかったけど,ラップトップにインストールしてある Matlab をこっちで使うこともできるかな? と思ったりして…。いずれにせよ,計算機のセットアップに時間を費やすのも避けたいので,必要に応じて少しずつ育てて行こうと思ってます。

2010年6月7日月曜日

inkscape & textext 導入

Tex で論文とかスライドとか作るときに,EPS の図を何で作るかというのでいつも頭を悩ませている。前は EPS draw とかで描いて,数式はダミーのフレーズを入れておいて,Tex のソース側で psfrag なんかを使って書き換えていた。ところが,なぜか知らんが,今の環境に最新版の Tex を入れたところ,psfrag がうまく動かない。まぁ,そもそも psfrag もいちいち数式を読み代えなくちゃいけないところが気持ち悪い。Power Point とかで作った図を EPS ファイルに落として,Bounding Box を書き替えるなんていう力技をウェブで見つけたので,それも試してみたんだが,includegraphics でクリッピングがうまくいかなかったりする。

やっぱ,直接 EPS に Tex の数式を吐かなくちゃダメよね,ってことで,inkscape というドローソフトに textext なる拡張を加える方法を発見。これを試してみた。最初にインストールしたのは
  1. inkscape 0.47
  2. pstoedit 3.50
  3. textext 0.4.4
これに ghostscript も必要と書いてあったが,すでにあるので省略。インストール後,inkscape を起動して,「エクステンション」→「Tex Text」 を選ぶものの Tex のソースを入力すべきウィンドウが開かない。調べてみたら,pstoedit にパスが通ってないっていうので,通して再チャレンジ,すると今度は,

CORE_RL_Magick++_.dll がみつかりません。
  再インストールすると 問題が解決されるかもしれません。

とかいうエラーが出る。 で,上のメッセージでGoogle 検索したところ,ImageMagick とやらをインストールすれば,解決するかもってことがわかった。「聞いてないよ」と思いつつ,これをインストール。で,再度チャレンジ,そうすると数式入力用のポップアップウィンドウが開いたので,そこに 「$\alpha$」って入力して,「OK」をクリック。すると今度は,

Error occurred while converting text from Latex to SVG:

と言われる始末。この時点でかなり嫌になってきてたんだが,もうちょい粘ってみようと思い,いろいろ調べたら,あるじゃないですか。textext のソースを書き換えるとうまく行ったってのを見つけたので,ここを参照しながら試してみる。作業内容は
  • C:/tmp/textext というフォルダを作る。
  • Inkscape\share\extensions\textext.py の 662 行目の
    self.tmp_path = tempfile.mkdtemp()
    をコメントアウトし,次のように,上で作ったフォルダに変更。
    self.tmp_path = 'c:/tmp/textext'
    さらに,747行目の
    self.try_remove(self.tmp_path)
    をコメントアウト。
よし,もうこれでいいだろと思って再チャレンジしたら,またダメ。かなりくじけそうになったが,参照したページをよく見ると,上のパスの設定で「最後のスラッシュ(/)は必要」と書いてある。確かに,上の /tmp/textext の後ろにスラッシュを入れ忘れている。もう,これで最後にしようと思い,スラッシュを追加して再度チャレンジ。そうしたら,出ましたがな。

(倍率を指定できるので,上のαは10.0 倍で出力してある。 )

自分の不注意もあったものの,えらい難産だった。日本語のウェブページではこんなに苦労した事例が見つからなかったんだけど,みんなうまく行ってたわけ?? まぁ,とにかく,これでなんとかなったよ。EPS で保存して Tex にかけたら,無事読み込めました。

ちなみに,Tex のプリアンブルをファイルとして読ませると,いろいろなフォントやマクロを使ったり,独自の定義も読み込んだりできるようなので,使いこなすと便利そうではある。作図がどの程度使いやすいかは,いろいろやってみないと何とも言えないので,しばらくこいつを使ってみようと思います。

2010年4月29日木曜日

オフィス

 昨日予告した通り,僕が滞在している CSSE(Department of Computer Science and Software Engineering)のビルをご覧に入れます。このビルの4階に部屋があります。


部屋の中の様子はこんな感じ。デスクトップは今の状態では使えないので,まだ放ったらかしてあります。もっぱら,持参したノート PC が頼りです。


今日は,ID カードを作りに行きました。これで時間外の建物へのアクセスなどもできるし,申請すれば図書館などの大学の施設も職員と同様に使え るようになります。それは明日かな?


知らないうちに大学でのメールアカウントもできていたようなので,PC のメールソフトに POP で取り込めるように設定しました。テストも兼ねて,新しいアカウントから何人かに挨拶状を送りました。みなさまお騒がせしました。

さて,のんびりしてたんだか,慌ただしかったんだか,よくわからなかった 4 月も明日で終わりです。

2010年4月28日水曜日

Connected

昨日から大学に出てきました。部屋も個室が用意されていたので,ここでしばらく暮らすことになります。初日は,前に使っていた人が残していったものがいくつか放置されていたので,少し整理を。使えそうなものはいただき,どうにもならないものは(とりあえず捨てずに)おそらく使わないだろうキャビネットの一番下の段に隠しました。

ネットワークは有線でも無線でも利用できるということだけど,いずれにせよ,MACアドレスとか利用しているOSとかPCの型番とかを申告しなければなりませんでした。メモって担当者に渡すと10分くらいで接続。これで大学から外界とつながることができました。アパートの回線は従量制なので,基本的にここでいろんなことを済ますのが安上がりで便利かもしれないな。いちいち大学に出てくるのはめんどくさいけど(きちんと来いよってか?)

初日はいろいろバタバタして,何人も紹介されて(覚えられるか!),あっという間に一日が過ぎたので,今日からぼちぼち生活のペースをつかみたいと思います。

あ,僕がいるビルの写真でも載せればよかったか?撮るの忘れてた。明日貼り付けます。