2010-02-28

Let's Wine(第11回)

.NET Framework


.NET Framework 環境が wine 上で利用できるかどうか調べてみました。

まず Let's Wine(第8回)で紹介した winetricks で .NET Framework をインストールします。winetricks スクリプトを、次のように引数なしで実行すると、インストールするプログラムを選択する画面が表示されます。

$ sh winetricks


winetricks では .NET Framework 1.1 から 3.0 までインストール出来るようになっていますが、全部を正常にインストールできるかどうか怪しかったので、dotnet11 (1.1) からひとつずつインストールしていきました。

いろいろ試行錯誤をしましたが、結局、私の環境 (wine-1.1.38-1.fc12.i686) で正常にインストーラが終了したものは、dotnet11 と dotnet20 (2.0) の2つでした。ということで、.NET Framework 2.0 に対して簡単な動作確認をしてみます。

動作確認には Linux 上の mono でコンパイルしたバイトコードを mono と、wine 上の .NET Framework で動作させてみます。以下の C# のサンプル (hello.cs) を使用しました。

using System;
using System.Windows.Forms;

class HelloWorldApp {
public static void Main() {
MessageBox.Show("こんにちは、世界!", "mono");
}
}

この hello.cs を mono (2.4.3) で以下のようにコンパイルします。

$ gmcs hello.cs -pkg:dotnet
$ ls
hello.cs hello.exe

コンパイルされた hello.exe を mono で実行すると以下のようになります。

$ mono hello.exe


同様に .NET Framework 2.0 がインストールされている wine で実行した結果です。

$ wine hello.exe


参考サイト


[1] Hello worldプログラムの一覧 - Wikipedia
[2] Mono Basics - Mono
 

2010-02-27

Let's Wine(第10回)

JaneStyle


AA(アスキーアート)と言えば、2ちゃんねるで表現されている文字絵を、まず思い浮かべます。非アスキーな日本語フォントを用いてるので、狭義にはアスキーアートではないのですが、一般にはあまり区別せずアスキーアートと呼んでいるようです。

「日本語フォントを用いたアスキーアートは、一種独特な文化を形成しています。」なんて批評できるほど詳しくはありません。アルファベットだけを使ったアスキーアートは、巨視的には写真と見間違えるほどリアルなアートを表現できます。一方で、限られた面積を持つディスプレイ上で表現される、日本語フォントを駆使したリアルな輪郭は、非常に近視的であり、アルファベットだけを使ったアスキーアートとは別物のように思えます。

前置きが長くなってしまいましたが、実を言うと私は2ちゃんねる専用のブラウザを使うほどのヘビィなユーザーではないので、2ちゃんねるを見るときにも通常のインターネットブラウザを使っています。

ただ、以下のような AA を目にすると、専用のブラウザで見れば、もっと綺麗に見えるんだろうな、といつも思います。

その割には、いままで専用ブラウザを試したことはありませんでした。自宅では Windows を使うことがほとんどないので、Linux で動作する専用ブラウザを探そうとしていなかっただけかもしれません。

調べてみると Linux 用の2ちゃんねるブラウザがいくつかありました。そのなかで JD が yum でインストールできるようになっていたので、今回はじめて試してみました。

字間や縦横比は改善されていますが、今度は行間がやや開きすぎているように感じます。

比較用に、Windows 用2ちゃんねるブラウザ JaneStyle を wine 上で使ってみました。

JD に比べて行間が詰まって、いい感じで表示されてます。最近は古い IBM ThinkPad X31 にインストールした Fedora 上で(32bit 用の)wine を使っていますが、それでも、さくさく動作してくれます。

ちなみに、wine 上で動作するアプリケーションに対しては、Alt と「半角/全角」キーでインプットメソッド (IBus-Anthy)が有効になり、日本語を入力することができます。

今回は wine の話題というより、2ちゃんねるブラウザの単なる比較レポートになってしまいました。

参考サイト


[1] monazilla.org
[2] AAテスト・練習スレpart1104
 

2010-02-20

Let's Wine(第9回)

wineconsole


しぶりに Wine の話題です。

Wine には、wineconsole というプログラムがあり、これで cmd.exe を起動すると、Windows のコマンドプロンプトと同様なインターフェースが実現できます。しかしながら、自分の環境 (Fedora 12) では、次のようなエラーが出て起動できません。

$ wineconsole cmd
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting

$

そこで、wineconsole を使わずに、winecmd.exe を起動して Windows のコマンドプロンプトに相当する環境として利用していました。

$ wine cmd
CMD Version 1.1.38


Z:\home\bitwalk>

