2015年8月アーカイブ

去年と同じく、北海道当麻町へのふるさと納税で北海道米「きたくりん」等をいただきました。

きたくりんのサムネール画像

前回いただいたときの記事がこちらです。ちなみに上の写真も前回撮影したものです。

おかげで毎日美味しくいただいています。この「きたくりん」は私の住んでいる辺りではまだスーパーの店頭に並んでいないようです。いいお米なのでそのうち買えるようになると期待しています。

なお、去年は当麻町以外にも岩見沢市にもふるさと納税をして、やはり北海道米の「ななつぼし」をいただきました。このお米は近年こちらのスーパーでもおなじみの銘柄です。

ふるさと納税は今年から控除の枠が広がったそうです。大都市圏から地方へお金を移す効果や、地域の特産品をアピールする効果が期待できると思います。

私はたまたまお米をいただきましたが、自治体によってお酒や果物や肉など様々な特産品や、施設の優待などを用意しているところもあるようなので、チェックしてみると面白いでしょう。

税金の控除を受けるには基本的には確定申告が必要です。今年から条件によって確定申告不要になるケースがあるようですが、私はいずれにせよ確定申告するのでその辺の新しい制度はチェックしていません。

最近のJavaの更新版のリリースノートを見ていたら、こういうバグが修正されているのが目にとまりました。

XML文書の構造を変換するXSLTの実行において、部分文字列を得る関数にBMP外の文字を与えると結果が正しくないという話です。サロゲート1個を1文字分として勘定した結果になってしまうというものです。今年の3月に報告されています。

いかにもありそうなバグです。2015年になってもまだこういうバグが出てくるのだなあという感想を持ちました。

先日、拙著「プログラマのための文字コード技術入門」のEPUB版に関して、Unicodeで結合文字を用いる必要のある文字がEPUBの処理環境でうまくなくてPDF版よりも提供が大幅に遅れたということを書きました。サロゲートだけでなく結合文字についても、というか多分こちらの方がより長く(あるいは多く、またはその両方)、トラブルが続きそうに思えます。

悲観的にいえば、Unicodeあるいはその処理環境が今と同じ仕組みであれば、こうした種類のトラブルは半永久的に続くのかもしれません。

またテレビ東京の「なんでも鑑定団」でJIS第3水準漢字を見かけました。この番組は第3第4水準漢字の宝庫です。

掛け軸の絵が、江戸時代の画家の「駒井源琦」の作だとのことで鑑定にかけられていました。

この「琦」はJIS X 0213の第3水準、面区点1-88-6です。この字は、三国志の登場人物の劉琦や、江戸時代の黄檗宗の隠元隆琦にも含まれています。

駒井源琦は円山応挙の弟子だそうで、琦が名で源が姓であるので単に源琦ともいい、また大辞林には「駒井琦」として立項されています。

美術人名辞典によるとこの人の「字は子韞」とのことですが、この「韞」もJIS第3水準、面区点1-93-83です。

こうした漢字は、UTF-8やEUC-JIS-2004Shift_JIS-2004といった第3第4水準文字コードで扱えます。私はだいぶ前から、EUCというときはEUC-JIS-2004、SJISというときはShift_JIS-2004をもっぱら使っています。これにより、符号化がUTF-8だろうとSJISだろうとEUCだろうと関わりなく、第3第4水準漢字や、アイヌ語表記用の片仮名、日本語のローマ字綴りに用いられる ō や ū のような長音符号付きアルファベット、独語仏語等Latin-1相当の全部、通貨の€記号やトランプの♤♡マークといった記号類、丸付き数字の㊿までなどが、いつでもどこでも使えるのです。

ちなみにこの番組で、駒井源琦の作とのことで持ち込まれた問題の依頼品は、あえなく偽物と鑑定されてしまっていました。

天津の大きな爆発事故が注目を集めましたが、それとは別の場所、中国山東省でも爆発事故がありました。このニュース記事の中にJIS第3水準漢字が使われています。

この記事の冒頭に、「中国・山東省●(さんずいに鯔のつくり)博市桓台県で」とあります。

「さんずいに鯔のつくり」とは、「淄」でしょう。JIS X 0213の第3水準、面区点1-86-81にあります。つまり、この街の名前は「淄博市」ということです。上記リンク先記事では、地図画像の中にこの字が使われています。

