火曜日, 6月 17, 2008

Firefox3のダウンロード・デイは、19日 2:00 まで


Firefox3のダウンロード・デイは、2008 年 6 月 18 日 17:00 (日本時間では翌 19 日 2:00) まで。

Firefox 3は、確かに速い。タブの切り替えが瞬時に行われます。ダウンロードページのURLは重いので、リンクに直接飛ぶと、とどこおりなくダウンロードできます(そちらをメールしてくれればいいのに>Mozillaグループ)。

→ Windows版ダウンロード

#なんでIEじゃいけないの、とか聞かれたらどうしようかと思う(しかし、会社では「もしかして、反マイクロソフトなの」と言われた)。

→ Firefox 3 無料ダウンロード

ダウンロード状況を、地図で表示する素敵なサイトがこちらに → Firefox 3 の灯

→ 「Firefox 3 の灯」とは]

→ 「Firefox 3」の市場シェアが早くも6%台に--Net Applications調査 (2008-6-20)

日曜日, 6月 15, 2008

LED基礎知識


7月の洞爺湖サミットが近くなり、地球温暖化の話題が多く語られています。

ニュースでは、「エコ」「省電力」な製品として、LEDの話題がとりあげていました。LEDの照明灯というものがあるそうです。LEDは確かに省電力です。東芝のE-COREという製品では、40W相当の明るさのもので5.3W、60W相当のもので7.8W。そして、寿命が長いのがLEDの特色とかで、カタログスペック40000時間。気になるCO2排出量は、クリプトンランプ比較で約10分の1(40W)、約7分の1(60W)。

LEDの寿命は、何で決まるのか...松下のサイトに説明がありました。

→ LED基礎知識
→ E-CORE[イー・コア]は消費電力1/7で白熱灯器具と同等の明るさを実現した高効率ダウンライトです
→ 動画で見るLED基礎知識

金曜日, 6月 13, 2008

バックアップ

バックアップにどのメディアがいいかと調べてみると、ブルーレイは、メディアが単価430円(25GB)、プレーヤーが2万5800円。DVD-R DL規格のDVDで、9.4GB、単価795円。1TBのハードディスクが15400円。

#バックアップはこまめに

水曜日, 6月 11, 2008

Google Map API: Longitude and Lattitude

The Google Maps API offers an address look-up and one of the feature is
that the engine can search for the lattitude and longitude of the
specified query. The first thing you need to do is to access here
(Sign Up for the Google Maps API) and get an API key. Then a php file,
something like this one will do the search for you.

火曜日, 6月 10, 2008

iPhone、低価格が魅力に 来月発売、機能や戦略に課題も

アップル社はソフトバンクモバイルを通して、iPhone を日本で販売すると発表。

→ 米アップル:iPhone、低価格が魅力に 来月発売、機能や戦略に課題も (2008-6-11)

日本語の iPhone のデモをリンクしようと思ったのですが、ちょっと見つからない。店頭で、実際に操作することをオススメします。「すばらしい操作性」「秀逸なデザイン」「持っていたい一品」だと思います。

→ 【iPhone】情報小出しで“狂想曲”増幅 アップルのしたたか戦略 (2008-6-10)

低価格設定で、端末販売台数を伸ばすことのほうが重要、という戦略だとか。

→ アップルがiPhone 3Gを披露、価格は199ドルから

気になるのは、通信料ということでしょうか。

金曜日, 6月 06, 2008

Firefox 3、リリース日に24時間最多ダウンロード記録に挑戦

6月中旬に発表のFireFox3、高速・安定化を目指して改善されてるそうです。

「Gecko 1.9 レンダリングプラットフォームを基盤としており、描画速度や安定性が向上する。また文字と画像を同じ縮尺のままページを拡大・縮小するフルページズーム機能やSQLiteを活用したブックマーク機能など、数多くの新機能を備える」

→ Firefox 3、リリース日に24時間最多ダウンロード記録に挑戦 (2008-5-29)

さらに、ダウンロード数でギネスブックに挑戦する!イベントが。

FireFox3 の一日のダウンロード数を競うイベントがMozilla Foundations から発表。

国別に色分けされたマップが、サイトに載ってます。

→ ギネス世界記録への挑戦
より良い Web 体験を楽しもう Download Day



ちなみに、FireFoxのシェアは、18.41%(Net Applications発表、2008年5月)。



→ Safari 6%突破 Firefox 3すでにOpera超え、IEは純減 (2008-6-5)

(会社でFirefox3のダウンロード・デイの話をすると、「ダウンロードすると、なんか得するわけ?抽選かなんかで景品でもつければ」「ダウンロードの際に、サーバーがパンクしないのか」と言われた。)

日曜日, 6月 01, 2008

和電国際:アップルとの「iPhone」販売に合意

香港の和電国際は29日、iPhone販売でアップル社と提携に合意したという。ソフトバンクはiPhoneを提供する、という情報があるという。マイクロソフトはWindows 7で、iPhone 形式のタッチスクリーンを導入するという。

→ 和電国際:アップルとの「iPhone」販売に合意 (2008-5-29)

ところで、iPod って、これ中国製なんですよね。

機械部品がないっていうか。

金曜日, 5月 30, 2008

迷惑メール法の改正案が成立、事前同意無しの広告メール送信は違法に

迷惑メール法の改正案が、今日30日に国会を通過して成立、6ヶ月以内に施行されるというニュース。米国では、240億円の罰金が科せられたケースがあったり、この世界もすこしは動いてるフンイキがあります。迷惑メール対策、送信者のアドレスの検索方法というのがあるわけですが、行政が絡むと安心。個人ではなかなか対策の立てにくいものがあります。

→ 迷惑メール法の改正案が成立、事前同意無しの広告メール送信は違法に (2008-5-30)
→ 迷惑メール送信、全面禁止に 改正法成立 (2008-5-30)
→ 迷惑広告規制の改正メール法成立 (2008-5-30)
→ 迷惑メールに240億円 米、過去最高の支払い命令 (2008-5-14)
→ spamの被害に遭い始めたら

木曜日, 5月 29, 2008

青空文庫専用ビューアー「Aozora Viewer」最新版、表示を高速化

青空文庫の読める、Javaベースのアプリ(の最新版)が公開。いいですねえ。フォントがずれるきらいはあるけれども、縦書きで読めます。

→ 青空文庫専用ビューアー「Aozora Viewer」最新版、表示を高速化 (2008-5-28)

水曜日, 5月 28, 2008

クラスをアンロード・リロードする

いまさら、でもちょっと気付いたことを...

Javaで初期時のインスタンス化において読み込んだクラス定義は、forName()でインスタンス化してもアップデートされない。forName()は、クラス名を動的に指定することができるが、動的な読み込みのためではない。ClassLoaderを使うと、クラスを定義するパスを動的に指定できるが、動的な読み込みのためではない。

クラス定義は、ローダーを指定し、クラスとローダーを共にアンロードしても、アンロードしないようである(JDK6.0、Windows環境で)。明示的に指定させない理由は、理解しがたい。使用する際には、その事実を念頭においてプログラムしなければならない。

日曜日, 5月 25, 2008

「JavaOne 2008レポート」見えてきたJava SE 7

Javaの新しいバージョン、Java SE 7 が議論されているとか。

つまんない変更を加えて、そんなことよりも仮想マシンの普及に力を入れて欲しい、とわりに深刻に悩む毎日なわけですが、「モジュール」、「プロファイル」が導入されるというニュース。

オブジェクト指向言語では、C言語で言う構造体を、「カプセル化」しており、クラス構造体のメンバ変数へのアクセス権を指定できます。Javaでは、さらにクラスをまとめた「パッケージ」を指定し、DLLのように扱うことが可能です。「モジュール」では、複数のパッケージをまとめ、アクセス権を定義するということらしい。「プロファイル」とは、rt.jar のサブセットだそうです。「言語仕様・管理」については、例外の複数指定、javadocの形式変更・追加、ファイルIOの強化、JMXその他野心的な改変が語られているらしい。

→ 「JavaOne 2008レポート」見えてきたJava SE 7 (2008-5-24)

It took me some time before I realize that the package private is the default setting of all the Java variables and methods when they are set within a class. The modifiers are only public and private and the possibilities of module thing coming in the next version of SDK, I was to reaffirm what those are. The Java tutorials used to write something like the default being public. Yeah, I am sure of that.

金曜日, 5月 23, 2008

iPod touch

iPod touch の操作性はすばらしい。

まず、全画面タッチスクリーンは、画面の大きさが違う。まさに「全画面表示」である。操作に必要な、大きなボタンがオーバーレイで表示され、捜査が終了すると消える。

LANでネットにつなげる強みは大きい。youtube がそのまま閲覧できる。青空文庫、Gutenberg サイトへ飛べば、本がそのまま読める。

iPod touch に、ZiPhone というフリーのソフトを用いると、おなじみのフリーソフトがインストールできる(フリーソフトによる脆弱性で、プラットフォームがWindows程度にオープンになるという経営上の不安がIT記事には散見される)。

サードパーティアプリを使うと、辞書も使える。

日曜日, 5月 18, 2008

OpenOffice 2.4

OpenOffice 2.4 は、日本語変換エンジンを独自で持つらしい。起動と動作が速くなっている。PDF変換すると、画像にするため、フォントの質がよくない。

→ OpenOffice 2.4

タイ語

タイ文字の子音は、高中低の声調を持つ。サンスクリット語を記述するのに、サンスクリット語の音にあわせて文字をあて、それぞれ声調が異なるためという。しかし、現代タイ語ではすでに音価を変えているため、無気音は中子音、鼻音は低子音というルールしか適応できないらしい。

「iPhoneが日本に上陸する日」

メディアの記事を読んでもまったく業界の戦略は読めず、主導権のありばもはっきりせず、なぜかIT関係者には人材があまりにも少ないというイメージが付着するのは避けたい。

「iPhoneが日本に上陸する日」という本が昨年発行されている。

日曜日, 5月 11, 2008

プログラムを書く人の、さまざまな動機

プログラムを組むことに批判的な記事は、大手メディアの体質によるものである。プログラムを動かして楽しむ読者に対する配慮がまったくなく、その感動を語ることも少ない。コードの巻き方を伝授するくらいなら、プログラムを動かして便利になる生活を語ったほうが、いわば教育的ではある。

キーワードは、「自作アプリ」であり、「カスタマイズ」である。生活に密着した、その人ならではのアプリの開発は、商品価値を高めるばかりではなく、社会的現象として、現代の文化の欠かせない要素である。そして、プロブラム作成は、職業ライターの権威であると同時に、すべての人間に開かれた技術であるべきである。開かれた技術とは、著作権を反故にすることではない。そして、技術を提供するということは、社会参加の重要な行為である。著作権とは、公開の是非を著作権の持ち主が保有するということに他ならない。

ゲームソフトの作者と、カスタム・ソルーションのアプリ作者兼メンテ作業員と、IT技術の解説者、消費者側に立つべき企業の商品開発方針はもちろん異なる。しかし、ここでは、マシンを使う人間はすべて消費者(=ユーザー)であることに留意すべきである。ユーザーがもっとも使いやすい、手になじむ、自分のものと思えるマシンとは、つまり便利に使えて、信頼性があり、そして要求を聞いてくれるアプリがあってこそである。

プログラミング言語でいえば、信頼性とはライブラリの充実と着実な実装であり、使いやすさは情報量に多くの部分を依存する。必要な機能が実装されていないライブラリで、先人と同じ苦労をすることは、少なくとも技術の進歩とは言いがたい。Javaの存在で、モバイル機器を含む多くのプラットフォームで、自由が確保され、生活がこんなにも豊かになることを改めて強調したい。

土曜日, 5月 10, 2008

JavaアプリをPalmのPRC形式に変換して起動する

iPodやiPhoneで6月にもJavaが正式サポートされる可能性があるそうです。早速、モバイル用のJava、J2MEで書いてみました。試みに、Palmマシンで動かしてみましたので必要なツールなどここに書きとめておきます。

5月10日現在、最新のWTK(ワイヤレス・ツールキット)は、WTK2.5.2で、MIDP2.1、CLDC1.1まで使えるようです。しかし、Palmマシンで動かすには、PRC形式に変換しなければなりません。ここでは、WTK1.0.3についてくる PRC Converter Tool を使用しました。

まず、WTK2.5.2を立ち上げて、プロジェクトを作成し、設定(Settings)のAPI Selection をMIDP1.0にします。プログラムが無事コンパイルできたら、ProjectメニューのPackageから、Create Packageを選択し、JARファイルに圧縮します。

次に、WTK1.0.3を立ち上げて、File メニューのUtilities から、PalmOSEmulator を選択します。右上にGenerate PRCという表示がでてきますのでクリックすると、PRC Converter Toolが起動します。JARファイルを選択して、FileメニューからConvertを選び、PRC形式に変換します。

あとは、PRCファイルをPalmマシンに送るだけです。実際に動くまで、必要なファイルを探すのに苦労したのでここに書いたことが役に立てば幸いです。もっとも、ベストな方法であるかどうかの保障は当然ながらありません。

書いてみたアプリはこちら→ Java をモバイル機器で動かす

水曜日, 5月 07, 2008

ボーダフォン、iPhoneを新たに10か国で販売開始

ボーダフォンは6日、新たに10カ国でiPhoneを売り出すと発表