しかし、ひょんなことから参考サイト [1] の情報を知り、環境変数 LANGen_EN.UTF-8 へ変更することで、 wineconsole を起動できることが判りました。

$ export LANG=en_EN.UTF-8
$ wineconsole cmd


これで、例えば PDCurses を利用したコンソールモードのプログラムの動作も Wine 上で確認できるようになりました。以下は、mingw32-pdcurses-3.4-6.fc12.noarch のデモプログラム newdemo.exewineconsole 上で実行した例です。

ちなみに、wineconsole の起動時に毎回、環境変数 LANG の値を変更するのはさすがに面倒なので、私はデスクトップ上にランチャ(Windows のショートカットみたいなもの)を生成して使用しています。起動するコマンドは以下のようにしています。

sh -c "export LANG=en_EN.UTF-8; exec wineconsole cmd"


参考サイト


[1] 2008-05-07 - 後悔^H^H公開日記:別館
 

2010-02-13

電子書籍の未来

かに [1] で述べられているように、ゲームブックのアイデアを、Kindle や iPad などのデバイス上で読む電子書籍に応用できれば、紙媒体の単なる電子化ではない、新しい文化と市場が生まれることでしょう。

なんだか大きなビジネスチャンスがそこにあるような気がするのですが、具体的なアイデアが出てこないのがもどかしい…。

参考サイト


[1] iPadやキンドルから「未知の電子書籍」が生まれる可能性  :日本経済新聞
[2] Can the Kindle work as an app platform? | Between the Lines | ZDNet.com
[3] Apple - iPad - The best way to experience the web, email, & photos
[4] Amazon.com: Kindle Wireless Reading Device (6" Display, Global Wireless, Latest Generation): Kindle Store
 

2010-02-11

【備忘録】TeX Live

わゆるワープロソフト(表現が古すぎますか?ようするに文書作成ソフトウェアです。)の限界を感じる時は、数式を扱うときです。いろいろテクニックを駆使すれば Word でもそれなりの、センスある数式が表現できるのでしょうが、そこまで Word に愛着がありません。

そこで、久しぶりに、Fedora で TeX (TeX Live) を使ってみようと、参考サイト [1] の情報を元に必要なパッケージをインストールしました。

動作確認サンプルとして、参考サイト [2] で紹介されていた例を流用させていただきました。

\documentclass{jarticle}
\begin{document}
\section*{数式の例 (1)}

日本で漱石が「吾輩は猫である」を発表したころ、
ドイツではAlbert Einsteinが特殊相対論を発表した。

この理論によれば、エネルギー $E$ と質量 $m$ は
\begin{equation}
  E = mc^{2}
\end{equation}
で関係づけられる。ここに $c$ は光速で、
\begin{equation}
  c = 299{,}792{,}458 \, \mathrm{m/s}
\end{equation} である。 \section*{数式の例 (2)} \[ \frac{\pi}{2} = \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 = \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} = \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1} \] \begin{thebibliography}{99} \item
Leslie Lamport『文書処理システム \LaTeXe』 (阿瀬はる美 訳,ピアソン・エデュケーション,1999年) \item 奥村晴彦『[改訂第4版]\LaTeXe 美文書作成入門』 (技術評論社,2007年) \end{thebibliography} \end{document}

上記ファイルを test.tex というファイル名で、EUC-JP で保存します。これを、platex でコンパイルします。

$ platex test.tex
This is pTeXk, Version 3.141592-p3.1.10 (euc) (Web2C 7.5.6)
 %&-line parsing enabled.
(./test.tex pLaTeX2e <2006/11/10>+0 (based on LaTeX2e <2005/12/01> patch level 0) (/usr/share/texmf/ptex/platex/base/jarticle.cls Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class (/usr/share/texmf/ptex/platex/base/jsize10.clo)) (./test.aux) [1] (./test.aux) ) Output written on test.dvi (1 page, 2220 bytes).
Transcript written on test.log. $ dvipdfmx test.dvi
test.dvi -> test.pdf
[1] 17484 bytes written $ evince test.pdf &

pxdvi でDVI 形式のファイルを閲覧できるのですが、日本語フォントが表示されなかったので、出力ファイル test.dvidvipdfmx で、PDF 形式に変換しました。出力ファイルは test.pdf になります。これを、evince で開いた例が下図になります。

科学論文を書きたいわけではありませんが、少なくとも自己満足ができるマニュアル類が Linux で作成できそうです。

参考サイト

  1. [1] Fedora 10のTeX Liveで日本語TeX・・・その2: プログラマーになりたい!
  2. [2] TeX入門 - TeX Wiki