2014年9月アーカイブ

札幌市民ならいつとはなしに気付いていることですが、JR駅が「札幌」駅なのに対して、このJR駅と接続している地下鉄駅は「さっぽろ」駅と、平仮名になっています。どういう理由かは知りませんが、わざわざ違う字にしているのは意図的なものなのでしょう。

ですが、このような区別をすることに本当に意味があるでしょうか。そもそもが同じ土地を指す同じ言葉です。

目で見たらJRか地下鉄か区別できる、という意見があるかもしれませんが、耳で聞いたら同じです。目で見れば分かる、というのは、目で見ないと分からない、ということでもあります。視覚障害者は区別できなくていいのでしょうか。また、漢字や平仮名を読めない外国人はローマ字で書かれた「Sapporo」という字を読むわけです。

もし鉄道事業者ごとに字を変えるということだと、東京の渋谷駅はどうなるでしょうか。JRは「渋谷」、東京メトロは「しぶや」、東急は「シブヤ」、京王電鉄は「Shibuya」とローマ字まで繰り出すことになるのでしょうか。もちろんそんなことをする必要があるとは考えられません。

以前、市町村合併の動きが盛んだった時期に、北海道の空知地方の一部に、いくつかの町が合併して「東さっぽろ市」というのを作るという話がありました。「東札幌」だと既に札幌市内に地名も地下鉄駅もあるので具合が悪い、それなら平仮名にしたらいいだろう、ということだったようです。しかし、漢字を平仮名にしたら別ものだという発想は納得し難い。やはり声に出したら全く同じです。サッポロという地名をヒガシで修飾したということだから、本来的にそれは同じ言葉だといえます。ちなみにこの合併話は途中で消滅したようです。

漢字か平仮名か、というのは言葉の区別には意味のないことです。言葉の区別のうえで意味をなさない表記上の違いをやたらに増やしたりそこにこだわったりするのは、煩雑さを増やすだけのように思えます。

Javaの文字列関係のAPIはJDK 1.5 (Java 5)でサロゲートペア対応のために大きく変わりましたが、その後、Java 7でも地味にCharacterクラスにメソッドが追加されていたりします。

  • public static boolean isBmpCodePoint(int codePoint)
  • public static boolean isSurrogate(char ch)
  • public static char highSurrogate(int codePoint)
  • public static char lowSurrogate(int codePoint)
  • public static boolean isAlphabetic(int codePoint)
  • public static boolean isIdeographic(int codePoint)
  • public static int compare(char x, char y)
  • public static String getName(int codePoint)

大体メソッド名から推測できるものが多いです。

注意が必要な点として、isAlphabetic(int)は日本人が「アルファベット」と聞いて真っ先に思い浮かべるラテンアルファベットだけでなく、ギリシャやキリルも、それどころか平仮名や漢字さえ含んでいます。記号類でない言語表記のための文字が大体相当すると思っていいでしょう。定義はメソッドの説明に記されているので、用途に応じて便利なケースがあれば使えばよいでしょう。ちなみにカテゴリMnは含んでいないので、結合文字は(例えば合成用の濁点やアクセント記号等) falseになります。

isIdeographic(int)は漢字かどうかを判定します。一部の人がすぐに気にしたであろう互換漢字もこれでtrueを返します。「々」を与えるとfalseになります。

getName(int)は普通のアプリケーションでは使わないかもしれませんが、一部の人(?)は歓迎しそうです。Character.getName(0x3042) とすると "HIRAGANA LETTER A" が得られます。

メソッドでないのですが、Character.UnicodeScriptというクラスが新たに定義されています。これは Unicode Standard Annex #24: Script Names という文書に記されている属性定義を利用できるものです。

例えば、

Character.UnicodeScript s = Character.UnicodeScript.of(0x3042); // 「あ」

とすると、enum定数のHIRAGANAが得られます。

では平仮名と片仮名の両方で用いられる長音符号「ー」はどうなのかというと、これは上記の文書の定義に従って「COMMON」になります。ちなみに合成用の濁点(結合文字)はINHERITEDというものになります。前の文字に同じ、という意味のようです。

漢字は定数HANです。「々」もHANになります。

便利そうな感じはしますが、定義に気をつけて良く吟味しないと期待通りに使えないかもしれないので注意ですね。Unicode Character Databaseの一部として用意されているデータファイルから各文字の値が得られます。

FlickrのPhotostreamの順序を変えることを以前記事にしました。

後で気付いたことがあるので、その補足です。

まず、アップロード画面の写真の順序と、アップロード後のPhotostreamの順序の関係です。

アップロードの順序は、アップロード画面で最初(左上)に来ているものが、アップロード後の最新となります。つまり、アップロード画面で左から右に並んでいる順序そのままに、アップロード後のPhotostreamでも左から右へと並ぶことになります。

それから、Photostreamの順序を変えるのにアップロード日時を変更する際に、複数の写真を操作したい場合に注意があります。

Organize → 設定したい写真をbatchにドロップ → Edit photos → Title, tags, and desriptions → Dates → Date uploaded

この操作は今でも変わっていませんが、日付を操作するUIが出てくるのは、batchに1つだけ写真が入っている場合だけのようです。複数の写真をまとめて編集しようとしてbatchに入れていると、"Dates" が出てきません。

Ruby 2.0では待望のEUC-JIS-2004のサポートが追加されています。以前当ブログの記事に書きました。

ただ、文字コードを指定するための名前がなぜか、「EUC-JP-2004」と、真ん中が「-JP-」になっていました。

これが、Ruby 2.1.3では修正されて「EUC-JIS-2004」と普通の名前になっているようです。

Ruby 2.1.3のリリースのおしらせからたどれるChangeLogに記載があります。おしらせは2014年9月19日の日付で出ています。

