ビルドautogen

ここに記載しているメモは、 http://wiki.documentfoundation.org/User:Foral/Build_Win にまとめています。

Windows7 64bit + VS2008でコンパイルしてみる

  • ビルドオプションのポイント
    • mozillaのビルドはVS2005じゃないとだめらしいのでdisableにする。
    • けどmozilla-build toolはインストールしてパスを入れてあげる必要がある。(なぜに必要?)
    • JDKは1.7だとだめだそうなので、1.6を使う
./autogen.sh \
--with-num-cpus=4 \
--disable-build-mozilla \
--with-mozilla-build="/cygdrive/C/mozilla-build" \
--with-vendor="fairytern.org" \
--with-directx-home=" /cygdrive/C/Program Files (x86)/Microsoft DirectX SDK (June 2010)" \
--with-cl-home="/cygdrive/C/Program Files (x86)/Microsoft Visual Studio 9.0/VC" \
--with-mspdb-path="/cygdrive/C/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE" \
--with-asm-home="/cygdrive/C/Program Files (x86)/Microsoft Visual Studio 9.0/VC/Bin" \
--with-windows-sdk-home="/cygdrive/C/Program Files/Microsoft SDKs/Windows/v7.1" \
--with-ant-home="/cygdrive/C/ant/" \
--with-csc-path="/cygdrive/C/WINDOWS/Microsoft.NET/Framework/v3.5" \
--with-jdk-home="/cygdrive/C/Program Files/Java/jdk1.6.0_29" \
--with-midl-path="/cygdrive/C/Program Files/Microsoft SDKs/Windows/v7.1/Bin"
  • ビルドメモ
    • dmakeで、autoconfが生成する(?)conftest.cでエラーになる
      • gccに切り替えてmake install
    • なぜかMS系ライブラリのダウンロードした際に権限が付与されずエラーになる
      • exeとmsi系には実行権限を手動で付与する。

WinkをUbuntuで動かす

スクリーンショットを取って、文字を入れて
フラッシュ (Flash) に書き出せるWinkというツールがある。

操作とかをネットごしに伝えるのに便利なのだが、最近のLinuxではAbortedする。
ちっとどうしてもつかわきゃいけなくなりそうなので、gdbで覗いてみた。

そしたらどうも、ロケーションデータの取得で失敗しているっぽい。
英語ロケール指定で無事起動

使えるから良いけど どうも腑に落ちない。

ちなみに日本語入力はできない。

$LANG=C ./wink

$./wink

glibc detected *** ./wink: free(): invalid next size (fast): 0x09e102b8 ***

