<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>input-method &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/input-method/</link>
	<description>Feed of posts on WordPress.com tagged "input-method"</description>
	<pubDate>Fri, 25 Jul 2008 22:54:21 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Japanese input method in KDE 3.5 (Hardy Heron)]]></title>
<link>http://pebblesinthesand.wordpress.com/?p=9</link>
<pubDate>Tue, 27 May 2008 23:32:35 +0000</pubDate>
<dc:creator>kawakamasu</dc:creator>
<guid>http://pebblesinthesand.wordpress.com/?p=9</guid>
<description><![CDATA[The easiest (and recommended) way to enable Japanese input in KDE is through System Settings -&gt; R]]></description>
<content:encoded><![CDATA[<p>The easiest (and recommended) way to enable Japanese input in KDE is through System Settings -&#62; Regional &#38; Accessibility -&#62; Country/Region &#38; Language. Installing support for Japanese also installs the <code>scim-anthy</code> input method. If you need to use Japanese in terminal, the easiest way is to set Japanese as system language (but that indeed changes the default language, e.g. most man pages and system commands like apt-get will be in Japanese).</p>
<p>However, this will not enable Japanese input in non-KDE programs like Firefox. For this you need to install <code>scim-bridge-client-gtk</code> and <code>im-switch</code>. Then run</p>
<p><code>im-switch -s scim-bridge</code></p>
<p>to set <code>scim-bridge</code> as default input method for all applications. </p>
<p><code>scim-bridge</code> is a new socket based input method module that fixes the many annoying problems that were present with <code>scim</code>, like various crashes in Firefox and Thunderbird and whitespace mapping bugs in KDE. The only thing that doesn't work is Japanese input in Skype, which is a pity. Apparently this is fixed in KDE 4.0.</p>
<p>All in all this is very painless procedure compared to what it used to be in Dapper or Edgy.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Get the accents sorted in GTK and QT at the same time]]></title>
<link>http://mattions.wordpress.com/?p=209</link>
<pubDate>Mon, 28 Apr 2008 12:12:05 +0000</pubDate>
<dc:creator>mattions</dc:creator>
<guid>http://mattions.wordpress.com/?p=209</guid>
<description><![CDATA[I was facing a problem that it was really annoying. I&#8217;m using english and italian at the same ]]></description>
<content:encoded><![CDATA[<p>I was facing a problem that it was really annoying. I'm using english and italian at the same time, and I have a english keyboard from which, getting out some accent is a real pain.</p>
<p><em>e.g.</em></p>
<blockquote><p>è à ó í</p></blockquote>
<p><em><br />
</em></p>
<p>But I I'm not the only one out there to face this problem and so there are several solutions.<br />
I will speak only about one that is working for me.</p>
<p>Enable the xim module:</p>
<p>add to /etc/enviroments</p>
<p><em>GTK_IM_MODULE=xim<br />
QT_IM_MODULE=xim</em></p>
<p>Copy the /usr/share/X11/locale/en_US.UTF-8/Compose<em> </em>to your home</p>
<p><em>cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose</em></p>
<p>Now you have to choose the Multi_key. It can be anything. Usually I use the  left Windows key. To get the keycode, run</p>
<p><em>xev</em></p>
<p>and hit the key. You should get an output like:</p>
<blockquote><p>KeyRelease event, serial 30, synthetic NO, window 0x2200001,<br />
root 0x13b, subw 0x0, time 105265658, (583,365), root:(587,414),<br />
state 0x10, <strong>keycode 115</strong> (keysym 0xff20, Super_L), same_screen YES,<br />
XLookupString gives 0 bytes:<br />
XFilterEvent returns: False</p></blockquote>
<p>Now create the file <em>~/.Xmodmap</em> and write there</p>
<p><em>keycode 115 = Multi_key</em></p>
<p>Restart your XServer (log out from the Gnome session or Kde session) and (at least in GNOME) you've got a question if you want to load it or not. Load it.</p>
<p>Now you can try. Open anything that can accept a characther and try to click (holding them) "Multi_key ` e". The result should be "è".</p>
<p>Note that this is consinstent for both Qt and GTK so if you use mixed applications (as I do), you can write properly in both.</p>
<p>The only issue is the order that it seems to be mandatory. The combination "Multi_key ` e" is working but not "Multi_key e `" that is really annoying. From a first look the first one is defined in the .XCompose and the latter not. This let me think that maybe I can rewrite and add all this combination to this file, however it seems really strange and there should be somewhere an option to make it working.</p>
<p>If anyone of you know how to fix an hint will be appreciated. Otherwise I will have to write a short perl script to fix it.</p>
<p>HIH.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[uim 1.4.2 released]]></title>
<link>http://ekato.wordpress.com/2008/02/21/uim-142-released/</link>
<pubDate>Thu, 21 Feb 2008 03:03:32 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2008/02/21/uim-142-released/</guid>
<description><![CDATA[SigScheme が jemalloc を使った FreeBSD 7 や Firefox で動かない、あるいは古い libgc]]></description>
<content:encoded><![CDATA[<p>SigScheme が <a href="http://people.freebsd.org/~jasone/jemalloc/" title="Index of /~jasone/jemalloc/">jemalloc</a> を使った FreeBSD 7 や Firefox で動かない、あるいは古い libgcroots が Mac OS X 10.5 で動かない、という散々なことになっていたので、SigScheme 0.7.6 とそれを利用した uim 1.4.2 をリリースしました。</p>
<p align="justify">uim 自身は bugzilla にあったものなどをいくつか追加しただけで、 1.4.1 から殆ど何も変ってません。</p>
<p align="justify">YamaKen さんいわく、SigScheme 0.7.x にはまだ他にも問題があるらしいですが、とりあえず、uim 1.4.1 だと Firefix 3 で悲しい思いをしてしまいますし、いくらかリークしそうな部分を潰している 1.4.2 に入れ替えておいてください。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mac]]></title>
<link>http://ekato.wordpress.com/?p=41</link>
<pubDate>Tue, 05 Feb 2008 18:06:53 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/?p=41</guid>
<description><![CDATA[ ここのコメントに書きましたが、久しぶりに MacUIM (MacUIM-0.5.2-7) をコンパ]]></description>
<content:encoded><![CDATA[<p align="justify"> <a href="http://ekato.wordpress.com/2007/10/14/uimframework-with-current-uim-trunk-for-uim-150/">ここ</a>のコメントに書きましたが、久しぶりに MacUIM (<a href="http://people.freedesktop.org/~ekato/download/tmp/MacUIM-0.5.2-8.dmg">MacUIM-0.5.2-7</a>) をコンパイルしました。Tiger と Leopard の intel マシンで動いています。uim-xim も入れてあるので、これを動かせば X11 で入力する場合にも一応使えるかもしれません。すべて Universal Binary にしているので Rosetta 経由でも動作しますが、PPC マシンで大丈夫かどうかは不明です。</p>
<div align="justify">【11日追記】なぜか uim-prime がバグってたので、libuim-prime.so だけ入れ替えた <a href="http://people.freedesktop.org/~ekato/download/tmp/MacUIM-0.5.2-8.dmg">MacUIM-0.5.2-8</a> を置き直し、上のリンクも張り直しておきました。(さっき文章を書いている途中、なぜか魔が差し SKK から PRIME に切り替えてしまったのですが、Finder を含むすべてのアプリケーションが無限ループに突入しびびりました…)<br />
【追記終わり】</div>
<p><br></p>
<div>【18日追記】まだ uim-prime のバグが残ってました。<a href="http://www.moongift.jp/2008/02/macuim/">えんが変換できない</a>というのを見て、試してみたところ見事再現。<a href="http://people.freedesktop.org/~ekato/download/tmp/MacUIM-0.5.2-9.dmg">MacUIM-0.5.2-9</a> として r5191 の uim を入れ直しておきました。<br />
【追記終わり】</div>
<p>ところで最近 Leopard を使うようになって気付いたのですが、リスト表示の Finder で、ファイル名の変更時に日本語を入力してリターンキーで確定すると Finder がクラッシュしてしまいます。AquaSKK を使っても同様で (ATOK もそうらしい)、ことえりではクラッシュしないということから、TSM IM と Input Method Kit を利用した IM の違いということなんでしょうか?</p>
<p align="justify">Tiger ではリターンキーでファイル名のプリエディットを確定すると、変換文字が確定するだけでファイル名の変更は起こらないのですが、Leopard ではリターンキーのイベントが Input Method の処理だけでなく、そのまま Finder でも処理されてしまっているようで、ファイル名も同時に変更されてしまいます (さらに TSM IM では HIToolBox の中でクラッシュしてします)。おそらく、ファイル名変更中の入力コンテキストが破棄されてしまって、TSM の処理がクラッシュしているんじゃないでしょうか。</p>
<p align="justify">これまでの (少ないですが) 経験上、このあたりのイベント処理はいつもだれかがバグを混入させる気がします。ということで少し自分も反省して、ここの所ほったらかしにしてきた Mac OpenOffice.org での NSTextInput Protocol の利用あたりを直してみました。aquavcl05 がマージされるまでは、最近提供されている Aqua OOo は変なのでご注意ください。まあ、OTF/CFF フォントの PDF やプリント出力が依然できないので、どっちにしろ実用するにはまだまだのようです。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Leopard và Vietnamese keyboard...]]></title>
<link>http://kythuatmaytinh.wordpress.com/2007/12/22/leopard-va-vietnamese-keyboard/</link>
<pubDate>Sat, 22 Dec 2007 21:16:30 +0000</pubDate>
<dc:creator>htr3n</dc:creator>
<guid>http://kythuatmaytinh.wordpress.com/2007/12/22/leopard-va-vietnamese-keyboard/</guid>
<description><![CDATA[Hồi trước mình dùng MacBook cài sẵn Tiger, hí hoáy mãi mà không tài nào kiếm ra b]]></description>
<content:encoded><![CDATA[<p>Hồi trước mình dùng MacBook cài sẵn Tiger, hí hoáy mãi mà không tài nào kiếm ra bộ gõ tiếng Việt, đành phải dùng  <a href="http://vietpad.sourceforge.net/">Vietpad</a>. Sau này thì tìm thấy bác Hiếu có port gói <a href="https://addons.mozilla.org/en-US/firefox/addon/2947">AVIM</a> sang cho Firefox, cũng đỡ phần nào, nhất là khi duyệt web. Tình cờ hôm nay vọc cái International của OS X Leopard mới phát hiện ra là trong đó có cái bộ gõ Unikey. Trời, không thể tưởng tượng là mình ngạc nhiên và vui thế nào nữa. Bravo bác Steve Jobs! Thế là mình thử ngay bộ gõ. Nhìn chung thì rất tuyệt (mình soạn bài này bằng bộ gõ ấy), ngoại trừ phản ứng kì quặc của TextMate (phải nhấn space thì chữ mới hiện ra) thì chưa phát hiện ra nhược điểm gì lớn cả. Bộ gõ rất tốt, sinh mã Unicode, chỉ có điều không gõ tự do được (nghĩa là khi nhấn space thì không dùng backspace để sửa thoải mái như Unikey, xvnkb), nhưng dù sao thì như thế đã rất là tuyệt, hơn nhiều bộ gõ Vietnamese hơi bị chuối trước đây trong Tiger. Lần này fan của Apple an tâm sắm MacBook, MacBook Pro, iMac, Mac Mini, Mac Pro,... để thỏa chí tang bồng ;)</p>
<p>Mình định viết hướng dẫn chi tiết nhưng lại tìm thấy bài <a href="http://www.icouple.sg/blog/tech/1539">ở đây</a> (là một fan Apple &#38; rock) viết chi tiết, rõ ràng rồi. Chỉ còn có một điều là mình muốn đi tìm thông tin của nhóm phát triển bộ gõ này cho Apple, nhưng vẫn chưa tìm ra. Có bạn nào biết thì mách với nhen.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[flash player 9 for Linux]]></title>
<link>http://ekato.wordpress.com/2007/12/03/flash-player-9-for-linux/</link>
<pubDate>Mon, 03 Dec 2007 08:51:42 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/12/03/flash-player-9-for-linux/</guid>
<description><![CDATA[flashplayer9_install_i386_100107.rpm  (9.0.64.0) というのをLinux に入れてみたんですが]]></description>
<content:encoded><![CDATA[<p align="justify">flashplayer9_install_i386_100107.rpm  (9.0.64.0) というのをLinux に入れてみたんですが、9.0.48.0 で使われていた X の呼び出しが、ある程度 GTK+/GDK に置き換えられていました。ついでに XOpenIM と XCreateICも使われなくなっているのですが、GTK+ の IM context が代わりに使われているかというとそうでもないようで、TextField でインプットメソッドが使えなくなってしまってるようです。</p>
<p align="justify">GtkIMContext を使って欲しいと、とりあえずバグレポートしてみましたが、反映されるでしょうか… まあ、2ヶ月も前にリリースされていたようなので、誰かがすでに指摘しているとは思いますが。</p>
<p align="justify">【追記】と昨日書いたところ、今日新版がリリースされていて GtkIMContext の filter_keypress が使われているというなんとも嬉しい状況を <a href="http://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2007&#38;m=12&#38;d=3&#38;n=1#3-2">nosuke さんの日記</a>より知りました。やっぱり 2ヶ月もたってから状況を認識してるようじゃだめですねー。ところであいかわらず、locale によって変な文字コード変換をしてるバグがあるっぽいので、これもすぐレポートしておこう。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NSTextInput again]]></title>
<link>http://ekato.wordpress.com/2007/11/05/nstextinput-again/</link>
<pubDate>Mon, 05 Nov 2007 12:00:42 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/11/05/nstextinput-again/</guid>
<description><![CDATA[Safari, Camino や  iTerm の挙動をみても、やっぱり NSTextInput は無理があるよう]]></description>
<content:encoded><![CDATA[<p align="justify">Safari, Camino や  iTerm の挙動をみても、やっぱり NSTextInput は無理があるような気がする。Input Method と一緒にはアプリケーションで自由なキーバインディングを使わせないためなんだろうか?</p>
<p align="justify"> といっても、Input Method が無ければ制限なく独自のキーバインディングを implement できるわけだし、ただ単に考えが足らなかったようにも思えるなぁ… まあ、理由はどうでもいいので、うまい方法を見つけなければ。まとまった時間が欲しいものです。</p>
<p align="justify">【8日追記】結局 Control-q なんかの Input Manager が扱わないキーバインディングは、とりあえず  Mac  の OOo では使わないということに。さすがこのあたりの判断がすばらしいな。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[UIM.framework with current uim trunk]]></title>
<link>http://ekato.wordpress.com/2007/10/14/uimframework-with-current-uim-trunk-for-uim-150/</link>
<pubDate>Sun, 14 Oct 2007 05:18:10 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/10/14/uimframework-with-current-uim-trunk-for-uim-150/</guid>
<description><![CDATA[UIM.framework 向けの uim trunk に対する diff です。パスとキーの細かい設定と、]]></description>
<content:encoded><![CDATA[<p align="justify">UIM.framework 向けの uim trunk に対する diff です。パスとキーの細かい設定と、Rosetta 向けの小さな変更だけです。</p>
<blockquote>
<pre>
Index: scm/skk-custom.scm
===================================================================
--- scm/skk-custom.scm	(revision 5027)
+++ scm/skk-custom.scm	(working copy)
@@ -386,8 +386,7 @@
 	 (lambda ()
 	   skk-use-skkserv?))

-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
+(define-custom 'skk-dic-file-name "/Library/Dictionaries/SKK/SKK-JISYO.L"
   '(skk-dict dict-files)
   '(pathname regular-file)
   (N_ "System dictionary file")
Index: scm/tutcode-key-custom.scm
===================================================================
--- scm/tutcode-key-custom.scm	(revision 5027)
+++ scm/tutcode-key-custom.scm	(working copy)
@@ -53,7 +53,7 @@
 	       (N_ "[TUT-Code] off")
 	       (N_ "long description will be here"))

-(define-custom 'tutcode-kana-toggle-key '("'")
+(define-custom 'tutcode-kana-toggle-key '("'" "Private2")
                '(tutcode-keys1 mode-transition)
 	       '(key)
 	       (N_ "[TUT-Code] toggle hiragana/katakana mode")
Index: scm/generic-key-custom.scm
===================================================================
--- scm/generic-key-custom.scm	(revision 5027)
+++ scm/generic-key-custom.scm	(working copy)
@@ -41,13 +41,13 @@
 		     (N_ "long description will be here."))

-(define-custom 'generic-on-key '("zenkaku-hankaku" " ")
+(define-custom 'generic-on-key '("zenkaku-hankaku" " " "Private2")
                '(global-keys1)
 	       '(key)
 	       (N_ "[Global] on")
 	       (N_ "long description will be here"))

-(define-custom 'generic-off-key '("zenkaku-hankaku" " ")
+(define-custom 'generic-off-key '("zenkaku-hankaku" " " "Private1")
                '(global-keys1)
 	       '(key)
 	       (N_ "[Global] off")
Index: uim/prime.c
===================================================================
--- uim/prime.c	(revision 5027)
+++ uim/prime.c	(working copy)
@@ -61,7 +61,7 @@
 static FILE *primer, *primew;
 static pid_t prime_pid = 0;

-static char *prime_command = "prime";
+static char *prime_command = "/Library/PRIME/bin/prime";

 static char *prime_ud_path;
 static int prime_fd = -1;
Index: uim/uim-helper.c
===================================================================
--- uim/uim-helper.c	(revision 5027)
+++ uim/uim-helper.c	(working copy)
@@ -48,6 +48,8 @@
 #include
 #include 

+#include
+
 #include "uim-internal.h"
 #include "uim-helper.h"
 #include "uim-util.h"
@@ -205,6 +207,9 @@
     perror("getpeereid failed");
     return -1;
   }
+  if (euid &#62; INT32_MAX)
+    euid = OSSwapInt32(euid);
+
   if ((euid != 0) &#38;&#38; (euid != getuid())) {
     fprintf(stderr, "uid mismatch\n");
     return -1;
Index: uim.pc.in
===================================================================
--- uim.pc.in	(revision 5027)
+++ uim.pc.in	(working copy)
@@ -1,6 +1,6 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
-includedir=@includedir@
+includedir=@prefix@/Headers
 libdir=@libdir@
 datarootdir=@datarootdir@
 datadir=@datadir@
@@ -10,5 +10,5 @@
 Name: uim
 Description: multilingual input method library
 Version: @VERSION@
-Cflags: -I${includedir}/uim
-Libs: -L${libdir} -luim-scm -luim @LIBINTL@ @LIBICONV@
+Cflags: -I${includedir}
+Libs: -framework UIM</pre>
</blockquote>
<p align="justify">次は、fwbuild スクリプトの diff です。ごちゃごちゃどうでもいい差分も含んでますが (すみません)、要点は新しく加わった、libuim-scm.la と libuim-bsdlook.la も UIM.framework に加えるということです。</p>
<blockquote>
<pre>
diff -r fa605af03302 UIM/fwbuild
--- a/UIM/fwbuild	Mon Jan 29 19:54:53 2007 +0900
+++ b/UIM/fwbuild	Sun Oct 14 14:13:56 2007 +0900
@@ -19,9 +19,9 @@ cp -fv ../version.plist.in version.plist
 cp -fv ../version.plist.in version.plist

 export MACOSX_DEPLOYMENT_TARGET="10.3"
-PATH="${prefix}/bin:/Library/Anthy/bin:/Library/PRIME/bin:/Library/M17NLib/bin:/bin:/usr/bin"
+PATH="${prefix}/bin:/Library/Anthy/bin:/Library/PRIME/bin:/Library/M17NLib/bin:/sw/bin:/bin:/usr/bin:"

-#PATH="/opt/macuim/bin:$PATH" ./autogen.sh &#124;&#124; exit 1
+PATH="/opt/macuim/bin:$PATH" ./autogen.sh &#124;&#124; exit 1

 perl -pi -e "s&#124;\@VERSION\@&#124;${version}&#124;" *.plist
 perl -pi -e "s&#124;\@BUILD\@&#124;${build}&#124;" *.plist
@@ -34,13 +34,16 @@ CFLAGS="-I/opt/macuim/include -I/Library
 CFLAGS="-I/opt/macuim/include -I/Library/M17NLib/include -I/Library/Anthy/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
 PKG_CONFIG="/opt/macuim/bin/pkg-config" \
 PKG_CONFIG_PATH="/Library/PRIME/lib/pkgconfig:/Library/Anthy/lib/pkgconfig:/Library/M17NLib/lib/pkgconfig" \
-./configure --prefix=${prefix} --exec-prefix=${prefix} --enable-debug \
+./configure --prefix=${prefix} --exec-prefix=${prefix} \
   --without-gtk2 --disable-fep --disable-applet \
-  --with-x --disable-dependency-tracking &#124;&#124; exit 1
+  --without-x --disable-dependency-tracking \
+  --enable-maintainer-mode --disable-backtrace \
+  --disable-strict-argcheck \
+  --with-anthy-utf8 &#124;&#124; exit 1

 perl -pi -e 's&#124;-Werror&#124;&#124;' uim/Makefile

-#mkdir -p ${dest}${prefix}/lib
+mkdir -p ${dest}${prefix}/lib

 cd sigscheme
 ln -s src/config.h .
@@ -58,6 +61,8 @@ gcc -dynamiclib -undefined dynamic_looku
 gcc -dynamiclib -undefined dynamic_lookup \
 -o uim/.libs/UIM \
 uim/.libs/libuim_la*.o uim/.libs/libuim_custom_la*.o replace/.libs/libreplace.a \
+uim/.libs/libuim_scm_la*.o \
+uim/.libs/libuim_bsdlook_la*.o \
 sigscheme/libgcroots/.libs/*.o \
 -L/opt/macuim/lib -liconv -ldl -lintl \
 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc \
@@ -68,6 +73,8 @@ cd uim

 perl -pi -e "s&#124;^library_names=.*$&#124;library_names='UIM'&#124;" libuim.la
 perl -pi -e "s&#124;^library_names=.*$&#124;library_names='UIM'&#124;" libuim-custom.la
+perl -pi -e "s&#124;^library_names=.*$&#124;library_names='UIM'&#124;" libuim-scm.la
+perl -pi -e "s&#124;^library_names=.*$&#124;library_names='UIM'&#124;" libuim-bsdlook.la

 make -w pkglibdir=${prefix}/pkglib &#124;&#124; exit 1

@@ -76,10 +83,10 @@ make -w DESTDIR=${dest} pkglibdir=${pref
 make -w DESTDIR=${dest} pkglibdir=${prefix}/pkglib \
   install &#124;&#124; exit 1

-cd xim
-make -w CXX="g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" &#124;&#124; exit 1
-make -w DESTDIR=${dest} install &#124;&#124; exit 1
-cd ..
+#cd xim
+#make -w CXX="g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" &#124;&#124; exit 1
+#make -w DESTDIR=${dest} install &#124;&#124; exit 1
+#cd ..

 cd ${dest}/${prefix}
 mv include/uim Headers</pre>
</blockquote>
<p align="justify">ビルドの仕方ですが、MacUIM/UIM ディレクトリで、svn checkout http://uim.googlecode.com/svn/trunk/ uim して、その uim ディレクトリの中で、svn co http://uim.googlecode.com/svn/sigscheme-trunk/ sigscheme して、さらに sigscheme ディレクトリの中で、svn co http://uim.googlecode.com/svn/libgcroots-trunk/ libgcroots します。あとは autotools を用意して、それぞれのディレクトリで ./autogen.sh しておいてから、uim ディレクトリにおいて、パッチを当てた fwbuild スクリプトを ../fwbuild 1.5.0 1 とでも動かせばいいです。その前に、Anthy ディレクトリで anthy-9100c をビルドし、 /Library/Anthy にインストールしておけば anthy plugin も作られます。</p>
<p align="justify">ということで、dual screen パッチを適用して、 uim trunk とanthy-9100c で作った <a href="http://people.freedesktop.org/~ekato/download/tmp/MacUIM-0.5.2-3.dmg" title="MacUIM-0.5.2-3.dmg">MacUIM-0.5.2-3</a>を一応置いておきます。Tiger 用 の Universal Binary になってます (テストしてません)。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MacUIM other patch]]></title>
<link>http://ekato.wordpress.com/2007/10/14/macuim-other-patch/</link>
<pubDate>Sun, 14 Oct 2007 05:10:02 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/10/14/macuim-other-patch/</guid>
<description><![CDATA[その他現在の自分が使っている MacUIM の diff です。

project.pbxproj の diff は]]></description>
<content:encoded><![CDATA[<p align="justify">その他現在の自分が使っている MacUIM の diff です。</p>
<ul>
<li>project.pbxproj の diff は必要ない部分まで変更している可能性大ですが、面倒なのでしらべてません</li>
<li>MUIM.c, MacUIMPrefPane.m は、uim 1.5.0 向けの変更です</li>
<li>UIMCallback.c は<a href="http://ekato.wordpress.com/2007/02/08/macbook-cont/">以前書いた</a>、候補ウィンドウが開くタイミングの変更です</li>
</ul>
<blockquote>
<pre>
diff -r fa605af03302 MacUIM.xcodeproj/project.pbxproj
--- a/MacUIM.xcodeproj/project.pbxproj	Mon Jan 29 19:54:53 2007 +0900
+++ b/MacUIM.xcodeproj/project.pbxproj	Mon Sep 10 17:06:50 2007 +0900
@@ -975,7 +975,7 @@
 					"-framework",
 					AppKit,
 				);
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = CocoaWinController;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1007,7 +1007,7 @@
 					"-framework",
 					AppKit,
 				);
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = CocoaWinController;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1035,7 +1035,7 @@
 					"-framework",
 					AppKit,
 				);
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = CocoaWinController;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1060,7 +1060,7 @@
 					"-framework",
 					AppKit,
 				);
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = CocoaWinController;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1083,7 +1083,7 @@
 					"-framework",
 					AppKit,
 				);
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = CocoaWinController;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1298,7 +1298,7 @@
 				OPTIMIZATION_CFLAGS = "-O0";
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIMHelper;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1328,7 +1328,7 @@
 				OPTIMIZATION_CFLAGS = "-O0";
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIMHelper;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1354,7 +1354,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIMHelper;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1377,7 +1377,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIMHelper;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1398,7 +1398,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIMHelper;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1427,7 +1427,7 @@
 				OPTIMIZATION_CFLAGS = "-O0";
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIM;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1457,7 +1457,7 @@
 				OPTIMIZATION_CFLAGS = "-O0";
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIM;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1483,7 +1483,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIM;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1506,7 +1506,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIM;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1527,7 +1527,7 @@
 				LIBRARY_STYLE = BUNDLE;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 				PRODUCT_NAME = MacUIM;
 				SECTORDER_FLAGS = "";
 				WARNING_CFLAGS = "-Wmost";
@@ -1542,6 +1542,9 @@
 					ppc,
 					i386,
 				);
+				GCC_MODEL_TUNING = "";
+				GCC_OPTIMIZATION_LEVEL = 0;
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 			};
 			name = Development;
 		};
@@ -1552,6 +1555,9 @@
 					ppc,
 					i386,
 				);
+				GCC_MODEL_TUNING = "";
+				GCC_OPTIMIZATION_LEVEL = 0;
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 			};
 			name = "Development (MacUIM)";
 		};
@@ -1562,6 +1568,9 @@
 					ppc,
 					i386,
 				);
+				GCC_MODEL_TUNING = "";
+				GCC_OPTIMIZATION_LEVEL = 0;
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 			};
 			name = Deployment;
 		};
@@ -1572,6 +1581,9 @@
 					ppc,
 					i386,
 				);
+				GCC_MODEL_TUNING = "";
+				GCC_OPTIMIZATION_LEVEL = 0;
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 			};
 			name = "Deploy (MacUIM)";
 		};
@@ -1582,6 +1594,9 @@
 					ppc,
 					i386,
 				);
+				GCC_MODEL_TUNING = "";
+				GCC_OPTIMIZATION_LEVEL = 0;
+				OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386)";
 			};
 			name = Default;
 		};
diff -r fa605af03302 Sources/MUIM.c
--- a/Sources/MUIM.c	Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/MUIM.c	Mon Sep 10 11:13:42 2007 +0900
@@ -959,7 +959,7 @@ CreateUIMContext(MUIMSessionHandle inSes
   (*inSessionHandle)-&#62;fUC =
     uim_create_context(inSessionHandle,
                        "UTF-8", NULL, imName,
-                       uim_iconv, UIMCommitString);
+                       NULL, UIMCommitString);

   if (imVal)
     CFRelease(imVal);
diff -r fa605af03302 Sources/MacUIMPrefPane.m
--- a/Sources/MacUIMPrefPane.m	Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/MacUIMPrefPane.m	Mon Sep 10 11:13:49 2007 +0900
@@ -123,7 +123,7 @@ prefChanged(CFNotificationCenterRef inCe
   // load IM modules
   uim_init();
   uc = uim_create_context(NULL, "UTF-8",
-                          NULL, NULL, uim_iconv, NULL);
+                          NULL, NULL, NULL, NULL);
   if (uc) {
     numModules = uim_get_nr_im(uc);
     imModules = (IMModule **) malloc(sizeof(IMModule *) * numModules);
diff -r fa605af03302 Sources/UIMCallback.c
--- a/Sources/UIMCallback.c	Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/UIMCallback.c	Mon Sep 10 17:19:32 2007 +0900
@@ -208,9 +208,9 @@ UIMCandAcivate(void *inPtr, int inNR, in
   (*handle)-&#62;fDisplayLimit = inLimit;
   (*handle)-&#62;fLayoutBegin = 0;

+  (*handle)-&#62;fWindowOpened = true;
+
   LayoutCandidate(handle);
-
-  (*handle)-&#62;fWindowOpened = true;
 }

 /**</pre>
</blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MacUIM dual screen]]></title>
<link>http://ekato.wordpress.com/2007/10/14/macuim-dual-screen/</link>
<pubDate>Sun, 14 Oct 2007 04:52:01 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/10/14/macuim-dual-screen/</guid>
<description><![CDATA[ということで、dual screen でも候補ウィンドウが正しい位置に表示できまし]]></description>
<content:encoded><![CDATA[<p align="justify">ということで、dual screen でも候補ウィンドウが正しい位置に表示できました。</p>
<blockquote>
<pre>
diff -r fa605af03302 Sources/CocoaWinController.m
--- a/Sources/CocoaWinController.m	Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/CocoaWinController.m	Sun Oct 14 13:37:53 2007 +0900
@@ -290,15 +290,11 @@ static CocoaWinController *sharedControl
- (void)replaceWindow:(int)replyX:(int)replyY
{
NSTableColumn *col;
-  NSSize mainSize;
NSRect rect;
float candWidth = 0.0;
float headWidth = 0.0;
-  int x, y, i;
+  int i;
NSMutableAttributedString *text;
-
-  mainSize = [[NSScreen mainScreen] frame].size;
-  rect = [panel frame];

for (i = 0; i &#60; [candArray count]; i++) {
text = [[NSAttributedString alloc]
@@ -347,25 +343,49 @@ static CocoaWinController *sharedControl

[panel setFrame:rect display:NO];

-  x = replyX;
-  y = mainSize.height - replyY - rect.size.height;
-
-  if (x &#60; 0)
-    x = 0;
-  if (x + rect.size.width &#62; mainSize.width)
-    x = mainSize.width - rect.size.width;
-  if (mainSize.height - replyY - origSize.height &#60; 0)
-    y = mainSize.height - replyY + lineHeight + 3;
-  if (y + rect.size.height &#62; mainSize.height)
-    y = mainSize.height - rect.size.height;
+  // Get the height of screen with menubar
+  NSArray *screenArray = [NSScreen screens];
+  int nScreen = [screenArray count];
+  NSPoint point = NSMakePoint((float)replyX, (float)replyY);
+  if (nScreen &#62; 0)
+    point.y = [[screenArray objectAtIndex:0] frame].size.height - point.y;
+
+
+  // Search a screen of the candidate window
+  NSRect f = [[NSScreen mainScreen] frame];
+  BOOL found = NO;
+  for (i = 0; i &#60; nScreen; i++) {
+    NSRect sf = [[screenArray objectAtIndex:i] frame];
+    if (NSPointInRect(point, sf)) {
+      f = sf;
+      found = YES;
+      break;
+    }
+  }
+
+  if (found) {
+    point.y -= rect.size.height;
+    if (point.y &#62; f.origin.y + f.size.height - rect.size.height)
+      point.y = f.origin.y + f.size.height - rect.size.height;
+    if (point.x &#62; f.origin.x + f.size.width - rect.size.width)
+      point.x = f.origin.x + f.size.width - rect.size.width;
+    if (point.y &#60; f.origin.y)
+      point.y =  [[screenArray objectAtIndex:0] frame].size.height - replyY + lineHeight + 3;
+    if (point.x &#60; f.origin.x)
+      point.x = f.origin.x;
+  } else {
+    // Set candidate window position at the center of the screen
+    point.x = f.origin.x + (f.size.width - rect.size.width) / 2;
+    point.y = f.origin.y + (f.size.height - rect.size.height) / 2;
+  }

#if DEBUG_CANDIDATE_WINDOW
NSLog(@"CocoaWinController replaceWindow: x=%d y=%d origin.x=%d origin.y=%d\n",
-        x, y, (int) rect.size.width, (int) rect.size.height);
+        point.x, point.y, (int) rect.size.width, (int) rect.size.height);
#endif

-  if (x != (int) rect.origin.x &#124;&#124; y != (int) rect.origin.y)
-    [panel setFrameOrigin:NSMakePoint(x, y)];
+  if (point.x != (int) rect.origin.x &#124;&#124; point.y != (int) rect.origin.y)
+    [panel setFrameOrigin:point];
}

- (void)setFont:(NSString *)name size:(float)size
diff -r fa605af03302 Sources/ModeTipsController.m
--- a/Sources/ModeTipsController.m	Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/ModeTipsController.m	Sun Oct 14 13:44:44 2007 +0900
@@ -95,7 +95,8 @@ static ModeTipsController *sharedControl

[realModeTipsPanel showLabels:labels];

-  mainSize = [[NSScreen mainScreen] frame].size;
+  NSArray *screenArray = [NSScreen screens];
+  mainSize = [[screenArray objectAtIndex:0] frame].size;
rect = [realModeTipsPanel frame];

x = qdX;</pre>
</blockquote>
<p align="justify">ようは mainScreen を使うのではなく、メニューバーがあるスクリーンの高さによって変換すればいいみたいです。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[IM飲み会]]></title>
<link>http://ekato.wordpress.com/2007/10/10/im%e9%a3%b2%e3%81%bf%e4%bc%9a/</link>
<pubDate>Wed, 10 Oct 2007 00:34:06 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/10/10/im%e9%a3%b2%e3%81%bf%e4%bc%9a/</guid>
<description><![CDATA[恒例になった(?) OpenVanilla の lukhnos さんたちとの IM 飲み会に先日行ってき]]></description>
<content:encoded><![CDATA[<p align="justify">恒例になった(?) OpenVanilla の lukhnos さんたちとの IM 飲み会に先日行ってきました。Parallels で動かしていた Windows 版 OpenVanilla がすばらしい出来です。eternal beta らしいですけど。</p>
<p align="justify">気がついたら、諏訪さんの AquaSKK 新バージョンが 飲み会の翌日にでてました。すばらしいです。</p>
<p align="justify">いくつか話題にしたことについてですが、MacUIM デュアルディスプレイ問題はなんとかなるような気がするのですが、ちょっと今は時間がないのでまた後でいじってみます (二つのディスプレイの高さが違うとちょっと面倒そうではあります)。原岡さんの MacBook Pro の JIS keyboard の 円キーを delete にしたいというのは、fKeys で何とかなりそうな気配です。現状の uim trunk での /Library/Frameworks/UIM.framework の作り方も、もう少しあとで時間ができたら記録しておきたいと思ってます。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NSTextInput]]></title>
<link>http://ekato.wordpress.com/2007/08/07/nstextinput/</link>
<pubDate>Mon, 06 Aug 2007 16:14:01 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/08/07/nstextinput/</guid>
<description><![CDATA[実験的にコードを書いたりしてみたんだけど、なんでこんな使いにくいイ]]></description>
<content:encoded><![CDATA[<p align="justify">実験的にコードを書いたりしてみたんだけど、なんでこんな使いにくいインターフェイスになってるんだろ? interpretKeyEvents が返り値を持たないのはちょっと理解にくるしむ。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MacUIM]]></title>
<link>http://ekato.wordpress.com/2007/03/17/macuim/</link>
<pubDate>Fri, 16 Mar 2007 17:06:23 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/03/17/macuim/</guid>
<description><![CDATA[Anthy 8713 がなかなかいいので、Universal binary の MacUIM を置き直しました。い]]></description>
<content:encoded><![CDATA[<p align="justify">Anthy 8713 がなかなかいいので、Universal binary の MacUIM を<a href="http://people.freedesktop.org/~ekato/download/tmp/" title="MacUIM 0.5.2-2">置き直しました</a>。いわたさんの look input method も入れてあります。</p>
<p align="justify"><a href="http://yatsu.info/articles/2007/03/12/intel-ppc対応macuim">yatsu</a>さんにことわりなくオレオレ version number つけてしまってますけどまあ大目にみてください。PackageMaker が version を x.y.z にしろっていうもので。ほんとはもう一つ桁を増やしてもいけるのかもしれませんけど…</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[1.4.0]]></title>
<link>http://ekato.wordpress.com/2007/02/28/140/</link>
<pubDate>Wed, 28 Feb 2007 09:05:47 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/02/28/140/</guid>
<description><![CDATA[compat-siod-bugs を有効にしても動かないような、標準でない Scheme コードの見]]></description>
<content:encoded><![CDATA[<p>compat-siod-bugs を有効にしても動かないような、標準でない Scheme コードの見落としがまだあって、uim 1.4.0 で落ちてしまう点が二つ三つありました。</p>
<p>とりあえずの回避に、<br />
<a href="http://websvn.freedesktop.org/uim/sigscheme-trunk/src/syntax.c?r1=4307&#38;r2=4459">sigscheme-trunk/src/syntax.c?r1=4307&#38;r2=4459</a><br />
<a href="http://websvn.freedesktop.org/uim/branches/1.4/scm/im.scm?r1=4314&#38;r2=4470">branches/1.4/scm/im.scm?r1=4314&#38;r2=4470</a><br />
<a href="http://websvn.freedesktop.org/uim/branches/1.4/scm/im-switcher.scm?r1=4314&#38;r2=4470">branches/1.4/scm/im-switcher.scm?r1=4314&#38;r2=4470</a><br />
の三つが必要でした。</p>
<p align="justify">&#160;</p>
<p align="justify">(March 15, 2007 追記)  さらにもう一個<a href="http://lists.freedesktop.org/archives/uim/2007-March/001810.html">バグ</a>があったので、結局 1.4.1 としてリリースしました。なんとこのバグは 0.4.6 のころから存在していたコードによるものでした…。SIOD おそるべし。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[IM and context management concentration into Scheme]]></title>
<link>http://ekato.wordpress.com/2007/02/28/im-and-context-management-concentration-into-scheme/</link>
<pubDate>Wed, 28 Feb 2007 08:35:25 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/02/28/im-and-context-management-concentration-into-scheme/</guid>
<description><![CDATA[ 気が向いたので im-list に関するコードをいじってみました。
ようやく bug ]]></description>
<content:encoded><![CDATA[<p> 気が向いたので im-list に関するコードをいじってみました。</p>
<p>ようやく <a href="https://bugs.freedesktop.org/show_bug.cgi?id=2622" title="bug #2622">bug #2622</a> を解決できた気がする…</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Rosetta (cont.)]]></title>
<link>http://ekato.wordpress.com/2007/02/15/rosetta-cont/</link>
<pubDate>Thu, 15 Feb 2007 13:41:42 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/02/15/rosetta-cont/</guid>
<description><![CDATA[やはり getpeereid(3) で返ってくるはずの euid (例えば 501) が、 Rosetta で起動し]]></description>
<content:encoded><![CDATA[<p>やはり getpeereid(3) で返ってくるはずの euid (例えば 501) が、 Rosetta で起動したアプリだと byte 順が入れ替わって (4110483456 として) 返ってきてました。ということで、native に動いていない場合は、euid = OSSwapInt32(euid) すれば helper にも接続できるようです。</p>
<p>これで問題なく Intel Mac 上でも MacUIM が PPC アプリ上で動くようになったのですが、Rosetta にはその他にも微妙な問題があるようで、uim-anthy で送り仮名ありの語が変換できなくなってしまっていました。Anthy の libanthy の中にバイトオーダーの問題がありそうです。これはちょっとどこがおかしいのか探すのが大変そうです…。まあ、SKK とか PRIME を使っておけば問題ないんですけど。</p>
<p align="justify"> (16日追記) libanthy じゃなくて、anthy.dic がエンディアン依存になっているのが問題のようでした。どうしたらいいかな… これを解決しないと、universal binary の Anthy は ppc Mac ではまともに動かないし。</p>
<p align="justify">(さらに追記) ということで、<a href="http://lists.sourceforge.jp/mailman/archives/anthy-dev/attachments/20070217/4cb6bf8a/anthy-8616-endian.obj" title="anthy-8616-endian.diff">エンディアン非依存</a>にしてみたところ、Rosetta でも MacUIM の anthy がきちんと動くようになりました。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Rosetta]]></title>
<link>http://ekato.wordpress.com/2007/02/13/rosetta/</link>
<pubDate>Tue, 13 Feb 2007 13:15:16 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/02/13/rosetta/</guid>
<description><![CDATA[MacUIM をビルドして Rosetta の動きを調べてみました。試してみたところ Intel]]></description>
<content:encoded><![CDATA[<p align="justify">MacUIM をビルドして Rosetta の動きを調べてみました。<a href="http://ekato.wordpress.com/2007/02/06/macbook/#comment-110">試してみたところ</a> Intel Mac 上でも iBook から持って来た ppc binary の application で universal binary の MacUIM から入力できました。ただし、helper と application の uid が違うといって uim の helper サーバに接続できないみたいです。なんでだろ？？ Rosetta で動かすと uid も変わるのでしょうか？ 時間があったら後で調べてみたいと思います。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook (cont.)]]></title>
<link>http://ekato.wordpress.com/2007/02/08/macbook-cont/</link>
<pubDate>Thu, 08 Feb 2007 14:04:29 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/02/08/macbook-cont/</guid>
<description><![CDATA[MacBook にも GNOME 2.16 入れました。Wine も入れたところ、Linux の Wine で使って]]></description>
<content:encoded><![CDATA[<p align="justify">MacBook にも GNOME 2.16 入れました。<a href="http://www.winehq.com/" title="Wine HQ">Wine</a> も入れたところ、Linux の Wine で使っていた <a href="http://www.mrc-bsu.cam.ac.uk/bugs/" title="The BUGS Project">WinBUGS</a> も動いてくれています。さすが Intel Mac。</p>
<p align="justify">MacUIM ですが、UIMCallback.c はやはり<a href="http://lists.sourceforge.jp/mailman/archives/macuim-dev/2006-August/000131.html">元に戻したほう</a>が自分にはしっくり来るようです (すみませんでした)。ところで <a href="http://www.selenic.com/mercurial/wiki/" title="Mercurial">Mercurial</a> を初めて入れて使ったのですが、ダウンロードが速くて驚きました。</p>
<p align="justify">&#160;</p>
<pre>
--- a/Sources/UIMCallback.c     Mon Jan 29 19:54:53 2007 +0900
+++ b/Sources/UIMCallback.c     Thu Feb 08 17:14:58 2007 +0900
@@ -208,9 +208,9 @@ UIMCandAcivate(void *inPtr, int inNR, in
(*handle)-&#62;fDisplayLimit = inLimit;
(*handle)-&#62;fLayoutBegin = 0;

+  (*handle)-&#62;fWindowOpened = true;
+
LayoutCandidate(handle);
-
-  (*handle)-&#62;fWindowOpened = true;
}

/**</pre>
]]></content:encoded>
</item>
<item>
<title><![CDATA[race condition]]></title>
<link>http://ekato.wordpress.com/2007/01/20/race-condition/</link>
<pubDate>Sat, 20 Jan 2007 08:13:42 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/01/20/race-condition/</guid>
<description><![CDATA[いわたさんにさらに教えて頂きました。ありがとうございます。
 ところ]]></description>
<content:encoded><![CDATA[<p align="justify">いわたさんにさらに<a href="http://quasiquote.org/log2/OpenBSD/2007/01/16/uim" title="OpenBSD/2007/01/16/uim">教えて頂きました</a>。ありがとうございます。</p>
<blockquote><p> ところで、uim-helper.cのuim_helper_get_pathnameと prime.cのprime_get_ud_pathは、"/tmp"上に作るので、こちらは上記の問題があるのではないでしょうか。</p></blockquote>
<p align="justify">確かに helper の socket パスは /tmp/uim-username/ とかのユーザのみ読み書きできるディレクトリを作った方がいいかもしれません。ただ現状でも uim では socket の credentials を使っているので、ユーザ以外が動かしているソケットには接続しないようになっています。</p>
<blockquote><p> popen(というよりsh)のglobbing ruleを気にするくらいならば、昔ながらのfork, exec, pipeをすべきではないでしょうか。これだと、それぞれの段階でエラー処理を制御できるので、問題点を洗い出しやすいコードになるのではないかと思います。</p>
<p>一方、popenでは満足なエラー通知はできません(OpenBSD-man:popenのBUGS参照)。</p></blockquote>
<p align="justify">なるほどエラー処理の問題ですね。そういえば以前 skk-look を使えるようにしたときuim-fep の山本さんにも uim_ipc_open_command() を使ったほうがいいと指摘されたような気がします。</p>
<p>uim-skk はもうかれこれ一年以上いじっていないのですが、おかしな点がありましたらどしどしパッチを送って頂けるとありがたいです。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[uim-skk]]></title>
<link>http://ekato.wordpress.com/2007/01/13/uim-skk/</link>
<pubDate>Sat, 13 Jan 2007 11:20:50 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2007/01/13/uim-skk/</guid>
<description><![CDATA[ヤマケンさんより指摘のあったIPv6サポート入れました。いわたさんありが]]></description>
<content:encoded><![CDATA[<p align="justify">ヤマケンさんより<a href="http://lists.freedesktop.org/archives/uim/2007-January/001744.html" title="IPv6 support for uim-skk">指摘のあった</a>IPv6サポート入れました。いわたさんありがとうございます。</p>
<p align="justify">IPv6使ったことないのでよくわかってませんけど…。いろいろなプラットフォームでのレポート頂けるとありがたいです。</p>
<p align="justify">余談ですが、いわたさんの気になっている個人辞書の race condition  と popen(3) ですが、race condition は F_SETLKW で lock しているのでたぶん大丈夫かなと思います。popen の方は alphabet 以外の文字は渡らないようにしてありますがどうなんでしょう?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[uim]]></title>
<link>http://ekato.wordpress.com/2006/12/22/uim/</link>
<pubDate>Fri, 22 Dec 2006 05:36:12 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2006/12/22/uim/</guid>
<description><![CDATA[1.3.1 をリリースしました。
わざとやってるわけではないのですが、一年前]]></description>
<content:encoded><![CDATA[<p>1.3.1 をリリースしました。</p>
<p>わざとやってるわけではないのですが、一年前にリリース担当になった 1.0.0 から 4 つのリリース全部で 1.x.1 が正式版のようになってます。fd.o の wiki を編集していて気づきました。</p>
<p>本末転倒のような気もしますが、alpha とか beta という名前が付いていると試してもらえないというのもあるのかもしれません…</p>
<p>ところで r5rs ブランチにも trunk の uim がマージされたようなので、これでぼくの役目もおわったかな?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[uim-chewing]]></title>
<link>http://ekato.wordpress.com/2006/12/07/uim-chewing/</link>
<pubDate>Thu, 07 Dec 2006 13:07:50 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2006/12/07/uim-chewing/</guid>
<description><![CDATA[話の流れで libchewing を利用した IM を昨日書いてみました。

uim list
Chewing IM]]></description>
<content:encoded><![CDATA[<p align="justify">話の流れで libchewing を利用した IM を昨日書いてみました。</p>
<ul>
<li><a href="http://lists.freedesktop.org/archives/uim/2006-December/001653.html">uim list</a></li>
<li><a href="http://groups.google.co.jp/group/chewing-devel/browse_thread/thread/57d6442cbf981b2d/cd98f8f2781e9922#cd98f8f2781e9922">Chewing IM development </a></li>
</ul>
<p align="justify">1.3.0 リリース前にちょっと直す部分も見付かったのでちょうどよかったかも。</p>
<p align="justify">&#160;</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[toolbar-qt]]></title>
<link>http://ekato.wordpress.com/2006/11/08/toolbar-qt/</link>
<pubDate>Tue, 07 Nov 2006 19:12:11 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2006/11/08/toolbar-qt/</guid>
<description><![CDATA[&nbsp;
uim の GTK+ ツールバー をダブルクリックで hide するパッチを頂いたの]]></description>
<content:encoded><![CDATA[<p align="justify">&#160;</p>
<p align="justify">uim の GTK+ ツールバー をダブルクリックで hide するパッチを頂いたので、ついでに Qt のツールバーも同じ動きにして、前から気になっていたアイコンのサイズも GTK+ と同じ大きさに変えました。</p>
<p align="justify"><img src="http://users.freedesktop.org/~ekato/img/uim-toolbar-qt-old.png" alt="old" height="51" width="168" />old<br />
<img src="http://users.freedesktop.org/~ekato/img/uim-toolbar-qt.png" alt="new" /> new<br />
<img src="http://users.freedesktop.org/~ekato/img/uim-toolbar-qt-autoraise.png" alt="autoraise" /> autoraise</p>
<p align="justify">(ぼく自身は、GNOME  applet しか使ってませんので) いじっていて非常にどうでもいいような気がしてきましたが、まあ気休めみたいなものでしょうがちょっとはましになったような気もします (さらに autoraise にしてみましたが、のっぺりしすぎた)。</p>
<p align="justify">こういった小さいスペースのダブルクリックって難しいです。あまりフレンドリーではない気がします。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Unicode keys]]></title>
<link>http://ekato.wordpress.com/2006/10/27/unicode-keys/</link>
<pubDate>Fri, 27 Oct 2006 11:21:16 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2006/10/27/unicode-keys/</guid>
<description><![CDATA[少し前に uim の Latin input で、deadkey のプリエディットを表示できるように]]></description>
<content:encoded><![CDATA[<p>少し前に uim の Latin input で、deadkey のプリエディットを表示できるようにしてみました。 X の Compose の並びと同じなのですが、プリエディットが見えるとずいぶん使いやすく感じます。ついでに XKB をかな配列に変更しても漢字変換できるように 、kana キーを扱えるようにもしました。</p>
<p>ところで XKB の配列をかなにして入力する場合、配列の変更を同期できないと使いものにならないとのことなので、試しに状態を見る daemon を作ってみたところ、これでうまくいきそうな感じです。</p>
<p>ただ、gconf の設定と XKB のプロトコルの制約がちょっと厄介そうな気がします。面白そうでもありますが。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[backslash]]></title>
<link>http://ekato.wordpress.com/2006/10/12/backslash/</link>
<pubDate>Thu, 12 Oct 2006 08:32:01 +0000</pubDate>
<dc:creator>ekato</dc:creator>
<guid>http://ekato.wordpress.com/2006/10/12/backslash/</guid>
<description><![CDATA[PC の日本語キーボードで backslash を打つときって、みなさんどのキーを押]]></description>
<content:encoded><![CDATA[<p>PC の日本語キーボードで backslash を打つときって、みなさんどのキーを押してるんでしょう？</p>
<p>右上の円が書いてあるキー？ それとも右下の backslash  のキー？</p>
<p>Mac の日本語キーボードだと右下は backslash になってないので、インプットメソッドの言語状態によって、右上の円のキーが backslash (U+005C) になったり円 (U+00A5) になったり変化します。<br />
PC 用の日本語キーボードは刻印が別々になっているわけですから、右上の円キーで U+00A5 を出してもよさそうに思えるのですが、どうなんでしょうか？</p>
<p>これまで英語配列しか使ってこなかったのでなんか良くわかりません。</p>
]]></content:encoded>
</item>

</channel>
</rss>