淄博(しはく)」という地名は、大辞林や広辞苑といった国語辞典にも掲載されています。炭田を持つ工業都市とのことです。ネットで検索すると日本語の観光案内も出てきます。

オープンソースの仮名漢字変換プログラムSKKのJIS第3第4水準漢字変換辞書SKK-JISYO.JIS3_4では、「しはく」から「淄博」に、また「しはくし」から「淄博市」に変換することができます。Mac OS Xのことえりでも「しはく」から入力できます。第3第4水準漢字のサポートでは、このように単漢字変換だけでなく単語として入力できることが重要です。

JIS X 0213は中国語の語彙を網羅しているわけではありませんが、日本でよく使われる中国地名の文字を含んでいます。JIS X 0213サポートの重要性が分かります。

拙著『プログラマのための文字コード技術入門』(技術評論社刊)の増刷が決まったとのことです。これで第6刷になります。読者の皆様はじめ、販売いただいている書店それにもちろん版元の技術評論社の皆様に御礼申し上げます。

電子書籍版もあり、PDFとEPUBが販売されています。紙の本でも電子書籍でも、お好きな方をどうぞ。

参考:

電子書籍版は第5刷がベースになっています。第6刷でも変更はないはずです。

季節は夏。帰省のおともに、あるいは夏休みの自由研究に(?)、ぜひ「プログラマのための文字コード技術入門」をご活用ください。

関連しているけれども違うもの、というのがあって、しばしば混同されます。

言語と文字

文字は言語を記すために使われますが、文字と言語は同じものではないし一対一に対応もしません。

どういうことかというと、ラテン文字は英語だけでなくフランス語ドイツ語ベトナム語インドネシア語等さまざまな言語の表記に使われます。そもそもが、「ラテン」文字というくらいで、英語のために作られた文字ではありません。

また、平仮名・片仮名は日本語の表記によく使われますが、アイヌ語の表記にも片仮名が使われますし、またさまざまな外国語の音を写すのにも(しばしば不十分ながら)使われます。「グーテンターク」が日本語でなくドイツ語であることは明らかです。

漢字のフォントのデザインは日本と中国・台湾とで異なります。これは言語の違いによるものではなく、それぞれの地域における活字設計の方針の違いによるものです。

文字コードとフォント

文字コードとフォントは互いに関連しますが、別のものです。

文字コードは文字の種類に符号化表現を割り当てたコード体系です。一方フォントは、具体的な字形を出力するための図形データの集合です。

文字コード表には文字の形が載っていますが、あれは一般的に「その符号位置に対応するのはどんな文字か」を示すためのものであって、フォントの形を規定するものではありません。つまりある符号位置の升目に「人」という字が載っているなら、それは「私たちが知っているあの『人』という字」ということを指しているのみであって、「人」という字の具体的な形をどう実現するかは文字コードのあずかりしるところではありません (もっとも、他の漢字と区別がつくようにする必要はあります。例えば1-38-94「入」と区別がつかないと困ります)。

JIS X 0213の2004年改正のときに、「謎」という字のしんにょうが1点か2点かという話が文字コードの問題であるかのように言われたことがありましたが、それは文字コードではなくフォントの問題です。ただし、両者の字体を区別して異なる符号位置を与えるなら(実際にはそのような必要はありませんが)それは文字コードの問題になります。

記号とその指すもの、それに文字コード

記号とその記号の指し示す概念とは、関連はしますが区別する必要があります。そして文字コードが符号化するのは記号の方です。

例えば「$」という記号は通常「ドル記号」のように呼ばれ、米国等の通貨を表すのに使われます。しかしこの記号が指し示すものと、記号そのものとは、当然関連してはいますが別のものです。米ドルとカナダドルと豪ドルとは同じ「$」記号を使っていても異なる通貨です。またプログラミング言語では変数を示すのにこの記号が使われることもありますし、正規表現では文字列終端を意味します。もし「$」が米国の通貨を指すのにしか使えないとしたらこうした使用はできないことになります。また、ASCIIの0x24というコード値に対応するものは「$」という記号であって、その記号が指す(例えば)米国の通貨という概念そのものではありません。「$」という記号の具体的な視覚表現にはこの記号として認められる範囲があります。例えば縦線が1本でも2本でも同じ記号と見なされますし、縦線が通じているか途切れているかという表現上の違いもありますがいずれにせよ同じ記号です。