======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x1028591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0x1029de8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x102cecd]
./wink[0x815dc60]
./wink[0x814bd41]
./wink[0x814bfea]
./wink[0x814e40f]
./wink[0x814e3a9]
./wink[0x814ca22]
./wink[0x814cb86]
./wink[0x808c74e]
./wink[0x80934f6]
./wink[0x8148f1c]
./wink[0x808a65d]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xfd3bd6]
./wink[0x8057165]
======= Memory map: ========
00110000-00116000 r-xp 00000000 08:01 1183876 /usr/lib/libpangoxft-1.0.so.0.2800.0
00116000-00117000 r--p 00005000 08:01 1183876 /usr/lib/libpangoxft-1.0.so.0.2800.0
00117000-00118000 rw-p 00006000 08:01 1183876 /usr/lib/libpangoxft-1.0.so.0.2800.0
00118000-0011a000 r-xp 00000000 08:01 1192046 /lib/tls/i686/cmov/libdl-2.11.1.so
0011a000-0011b000 r--p 00001000 08:01 1192046 /lib/tls/i686/cmov/libdl-2.11.1.so
0011b000-0011c000 rw-p 00002000 08:01 1192046 /lib/tls/i686/cmov/libdl-2.11.1.so
0011c000-001e4000 r-xp 00000000 08:01 1179788 /lib/libglib-2.0.so.0.2400.1
001e4000-001e5000 r--p 000c7000 08:01 1179788 /lib/libglib-2.0.so.0.2400.1
001e5000-001e6000 rw-p 000c8000 08:01 1179788 /lib/libglib-2.0.so.0.2400.1
001e6000-001ea000 r-xp 00000000 08:01 1186279 /usr/lib/libgthread-2.0.so.0.2400.1
001ea000-001eb000 r--p 00003000 08:01 1186279 /usr/lib/libgthread-2.0.so.0.2400.1
001eb000-001ec000 rw-p 00004000 08:01 1186279 /usr/lib/libgthread-2.0.so.0.2400.1
001ec000-00201000 r-xp 00000000 08:01 1192058 /lib/tls/i686/cmov/libpthread-2.11.1.so
00201000-00202000 r--p 00014000 08:01 1192058 /lib/tls/i686/cmov/libpthread-2.11.1.so
00202000-00203000 rw-p 00015000 08:01 1192058 /lib/tls/i686/cmov/libpthread-2.11.1.so
00203000-00205000 rw-p 00000000 00:00 0
00205000-00213000 r-xp 00000000 08:01 1187517 /usr/lib/libXext.so.6.4.0
00213000-00214000 r--p 0000d000 08:01 1187517 /usr/lib/libXext.so.6.4.0
00214000-00215000 rw-p 0000e000 08:01 1187517 /usr/lib/libXext.so.6.4.0
00215000-00239000 r-xp 00000000 08:01 1192047 /lib/tls/i686/cmov/libm-2.11.1.so
00239000-0023a000 r--p 00023000 08:01 1192047 /lib/tls/i686/cmov/libm-2.11.1.so
0023a000-0023b000 rw-p 00024000 08:01 1192047 /lib/tls/i686/cmov/libm-2.11.1.so
0023b000-00258000 r-xp 00000000 08:01 1179734 /lib/libgcc_s.so.1
00258000-00259000 r--p 0001c000 08:01 1179734 /lib/libgcc_s.so.1
00259000-0025a000 rw-p 0001d000 08:01 1179734 /lib/libgcc_s.so.1
0025a000-002cb000 r-xp 00000000 08:01 1200867 /usr/lib/libfreetype.so.6.3.22
002cb000-002cf000 r--p 00070000 08:01 1200867 /usr/lib/libfreetype.so.6.3.22
002cf000-002d0000 rw-p 00074000 08:01 1200867 /usr/lib/libfreetype.so.6.3.22
002d0000-002d8000 r-xp 00000000 08:01 1187539 /usr/lib/libXrender.so.1.3.0
002d8000-002d9000 r--p 00007000 08:01 1187539 /usr/lib/libXrender.so.1.3.0
002d9000-002da000 rw-p 00008000 08:01 1187539 /usr/lib/libXrender.so.1.3.0
002da000-002dc000 r-xp 00000000 08:01 1187527 /usr/lib/libXinerama.so.1.0.0
002dc000-002dd000 r--p 00001000 08:01 1187527 /usr/lib/libXinerama.so.1.0.0
002dd000-002de000 rw-p 00002000 08:01 1187527 /usr/lib/libXinerama.so.1.0.0
002de000-002e4000 r-xp 00000000 08:01 1187537 /usr/lib/libXrandr.so.2.2.0
002e4000-002e5000 r--p 00005000 08:01 1187537 /usr/lib/libXrandr.so.2.2.0
002e5000-002e6000 rw-p 00006000 08:01 1187537 /usr/lib/libXrandr.so.2.2.0
002e6000-002e9000 r-xp 00000000 08:01 1188685 /usr/lib/libxcb-render-util.so.0.0.0
002e9000-002ea000 r--p 00002000 08:01 1188685 /usr/lib/libxcb-render-util.so.0.0.0
002ea000-002eb000 rw-p 00003000 08:01 1188685 /usr/lib/libxcb-render-util.so.0.0.0
002ec000-00307000 r-xp 00000000 08:01 1183789 /lib/ld-2.11.1.so
00307000-00308000 r--p 0001a000 08:01 1183789 /lib/ld-2.11.1.so
00308000-00309000 rw-p 0001b000 08:01 1183789 /lib/ld-2.11.1.so
00309000-0032e000 r-xp 00000000 08:01 1183873 /usr/lib/libpangoft2-1.0.so.0.2800.0
0032e000-0032f000 r--p 00024000 08:01 1183873 /usr/lib/libpangoft2-1.0.so.0.2800.0
0032f000-00330000 rw-p 00025000 08:01 1183873 /usr/lib/libpangoft2-1.0.so.0.2800.0
00330000-00354000 r-xp 00000000 08:01 1179727 /lib/libexpat.so.1.5.2
00354000-00356000 r--p 00024000 08:01 1179727 /lib/libexpat.so.1.5.2
00356000-00357000 rw-p 00026000 08:01 1179727 /lib/libexpat.so.1.5.2
00357000-0035f000 r-xp 00000000 08:01 1187511 /usr/lib/libXcursor.so.1.0.2
0035f000-00360000 r--p 00007000 08:01 1187511 /usr/lib/libXcursor.so.1.0.2
00360000-00361000 rw-p 00008000 08:01 1187511 /usr/lib/libXcursor.so.1.0.2
00361000-0036b000 r-xp 00000000 08:01 1183868 /usr/lib/libpangocairo-1.0.so.0.2800.0
0036b000-0036c000 r--p 00009000 08:01 1183868 /usr/lib/libpangocairo-1.0.so.0.2800.0
0036c000-0036d000 rw-p 0000a000 08:01 1183868 /usr/lib/libpangocairo-1.0.so.0.2800.0
0036d000-00374000 r-xp 00000000 08:01 1192060 /lib/tls/i686/cmov/librt-2.11.1.so
00374000-00375000 r--p 00006000 08:01 1192060 /lib/tls/i686/cmov/librt-2.11.1.so
00375000-00376000 rw-p 00007000 08:01 1192060 /lib/tls/i686/cmov/librt-2.11.1.so
00376000-0037e000 r-xp 00000000 08:01 1187867 /usr/lib/libfusion-1.2.so.0.8.0
0037e000-0037f000 r--p 00007000 08:01 1187867 /usr/lib/libfusion-1.2.so.0.8.0
0037f000-00380000 rw-p 00008000 08:01 1187867 /usr/lib/libfusion-1.2.so.0.8.0
00381000-00414000 r-xp 00000000 08:01 1186455 /usr/lib/libgdk-x11-2.0.so.0.2000.1
00414000-00416000 r--p 00093000 08:01 1186455 /usr/lib/libgdk-x11-2.0.so.0.2000.1
00416000-00417000 rw-p 00095000 08:01 1186455 /usr/lib/libgdk-x11-2.0.so.0.2000.1
00417000-004c7000 r-xp 00000000 08:01 1212107 /usr/lib/libstdc++.so.5.0.7
004c7000-004cc000 rw-p 000af000 08:01 1212107 /usr/lib/libstdc++.so.5.0.7
004cc000-004d1000 rw-p 00000000 00:00 0
004d1000-00548000 r-xp 00000000 08:01 1187648 /usr/lib/libcairo.so.2.10800.10
00548000-0054a000 r--p 00076000 08:01 1187648 /usr/lib/libcairo.so.2.10800.10
0054a000-0054b000 rw-p 00078000 08:01 1187648 /usr/lib/libcairo.so.2.10800.10
0054b000-0054d000 r-xp 00000000 08:01 1187504 /usr/lib/libXau.so.6.0.0
0054d000-0054e000 r--p 00001000 08:01 1187504 /usr/lib/libXau.so.6.0.0
0054e000-0054f000 rw-p 00002000 08:01 1187504 /usr/lib/libXau.so.6.0.0
00550000-00568000 r-xp 00000000 08:01 1186456 /usr/lib/libgdk_pixbuf-2.0.so.0.2000.1
00568000-00569000 r--p 00017000 08:01 1186456 /usr/lib/libgdk_pixbuf-2.0.so.0.2000.1
00569000-0056a000 rw-p 00018000 08:01 1186456 /usr/lib/libgdk_pixbuf-2.0.so.0.2000.1
0056a000-0057d000 r-xp 00000000 08:01 1179850 /lib/libz.so.1.2.3.3
0057d000-0057e000 r--p 00012000 08:01 1179850 /lib/libz.so.1.2.3.3
0057e000-0057f000 rw-p 00013000 08:01 1179850 /lib/libz.so.1.2.3.3
0057f000-00591000 r-xp 00000000 08:01 1187523 /usr/lib/libXft.so.2.1.13
00591000-00592000 r--p 00011000 08:01 1187523 /usr/lib/libXft.so.2.1.13Aborted