→ ボーダフォン、iPhoneを新たに10か国で販売開始 (2008-5-6)
→ 3G iPhone日本発売はいつ? (2008-5-7)
→ 3G iPhone発売に対応?--AT&T、6~7月の休暇取得を禁止 (2008-5-7)
→ 3G対応「iPhone」は199ドルか--AT&T価格をFortuneが報道 (2008-5-1)
→ 中国のiPod所有者の88%はiPhoneに興味あり,米Pearl Research社が調査 (2008-4-10)

マスコミで見えてくる政治、というのは、民主主義とは微妙に異なる。マスコミとは、イメージを作り上げる政治である。コンテンツ作成者の、腕の見せ所ではあるが、その「なんとなく」「本格的みたい」な自民党のイメージは、山口補選を注視してきた人間にとっては歯がゆいものである。

政治とは、仲介業でもある。いやがる人間を捕まえて、なんらかの妥協案を強制し、「役に立っている」といいたがるものである。胡錦涛は「おしん」を称賛したという。しかし、「スポコン」モノは、コンテンツ作者の間でも敬遠される傾向にある。

政治といえば、アップルのジョブズ氏はやたらに人気があるという。カリスマ性というらしいが、カリスマ性のない指導者を見慣れている日本人には、まったく驚愕に値する。ソフト配布を一元化するという。CNETに類似する仕組みがあるが、発表されるソフトの多さは、マシンの強みである。ニッチという市場はあるが、先に独占すると携帯アプリ的な収入が見込めるという目算はある。

面白い企画だと思わせるのは、やはり政治であり、コンテンツ作成者の腕がかかっている。iPhone、iPodはすばらしいマシンである。自由に使いこなせれば、消費者としてこれほどのメリットはないだろうと思う。

火曜日, 5月 06, 2008

ProGuard: Javaバイトコードの軽少化・最適化・難読化に

Obfuscator というツールがあり、Java プログラムをコンパイルしたバイトコードの逆コンパイルを防ぐという。最適化も行うという。なかなか完成度の高いツールで、頼りにできそうなありがたいプログラム、ダウンロードはこちら → ProGuard

自作アプリで試してみたところ(Tibetan.jar)、4.2kのものが3.9kに。

ちなみに、Tibetan.jarはチベット語入力アプリです。チベット語を入力して画像に落とせます。使い方は、JARファイルをダウンロードして起動。

java -jar Tibetan.jar

チベット語に興味のある方、どうぞ。

月曜日, 4月 28, 2008

サン、iPhone向けJVMの開発意向をあらためて表明――アップルとの交渉を継続

サン・マイクロシステムズ社は、アップル社に、iPhone向けのJVM開発への協力を要請しているという。

→ サン、iPhone向けJVMの開発意向をあらためて表明――アップルとの交渉を継続 (2008-4-25)

オープンな規格で広い世界が展開しているプラットフォームのほうが、使い捨てる技術より、労力、投資のわりに見返りが大きいということを、(改めて)強調したい。

国内販売に関して、アップル社との提携の話がいくつかの企業と進められているという。

ヘルプもチュートリアルもなしに、プログラムを書くのは困難を伴うが、Javaなら可能である。言語設計がいいからである。携帯アプリ用のJavaはAPIがいくらか異なるが、スマートな基本設計がプログラムの作成を容易にしている。オブジェクト指向のライブラリ設計には、抽象クラスとインターフェースクラスの構成が、コンポーネントとその動作を別に記述することのできるJavaライブラリのメリットを発揮している。

→ Sun Java Wireless Toolkit for CLDC 2.5.2
→ MIDPプログラミング入門

日曜日, 4月 27, 2008

MFCで拡大印刷する

チベットの旗を(印刷紙)4倍にして印刷するにはどうするか。

MFCで書いたので、そのコツをまとめておくと...

ページ数を規定する。印刷する画像のサイズを計算してSetMaxPage(int)で指定する。OnBeginPrinting()などで行う。

CDCのオフセットを指定する。ページ数を取得して、位置を指定する。OnPrepareDC()で行う。

OnDraw()で、CDC::IsPrinting()のときに、印刷用に画像を描画する。

→ MFCで拡大印刷する Morph-1.0.0.zip Free Download

日曜日, 4月 06, 2008

オンラインでチベット語を入力するアプリ

Javaでチベット語入力用アプレットを作ってみました。

→ Tibetan Online Keyboard

フォントはTibetan Machine Uni を使っています。

チベット語についてのメモ

→ チベット文字の表示

ང་རི་པིན་ནས་ཡིན། (日本人です)

木曜日, 2月 14, 2008

Java is the nicest thing to have.

What this administration did was to distort opinions so that the targets will be directed to somewhere that is irrelevant to thier teams. But what we say is true and will be true for the foreseeable future, and the situation will exactly be the same if they do not take actions. Their stores won't motivate the people here to do better
jobs nor to get better skills. They do not have pride in their works. It will take forever to get their job done.

Java is the nicest thing to have.

Here is the Grep.java program I've just written.

→ Java JDK

日曜日, 2月 03, 2008

Unicode Hex Representation

I just happened to have had some needs to know the unicode hex for certain unicode characters. Here are the javascript that does the conversion from the given unicode string to its hex representation. Please feel to take it from here.

→ Unicode Hex Representations

土曜日, 2月 02, 2008

ソニー、デジタル一眼「α」初のライブビュー搭載の「α350」など発表

ソニーは、デジタル一眼レフ「α100」の後継機種の「α200」を2月に、ライブビュー付の「α350」を3月に発売すると発表したらしい。

→ ソニー、デジタル一眼「α」初のライブビュー搭載の「α350」など2機種 (2008-2-1)

フォーカスが早くなり、高感度になる、α350では画素数が1420万画素ということらしい。

土曜日, 1月 26, 2008

To implement Emacs styled "kill-line"

What I found out today is that emacs styled "kill-line" is really a thing that makes you feel you're in fact using the program like a part of you. Just because it will get you to a part of the program, it indeed is going to make you feel better using the software. That kind of application is something that all of us would have to want to program.

To look at what "kill-line" is, try the Java applet editor in my Zhuyin page. The popup menu of the Java applet editor shows the "Cut Line" that is much like "kill-line" and delete the text from where the caret is to the end of the line. "Copy Line" does just as you assume, it selects the portion of line to the end and that part is copied to the system clipboard.

In case you want to know the beautiful Java lines that can accomplish these tasks, here are the codes.


boolean isLineEnd(char ch)
{
return (ch=='\u2029'||ch=='\u2028'||ch=='\u0085'||ch=='\n'||ch=='\r');
}

public int getLineEndPosition()
{
int index=-1;
String text=textArea.getText();
if(!text.isEmpty())
{
int pos=textArea.getCaretPosition();
index=pos;
int len=text.length();
while(!isLineEnd(text.charAt(index)) && ++index<len);
}
return index;
}

void cutLine()
{
int start=textArea.getCaretPosition();
int end=getLineEndPosition();
textArea.setSelectionEnd(end);
textArea.replaceSelection("");
}

void copyLine()
{
int start=textArea.getCaretPosition();
int end=getLineEndPosition();
textArea.setSelectionEnd(end);
textArea.copy();
}

Java is wonderful. >> C/C++ only programmers

Java is wonderful. If anything, I could complain just a few things, like sometimes, they use English that is not entirely correct in the sense that makes me feel that some English speaker is making fun of Japanese. Maybe it is too much of programming on my part (^^;) but anything that is uncertain about the language is just painful. Here is this Java compiler error message. The error message must convey the precise meaning of what is going on in the program -- and not in other part of the world. ^^

Please remove or make sure it appears in the correct subdirectory of the classpath.

木曜日, 1月 24, 2008

Javaで書いたプログラムがもっとも古びず、長持ちする

けったいな意見の持ち主がいて、プログラムを書くと「マイクロソフトに利用されている」という。しかし、プログラムを書くのはプログラマで、プログラムを使うのはユーザーである。同様に、政治的意見を持つのは国民で、政治の結果をもろにかぶるのは市民である。

Javaで書いたプログラムがもっとも古びず、長持ちする。プログラマとしては他に換えがたいメリットがある。95で書いたプログラムは、もう目にする機会もない。

こちら、自作ソフトのページ↓です

→ Java Programming

月曜日, 1月 21, 2008

Suppose you want to use my OnScreenKeyboard class.

What is good about Java is, as they say -- write once, run anywhere. It means that the everything you write won't be wasted in a way that not only you can have it but also that you have it on your way. Java classes are extendable. Only thing that the programmer must be aware of is to set the classpath right.

In case you want to use my OnScreenKeyboard class, download (easai.jar).
The OnScreenKeyboard class is in easai.util package so import the package to use the class.

import easai.util.*;

...

OnScreenKeyboard keyboard
=new OnScreenKeyboard("Taiwanese",this);
keyboard.init();

OnScreenKeyboard constructor takes a string argument that specifies the language and an ActionListener. This ActionListener is a wonderful thing that makes this component usable for any of the application you wish.
You just have to set the ActionListener to receive all the output from the OnScreenKeyboard application.


public void actionPerformed (ActionEvent e)
{
String command=e.getActionCommand();
String ch=command.substring(0,1);
int pos=textArea.getCaretPosition();
textArea.insert(ch,pos);
}



Please have a look at this application that uses the OnScreenKeyboard class if what is describe above is not entirely clear to you.