別に「EUC-JP-2004」という名称であっても、分かって使う分には支障ないのですが、Rubyの特別ルールを覚える必要がなければそれにこしたことはありませんね。

PythonでもEUC-JIS-2004として登録されているようですし、Cygwinに入っているiconvでもEUC-JIS-2004という名前で使えます。

投資信託を持っている人は少なくないと思いますが、保有している投資信託を金融機関の間で移動したことのある人はあまり多くないんじゃないかと思うので、先日自分でやったことをメモしておきます。どなたかのお役に立てば幸いです。なお、細かなところは金融機関によって違いがあるかもしれないので、あくまで、私がやったときはこうだった、というメモとしてご覧ください。

確認しておくべき点

任意の金融機関の間で何も気にせず移管できるわけでなく、確認しておくべき条件がありました。

  • ひとつは、移管したい投資信託が移管先の金融機関(証券会社等)でも取り扱いされていること。
  • もうひとつは、移管対象の投資信託が移管元で特定口座に入っているなら、移管先にも特定口座を持っていること。

特定口座か一般口座かを確認しておくことが必要です。その他細かな注意事項が書かれていることがあるので、金融機関のウェブサイトを確認しておきます。

もうひとつ注意点として、移管の手数料が銘柄ごとにかかります。1銘柄あたり税抜き3000円でした。もし3銘柄を一度に移管するなら、3倍した額を払う必要があります。移管元の金融機関の残高から支払いました。このあたり金融機関によって違うのかどうかは知りません。いくつか証券会社のウェブサイトを見たところでは同じ金額でした。

手続きの実際

手続きは、いかにネット時代といえども、マウスのクリックだけで完結するわけではありません。移管元の金融機関のウェブサイトから書類を取り寄せて記入捺印して送り返すことが必要でした。電話で確認の入るフェーズもありました。銀行振込と違って、今日申し込んだら明日には資産が移動している、というわけにはいきません。

電話確認では、移管したい銘柄についてと、上に記した、移管先が特定口座かどうか、手数料がかかるけどいいか、といったことを確認されました。最後に、もしよければ移管の理由を聞かせてくださいということも言われ、正直にお話ししました。「ああ〜、そうですか〜」という女性の残念そうな声を振り切るのは後ろめたいものがありましたが、こちらも事情があるのでそんなことで翻意することはありません(引き止めるようなことはもちろん言われませんでした。念のため)。もし、某M証券からいま移管するのだったら、「某アナの件で...」と言ってみるのも面白いかもしれません(冗談ですよ!)。

今回の私の場合は、積立のタイミングの都合があって少し待つ必要があったので、1週間か2週間ぐらい余計にかかり、結局、最初に思い立ってから完了するまで、なんだかんだで1か月くらいかかりました。今回のような余計な待ち時間がなくとも、2, 3週間ぐらいはみておいたほうがいいのだろうと思います。移管元の金融機関の口座から残高が消えて移管先に現れるまでの間、このまま消失しちゃったらどうしようという、ウィザードリィのキャラをシナリオ間で移動するのにフロッピーディスクを入れ替えるときのような緊張感がありました。たとえが古い!

移管が無事終わると、移管先の口座に反映されます。取得金額も変わらないので、損益も元のまま、単に金融機関だけが変わったということになります。

移管の体験談は以上です。

最後に

投資信託はリスクとコストを把握のうえ、用量・用法を守って正しくお使いください。薬と同じです。使い方を誤れば毒にもなります。

先日、文字コード規格のISO/IEC 10646:2014が出たという記事を書きました。

そのときはまだだったのですが、改めて見てみたら、前の版の2012年版でなく最新の2014年版が、一部のISO規格を無料でダウンロードできるウェブサイトから入手可能になっていました。

それにしても、前の版から2年で更新されるって早いなあ......と思ったら、2012年の前は2011年に出ていたんですね。ちなみにその前は2003年で、間が空いていますが、その代わりその間にAmendment (追補)がぽんぽん発行されていました。

ISO/IEC 10646はUnicodeと同等の文字コードを定義する規格です。

ダウンロードファイルは129MBほどあります。

先日、こういう記事を公開しました。

このJISはISO/IEC 10646に対応する国内規格(実質的に翻訳版)です。ISO/IEC 10646はUnicodeに対応するISOの国際規格です。

X0221の2014年版は10646の2012年版に対応しているのですが、一方で、その10646の2014年版がこの8月に出ていたようです。JSA Web StoreでPDF版が購入可能になっています。

JISの翻訳版が追いついたと思ったらISOの新しい版が出て、なんだか逃げ水を追っているような感じですね。

ISO規格を無料でダウンロードできるサイトFreely Available Standardsにある10646はまだ2012年版です。

プログラマのための文字コード技術入門』を執筆中、XMLについての記述で悩んだことがあります。といってもXMLの技術仕様の中身とは関係のない部分です。

それは、"XML 1.0 Fifth Edition" のeditionにあたる日本語をどうするかです。

これは通常、「版」という言葉があてられます。有名なC言語の解説書の『プログラミング言語C 第2版 』の「第2版」も原題は "Second Edition" です。

ところが今回の場合は "1.0" というバージョン番号が一緒に出てきています。versionも訳すれば「版」ですから、「1.0版の第5版」になってしまうのはいかにもうまくない。

出版社の人にも聞いてみたのですがいい答えがなかったので、「版」はversionに対応する語としておき、editionはそのまま英語にしてしまいました。

もっとも、いま考えると、逆にeditionに「版」を割り当てて、versionにあたる日本語は出さずに済ませるか、もし必要なら片仮名で「バージョン」にしてしまった方が収まりが良かった気がします。XMLの仕様書の日本語訳はそうしているようです。

広告