メッセージ。 - アルファベット前後のスペースとか
# アルファベット前後のスペースとか
以下、某所にコメントしようとして書いた文章。こんなこと伝える必要ないし、おいらの意見は間違ってるなぁ〜と思ったので、投稿するのやめました。でもせっかく書いたので、ここには置くのですwww。
あのぉ〜。自分、出版業界には少しだけ詳しいんですけど、「(アルファベットの前後に)半角スペースを入れるのは出版業界では常識」というのはすごく誤解を招く表現の気がしました……。
たとえば将来、もしあなたが出版社に原稿を持ち込むことになった、あるいは寄稿の依頼を受けて原稿を書くことになったとしたら、その原稿ではアルファベットの前後にスペースを入れないほうが編集者に喜ばれると思われます。
アルファベットの前後にスペースがあると、編集者はそれをすべて手作業で取り除かなければならないからです。というのも、アルファベットの前後にスペースを開けて見栄えを良くするという作業は、本来組版(紙上にテキストや図などをレイアウトする工程)の担当者がすべき仕事なのです。
組版の担当者はその道のプロなので、さまざまなテクニックを駆使してページの読みやすさや見栄えを良くしてくれます。しかし、素材となるテキスト原稿にそういう加工(アルファベット前後のスペースや、たとえばメールのように1行80文字で改行するなど)がされていると、逆にやりにくくなってしまうのです。
これは出版・印刷業界での話でしたが、Webの世界でも同じことが言えます。組版というのは、Webの世界でいえばWebブラウザが担当するものなので、Webブラウザの実装(IEがあったり、Firefoxがあったり、ほかにもいろいろあります)によって、見栄えなどが違ってくるわけです。また、フォントによっても見栄えは変わりますね。
そうしたことを考えると、アルファベットの前後にスペースを入れたほうが良いかどうかというのは、一概に言えないのですね。たしかに現状では、スペースを入れるほうが読みやすいことが多いのですが、たとえば将来、「自分の書いたブログを本にしたい」と思ったとき、逆に読みにくい本になってしまうかもしれません。
見栄えを良くしたほうが読者に優しいのは確かなので、そういった気遣いは本質的に良いものだと思います。ただ、できればテキストの編集時に工夫するのではなく、CSSやブログツールなどで調整するのが良いように思います。
# 老婆心ながら一言書くつもりがクドくなってしまいした。すみません。本当は、ユーザーはこんなつまらないことを意識せずに、コンピュータがうまくやってくれれば良いことなのだと思います。なのでまぁ、うだうだ書きましたけど、あまりお気になさらずに。
あのぉ〜。自分、出版業界には少しだけ詳しいんですけど、「(アルファベットの前後に)半角スペースを入れるのは出版業界では常識」というのはすごく誤解を招く表現の気がしました……。
たとえば将来、もしあなたが出版社に原稿を持ち込むことになった、あるいは寄稿の依頼を受けて原稿を書くことになったとしたら、その原稿ではアルファベットの前後にスペースを入れないほうが編集者に喜ばれると思われます。
アルファベットの前後にスペースがあると、編集者はそれをすべて手作業で取り除かなければならないからです。というのも、アルファベットの前後にスペースを開けて見栄えを良くするという作業は、本来組版(紙上にテキストや図などをレイアウトする工程)の担当者がすべき仕事なのです。
組版の担当者はその道のプロなので、さまざまなテクニックを駆使してページの読みやすさや見栄えを良くしてくれます。しかし、素材となるテキスト原稿にそういう加工(アルファベット前後のスペースや、たとえばメールのように1行80文字で改行するなど)がされていると、逆にやりにくくなってしまうのです。
これは出版・印刷業界での話でしたが、Webの世界でも同じことが言えます。組版というのは、Webの世界でいえばWebブラウザが担当するものなので、Webブラウザの実装(IEがあったり、Firefoxがあったり、ほかにもいろいろあります)によって、見栄えなどが違ってくるわけです。また、フォントによっても見栄えは変わりますね。
そうしたことを考えると、アルファベットの前後にスペースを入れたほうが良いかどうかというのは、一概に言えないのですね。たしかに現状では、スペースを入れるほうが読みやすいことが多いのですが、たとえば将来、「自分の書いたブログを本にしたい」と思ったとき、逆に読みにくい本になってしまうかもしれません。
見栄えを良くしたほうが読者に優しいのは確かなので、そういった気遣いは本質的に良いものだと思います。ただ、できればテキストの編集時に工夫するのではなく、CSSやブログツールなどで調整するのが良いように思います。
# 老婆心ながら一言書くつもりがクドくなってしまいした。すみません。本当は、ユーザーはこんなつまらないことを意識せずに、コンピュータがうまくやってくれれば良いことなのだと思います。なのでまぁ、うだうだ書きましたけど、あまりお気になさらずに。
Comment
#
たとえば「段落の字下げは空白何文字でなければならない」とか。はあ?字下げは字下げであって、何文字とか空白とかではないのですけど。
まあ、今回の話もそんな中で出て来た勘違いなんじゃないのかなと思っています。私も組版が担当する部分はWeb上ならCSSでという案に賛成です。
#
# リテラシの問題とか、難しいっすねぇ〜
この問題、考えはじめると難しいですね。「見た目ではなく国語の問題だ」という指摘があったりして、その通りだと思いました。ただ、村人の人にしてみれば、現在のコンピューティング環境で「正しい国語を使えばgood」とか思いにくいのも確かなわけで。
この件は、「正解」というものが存在する問題だったと思います。具体的には、「正しい国語に準拠」という感じが答でしょうか。でも「準拠」の部分が幅広くて、「そうは言っても……」みたいな運用をしているわけですね。出版の人間もモヒカンも、普通の日記書きも。
それで今回、みんなであーだこーだ言ったわけですけど、「正しい国語」という「的の中心」に、矢を射られる人はなかなか出てこなかった。多くの人は、結果的に同じようなことを感じ、同じような結論を得ていたにもかかわらず、的の中心を少しずつ外していた(ぼくも含めて)。
それはやっぱり、人間というものが自分の立場に(多少なりとも)固執してしまうからなんだろうなぁと思います。人間は立場というものを持っている以上、往々にして間違っちゃうよと。ただ、間違うのはもうしょうがないから、意見を出しあって修正していけばいいよね、というのがモヒカンのやり方なんだと思います。
そういう意味で、今回のBarさんのように間違ったことを書いてしまうのは悪ではないと、なんとか伝えられればいいのですけどねー。なかなか、これが難しい。「君の書いたことは間違いだ」とか、多くの人からあーだこーだ言われると、まぁ誰だってパニックになって萎縮してしまうと思います。「ああ自分はなんて馬鹿だったんだ」みたいに。
なので今回も、正解が伝わればいいなぁと思うものの、ちょっとそっとしておくのが良いのかなぁと思います。あんまり情報を与えて圧迫してしまうと逆効果かなーと。
#
形態素分解のためのデリミタと、見た目調整用の空白を半角スペースで兼用しているのが両立が難しいところなのかなぁと。
# バッドバッド!すべてがバッドッ!
という意見には同意しかねます。これを言うなら、文字を使ってコミュニケーションすること自体がバッドノウハウ! 鉛筆の使い方も、消しゴムという観念も、音声を使うこともバッドノウハウ! そのほかの各種活動も物理媒体に依存しているのでバッド!! すべてのインタラクションがバッドとなってしまうッ! 結局人間は、機械や物理、媒体の都合に合わせる以上のことができないッ!
# あろはさんに感化されすぎです。
# マジレスすると…
Quark は触ったこともないのでよくわからないのですが、本当は大人の事情(?)でそういうことができない理由があったりするのでしょうか。。。
後半は、直観的にはどちらがよいとも言えない二つのルールを機械が(というかプログラマが)ちょっとばかりさぼるために恣意的に一つに絞ってそれに人間の体を合わせる、というのはバッドじゃないかということです。
プログラマの立場からするとスジの悪いオプションを増やすのはプログラムを無駄に複雑にするから嫌、というのはワカるのですが、空白を柔軟に解釈するのはスジ論としても悪くない処理だと思うのです。
# アナログとデジタルの間の断絶
「賢くレンダリング」というのは、やってくれるとうれしいなーと、一見思います。でもたぶん、そういう実装をすると、MS Wordを使うときのように「なんでこんな余計なことするんだよー」ってなると思うのです。「賢く」なったらいいですけど、計算機って人間が思うよりすごくバカなんです。「適切なインポート」というのも、同じ問題をはらんでいますよね。
とくに、プロの現場では人間の入力に機械が変な加工をしてほしくないと思う人が多いんじゃないでしょうか。デザインは精度を要求される仕事でもあります。そういう意味で、Quarkもファジーな加工をする機能がないのだと思います。(本当は、外国製のソフトなので、日本人の使い勝手なんてあまり考えられてないだけなのかもしれないですが。)
んー。そりゃそうなんですけど。
たとえばある人が、1つの文章中で、半角スペースを入れたり入れなかったりした場合、機械はどう処理すべきでしょうか? ある部分ではスペースを削り、ある部分ではそのまま処理すべきですよね。でもたぶん、機械はそんな賢く「ある部分」を見分けられないんじゃないかと思うのです。
そして、人間って往々にしてルール混在をやります。「半角スペースを入れる」と決めてる人でも、そんな厳密にやってるわけじゃないですよね。自分が決めたルールに「厳密に」従うなんて、機械の都合に合わせることだし、しんどい。でもそうすっと、計算機はうまく処理できなくなっちゃうのです。バカなんですよね……。でも、人間もバカなんです。自分が決めたルールすら守れないんですから……。
2つのルールを用意しておいて、切り替えられるようにしておくというのはあってもいいのかな……。でも、本当にそういうものがあったほうがいいのですかね……。「学校で教わった正しい日本語なら処理できる」という処理にしておいたほうが、正しい日本語を使う人が増えていいんじゃないかなぁ。別のルールを作っちゃうと、あれもこれも追加してほしいって要望が上がりそうだし。
たとえば、正しい日本語表現に人間の体を合わせるのはバッドなんですかね。や、正しくなくたっていいとは思いますけど。正しくない表現だからこそ面白いときもあるし、言葉って生き物だから、正しさを追求しすぎると死んでしまう。でも、ある程度はやっぱり正しい日本語表現を使うほうがいいですよね。それは結局、人間の体を合わせるということなわけで。
プログラマは確かにわがままですけどw、んー。そもそも「どっちがいいのか」ってのが、難しい問題なんっすよねぇ。この問題の本質は、アナログとデジタルの間の断絶なんだと思います。
オプションを増やすのは、プログラマにとっても嫌ですけど、たぶんユーザーにとっても嫌なことですw。ボタンがたくさんたくさんある車は、あまり筋がよくないと思います。作り手の観点だけじゃなく、ユーザビリティの観点で。
空白を柔軟に解釈できると良いですけど、人間が考える柔軟というのを、計算機で実現するのはすごく難しいんですよ。「人工知能を実現しろ」と言うようなもので、ちょwww無理って感じ。1960年ぐらいから人工知能は大きな予算が投入されてますけど、満足いく結果は得られなかった。まだ続けますか?、お金くれますか?って話になるんですよ。
スジ論っつーのはコストパフォーマンス論だから、これはたぶん良くないスジだと思われます。や、長い目で見れば、もっと予算を投入し続けて人工知能を実現するほうが良いスジもしれないですけど。まーとにかく、人間が要求する「柔軟」や「賢さ」を機械で提供するのは、すごく大きなコストがかかりますよっていうことで。
#
#
しかし僕の言うような空白の処理に関しては基本的に「ファジーな」処理は要求しません。計算機言語でもマークアップ言語でも空白の正規化は規格化されています。僕が言う「賢い」処理というのはその延長線上にあるもので、形態素解析まで要求するような賢さではありません。要するに計算機言語で演算子の前後の空白は無視できる(「1 + 1」と「1+1」は等価)というのと同じで、正規表現の置換で十分なレベルです(Unicodeの文字種を識別できる今時の正規表現になりますが)。
「そもそもどっちがいいのか」については、プレーンテキストデータの和欧文間の空白に「厳密に二分アキの意味を持たせる」か「特に組版上の意味は持たせない」か、どっちがいいかと言われれば後者だと思います。前者を主張する人は稀なのでは? ていうか Quark で空白削る人はそう思って削るわけですし。。。
# あ。ニューロやられて...
とりあえず2段目についてコメントしますね。「ファジー」(というのは、プロ相手には語弊がありましたね)な処理はいらないだろうという考えは、よく分かります。ぼくも同じように考えたことがあります。で、実際にやってみたんですよ。
するとですね、たしかにアルファベット前後のスペースは、単純な置換処理でうまく削除できました。ただ、100%期待したものにはならなかったんですね。結果をちゃんとメモらなかったのでアレなんですけど、次のような問題があったように記憶しています。
(1)AAの中のスペースまで取ってしまう(ソースコードの中なども同様)
(2)句読点として「, 」と「. 」を使う流派の場合、問題が複雑になる(句読点とカンマ、ピリオドの意味論を区別できない。また、カンマ・ピリオド前後のスペースはどうするか問題が発生する)
(3)一行を80文字程度で折り返す流派の場合も、問題が複雑になる(単純に改行を削除してレンダリングすればいいのか。改行をスペースの意味で使う流派もありそう。そもそも改行ってなんだっけ?みたいな)
こういうことがあって、「あーもうだめだーボカーン!」ってなった経験があります。要は、100%は不可能ってことですね。機械がうまくやってくれればいいけど、90%ぐらいまでしかうまく動かない。あとは余計なお世話になっちゃう。
90%でよしとするか、ダメとするかは人それぞれかなぁ……。でもとにかく、100%はない。そして、機械を使う人間は、「100%はない」ということを知っておくしかしょうがないと思うのです。機械にうまくやらせようとしても無理って、知ってないと、落とし穴に落ちるよって。
#
# ども
なるほど。。。僕は本文とソースコード等は人間が切り出して別々に流し込むものと思ってました。
まぜこぜのまま丸ごとインポートを前提とすると、もはや「プレーンテキストはバッドノウハウ」くらいの勢いでシステムを見直すしかないかと。
その場合入稿の段階でなんらかのタグ付けは必須でしょう。タグ付けも機械のためと言えばそうなんですが、ロジカルマークアップは許容範囲と思ってもらうしかないですね。
人間は人間にとって不自然にならない範囲で機械に配慮する、機械はそれこそ機械的な処理に専念する、というふうに人間と機械が力を合わせるのがベストでしょうか。
# 本当にそうですね〜☆
いえいえ。お返事は、気が向いたときにいつでもしてくださって結構ですよ〜。
本当にそうですね〜。WordやXMLや、いろんな文書規格に技術者が惹かれる理由の1つは、まさしくnextプレーンテキストを求めてのことだと思います。ただ、それもなかなか進まない。プレーンテキストの良さみたいなものがあるんですよねー。なんというか、安心感というか。気軽さというか。
この問題、結局のところは、
とおっしゃるとおりだと思います。「本文とソースコードを人間が切り出す」という行為も、本質的にタグ付けと変わらないんですよね。つまり、人間は何かしら機械のことも考えてあげなきゃいけない。
そうしたときに、できるだけ人間の仕事が少なくなるようなシステムにしたいですね。人間のやる気とか、創造的エネルギーを削がないようなシステム。機械には(いまのところ)創造ができないから。
そういう意味では、アルファベット前後のスペースなんて、本当にどっちでもいいのですよね。そう。そう思います。だけど一応、やっぱり、機械の都合もちょっとは考えてあげなきゃいけなくて。
こういう問題を考えるのも、案外面白いんですよね。なんとなく、漏れのある抽象化の法則というのを思い出したので、リンクしてみますね。機械がうまくやってくれればいいのに、たまにひどい目に会うのはなぜだろう、という問題を指摘した文章ですー。
Trackback