/* TaiwaneseApplet.java -- Zhuyin on screen keyboard
*
* Copyright (C) 2008 Erica Asai

* This program is free software;
* you can redistribute it and/or
* modify it under the terms of the
* GNU General Public License
* as published by the Free Software
* Foundation; either version 2
* of the License, or (at your option)
* any later version.
*
* This program is distributed in
* the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without
* even the implied warranty of
* MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the
* GNU General Public License
* for more details.
*
* You should have received a copy
* of the GNU General Public License
* along with this program; if not,
* write to the Free Software
* Foundation, Inc., 59 Temple Place
* - Suite 330, Boston, MA 02111-1307, USA.
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import easai.util.*;

public class TaiwaneseApplet extends JApplet implements ActionListener
{
JTextArea textArea=new JTextArea(15,50);
JButton clear=new JButton("Clear");
JButton larger=new JButton("Font Size (+)");
JButton smaller=new JButton("Font Size (-)");
OnScreenKeyboard keyboard
=new OnScreenKeyboard("Taiwanese",this);

public void init()
{
keyboard.nButtons=10;
keyboard.init();

clear.addActionListener(this);
larger.addActionListener(this);
smaller.addActionListener(this);

JPanel control=new JPanel();
control.setLayout(new FlowLayout());
control.add(larger);
control.add(smaller);

JPanel textPanel=new JPanel();
JScrollPane textScroll=new JScrollPane(textArea);
textPanel.add(textScroll);
textPanel.add(clear);

JPanel panel=new JPanel();
BorderLayout layout=new BorderLayout();
panel.setLayout(layout);

JPanel keyboardPanel=new JPanel();
keyboardPanel.setLayout(new BorderLayout());
keyboardPanel.add(keyboard,BorderLayout.CENTER);
keyboardPanel.add(control,BorderLayout.SOUTH);

panel.add(keyboardPanel,BorderLayout.NORTH);
panel.add(textPanel,BorderLayout.CENTER);

JScrollPane scroll=new JScrollPane(panel);
add(scroll);
}

public void actionPerformed(ActionEvent e)
{
String command=e.getActionCommand();
if(0<command.length())
{
if(command.equals("Clear"))
{
textArea.setText("");
}
else if(command.equals("Font Size (+)"))
{
keyboard.resizeFont(2);
}
else if(command.equals("Font Size (-)"))
{
keyboard.resizeFont(-2);
}
else
{
String ch=command.substring(0,1);
int pos=textArea.getCaretPosition();
textArea.insert(ch,pos);
}
}
}
}



The way to set the classpath right is a bit technical. The package name of the OnScreenKeyboard class is "easai.util". As that all the Java classes are organized in the most familiar way of directories, You must store the class file in the directory named easai/util as follows.


+--easai--util
--+
+--your Java application directory


Then compile your Java application with a proper classpath option.


javac -classpath ".;.." *.java


Visit this site (http://easai.00freehost.com/Zhuyin/index.html) to see how it runs.

土曜日, 1月 19, 2008

Character.UnicodeBlock: To obtain the character set

In line with the InputContext article the other day to alter keyboard setting and the font range, I would like to present here the following code to obtain the character set and set the locale for the InputContext.

With the use of Character.UnicodeBlock.of(char), and the returned value of the UnicodeBlock information, the locale can be set -- manually. Suppose you have a JTextArea and the cursor is on the area of the text that you want to add some input.

Bopomofo (Zhuyin) is a set of alphabets that is universally used in Taiwan. In the following code, the character under the cursor is examined and the locale is set to Locale.TAIWAN if it is a Zhuyin character.


int pos=textArea.getCaretPosition();
String text=textArea.getText();
char ch=text.charAt(pos);
Character.UnicodeBlock block=Character.UnicodeBlock.of(ch);
Locale current=Locale.US;
if(block==Character.UnicodeBlock.BOPOMOFO)
current=Locale.TAIWAN;

木曜日, 1月 17, 2008

Sun Microsystems to buy MySQL

What does it mean for us, for Sun Microsystems to buy MySQL? The answer: BB+.

→ Sun Microsystems' ratings unaffected by agreed MySQL acquisition - S&P (2008-1-17)

But for MySQL users, it's a blessing. It means (probably) formal driver supports, documentation supports and package distribution under Java JDK.

I use MySQL with a jdbc driver and from Java application, DB access is as easy as ever. Just like Java. Here is how to open a database connection.


Class.forName(driver).newInstance();
connection = DriverManager.getConnection(openDBString+database,user,password);
statement=connection.createStatement();


I say, Java is wonderful. How about this? To browse through the database and print out whatever satisfies the condition, the following does the job.


ResultSet rs = statement.executeQuery("SELECT * FROM "+tableName+condition);
ResultSetMetaData meta = rs.getMetaData();
int nCol=meta.getColumnCount();
while (rs.next())
{
String buf=template;
for(int i=1;i<=nCol;i++)
{
String columnName=meta.getColumnName(i);
System.out.println(columnName,new String(rs.getBytes(i),"UTF8"));
}
}


I say, Java is wonderful.

...

I will declear new and then they must delete it. > obsolete programmers

But it is new you know.

...any problems? ^^

月曜日, 1月 14, 2008

Select and set a locale for InputContext from the available locales list

Yesterday, I wrote in this blog about InputContext and how to set the language environment. Here are some more codes for listing up all the available languages, from which you can select the Locale and set it for the InputContext for your application.


Locale locales[]=Locale.getAvailableLocales();


A word of caution is that not all listed locales are available for InputContext -- of those, only that has both the language code and the country code can be set to use. But once you have the array of strings for the available locales, this input dialog will do the job nicely to put all locales in scrollable pane and wait for user input. Here, names is the string array that contains the list of locales.


Object selectedValue = JOptionPane.showInputDialog(null,
"Select a locale", "Language",
JOptionPane.INFORMATION_MESSAGE, null,
names,names[0]);


Perhaps it gets more clearer if you look at the code so I put it right here. Here all the locales that only have either the country code or the language code are filtered out. This is what this following code does: the list of locales will be presented and then when a value is selected, the locale will be set for the InputContext.

As of 2008-1-16, the code has been modified so that the list will be sorted out in alphabetical order.

   public void langList(JMenuItem mi)
{
int x=mi.getX();
x+=mi.getWidth();
int y=mi.getY();
Locale locales[]=Locale.getAvailableLocales();
String names[]=new String[locales.length];
String languages[]=new String[locales.length];
String countries[]=new String[locales.length];
int index=0;
for(int i=0;i&lt;locales.length;i++)
{
languages[index]=locales[i].getLanguage();
countries[index]=locales[i].getCountry();
if(!languages[index].isEmpty() && !countries[index].isEmpty())
{
names[index]=locales[i].getDisplayName();
index++;
}
}
int nLocales=index;
int sortedIndex[]=new int[nLocales];
String sortedNames[]=new String[nLocales];
for(int i=0;i&lt;nLocales;i++)
sortedIndex[i]=i;
for(int i=0;i&lt;nLocales;i++)
{
for(int j=i+1;j&lt;nLocales;j++)
{
if(0&lt;names[sortedIndex[i]].compareTo(names[sortedIndex[j]]))
{
int t=sortedIndex[i];
sortedIndex[i]=sortedIndex[j];
sortedIndex[j]=t;
}
}
}
for(int i=0;i&lt;nLocales;i++)
{
sortedNames[i]=names[sortedIndex[i]];
}
if(0&lt;nLocales)
{
Object selectedValue = JOptionPane.showInputDialog(null,
"Set Language Environment", "Language",
JOptionPane.INFORMATION_MESSAGE, null,
sortedNames,sortedNames[0]);
int i=0;
if(selectedValue!=null)
{
while(!((String)selectedValue).equals(names[i]) && ++i&lt;nLocales);
if(i&lt;nLocales)
{
Locale newLocale=new Locale(languages[i],countries[i]);
inputContext.selectInputMethod(newLocale);
}
}
}
}

日曜日, 1月 13, 2008

InputContext and IME

I had such an unpleasant time looking through pages about IME -- as if everybody is using languages that use alphabets only. But for the most of us who use not only alphabets but also other scripts, here are some pieces of advice. Just a few lines -- but you can control IME from Java applications.

InputContext inputContext=null;
inputContext=frame.getInputContext();
inputContext.selectInputMethod(Locale.JAPAN);

This turns on Japanese IME. If you alter the locale to Locale.TAIWAN, or instantiate the class with language and country codes as:
Locale locale=new Locale("hi","IN");

then you can turn on the IME of your choice from your Java application.

土曜日, 12月 08, 2007

「リンクしてあるテキスト」をちりばめたマップ

最近ウィキペディアを見ていて気づいたのは、メディアの種類が増えたこと。内容の充実と共に、投稿されている音声ファイルや動画が、ネットメディアのよさをフルに生かしている。もちろん、ウィキの最大のメリットは、テキストにリンクが張られていて、気になるキーワードを深く掘り下げて検索できること。

そこで発見したのは、この「高雄市」のページにある「リンクしてあるテキスト」をちりばめたマップ。地図の画像の上に、テキストが重ねてあって、リンクが張ってある。HTMLをこのように使うと、クリッカブルマップが自然にHTMLで表現できることに、いたく感動したので、さっそくアプリを作ってみました。

なにって、このアプリ。画像を読み込んで、自由な位置にテキストを置いて、リンクを張る。これを、HTMLのコードとして出力すると、クリッカブルマップをどんなページにも埋め込めるモノで、LabelMapというプログラムを起動したら、File|Open で画像を読み込む。マウスで好きな位置をクリックして、テキストを入力。右クリックでポップアップメニューの、Set Link でURLアドレスを打ち込んで...という作業を繰り返して、書きたいテキストをすべて入力。あとは、File|Export to HTML を選択すると、該当するHTMLコードが表示されます。あとは、編集するなりコピーするなり、HTMLのページに埋め込んで利用します。

ダウンロードはこちらから。

→ LabelMap

日曜日, 12月 02, 2007

IEのツールバーを作成する

IEでは、レジストリで設定すると右クリックでアプリを登録できるが、セキュリティのためかメニューにはその機能がない。右クリックを禁止するサイトでスクリプトを走らせるには、新たなメニューバーをコンパイルしないとならない。バランスの悪い対処法といえる。

とつい思ったのだが、マイクロソフト社公式サイトでは、KBBARなるサンプルコードが置いてある。それを用いると、DLLの形式で、ツールバーが作成できる。

多少つかえたのが、COM関連のクラスであるが、ここに、ページのURLを取得するコードを記述する(エラー処理は省略)。

CComBSTR url;
m_pBand->m_pIE->get_LocationURL(&url);

さらに、選択されたテキストを取得するコードを以下に示す。

IHTMLDocument2 *pDoc;
m_pBand->m_pIE->get_Document((IDispatch**)&pDoc);
IHTMLSelectionObject *pObject;
pDoc->get_selection(&pObject);
IHTMLTxtRange *pRange;
pObject->createRange((IDispatch**)&pRange);
CComBSTR selectedText;
pRange->get_text(&selectedText);

これを走らせると、メニューではなく、ツールバーからDLLを起動できる。

月曜日, 11月 26, 2007

フランスで海賊行為者のウェブアクセスを禁じる新制度

フランスで、海賊ソフトを取り締まる新制度が発表されたという。独立機関が、ネットユーザーに警告し、アカウントを停止させる可能性があるという。引き換えに、デジタル著作権管理(DRM)による保護をはずし、機種間でのプロプラエタリーな規格を禁じるという、過激な制度である。

違法ソフトの摘発は、企業などで使われている海賊版を摘発することで可能といえるが、個人に対し、違法MP3ファイルのダウンロードを検出することは現在のところ不可能である。この際、違法ファイルの保持が顕著、という指摘でさえ不可能である。ごく一部の対象を取り締まることは、法の下の平等を保障しない。つまり、ある個人を違法ソフトで摘発すると、法律の恣意的な適用となる可能性が高い。

効果的なのは、個人相手ではなく、供給側に規制をかけることである。違法ファイルを置くサイトへの警告は、少なくとも日本では行われている。中国の違法DVDの販売は、中国国内での著作権をも損なうという主張がある。訪中しているサルコジ仏大統領は、中国の著作権について言及したという。中国側の反応は伝えられていないが、効果を期待したい。

→ フランスで海賊行為者のウェブアクセスを禁じる新制度 (2007-11-26)
→ フランス政府が、オンラインの海賊行為対策のため特別機関を設置へ (2007-11-26)
→ 訪中のサルコジ仏大統領、人民元上昇を促す (2007-11-26)

火曜日, 11月 20, 2007

米アマゾン、電子書籍参入を発表・新聞や雑誌も入手可能

アップル社の iPod の成功は、デザインや機能もさることながら、魅力的なコンテンツを手ごろな価格で便利に入手できる、という「社会的要因」によるもの――という認識が、電子機器メーカーの経営者陣にあるかどうかは知らないが、他のMP3プレーヤーと「競争にならない」市場を作り出したアップル社の目覚しい発展は、技術を持つ各社が消費者の利便性を考えて「もう少し政治的に連動することができたら」可能である市場の開拓への感慨をもたらすものである。

このたび米アマゾンは、電子書籍に参入するという。有償で電子ブック「キンドル」を販売し、コンテンツをネット配信するという。価格設定は、書籍で9.99ドル、新聞が月5.99~14.99ドル、雑誌が月1.25~3.49ドル。OEMはHon Hai Precision Ind. Co., Ltdといい、ネット回線のキャリアはSprintだという。創業者でCEOのジェフ・ベゾス氏は、「思いついたら60秒」で本を入手できるメリットを語っているという。

ここで、電子化された書籍など、素直にデスクトップで読めばいい、というナイーブな意見の持ち主には、著作権がらみのコンテンツの利用法についての考慮を要請するものである(笑)。プロの情報を、正規ルートで入手する方法というのが、現在のインターネットでは実現していない現状があるからである。そして、さらに価格設定を含め、利便性を最優先し、著作権保護をも可能にする米アマゾンのマーケティング手法と、iPod の成功を考えて欲しい。

電子ブックで先行するソニーなどは、ネットからダウンロードして「貸本」が読める、「リブリエ」を発売していた。米国では、電子ブックリーダーとして現在も販売している。性能比較しているサイトがあるが、技術屋の物悲しさを覚えるように思う。リブリエを実践で使う利用者にとっては、投資してもいいと思わせる有益な情報が、支障なくタイムリーに入手できることが、デザインや機能より優先する、最大の懸念であるからである。

トラブル・フリーな既製品をブラックボックスで販売するのは、日本企業の得意技とされている。しかし、そこには消費者の利便性という決定的な要素が軽視されているように思える。消費者の利便性の本当の意義とは、企業による人権侵害にも似たサービスの強要を言うのではなく、あくまで「社会的」なメリット、最大多数の幸福を目指したものだという面を強調したいものである。

→ アマゾン・コム、書籍用の電子端末発売 (2007-11-20)
→ 米アマゾン、電子書籍参入を発表・新聞や雑誌も入手可能 (2007-11-21)
→ Amazonの電子ブックリーダーKindle公開、399ドル (2007-11-18)
→ Front company and OEM for Amazon Kindle is… (2007-11-19)
→ Amazon Kindle vs. Sony Reader (2007-11-19)

火曜日, 11月 13, 2007

中国人ジャーナリスト逮捕事件、ヤフーが和解を決定

米ヤフーは、中国当局に提供した情報によってジャーナリストが拘束された訴訟で和解を決定したと発表したという。国境なき記者団によると、ヤフーが中国当局に提供した情報により、「ネット上の体制批判者」とされる少なくとも4人が禁固刑を受けているという。

→ 中国人ジャーナリスト逮捕事件、ヤフーが和解を決定 (2007-11-14)

木曜日, 11月 08, 2007

中国当局への情報提供、米公聴会でヤフーCEOに批判

メロドラマのようだ、と思ったのは、ヤフーに対する米上院委員会の茶番である。ちょっと面白いので、リンクをたどって見てみると、「いやがらせ」というのは実は法的処置をしなくてすむように、米国IT企業への弁護だということが分かる。ほら、われわれも黙ってみてるわけじゃない、と有権者に訴える目的の、「金の絡まない」(=企業にとっては時間つぶし以外の意味を持たない)制裁である。

→ 中国当局への情報提供、米公聴会でヤフーCEOに批判 (2007-11-8)

火曜日, 11月 06, 2007

画像を壁紙に設定する

コードを直接ネットに載せると、「恥をさらすようだ」という意見が(笑)あるが、くだらぬことに時間を割きたくないプログラマのために、画像を壁紙にするコードを載せておく。

あまり誇れるコードでもない、というのは、情報がなくてBMPの一時ファイルにする方法しか見つからなかったせいで、ある画像を画面の大きさにして壁紙に設定するだけのコードである。

なにかの役に立つかどうか分からないし、「いちおう」などと照れる必要もないだろうが、以下がそのコードである。

void CMyView::Setasdesktopbackground()
{
CImage image;
int screenWidth=::GetSystemMetrics(SM_CXSCREEN);
int screenHeight=::GetSystemMetrics(SM_CYSCREEN);
int bpp=m_pImage->GetBPP();
if(image.Create(screenWidth,screenHeight,bpp))
{
HDC hDC=image.GetDC();
SetStretchBltMode(hDC,HALFTONE);
m_pImage->Draw(hDC,0,0,screenWidth,screenHeight);
CString fileName=L"c:\\Windows\\Web\\Wallpaper\\background.bmp";
HRESULT res=image.Save(fileName);
image.ReleaseDC();
if(!FAILED(res))
SystemParametersInfo(SPI_SETDESKWALLPAPER,NULL,
(PVOID)fileName.GetBuffer(),SPIF_UPDATEINIFILE);
}
}

日曜日, 11月 04, 2007

MFC:プリンタ印刷をカスタマイズ

先日、MFCライブラリを使ってプリンタ印刷をカスタマイズする機会があったので、気づいたことを書いておこうと思う。

MFCでは、CScrollViewなどCView派生クラスを使えば、印刷はCView::OnFilePrint()をメニューに登録し、呼び出すだけで印刷ができる。この際には、OnPreparePrinting()を再定義してDoPreparePrinting()の一行を記述する必要がある。CView::OnFilePrintPreview()を使えば何を変更することもなくプレビューができる。

縦横(Portrait/Landscape)など印刷する紙の向きなどカスタマイズする際には、CWinApp派生クラスで定義されている、m_hDevModeを変更する必要がある。m_hDevModeは外部からアクセスできないため、CWinApp派生クラスで値を変更せねばならない。つまり、このようなコードを書かねばならない。

void CMyApp::SetOrientation(short orientation)
{
CPrintDialog printDlg(FALSE);

BOOL bRet=GetPrinterDeviceDefaults(&prinDlg.m_pd);
if(bRet)
{
DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(m_hDevMode);
pDevMode->dmOrientation=orientation;
::GlobalUnlock(m_hDevMode);
}
}

CView派生クラスでは、DoPreparePrinting()を呼び出す前にCWinApp派生クラスで定義された上記のSetOrientation()を呼ぶと、紙の向きがカスタマイズできる。

BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
int imageWidth=m_pImage->GetWidth();
int imageHeight=m_pImage->GetHeight();

CPhotoAlbumApp* pApp=(CMyApp*)AfxGetApp();

short orientation=DMORIENT_PORTRAIT;
if(imageHeight<imageWidth)
orientation=DMORIENT_LANDSCAPE;

pApp->SetOrientation(orientation);
return DoPreparePrinting(pInfo);
}

上記のコードでは、m_pImageで指定されているCImageの縦横の長さに応じて、デフォルトでの紙の向きが指定される。

流れとしては、OnFilePrint()では、OnPreparePrinting()が呼び出され、OnPreparePrinting()を再定義してDoPreparePrinting()を呼び出すと、そこではDoPrintDialog()が呼ばれ、その際にはCWinApp派生クラスのm_hDevModeが指定されるので、OnPreparePrinting()においてDoPreparePrinting()の前にm_hDevModeを指定することになる。

火曜日, 10月 30, 2007

ヤフー検索には「アダルトフィルタ」がついている。

ヤフー検索は、グーグルの向うを張って努力しているらしい。言語指定がグーグルより正確であるのみならず、ヤフー検索には「アダルトフィルタ」がついている。高・中・低とフィルタのレベルを指定するようになっている。デフォルトでは中になっている。

言語指定がいいかげん、というのは、言葉に思い入れのある人間には重大な欠陥で、「我輩は猫である」の英訳を考えれば分かるように、翻訳で失われる情報は考えられているよりも大きい。「天下り」の英訳はgolden parachuteだという。パラシュートでは、失われる血税のにおいが伝わらない。

天下りは、恩義の貸し借りではなく、組織だった官僚と業界との癒着である。現職時代に予算を約束し、退職後に天下って団体から退職金その他で億円を稼ぐ。恩義を返す「必要」はないので結局は組織的な癒着、賄賂である。

→ 防衛省、613人天下り 山田洋行含む242社に (2007-11-6)

ところで、IE7のグーグルバーには、グーグル・サジェスト機能がデフォルトではついていない。

日曜日, 10月 28, 2007

ふと気づいてみると、IE7は遅い。

ふと気づいてみると、IE7は遅い。いつのまにか、FireFoxのほうがロード時間が短くなっている。一瞬の真っ白画面がなんともいえない。もっとも、マイクロソフトのサイトは、どのブラウザを使っても遅い。

しかし、まだシェアはあるはずだ。と思うので、右クリックでJavascriptを走らせるのを書いてみた。レファレンスなどこのへんにある(microsoft.com、sxlist.com、Adding Entries to the Standard Context Menu)。

マイクロソフトのこのサイト。リンク切れなどあってしようもないサイトである。っと、驚いたことに、リンク切れで戻ってみると、リンクタグが失せている。あきれ果てたサイトである。ないリンクには飛べない。

結局、スクリプト探しに一日はつぶさずにすんだが、数時間は優にかかった。なんてことだ。Javaで標準化されていれば、数分で終わったものが、Javascriptであるだけでこれほど手間がかかる。変数型を指定しないJavascriptのどこがいいのか理解できない。

とぶつぶついいつつ書いたのがこれ。

<script language="JavaScript">
var win = external.menuArguments;
var doc = win.document;
var txt=doc.selection.createRange();
txt.execCommand("Copy");
</script>

書いたというほどでもないが、このへんをClipboard.htmlなどに放り込んで、レジストリに指定してやると起動する。場所はここ。HKEY_CURRENT_USER\Software\Microsoft\Internet ExplorerMenuExt

こんな記事を発表したくはなかったのだが、なにやら書かねばならない「圧力」を感じるので、仕方がない。ビルマの鉱山労働者の気分である。書かせる動機がカネではないと、どうしても強制労働になる。気のせいだといってしまえばそれだけだが、義務化された強制労働を美徳とするのは、確かに社会正義とはいえない。

しかしまあ、なんでJavascript関連サイトには、いやらしいアドとか多いんだろ。やめてほしい。とさらにぶつぶつ言いながら書いたのが、改変したテキストをクリップボードにコピーするスクリプト。

<textarea id="holdtext" style="DISPLAY: none"></textarea>
<script language="JavaScript">
var win = external.menuArguments;
var doc = win.document;
var txt=doc.selection.createRange();
holdtext.innerText = txt.text+"a";
textarea = holdtext.createTextRange();
textarea.execCommand("Copy");
</script>

もうひとつ気づいたことといえば、このブログサイトでは、タグがそのまま表示されない。HTMLとして解釈されるので、タグはすべて&lt;ではじめなくてはならない。

しかし、マイクロソフトのマニュアルは、以前より丁寧に記述してあることに気づいた。

var url = win.location.href;

この指定で、URLを得ることができる。すばらしい。

最後にもう一言。グーグル検索だと、言語が正確に指定できない。ヤフー検索のほうが正確である。それに、検索エンジンに、ドメインを排除するオプションがあってしかるべきだと思う。

土曜日, 10月 27, 2007

FireFox のアドオンを削除する

今日、ちょっとショッキングなことに、FireFoxのアップデートがてら、アドオンが使えなくなって、さらに悪いことに別のアドオンを導入すると動作が不安定になって使えなくなった。なぜか、Mouse Gesturesの設定が手動になっており、なぜだ、と思いつつAll-in-Oneを導入すると本体が立ち上がらなくなった。起動したとたんにクラッシュする。

なにが一番ショックだったかといえば、そこで安易にも自分がIE7を使い始めたことにある。IE7用のMouse Gesturesはちゃんと存在する。タブ機能もついている。なに不自由なく競争相手のIE7が使えたことに、反マイクロソフトだかなんだかのガッツを失った自分がいる。

なにも、苦労するために人生を生きているわけじゃない。なぜIE7を使っちゃいけないんだ、と思えば、FireFoxが新しくて機能が新鮮だったころを思い出す。あのころは、やる気のないIEのシェアがなぜ大きいのか理解できず、よろこんでFireFoxを宣伝したものである。確か、プロモーションもどきのバナー運動などあった。

この一連のはなしの落ちは、「アドオンを手動で削除」というつまらない結末。なにがおもしろくて、このコンピュータを使いながらの手動作業。ディレクトリを探して(ホームディレクトリのApplication Data|Mozilla|FireFox|Profilesの下のディレクトリ中のextensionsにある)削除して問題解決。(失礼しました)

水曜日, 10月 24, 2007

リチャード・ストールマン講演会

FSFの創始者であるストールマン氏の講演が秋葉原で開催され、講演に行かれた方のブログがアップされているので、興味深く読ませていただいた。

消費者の利便性が、本当の自由(フリー)を意味する、というストールマンの主張は、マイクロソフトのセキュリティーより利便性を優先する方針を連想させる。マシンよりも消費者優先の方針は、企業倫理として認識してもらいたいものである。DRMが視聴者の利便性を損なうとして、DRMフリーの曲が、アップルから高めの値段設定で販売されているという。

ストールマンはGPLライセンスのソフトが、私企業によって利用され、かつソフトの改変を不可能にする「Tivo化」に反対しているという。GPLライセンスが著作権を守り、私企業による悪用を防ぐものだという主張である。その際の著作権の定義は、他のGPLライセンスの著作物を自由に利用する権利であると同時に、企業がGPLライセンスの著作物を利用してパテントとすることを防ぐことを可能とする権利である。

→ アップル、DRMフリーの音楽配信「iTunes Plus」をスタート (2007-5-30)
→ [雑記]リチャード・ストールマン講演会 (2007-10-24)
→ リチャード・M・ストールマン(2007-10-24)

日曜日, 10月 21, 2007

ストールマン氏、1年ぶりの来日が決定:フリーソフトウェア運動を語る

あのリチャード・ストールマンが来日するという。

著作権によってコードが読めず、特許によって技術が使えない、著作権と特許によってぼろ儲けする企業は究極的にプログラマには利益を還元しないと主張し、FSFという組織を立ち上げ、GNUというプロジェクトで著作権も特許も主張しないソフトの一群を「公共のため」に提供している人物である(と理解している)。

公共のため、という部分で、(米国で)共産主義と罵られ、あるいはサポートと関連書籍で儲けるというビジネスモデルとして説明されることがある。「公共のため」のソフト、にまつわる、共産主義的な官僚主義、計画経済的な弊害は、実際のところ、日本で見ることができる。税金泥棒が、年間予算一千億円の総産研で、「フリー」として使われないソフトをやる気のない態度で配っていたり、政府が発表されない金額でフォントを買い上げて配っていたり、予算を数億かけて使われないフォントが開発されたりする。税金は、確かにフリーではないとここで特に強調したい。

しかしながら、プログラマのコミュニティーは存在し、ストールマンの主張した「コードを自由に提供できる」環境が、人々の生活を向上させていることは、恩恵を受けた人間として、はっきり断言できる。情報を享受・提供できる場の存在が、ソフトを発展させ、プロジェクトを成功させることが、資本主義の形態をとらずに可能であることは、その形態が万能ではないことを示している。人類の共有財産、あるいは事実上のコミュニティーの私有財産、という形態が、より適した分野が存在するといえる。

さまざまな伝説の付きまとう個性的な人物で、このたびの来日では、秋葉原、専修大、銀座で講演を行うという。銀座での講演は、全国情報サービス産業厚生年金基金(JJK)会館で行われ、特定非営利活動法人フリーソフトウェアイニシアティブ理事長が解説するということを特記したい。「フリーソフトウェア運動とは何か、なぜフリーソフトウェアは我々にとって重要なのか、今後どのように展開していくのか」という常に存在する問いかけに、議論が深まることが期待される。

→ ストールマン氏、1年ぶりの来日が決定:フリーソフトウェア運動を語る (2007-10-2)
→ リチャード M. ストールマン氏 特別講演会
→ リチャード M. ストールマン講演会 〜 フリーソフトウェア運動とGPLv3の現在〜

Election means voters must vote upon a set of rules that applies to EVERY SINGLE ONE OF US. Setting an arbitrary delegate and telling citizens to increase taxes is not the way democracy goes. Our taxes are on-going problems of ours. How much we have to pay this year depends on how those bureaucrats set them.

火曜日, 9月 11, 2007

ビデオカメラ、赤外線モード



デジカメの動画撮影機能が手軽で、久しくビデオカメラを使う気になれなかったが、最近、Handycam を手に入れて気に入っている。最近のビデオカメラには、赤外線モードがついており、暗闇でも撮影ができる(写真)。面白いことに、ソニーのHandycamの液晶画面は、タッチスクリーンであり、指定した場所に焦点が合うようになっている。難点といえば、miniDVなど機械部分があると、バッテリーの持ちがよくない。

金曜日, 8月 31, 2007

家電リサイクル料金

経産省は、家電リサイクル法の対象として、薄型・プラズマテレビと衣類乾燥機を加える予定という。

現在リサイクル法で指定されている家電4品目(エアコン、テレビ、冷蔵・冷凍庫、洗濯機)については、リサイクル料金を引き下げる予定という。

新たな動きとして、アメリカにおいて、ソニーはソニー製品の回収を自社で行うとし、他社の製品も有償で受け付けると発表している。

→ 薄型テレビ、衣類乾燥機も対象に=家電リサイクルで-経産・環境省 (2007-8-31)
→ 経産・環境省、家電リサイクル料金引き下げ要請へ (2007-8-21)
→ ソニー、米で自社製品を無償リサイクル (2007-8-17)

台湾エイサーはブルーレイ陣営に・次世代DVD規格

ゲートウェイ買収で話題となったエイサーは、次世代DVD規格として共にブルーレイ・ディスク(BD)を推進すると発表。

→ エイサーがゲートウェイ買収で合意、レノボ抜きPC販売世界3位に
→ 台湾エイサーはブルーレイ陣営に・次世代DVD規格 (2007-8-31)

月曜日, 8月 27, 2007

デジタル一眼レフ 上級機種、争い熾烈 ニコン、キヤノン新製品

Sony DSC-P150

手持ちのデジカメの画質が良く、グレードアップする方法に迷っている。他のコンパクトデジカメ、コンデジと比較しても格段にいい。デジタル一眼レフにするかどうか。価格が高く、製品として後ろ向きなため、踏ん切りがつかない。コンデジのほうが使いやすく、画質もモニタで見るとそこそこ、ではしかたがない。

→ デジタル一眼レフ 上級機種、争い熾烈 ニコン、キヤノン新製品 (2007-8-24)
→ デジタル一眼レフカメラ

日曜日, 8月 26, 2007

ロシアの廃線探検2

ヒマネタをあつめたGigazineというサイトがあり、一部で「大うけ」だという。

→ ロシアの廃線探検2
→ 任天堂のWii、ついに販売台数でXbox360を抜き世界一へ

資本主義の発展は、要するに金に色がないことに基づく。どんなにばかげて見えても、個人の選択で投資する、購買することで計画経済をこえる方向性が確保される。税金に寄生するプログラマに、「ソフト開発計画」でアジアのLinuxを作って公開すると、Windowsの利便性は、得られない。

木曜日, 8月 23, 2007

MFCで、ファンクションキーの入力を検出する

MFCでフレームが分割されていると、ファンクションキーなどの入力が、フォーカスのあるウィンドウにいかない。ファンクションキーは、アクセレレーターキーとして、リソースでIDを指定する。フォーカスのあるウィンドウを判別するには、以下のような手段がとれる。

CWnd *pWnd=this->GetFocus();
if(pWnd->IsKindOf(RUNTIME_CLASS(CJukeBoxView)))
...
else
...

日曜日, 8月 19, 2007

アイスランド語、イヌクティトゥット語

アイスランド語は、9世紀の北欧語をよく保存するという。ノルウェー語(ブックモール、ニューノルスク)、スウェーデン語、デンマーク語に近い言語で、ドイツ語、英語に近い単語も多い。3性4格、不定形と定形がある。発音面でいうと、歯擦音が多く、穏やかな印象を与える。

アイスランド語には、英語、ドイツ語などと類似する格変化があり、属格でsつく。過去形でt/ðがつく。面白いのは、frá, aðなど英語の前置詞に似たものがあり、I have (to have)がhef (hafa)となる。

→ CDエクスプレス アイスランド語

アイスランドは、人口30万の漁業立国であり、観光客は150万人にものぼるという。一人当たりGDPは37000ドルを超え、自動車保有台数が日本より多い。漁業権がらみでEUに加盟はせず、独自通貨を持つという。NATOに所属し、去年米軍が撤退している。沿岸警備隊には150人が勤務するという。輸出のうち半分以上を水産品が占め、水力、地熱などのエネルギーをアルミ精錬に利用するという。

アイスランド語でアイスランドは「イスラント」(Ísland)であり、島のことは「エイヤ」(eyja)という。

フェロー諸島には48,219人、グリーンランドには、56,385人が居住し、それぞれデンマーク語のほか、フェロー諸島ではフェロー語、グリーンランドではカラーリット語(イヌイット系)が使用される。

イヌクティトゥット語のフォントはヌナブト準州政府制作のフォントページからダウンロードできる。

水曜日, 8月 15, 2007

NHKのラジオ語学講座

NHKのラジオ語学講座は、テキストが有料でオンラインで読めない上、さらにAMラジオでないと放送を聞くことができない。iPod などMP3プレーヤーで聞くにしても、ラジオ放送を録音し、何らかの方法でダウンロードしなければならない。

公共放送である英BBCのサイトでは、スコットランド・ゲール語、ウェールズ語を含めて、言葉の学習用のサイトに自由にアクセスできる。

→ Learning English

スコットランド・ゲール語は、アイルランド語と同じ起源を持つ、ケルト系の言語だという。

→ Beag air Bheag
→ スコットランド・ゲール語
→ Scottish Gaelic

金曜日, 7月 20, 2007

オーストロネシア諸語

オーストロネシア諸語は、インドネシア語、マレー語、フィリピノ語、ハワイ語、ミクロネシア、ポリネシア、メラネシア、マダガスカルのマラガシ語(Malagasy)語を含む、マダガスカルからイースター島までの地域で使われる言語からなる語族である。大きく分けて、東オーストロネシア諸語(オセアニア諸語)、西オーストロネシア諸語に分類される。オセアニア諸語は、タヒチ語、トンガ語、フィジ語、モトゥ語、トラック語を含む。西オーストロネシア諸語は、タガログ語、マレー語、インドネシア語、ジャワ語、チャモロ語(北マリアナ諸島)、パラオ語(ベラウ)を含む。台湾のオーストロネシア諸語の帰属は、議論が分かれているという。

言語年代学(glottochronology)によると、東オーストロネシア諸語は、紀元前2、3000年から、西オーストロネシア諸語は紀元前1000年から分化したとされている。Otto Dempwolff によると、原始オーストロネシア語は、母音をaieu、子音をptTck bdDjg q mnnyng lrR hszZ wyとする CVCVC, CVCCVC形の語を持つ言語であるという。Andrew Pawley, Robert Blust によると、名詞から動詞へ派生、前辞、後辞によるアスペクトや態の指定、音節の繰り返しによる表現、否定詞、形容詞、数詞が動詞として使用される、人称代名詞が主格、所有格、目的格をとり、1人称複数に、聞き手を含むものと含まないものが区別されること、などを特徴とするとしている。

台湾のオーストロネシア諸語は、北部と中央部のものに大別され、北部では、アタヤルAtayal語、セーディクSeedik語、サイシヤットSaisiyat語が、中央部ではアミAmi語、パイワンPaiwan語、ブヌンBunun語、サオThao語などが使用されているという。カナブKanabu語、サアロアSaarpa語、ツォウTsou語などは、帰属が不明という。

西オーストロネシア諸語のいくつかに存在する、そり舌音は、サンスクリット経由だという。母音は、マアニャン語、マラガシー語で4つ、マライ語、バリ語で6つ、スンダ語で7つ、ジャワ語で8つあるという。

東インドネシア諸語は、マカッサル海峡からフォーヘルコップ半島にかけて使用されている言語で、ブギBuginese語、シジャイSidjai語、ドゥリDuri語、マンダルMandar語、ケンダリKendari語、ムナMuna語、ブトゥングButung語、シッカSikka語、エンデEndeh語、ソロルSolor語、ハヴHavunese語、スンバSumba語、アンボンAmbon語、ブリBuli語、ミニャフインMinyafuin語、ビガBiga語、アスAs語、ボンベライ半島・セラム半島の小言語群などが含まれるという。サレラ湾以西は帰属が不明という。

このような言語に対する資料はネット上に少ないため、英語での表記が欠かせない(検索のため)。表記のゆれがあり、マダガスカル語と、マラガシー語、マラガチー語は同じものである。

→ 講座言語 第6巻 (6) (単行本)

月曜日, 7月 16, 2007

ハフマン符号

ハフマン符号という、「文字を数値化する」アルゴリズムがある。数値化する際に、01で表される符号の長さを「最大限に短くする」アルゴリズムである。符号の長さには、理論値というものがあり、その長さは情報の複雑さを表すエントロピーによって制限される。ハフマン符号化アルゴリズムでは、その最短の符号を計算することができる。

ハフマン符号化アルゴリズムは、通常、ツリー(木)と呼ばれる図で表されることが多い。文字の出現頻度によって、ツリーを構成していくという形をとる。この場合のツリーとは、二分木と呼ばれるもので、上からたどっていくと、「葉」の位置に配置された文字の符号が表現できるというものである。



この図はミシガン大学のサイトからお借りしたものであるが、頂点から末端まで、0・1と書かれた枝を追っていく。最終的に、Aにたどり着くまでには「100」、Eでは「0」、Iは「1011」、Oで「11」、Uで「1010」と、符号がツリーによって表現できていることが分かる。この符号(100,0,1011,11,1010)は、AEIUOの各文字を、重複なく表現できており、途中でどの文字であるか分からなくなる、ということがなく、一意に表すことができる。そして、この符号は、可能な限りでの符号のうちで、もっとも短いものである。

このツリーを構成するには、文字の出現頻度、つまり文字の使われる確率によって、ツリーの「バランス」を決めていかねばならない。すべての文字が、同じ確率で出現するのであれば、すべて同じ長さの符号を表すツリーを構成する。分布に偏りがあれば、よく使われる文字を短く、出現頻度の低い文字を長く符号化するように、ツリーを構成する。

ツリーの構成方法を正確に述べると、出現頻度の低い文字を「分岐」の左右に配置するということを繰返す、というものである。まず、出現頻度の低い文字を2つとり、ツリーを構成する。そして、そのツリーの合計値を新たな要素の確率値とし、再び、出現頻度のもっとも低い要素を2つとり、ツリーを構成する。このようにツリーを構成すると、常に出現確率の低い文字の符号が長くなる。

なぜなら、確率の低い文字は、先にツリーを構成しており、新たに出現確率の高い文字を加えた場合、その符号の長さは常に長くなっていく。だから、上段の文字の出現確率は、下段の文字の出現確率よりも、常に高い。新たに選択された文字は、ツリーより短いか同じ長さの符号を持つ。なぜなら、出現確率の低い要素が先にツリーをつくるからである。

ハフマン符号化には、静的アルゴリズムと、動的アルゴリズムがある。

火曜日, 7月 10, 2007

エネループ




エネループという充電式の乾電池は、放電しないという。使い捨ての乾電池に比べ、充電式の乾電池が、「すぐ使えなくなる」ということがない、という。実際に商品のパッケージをあけて使ってみると、乾電池をそのまま使用することができた。

→ エネループ

エネループは人気商品らしく、ギフトセットまである。電圧が1.2Vと通常のアルカリ乾電池より低いため、使えない機器がある。純国産の製品だという。

→ エネループ/パナループ(緑パナ) 性能試験

日曜日, 7月 08, 2007

書籍検索サービス「Googleブック検索」、日本語版開始

書籍の全文検索が可能な、「Googleブック検索」が7月5日開始されたという。検索結果は、全文や一部で表示される。英文のほうが充実しており、「All art is quite useless.」と検索すると、「The Picture of Drian Gray」の全文が読める仕組みになっている。

→ 書籍検索サービス「Googleブック検索」、日本語版開始 (2007-7-5)
→ グーグルと慶應義塾 蔵書検索で提携 12万冊、世界に公開 (2007-7-8)
→ Googleブック検索

国会図書館では、「近代デジタルライブラリー」で、大正期の資料約7,200タイトル(約15,700冊)、明治期の資料約240タイトル(約270冊)のスキャン写真を公開している。

→ 近代デジタルライブラリー

日曜日, 6月 24, 2007

フィリピノ語(タガログ語)

フィリピノ語(タガログ語)は、フィリピンの公用語で、表記はローマ字。

→ CDエクスプレス フィリピノ語
→ ゼロから話せるフィリピノ語―会話中心

フィリピノ語は、語順が日本語、インド・ヨーロピアン系の言語と異なり、述語が主語に先行する。Erica ang palayaw ko.(Erica my nickname is). 格の適用範囲も異なる。May sulat sa inya si Erica.(I have a letter for you of Erica).

フィリピノ語では、日本語における「御」のように、po が丁寧さを表し、なんとなくユニークなのが、Thank you po.(サンキュー・ポ) Ekskyus po.(エクスキュース・ポ)などいう用法で、とにかく、po が丁寧さを表現するという。

フィリピノ語と、インドネシア語は、オーストロネジア語族に属し、単語レベルで lima (5), mata (eye), ito (this, ini in Indonesian) 類似するが、 ANG形、NG形、SA形に変化する代名詞、動詞の活用に応じて指定される主語、補語、目的語など、文法的にはかなり異なる。

フィリピノ語では、(母音とn以外で終わる)形容詞に、「な」をつけて非修飾語につなげる。偶然にも、日本語と同じ発音となる。masarap na mangga (マサラッなマンガ、おいしいマンゴー)

「北朝鮮の核実験」は nuclear test ng Hilagang Koreaで、韓国は Timog Korea となる。この場合、ng は、所有・所属を表すという。

→ 東外大言語モジュール | フィリピノ語

タガログ語の否定疑問文に対する返答は、日本語と同じように、英語とOo (Yes)/Hindi (No) が逆である。つまり、Oo, hindi siya masaya sa Tokyo.(ああ、東京は住みにくい) となる。しかし、語中の一語を否定することも可能らしい。

→ フィリピノ語文法入門

フィリピノ語のNG形は、所有・所属を表すと説明されているが、naman ng, pwede ng, や動詞など、主部、述部を表す場合があり、とにかく所有格とは違う概念を表す。他の言語では、所有形にならない場合でも、NG形をとる。数詞、疑問詞がNG形をとり、この場合は「~の」という訳語が当てはまる。isang long-range Taepodong-2 (一発のテポドンミサイル) anong oras (何時) 小辞、人称代名詞にNG形をとる名詞を続ける場合、小辞、人称代名詞にNGがつく形となる。Meron ka bang oras? (いつ到着したのか)

→ Filipino Linker

ANG形は、「主語のマーカー」として、続く語が主語となるが、定冠詞としての働きを持つため、アラビア語の定冠詞に近い役割を果たす。

フィリピノ語では、動詞が派生形をとり、VSOの文型をとる。フィリピノ語には、アラビア語と同じく、a,i,u しかなかったという。フィリピノ語は、開音節の語が多く、親しみやすい。

日本語では、~する、という風に動詞を作るが、フィリピノ語では、mag- (マッグ)という接頭辞(行為者焦点の接頭辞)をつけることによって、動詞を作ることができる。taksi (タクスィ、タクシー)という単語は、magtaksi (マッグタクスィ、タクシーに乗る、不定相)という動詞になる。これを変化させると、nagtaksi(ナッグタクスィ、完了相), nagtataksi(ナッグタタクスィ、未完了相), magtataksi(マッグタタクスィ、未然相) となる。行為者焦点の接辞には、ほかに ma-, mang-, -um- などある。

Sige, magtaksi na lang tayo. (じゃあ、タクシーでも乗っていこうよ。)

magkape (コーヒーを飲む)というのもある。Magkape muna kayo.(まずコーヒーでも飲んで。)

→ 耳で覚えるはじめてのフィリピン語

mag- 動詞のアプレットを作ってみました。 → Filipino Mag- Verbs

フィリピノ語の動詞変化では、不規則な d → r 音の交替がある。dagdag (to add), magdaragdag, dating (to arrive), darating, damdam (to feel bad), magdaramdam, dampot (to pick up), darampot (dadampot), dasal (to pray), magdarasal (magdadasal)

フィリピン語の um 動詞は自動詞、mag 動詞は他動詞、となる派生形があるという。Sumara ang pinto. (The door closed.) Magsara ka ng pintuan. (You shut the door.)

フィリピンの経済特区への出資は、日本が4割を占めるという。

→ 【フィリピン】製造業が中核、デリマ長官NNAに語る (2007-7-2)

フィリピンの言語は、中央フィリピン語と北部フィリピン語に大別され、国語であるフィリピノ語(タガログ語)は、中央フィリピン語に含まれる。中央フィリピン語には、そのほかビコルBikol, Bicol語、スバノンSubanon語、セブアノCebuano, Sugbuhanon語、ヒリガイノンHiligaynon語、イロゴIlogo語、ガパンパンガンKapampangan語が含まれる。北部フィリピン語には、イロカノIlocano,Iloko語、ボントゥBontoc語、イフガオIfugao語、イスネグIsneg語、イシナイIsinay語、カリンガKalinga語が含まれ、パンガシナンPangasinan語を含む分類があるという。どちらにも属さない、マナナオMananao語、ティルライTiruray語、ビラアンBilaan語、タガビリTagabili語、イロンゴットIlongot語、カシグランCasiguran語、タウ・スグTau Sug語、サマルSamal語などもあるという。

土曜日, 5月 26, 2007

ビルマ語の表示

ビルマ語の使用範囲 出典:University of Texas Libraries -- Perry-Castañeda Library Map Collection
ビルマ語の使用範囲


ビルマ語のフォントには、独自規格のものと、ユニコード対応のものがある。ビルマ語WikiではUnicodeに対応しているが、独自規格を使うサイトも多い。

MyaZediフォントは、独自規格のフォントである。フォントを使用するには、TrueTypeフォントをダウンロードし、Windowsのフォントフォルダ(C:\Windows\Fonts)コピーする必要がある。

Myanmar3フォントは、Unicode規格のフォントである。フォントを使用するには、圧縮ファイルをダウンロード・解凍し、mm3.ttfをWindowsのフォントフォルダにコピー、実行ファイル(Keyman)を走らせる(インストール方法は、Installation.txtを読むこと)。

Padaukフォントは、Unicode規格のフォントで、インストールするとIEでの表示が可能になる。Tools -- Internet Options -- Fonts ダイアログで、Language Script にMyanmarを選び、Padaukを選択するとビルマ語が表示される。


アウン・サン・スー・チーをビルマ語で表記すると

Aung San Suu Kyi

စုဳကည္ MyaZedi規格
စုကြည် Unicode 5.1規格


ビルマ語は、モン文字から派生したビルマ文字を使う。子音は33の文字で表すが、26文字を一般には使用する。単母音はa,i,u,e,ɛ,o,ɔ の合計7つに、軽声がある。声調は、下降調、低平調、高平調の3つ。韓国語のパッチムのように、末子音がある。韓国語のように規則的な変化ではないが、清音の表記で濁音で読むことがある。介子音というのがあり、y、w、h音を子音と組み合わせて発音する。無声鼻音という変わった発音があり、hm, hn, hɲ, hŋ, hl など、ハの音を先行させ、発音する音がある。母音は、子音の上下左右に配置し、声調ごとに異なる表記をとるため、煩雑である。さらに、末子音をとる場合、母音の発音が変化する。

→ エクスプレス ビルマ語

ビルマ語の表記で気づいたのは、介子音の表記にバリエーションがある、ということである。つまり、ဝ(ワスウェ)などとの合成文字を作る代わりに、分離して表記するやり方がある。その際には、မ္ဝのように、子音にシェトをつける。モン人မ္ဝန္‌လူမ္ယုိး

フィリピノ語(タガログ語)では、日本語における「御」のように、po が丁寧さを表すが、ビルマ語では pa (ba) となる。ビルマ語声調の発音では、高平調をより強調し、下降調は短母音として発音する。

オンラインでビルマ語が入力できるように、アプレットを組んでみました。フォントはMyaZediを使用しています。

→ Burmese Online Keyborad

ビルマ語で、宝石をヤダナーといい、警察はイエーアヤーシィー、泥棒をタコーという(「旅の指さし会話帳・ミャンマー」)。

金曜日, 5月 04, 2007

モンゴル語のオンラインコース

東外大のサイトに、「モンゴル語文法モジュール」があって、詳しい解説がレッスンごとに読めるようになっている。「大学のフンイキ」を楽しめるのもさながら、図書館でも資料を集めるのが困難なモンゴル語の教材があって、すばらしいと思う。難を言えば、演習問題に、枠からはみ出たり、語順が逆だったりする設問があって、フィードバックするべきだと思わせるところがある。

→ モンゴル語文法モジュール

モンゴル語には未来形がなく、現在形と同じ形をとる。-на/нэ をつける。疑問形は、-хをつけ、疑問を表す助詞をつける。コピュラ動詞の疑問形だけは、現在形の場合、байна уу の形をとる。語幹は、子音で終わる場合に母音を挟む。 ь で終われば、и に変化させる。否定形は、-хをつける形にгүйをつける。

モンゴル語では、Хэдэн төгрөг вэ? だという。э の長母音はそれらしいが、短母音は и と発音しているように聞こえる。Хэд という疑問詞に、「隠れた н 」が付く形式で、モンゴル語の活用には、「隠れた г 」というのもある。

疑問文には、男性名詞・女性名詞の後で、уу/үү をつけるが、長母音・二重母音の後では、それぞれ юу/юү となる。疑問詞がつくと、вэ/бэ がつくが、в・л・м・н の後では、бэ がつくという法則がある。

動詞の変化は4つ。終止形・希求形・形動詞形・副動詞形。なんと助詞ではなく、補助語幹なるものがある。過去・終止形は、-лаа/-жээ/-в(文語) で、-лааで主観が含まれるという。-жээは、р、сで終わる動詞の場合、-чээの形をとる。例外は、短母音1音節の、モンゴル文字での表記が母音で終わる動詞。ав-чээ(取った)、өг-чээ(与えた)は例外的に、-чээの形をとる。短縮形は、-ж/-чで、сで終わる動詞の場合には、-жをとる。

-в/-л уу の接続するとき、子音字で終わる動詞には短母音がつき、 語幹末の ь を и に変える。

疑問文は、疑問詞なしで-л уу?-ж уу?-в уу?、疑問詞の着く場合には-лаа?-ж вэ?-в?。

副詞と形容詞は変化しない。

モンゴル語で、辞書をビチクという(単なるだじゃれである)。

モンゴルの行政区画「アイマグ」のアプレットを作ってみました。→ Aimags -- Mongolian Provinces

月曜日, 4月 23, 2007

こうすれば話せる CD ヒンディー語

東外大のオンライン・モジュールに、ヒンディー語のモジュールはない。しかし、朝日出版の「こうすれば話せる」シリーズの会話のオンライン版がある。会話に出てくる単語すべてを、辞書引きしてくれる機能がついている。東外大サイトにある。

→ こうすれば話せる CD ヒンディー語
→ こうすれば話せるCDヒンディー語 (単行本)
→ 東外大言語モジュール

日曜日, 4月 01, 2007

テレビの色をより自然に--次世代の色空間規格「xvYCC」

より広い色彩を表現できる、xvYCCという規格が、液晶テレビやビデオカメラなど、ハイビジョン対応機器に使用されるという。従来の色彩表現RGBと互換で、さらに諧調ビット数が多いという。

→ テレビの色をより自然に--次世代の色空間規格「xvYCC」
→ xvYCC
→ Google 検索: xvYCC

月曜日, 3月 26, 2007

JPEG Viewer Plug-In

U. of Florida spent tax money on making plug-in -- to view jpeg images. Exactly like Japanese counterpart tax theives. JPEG viewer plug-in! What is that for?

Copyright?

→ UNIVERSITY OF FLORIDA HERBARIUM DIGITAL IMAGING PROJECTS

木曜日, 3月 08, 2007

台湾語について

台湾では、台湾語の話者が75%、客家語が13%、その他漢語が10%、2%はアタヤル語、セデック(タロコ)語、サイシャット語、ツォウ語、カナカナブ語、サアロア語、ルカイ語、パイワン語、プユマ語、アミ語、ブヌン語、ヤミ(タオ)語を使用するという。

→ 台湾語について


台湾語のオンライン辞書はこちら

→ 台語詞典 (Taiwanese dictionary)

華碩 ASUS
新力 SONY
公斤 = kg

→ LED背光薄螢幕NB 更省電(2007-3-8)

中華人民共和国(コミュニスト・チャイナ、中共)では、普通話を約半数の中国国民が使用するという。

火曜日, 2月 27, 2007

日本の野鳥を分類し、一覧できるように、Javaアプリを組んでみました。

Motacilla alba

写真は、ハクセキレイ。顔が白く、目に黒い線が通っているのが特長だそうです。保護色でまぎれてますが、拡大して見てみてください。

日本の野鳥を分類し、一覧できるように、Javaアプリを組んでみました。

こちらです → 日本の野鳥
写真は、ハクセキレイ。顔が白く、目に黒い線が通っているのが特長だそうです。

Javaアプリで、日本の野鳥を分類し、一覧できる

月曜日, 2月 26, 2007

JTree, TreeNode (DefaultMutableTreeNode), And TreePath Classes

JTree class is a handy tool to manipulate tree structured data. It takes care of how the data is presented graphically, and does all the editing, adding and deleting of the tree nodes. I would like to put a few notes, or precautions, for JTree and all related classes, which would makes it more valuable to Java programmers -- since all JTree, TreeNode (DefaultMutableTreeNode), and TreePath classes are involved, and the documentations might not be there for -- those who need them.

First of all, you must have this in mind -- JTree takes care of how the tree is presented whereas DefaultMutableTreeNode does all the structual data manipulation such as adding or deleting a TreeNode. My point here is this -- there are JTree and DefaultMutableTreeNode and JTree is not equipped with method that can access to a TreeNode object. JTree must access to TreeNode via TreePath. The following code shows the process, to collapse a tree node.


TreeNode list[]=node.getPath();
TreePath path=new TreePath(list);
tree.collapsePath(path);


The TreePath can point to a TreeNode, and PathComponent and TreeNode is used in method names interchangeably, so this can be confusing. This line shows how to get the selected TreeNode of a JTree.


DefaultMutableTreeNode selectedNode=
(DefaultMutableTreeNode) tree.getLastSelectedPathComponent();


Lastly, this will collapse all the TreeNode in a JTree.


void collapseNode(DefaultMutableTreeNode n)
{
for (Enumeration e=n.postorderEnumeration(); e.hasMoreElements() ; )
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)e.nextElement();
TreeNode list[]=node.getPath();
TreePath path=new TreePath(list);
if(!node.isRoot())
{
tree.collapsePath(path);
}
}
}

日曜日, 2月 25, 2007

BugMeNot -- 公開ユーザー情報のレポジトリ

ユーザー登録を要求するサイト対策に、BugMeNot という公開ユーザー情報のレポジトリがあります。

わずらわしいユーザー登録も、これで一挙にパス!できます。

IDとパスワードを要求するサイトに、このオープン・ユーザー情報でログインすると、ユーザー登録のために、いちいちフォームに書き込んで...手間がはぶけます。

企業に、情報を渡す、その情報を企業が利用する...などいう、精神的な苦痛を逃れるためにも! ぜひ利用してみてください。

BugMeNot のサイトはこちら → BugMeNot

FireFox には、便利なエクステンションがあります。 → Install BugMeNot 1.3

土曜日, 2月 24, 2007

The Use of A Thread Class

Here is a short reminder for Thread class -- the use of a Thread class in a class that implements a Runnable interface. My point is pretty simple. Supply _this_ argument at construction time! The file will compile all right but the thread won't start if the argument is null.

If you ever care, try with this one. The following link will lead you to the page that will start a Java applet that shows a circle that changes its size with time. The source file is linked on that same page. Here is this:

Thread thread=new Thread(this);

→ ThreadTest

金曜日, 2月 23, 2007

米、夏時間の開始日を3月11日に変更

米国の夏時間の開始日が、3月11日に変更されたため、ソフトウエアのアップデートが推奨されています。

ALERT: U.S. Time Zone Changes March 11, 2007
The U.S. is in the process of changing the observance of Daylight Savings Time (DST). Update your JRE.

→ U.S. Daylight Saving Time Changes in 2007

Java SE Download → Java SE Downloads

→ Microsoft,夏時間に起因する問題を警告

木曜日, 2月 22, 2007

ヒンディー語の入力

WindowsのIMEで、ヒンディー語の半子音を入力するには、子音の入力後、ハル(QWERTY配列で、D)を入力し、次の文字を入力すると得られる。

→ Keyboard layouts

परमाणु बम parmanu bomb, atomic bomb

ナーガリー文字を学びたい人に↓

→ ヒンディー語のかたち (単行本)

ナーリヤル・パーニー(नारियल पानी ココナツ水)売りの声の録音がある(ここをクリック)。ココナツ水を、懸命に売り歩く、インド人の生活がある。迫力がある。

火曜日, 2月 20, 2007

Java AWT Font setting and TimeZone setting for DateFormat

I just noticed a few things while testing a refurbished machine so I am writing those out here for those who might get stranded in such things. The first one is about AWT Font class. The Font obtained from the Graphics objec won't be used to derive other types of Font object with different font sizes and so on. The way to change fonts is just to create one.

Font large=new Font("Sans Serif",Font.PLAIN,50);
g.setFont(large);

Another thing is about Calendar and DateFormat matter. It is about setting TimeZone. It just is that using DateFormat.setTimeZone(TimeZone) is the way to do it and not to get instance of the Calendar object. Like this:

TimeZone est=TimeZone.getTimeZone("US/Eastern");
Calendar calendar=Calendar.getInstance();
Date date=calendar.getTime();
dateFormat.setTimeZone(est);
String estTimeString=timeFormat.format(date);

Perhaps the above can be illustrated more precisely in a running application. Here is a source file of a Java clock application that shows the time and date in JST and EST time -- Japan and Eastern Standard Time. The application should compile with JDK 6.0.

→ Source: JavaClock.java

(The above file is modified to adjust the text width in various language environment as of 2007-02-22)

木曜日, 1月 18, 2007

モンゴル語のフォント

モンゴル語は、モンゴル共和国、中国の内モンゴル自治区、ロシアなどで使用され、表記には、キリル文字(ロシア文字)またはモンゴル(蒙古)文字を使用するという。

モンゴル共和国では、キリル文字を基に独自の文字 Ө-ө, Ү-ү を加えた文字を使用、Windows XP では Mongolian (Cyrillic) として標準装備されている。

 一方、(古典)モンゴル文字の使用は、内モンゴル自治区でより盛んだという。モンゴル文字の表記は、複雑である。語頭、語中、語尾で形が異なる。続く母音によって、微妙に異なる形をとる。モンゴル語は、後置詞をとる膠着語である。

→ Unicode Fonts -- Mongolian

アルタイ語系であるモンゴル語には母音調和がある。疑問の助詞 yy/үү 「か?」では、単語の最後の母音が a,o,y では yy が、э, ө, ү, и, ий では、үү が使われる。

 Сайн байна уу? サェン・バェノー?
--------- (Sajn bajna uu?)「How are you?」
 Үүнийг өгнө үү? ウーニーグ・ウグヌー?
--------- (Üüniig ögnö?)「これをいただけませんか?」

つまり、モンゴル語の母音は、a,o,y,я,ё を含む男性母音とэ,ө,ү を含む女性母音、и, ий など中性母音に大別され、単語の最後の母音に応じて、接続する付属語が「母音調和」する。

モンゴルの曜日名をあげてみると、数詞に-дахь/-дэх のいずれかを接続する際に、数詞の最後の音節の母音がa,o,y,я,ё を含む男性母音であれば-дахь ダッヒが、э,ө,ү を含む女性母音であれば-дэх デッヒが接続する。

 нэг(1)+дэхでは、нэгдэх өдөр
------(月曜日、negdekh ödör ネグデッヒ・ウドゥル)
 хоёр(2)+дахьで、хоёрдахь өдөр
------(火曜日、khoyördakhi ödör ホヨルダッヒ・ウドゥル)
 гурав(3)+дахьでгуравдахь өдөр
------(水曜日、gurawdakhi ödör ゴロウダッヒ・ウドゥル)
 гөрөвдэх өдөр
------(木曜日、göröwdekh ödör ドゥルウデッヒ・ウドゥル)
 тавдахь өдөр
------(金曜日、tawdakhi ödör タウダッヒ・ウドゥル)

土曜日はなんと、хагас сайн өдөрハガス・サェン・ウドゥル「半分良い日」、日曜日はбүтэн сайн өдөрブトゥン・サェン・ウドゥル「完全に良い日」となるという。

→ ゼロから話せるモンゴル語
→ Online English Mongolian Dictionary

金曜日, 1月 05, 2007

チベット文字の表示

チベット語は、2300年前のブラーフミー文字に起源を持つ、チベット文字で記述される。上部に横線のあるものをウチェン(有頭体)文字、ないものをウメー(無頭体)文字という。最古のチベット文字は8世紀の碑文として刻まれているという。

→ 図説 アジア文字入門 (ふくろうの本/世界の文化)

チベット文字を表示するには、IE ではそのまま表示できる。FireFox でのチベット文字フォントのインストールは、THDLのサイトに詳しい。

→ Unicode Tibetan Computing Help

まず、Tibetan Machine Uni Jomolhariなどのフォントをインストール。ダウンロードした圧縮ファイルを解凍し、チベット文字フォント「TibetanMachineUniAlpha.ttf」を、Windows ディレクトリにある、Fonts ディレクトリにコピーする。あとは、FireFox のフォントの設定。FireFox の Tools メニューより、Options 設定にある、Fonts & Colors の Advanced 項目で、Other Languages のフォントに「Tibetan Machine Uni」を設定すると表示できるようになる。

さらに正確に文字を表示するには、「Install USP10 Only Utility」を起動し、USP10.DLLファイルをアップデートする。アップデートした USP10.DLLを FireFox.exe と同じディレクトリに保存し、FireFox を再起動すると、チベット文字がつぶれずに表示される。アップデートされたかどうかは、上記のTHDLのサイトでチェックできる。

→ チベット

ラジオ自由アジア(RFA)のサイトでは、チベット語の表記に独自のフォントを使用している。

→ インストール方法はこちら(英文)



JavaベースのOpenOffice では、チベット語をサポートしている。チベット語の入力方法についてはこちら。

→ Tibetan Input Tools

チベット文字は、上下および前後に文字を重ね、一文字として読む。上に書かれる「冠」文字は r,l,s の3文字、下に書かれる「脚」は、r,y,l,w,' の4文字。前に書かれる前置字は、g,d,b,m,' の5文字。後に書かれるのは、g, ng, d, n, b, m, ', r, l, s, 'i の10文字。さらに、s は続けて後に書かれることがある(gs,ngs,bs,ms)。これら文字の複合体が、一音節を構成する。

→ Tibetan Calligraphy

ひらがな、カタカナ、漢字、ハングルは、音節を表す文字であり、一文字で発音ができる。一方、アルファベットでは、子音と母音がそれぞれ別の文字に適応されており、区切れの分かりにくい場合があり、アポストロフやハイフンで句切れを示すこともある。チベット文字の場合には、アブギダといい、アルファベットであるが、各文字の前後上下に別の文字が置かれるため、句切れがあいまいになる。そのため、チベット文字では、アポストロフに似た記号で、音節を区切る。

チベット語では、般若心経の、サンスクリットの音写である「羯諦羯諦波羅羯諦波羅僧羯諦菩提薩婆訶」の部分を、やはりག་ཏེ་ག་ཏེ་པཱ་ར་ག་ཏེ། པཱ་ར་སཾ་ག་ཏེ། བོ་དྷི་སྭཱ་ཧཱ།「ガテーガテーパーラガテーパーラサンガテーボディスヴァーハー」と読むという。

→ རིན་ཆེན་སྡེ 般若心経(はんにゃしんきょう)
→ 往ける者よ、往ける者よ、悟りの岸へ全く往ける者よ、 あなたがたのさとりと安らぎの、成就されんことを
→ go, go, go beyond, go thoroughly beyond, and establish yourself in enlightenment.
→ 般若心経 (単行本)

チベットの歴史は、周の時代に羌(きょう)と呼ばれていた時代にさかのぼるという。ソンツェン・ガンポ(?~649年)は首都をラサに制定、唐と同盟を結んでいる。ティソン・デツェン(742~797年)の時代に南詔と結び、唐の長安で戦い、レルパチェン(806~841年)の時代822-23年には和平を結んでいる。ティソン・デツェンはパドマサンバヴァー(グル・リンポチェという敬称を持つ)によって初の僧院サムイェー寺を建立、仏教を国教化。

チベット亡命政府首相はリンポチェという名であるが、宝石という意だという。チベットでは、豚(無知)、蛇(怒り)、鶏(欲望)を業(カルマ)のシンボルとするという。チョルテンとは仏塔をいうという。

神話時代のチベットは、「王統明示鏡」に描かれており、最古の仏教史書は「学者デウの仏教史」という。

841年のランダルマの統治を境に、それまでのチベット仏教を前伝期、古訳、ニンマ派、その後の教えを後伝期、新訳、サルマ派と呼び習わすという。

仏教を弾圧したとされる、悪名高いランダルマ王は、暗殺され、その子孫ウースンは西チベットに逃れ、キーデニマグン王はグゲ王国を建設したという。グゲ王国のララマ・イェシェーウー王は、インドからアティーシャを招聘するよう遺言し、アティーシャはチベットへ渡り、チャンチュプウー王のもと、リンチェンサンポと会見し、菩提道灯論を著したという。アティーシャの教えはドムトゥンに引き継がれ、カダム派として確立した。カダム派は、現在のゲルク派に引き継がれているという。

チベットという名前は、テュベット、トゥバット、というトパン、トプット(吐蕃)に由来するという。伝統的に、ウー・ツァン、カム、アムドの三地域のチベット(ポ・チョルカ・スム)と呼び習わすという。中央チベットをチューキ・チュルカ(法の州)、カムをミイ・チュルカ(人の州)、アムドをタイ・チュルカ(馬の州)といい、ダライラマ法王はアムド出身、ペマ・ギャルポ氏はカム出身という。「イ,འི」というのは、所有(~の)を表す助詞で、名詞が後置詞を持たないときに用いる(後置詞のあるときは「キ,གི」を使う。

現在のダライ・ラマ制度の設立は、ツォンカパによるゲルク派の設立にさかのぼるという。ソナム・ギャンツォはダライ・ラマ3世としてアルタ・カンによって認定されたのが歴史的経緯という。政治的混乱の後、ダライ・ラマ5世は1622年即位、ポタラ宮に住み、チベットを再興させ、パンチェン・ラマ制度を設立。その後、モンゴルと清の支配を受けた後、ダライ・ラマ13世の時代に1913年にチベットは独立する。現在のダライ・ラマ14世は、1940年に即位している。

→ チベット フランソワーズ・ポマレ著

ネットで、中国軍の1956年の東チベット空爆を検索すると、この本の「丸写し」をネットに載せている人間がいることに驚いた。引用は三分の一以内、というのが一般的ルールだと認識しているが、ひどいものである。

→ 考えられない感覚がまかり通る国家の危うさ

「チベットはいかに中国に侵略されたか」という本を読んだ。女性への虐待を興味本位で描いており、不愉快な面もあるが(ああまたか)、さまざまな面で「おもしろく」読める一冊である。このような事態が繰り返されないよう願うばかりである。

→ 中国はいかにチベットを侵略したか

チベット文字を考案したのはトンミ・サンボータ(632年に訪印)で、経典の訳出で文法が固定したのはこの時代だというが、伝承という記述もある。ティデ・ソンツェン王(776~815年)の時代にサンスクリット・チベット語辞典を編集、欽定訳語(ケーサルテェー)を制定したという。チベット聖典は、チベット大蔵経といい、カンギュール(経典部)、テンギュール(論釈部)に分類され、13世紀に書かれているという記述があったが、カンギュルの最古版が永楽版(1410年)という記述がある。書き言葉は経典によって固定されており(要確認)、これらの古典は、現在でも読めるという。方言として、中央方言、西部・東部方言、遊牧民方言、アム・カムド方言、ギャロン方言などあり、書き言葉は同一でも口語で異なるという。

→ チベット文字

チベット語のコピュラ動詞は、主観(レ, ཪེད)と客観(イン, ཨིན)を表すので別の動詞を用いる。「レ」は、一時的状態、性質を表す。語順は、SOVで日本語と同じである。形容詞は後置。韓国語にはパッチムがあり、続く助詞の種類はパッチムの有無で決まる。チベット語には、後置字があり、パッチムのように発音する場合もあるが、多くの場合、そもそも発音しなかったり、音節の発音を変える。チベット語では後置字によって、韓国語のパッチムのように、続く助詞の種類が異なる。

チベット語の疑問文は、疑問詞のあるなしで異なる語尾をとる。自称(主観)では、疑問文は「ベ,པས
」をとり、疑問詞があれば「バ, པྰ」をとる。他称(客観)の場合、疑問文は「ベ,པས」をとり、疑問詞があれば「レ,རད」をとる。

チベット語で存在・所有を表す語尾は、「ユ, ཡོད」で、否定形が「メ, མེད」。疑問文では「ヨベー, ཡོད་པས」。疑問詞を含む文であると、「ヨー, ཡོག」となる。所有を表す場合、所有主には助詞「ལ」(後置詞のある場合)または「ར」(後置詞のない場合)を付けて表す。存在を表す動詞には、འདུག་があるが、ཡོདは恒久的なもの、འདུག་は一時的な性質を表すという。

存在を表す(ある、いる)コピュラ動詞は、འདུག་で、否定形がམི་འདུག་、疑問文でའདུག་གས་、疑問詞を含む疑問文でའདོག་。
伝聞あるいは客観を強調する文で、存在を表すには、ཡོད་ཪེད་を用いるという。

興味深いことに、語尾ཡོགと、ཪེདを組み合わせた動詞があり、その場合、肯定文でཡོག་ཪེད་、疑問文でཡོག་ཪེད་པས་、否定文でཡོག་མ་ཪེད་、疑問詞を含む疑問文でཡོག་ཪད་となる。

エクスプレスでは、ラサ市のチベット名を「ལྷ་ས་」でなく、「ལྷའུ་ ས 」と表記している。地元では、「ラ」に「ウ」をつけてレーサと読むらしい。無気音なのでヘーサと聞こえるという。

チベット語の人称代名詞は、一人称(ンガ, ང་)、二人称(ケラン, ཁྱེད་རང་)、三人称(コラン, ཁོ་རང་)で、複数形には語尾(ツォ, ཚོ)をつける。

チベット語の指示代名詞は、こそあど(あれ、それ、これ、どれ)に加え、遠称に遠方の物体を指すもの(ピギ, ཕ་གི་)、遠方上方を指すもの(ཡ་གི་)、遠方下方を指すもの(མ་གི་)がある。近称(これ)はディ(འདི་)、中称(それ)はティ(དེ་)。それ(ティ, དེ་)は、名詞の後につけ、定冠詞として用いられる。

→ チベット語

日本とチベットに仏教が導入された際、共に中期密教の「金光明経」が伝来したという。

アティーシャは「菩提道灯論(ラムリム)」を書き、密教と顕教を統合した教えは、ゲルク派のツォンカパに引き継がれているという。

→ チベット人によるインド密教の受容
→ チベット仏教
→ ツォンカパ

ツォンカパ(1357-1419)は、プトゥンの教えを引き継ぎ、ニンマ派、シャル派、カギュー派 、カルマ派、カダム派の教義を学び、戒律の厳しいゲルク派(徳行派)の祖である。ゲルク派とは、リヴォ・ガンデンペー・ルクあるいはリヴォ・ゲデンペー・ルクの略で、ガンデン寺を総本山とする。ガンデンとは、弥勒菩薩のいる兜卒天のことを指すという。

プトゥン(1290-1360)は「仏教史」「十万タントラ目録」「論書目録」などを書き、ニンマ派、カギュー派、サキャ派を学び、シャル寺でシャル派を打ち立てたという。

ブータンでは、ドクミに師事したマルパ(1012-1097)-ミラレパ(1040-1123)-ガムポパ(1079-1153)の流れを汲むカギュー派の一派パクモドゥ派の分派、ドゥク派が盛んという。チベット史上最大の詩人と言われるミラレパは、イラクサを食べたといい、体色が緑で描かれる。クンブム(十万詩)を書き、後のチベット仏教に大きく影響したという。

→ ガンデン寺

ガンデン寺のティパは、ギュメ寺のジャンツェ・チュージュと、ギュトゥ寺のシャルツェ・チュージュから選ばれるという。

カギュー派の最高活仏、カルマパ17世は、2000年1月、ダラムサラへ亡命を果たしている。

→ 活仏たちのチベット―ダライ・ラマとカルマパ

日曜日, 12月 24, 2006

ラオス文字

ラオス文字は26個(+1)あり、44個あるタイ文字の、よく使われる文字26個と似た形をしている。しかも、音価が似ている。ラオス語とタイ語は互いに方言という位置づけらしい。

ກຂຄງຈສຊຍດຕ ຖທນບປຜຝພຟມ ຢລວຫອຮ ຣ ラオス文字 

フォントは、Saysettha などダウンロードし、解凍して Windows ディレクトリ下の Fonts ディレクトリにフォントファイルを置くと、ラオス文字が読めるようになる。

→ Saysettha OT (zip)Saysettha OT (zip) (65kb , 28 April, 2005)
→ Lao Fonts
→ 東外大言語モジュール | ラオス語

ラオスの正式国名は、ສາທາລະນະລັດ サーターラナラット「共和国」 ປະຊາທິປະໄຕ パサーティパタイ「民主主義」 ປະຊາຊົນ パサーソン「人民」 ລາວ ラーオ「ラーオ族」

→ ラオス (2006-12-24)

米国人は、「彼らはいつかアルファベットを使うだろう」と言う。そして日本人は、「彼らはいつか漢字を使うだろう」と言う(笑)。

言葉の意味と、表層的な表現手段は、関連性がほとんどない。漢字を持ち上げる際には、漢字には体系がある、という方向を訴えるべきである。漢字が直感的に日本人に訴えかけるのと同様に、アルファベットが、使用する人間に、まさに「直に」語りかけてくることを忘れるべきではない。

象形文字は、言葉を表すのに「意味」を考えなければならない表現手段として、アルファベットなど表音文字に比べ、「未開」という一般見解がある。 つまり、電子計算機、というように、電子+計算機と考えている時点では、それは言葉として定着していないということを意味する。これが「うざい」という本能的な方向付けによって(笑)、パソとなって言葉となる。

既得権の持ち主にしか知り合いがいない場合、拉致問題が理解できず、一般国民に公開処刑を行っている中国の現状も理解できなくなるらしい。

水曜日, 12月 13, 2006

カンボジア語(クメール語)の入力

カンボジア語(クメール語)を入力するには、マイクロソフト社のWordViewer、KhmerUnicode1.2.5.FindUsp.exeをインストールする。カンボジア語IMEは、IMEの言語リストに、Catalanカタロニア語として登録される。標準的なカンボジア語には声調がないという。終音がある。

カンボジア文字は、同じ発音に、A子音とO子音があるほか、ハングルでそうであるように、d-t, s-h, r-無音、のように、頭音と終音の発音が異なる場合がある。さらに、子音が重なる場合には、脚と呼ばれる形をとる。母音は、つく子音そして続く子音によって発音が異なる。発音を変えるための記号が多く、文字の組み合わせによって、まったく異なる連結文字を使用する。

→ クメール語unicode文字を正しく表示させるには?
→ カンボジア
→ クメール語
→ Khmer

東外大では、カンボジア語のオンライン・コースがある。

→ 東外大言語モジュール カンボジア語

「中共は今に至っても、国際社会のクメール・ルージュに対する公開裁判を阻止している」(大紀元)という指摘がある。

→ 【第一評】共産党とは一体何ものか
→ カンボジアのクメール・ルージュ特別法廷が始動
→ カンボジア:大量虐殺に関わるフンセン裁判延期か? (2006-12-7)

カンボジア語の語順は徹底して日本語のものと逆で、主語は文の先頭にくるものの、SVO文型をとり、前置詞がある。形容詞は被修飾語の後に来る。「日本から」という場合に、ピー(~から)+スロック(国)+チャポン(日本)、の順番になる。「この大きなカバン」だと、ヴァリヒ(カバン)+トム(大きな)+ニヒ(この)、の順番となる。



→ CDエクスプレスカンボジア語

カンボジアは日本が国連PKOに参加した初めてのケースであり、日本はカンボジアにおける最大の援助国である。カンボジアの国民議会では、フン・セン首相の率いる人民党が123議席中73議席を占めており、第一党である。最大野党の王党派フンシンペック党は26議席で、フンシンペック党のラナリット元首相は王族だという。副首相、閣僚は双方の党から出ている。国民議会議員の任期は5年で、最近には2003年に選挙が施行された。上院は1999年に新設され、国民議会および地方評議会議員、国王による制限選挙によって上院議員を選出する。

1999年にASEAN、2004年にはWTOに加盟。カンボジアは王国であり、2004年にはシハヌーク国王が引退、シハモニが即位。独立(1953年)・革命(1970年)・共産化(1975年)というカンボジアの歴史は、その後のプノンペン政権と既存政党との内戦(1979年)、1991年のパリ和平協定、1992年の国連PKOにいたるまで、地雷を含めてカンボジア国内に大きな傷跡を残している。プノンペン政権のヘン・サムリンは、人民党の名誉職についている。

王族が野党の党首になるようでは、正当な選挙とはいいがたい。さらに、上院が下院の選挙で選出されるようでは二院制の意味がない。地雷があっては工場の設立が困難であり、カンボジア国内の治安は良いとは言えない。

→ カンボジア人民党

政府はカンボジアへの援助を増額するという。

→ Japan to Increase Investment in Cambodia (2007-1-26)



カンボジアの数体系は、なんと「5進法」で、6(プラムムォイ)は5(プラム)+1(ムォイ)で表される。7(プラムピー)は5+2(ピー)。8(プラムバイ)は5+3(バイ)。9(プラムブォン)は5+4(ブォン)。

→ 東外大言語モジュール|カンボジア語(メニューのフラッシュが使いにくい)

火曜日, 12月 12, 2006

Writing to/from the system clipboard in Java

You can write to/from the system clipboard in Java. For example;

1. Reading from the system clipboard

Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
String buf;
if ((contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor))
{
try
{
buf=(String)contents.getTransferData(DataFlavor.stringFlavor);
}
catch (Exception e) {e.printStackTrace();}
}


2. Writing to the system clipboard

Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
if ((contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor))
{
clipboard.setContents(new StringSelection(tag),null);
}

日曜日, 11月 12, 2006

Vistaのライセンス規約変更で移行回数無制限

Windows Vistaのライセンス規約が変更され、移行回数は無制限となった。海賊版問題は、社会的に解決して欲しい。

→ Vistaのライセンス規約変更で移行回数無制限

水曜日, 10月 18, 2006

Windows Vista のライセンス

マイクロソフトは、近々発売される、Windows ビスタのライセンスの形態を変更すると発表したらしい。OSの再アクティベーションは、一度限りにするという。PCのアップグレードするのは「マニア」であるので、メーカー製のPCを、OSとセットで買わせようというビジネス・プランらしい。

これが、何を意味するかというと、OSが移行できず、ハード構成を変更できない。ところが、ハードディスクやCPUなど、ここ数年、数ヶ月で性能がアップし、買い換えを迫られることはまず確実といえる。メーカー製のPCを買い換えるのには、サイクルとしては短く、費用対効果で割高である。ハード構成を変更するユーザは、5-6千万人という分析がある。

独占OSであるということが、問題を大きくしている。正直、「横暴」としか思えない。PCの発展は、パーツが、周辺機器がモジュールであって自由にユーザーが選択し、変更できるからこそ可能だったといえる。ライセンスの制限は、利用者の選択肢を狭め、発展を損なう。

PCの価格で、OSの占める割合は、1万円を超えるという。ライセンスに制限があれば、OSなしのモデルを販売できない。PC価格の上昇は、普及を妨げると言える。付加価値の高級路線は、新たな周辺機器、パーツの普及さえ阻害することとなる。再インストールが自由にできなくて、メモリ増設の保障を誰がするのか。

PC部品の選択を、デルやHPなどメーカーにすべて任せるわけにはいかない。企業カルテルで、ユーザーの利便が損なわれることのないようにしてほしい。「ハードディスク増設」「新しい周辺機器」「最新CPU」のもたらす、ユーザーの期待と動機を、マイクロソフト社が考慮するように願う。

→ Windows Vistaのライセンス体系が変更,マニアに厳しいものに

水曜日, 10月 04, 2006

Adding ODBC Drivers in the System Registry

The Windows applications communicate with database servers via ODBC drivers. The ODBC driver can be added/modified in the "Data Sources" dialog which is in the Administrative Tools. There are too many cases where you must register the driver manually, but here is how you can set proper values in the system registry so that the driver section will appear in the driver listing in the dialog.

1. Add an entry of the database driver in
     HKEY_LOCAL_MACHINE  
SOFTWARE
ODBC
ODBCINST.INI

2. Set parameters for the entry.
3. Add a string value in
     HKEY_LOCAL_MACHINE
SOFTWARE
ODBC
ODBC Drivers

Flask の Blueprint のテンプレート問題

  Flask の Blueprint は、ルート、静的ファイル、テンプレートをまとめて管理できます。しかし、テンプレートが指定できません。 ここでは、Blueprint の template_folder の問題点と回避策を説明します。 Blueprint のテンプレート問題...