同様に、ASCIIの0x52というコード値に対応するのはラテン大文字のRという(記号としての)文字であって、英語のR音やドイツ語のR音や日本語のラ行子音といった概念ではありません。もし特定の言語の音を示すためにしか使えないとしたら、気体の状態方程式 pV=nRT のような用法には使えなくなってしまうとも考えられます。

同様に、JIS X 0213の1面5区2点は平仮名の「あ」という文字を指しているのであって、この文字で示される日本語の音韻としての「あ」音を符号化しているわけではありません。平仮名や片仮名が日本語表記だけに使われるとは限らないことは上述のとおりです。もし記号ではなく音韻を符号化しているのだとしたら、「私は」のようにワと発音される「は」はどうなるのでしょう。

同様に、JIS X 0213の面区点1-20-89は「机」という(図形を抽象化した概念としての記号であるところの)文字を符号化しているのであって、「つくえ」という字義や単語、あるいは「キ」のような読みを符号化しているわけではありません。面区点1-32-24に対応する「生」という漢字は日本語表記では「なま」「いきる」「うむ」など、読みも意味も異なる単語の表記に使われますが、ひとつの符号位置が対応します。読みや意味が違うから分けるということはしません。もしそうしたら実用上とても面倒です。

こうしたことを頭においてJIS X 0208:1997の本文および「解説」を読むと面白いでしょう。

ここ何年か、若い人からの仕事のメールが「お疲れ様です」という書き出しで始まるものが目立つので不思議に思っていました。そういえば、朝一番であっても「おはようございます」でなく「お疲れ様です」と声をかけてくる人もいます。最近ようやく、この現象がなぜ起こっているのか分かってきました。

どうやら学生同士の間で「お疲れ様」という挨拶が流行っているようです。Twitterを見ていたら、大学の先生をしている人が、学生からのメールが「お疲れ様です」で始まっているので、「疲れるのはこれからだよ」と愚痴をこぼしているというのを見かけました。

飯間浩明「辞書編纂者の、日本語を使いこなす技術」(PHP新書)に、著者が大学で講義したときのエピソードが記されていました。講義が終わって学生たちが教室から出て行くときに「お疲れ様でした」と言われたというのです。こういうときには「お疲れ様」というものではないという説明をしたということです。

この本では、学生がバイト先で覚えてきた言葉を学生同士の挨拶に使うようになったのではないかと推測しています。そういう学生が卒業して会社に入ってくるようになったので、冒頭のように私も、まだ何もしていないうちから「お疲れ様です」と言われるようになったのでしょう。

「お疲れ様」というのは「ご苦労様」と同じで、相手の労をねぎらう言葉ですから、使うべき場面とそうでない場面とがあります。(なお、「ご苦労様」は目上の人に使ってはいけないが「お疲れ様」はそうでないとマナー本に書かれていることがありますが、それには根拠がないということが本書には書かれています。この記事の末尾の引用ツイートにもあります)

例えば一日の終わりに、一緒に働いた同僚から「お疲れ様でした」と言われるのはいいでしょう。一方、朝まだ何もしていないうちから「お疲れ様」と言われるのはかなり変だと思います。

メールでも同じことで、相手をねぎらうべき状況であれば「お疲れ様です」と書くのは結構です。しかし唐突に「お疲れ様です」と書いてよこされると「えっ?」と思います。

仲間内の挨拶なら別に何でもいいのかもしれませんし、そもそも挨拶は言葉の意味なんてかまっていないともいえます。もしかしたら将来には、「こんにちは」(意味は「今日は」)や「さようなら」(同じく「それでは」)のように、「お疲れ様」も本来の意味とは無関係に挨拶の言葉として通用するようになるのかもしれません。ただ今の時点では、そのようには見なされません。

やみくもに「お疲れ様です」というのはやめて、時間や状況に応じて「おはようございます」「こんにちは」など普通の挨拶をするようにするのが良いでしょう。状況にふさわしい言葉かどうか、ということが一番肝心です。

状況にふさわしい言葉かどうかということの参考として、「お疲れ様」を目上の人に言うことの是非について、この著者がTwitterにアップロードしたツイートを紹介しておきます。手書き画像ツイートで140文字の壁を越えているので少々長いですが、状況に合う使い方かどうかを例を示しながら説明されています。

広告