Nokia E52 設定メモ

Free emoze メールクライアント
Free Skype VoIPクライアント(Fring)など他のソフトを入れると動かなくなる)
Free Snaptu facebook/Twitterクライアント
Not Free JoikuSpot モバイルWifiにするため
Free OggPlay 音楽再生
Free Opera ブラウザ
Free M.Guard
Free MFep60 日本語入力
Free Fonts 日本語フォント
Free Gmail メール
Free Google Map 地図
Free Mail for Exchange Googleとの同期
Not Free Uploader Pro Pixelpipeのお仲間、Nokia標準のOnline Shareを使うのでこっちの方がお好き
Free UpCode QRコードを見るため
Free SIP_VoIP SIPプロファイル?設定ツール SIP_VoIP_3_1_Settings_S60_5_x_v1_0_en
Free SIP_VoIP SIPサービス?設定ツール SIP_VoIP_3_x_Settings_v2_0_en.sis

Unicodeと”〜”

foral2004-10-19

話の発端は

    • -

Vine ML
http://search.luky.org/vine-users.6/msg08192.html
ここらへん

OOo discass ML
http://ja.openoffice.org/servlets/ReadMsg?list=discuss&msgNo=7061
ここらへん

      • -

JIS規格では〜はWAVE DASHと規定されているらしい。

