タグ

utf-8に関するhideokiのブックマーク (8)

  • Emacs22 + UTF-8 における文脈依存な文字幅の問題について

    UTF-8 には文字の幅が文脈依存 (ambiguous) となる文字があって、 矢印や記号 (■▲)、罫線などの文字は状況に応じて文字幅が変化します。 下の 2 つの画像は Emacs で同じファイルの内容を narrow character として判定させた場合と、 wide character として判定させた場合のスクリーンショットです。 narrow wide 現状、 Emacs22 はこれらの文字をデフォルトで narrow character として判定します (※のように化けてしまう文字もあります)。 文字によって幅を変えるプロポーショナルフォントを前提としたテキストであれば あまり問題にはならないと思いますが、等幅フォントに向けて書いたテキストでは 表示がガタガタになってしまい問題になります。 これらの文字を wide character として判別させるには以下の設定を

  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • perl - PerlIO vs. <> : 404 Blog Not Found

    2007年02月08日03:00 カテゴリLightweight Languages perl - PerlIO vs. <> これ、Perl 5 Porterとしてちょっと申し訳ないケース。 [を] Perl 標準入力と utf8 しかし、 test.pl < utf8.txt は行けるが、 test.pl utf8.txt はだめ。ここで問題になっているのは、<>でファイルを指定した場合も標準入力の場合のどちらの場合もPerlIO Layerを指定する方法。 先に答を書いてしまうと、 use open ':utf8'; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; ということになる。 odz buffer - それ use open とりあえず use open IN => ':utf8'; とするほうが、スマートといえばスマートか?

    perl - PerlIO vs. <> : 404 Blog Not Found
  • Unicode正規化

    正しい並び替えでは、表示は(A)のままですが、間違った並び替えでは、正規結合クラスが互いに等しいMACRONとACUTEを並び替えたため、表示は(B)のように、eの上のアクセント記号の位置が入れ替わってしまいます。 正規分解・互換分解 ある文字列の正規分解 (Canonical Decomposition) を得るには、まず、それぞれの文字を正規マッピングによって再帰的に、可能な限り、分解します。すなわち、1回分解した後に現れた文字がなおも分解可能であればさらに分解します。分解マッピングがその文字自身である場合は、分解不可能なので、そのままです。 しかし、分解しただけでは必ずしも正しい結果が得られません。つまり、結合文字の順序の一意性を保証するため、分解後の文字列に対して正規順序アルゴリズムを適用しなければなりません。このように、正規マッピングによる再帰的分解と、正規順序アルゴリズムによ

    hideoki
    hideoki 2006/08/08
    ちょっとむず
  • hori-uchi.com: SledgeでUTF8なサイトを作る。

    SledgeでUTF8なサイトを作る。 Sledgeはプログラム内で扱うデータがEUC-JPにエンコードされたバイナリデータを前提としていて、テンプレートもEUC-JPで作成する必要があります。 これだけが原因ではないのですが、UTF-8なサイトを作ろうとすると、結構いろいろなワナがあります。 このことはSledgeのメーリングリストでも、過去にいろいろ議論されています。 http://lists.sourceforge.jp/mailman/archives/sledge-users/2004-March/000281.html http://lists.sourceforge.jp/mailman/archives/sledge-users/2004-March/000292.html http://lists.sourceforge.jp/mailman/archives/sledg

  • http://d.hatena.ne.jp/tokuhirom/20060114/1137253723

  • porkbun.com | parked domain

    qootas.org has been registered at Porkbun but the owner has not put up a site yet. Visit again soon to see what amazing website they decide to build.

  • ちゃんとUTF-8 flagを処理する : 404 Blog Not Found

    2005年09月30日14:33 カテゴリLightweight Languages ちゃんとUTF-8 flagを処理する ちょ、ちょっとまったぁ。 naoyaのはてなダイアリー - XML::Parser を Hack して utf8 フラグ問題から解放される ちゃんとやりたい方は、 Unicode::RecursiveDowngrade Object::Apply あたりを使いましょう。 これ、「ちゃんとした」方法って言われちゃうとなあ。 Perl 5 Portersのラフコンセンサスとしては、UTF-8 flagの処理のガイドラインは、 文字列としての処理はflagを付けて バイト列としての処理はflagを落として というもので、翻訳すると 内部で扱いはflag付き 外部に出す寸前でflag落とし ということになります。よって「いつflagを落とすか」は、「出力時」というのが望まし

    ちゃんとUTF-8 flagを処理する : 404 Blog Not Found
  • 1