資料1より、

JISの規格では「〜」は「波ダッシュ」と記述されており、
文字名称は WAVE DASHと規定されている。

これが本当であるのかは資料が手元にないので検証はできないが、皆さんが言われているのでそうであると考える。

Unicodeの規格でWAVE DASHはU+301Cである。

Unicodeの資料を見ると

U+301C(WAVE DASH)であり、U+FF5E(FULLWIDTH TILDE)である。

であるからしてWAVE DASHである波ダッシュを規定する上では
規格上U+301Cを割り当てるとが規格に準じた実装といえる。

Microsoftの実装は一味違う

Windowsの実装においては
JISで規定されているWAVE DASH(波ダッシュ)に対して
Unicodeでは、U+FF5E(FULLWIDTH TILDE)を割り当てている。

JIS規格とMicrosoftどっちが正しい?

図を見ていただければわかる通り通常われわれが目にしている〜というのはU+FF5E(FULLWIDTH TILDE)に相違ない。
少なくとも私は紙に書くときFULLWIDTH TILDEを書いている。

JIS規格で実際どっちの形状の文字をWAVE DASHとして規定規定しているのか企画書で確認する必要はあるが、Webサイトで見る限り、Microsoftの方が見た目上正しいように感じ、JISの規格に問題があるように思うのは私だけではないだろう。

現実問題

これによって規格に準じた実装をしているソフトとMicorosoftの実装したソフトでは問題が起きてしまう。

301CとFF5Eを指定するのでは違う文字になってしまう上に、WAVE DASHを指定した場合UnicodeのWAVE DASH U+301Cはほとんどのフォントで未定義の語であるためにこの文字だけ※[?]という表記になるか、全く表示されないという事態に陥る可能性が極めて高い。
※〜という物以外にも同様の問題を抱えている記号があるらしい。詳しくは資料2を参照してください。

これからわれわれはどうすればよいのか

  • 少なくとも文字化けをさせないために

フォントにFULLWIDTH TILDEにグリフを追加してもらうしかないだろう。

  • 両対応ソフトにしてもらう

地道だがこれが今言える安易な答えであると思われる。

  • 番外編:規格に準じているソフトを規格に準じないようにしてもらうorその逆

後々のことを考えると規格に準じていないものを排除すべきであると私は考えるが、Windowsなどデファクトスタンダードとなり全世界何万人もが利用しているものを変えるのはなかなか現実的ではない。ビジネス的に考えてもMicrosoftに全くうまみが無いのでやらないと思われる。かといってすべてのほかのソフトを準じないようにするのも現実的ではない。