タグ

unicodeに関するkitajのブックマーク (6)

  • 全角半角混在の文章で 1 行に半角何文字分あるか調べる方法

    「ソースコードは 1 行あたり 80 文字以内」とか「コミットログは横幅 72 文字以内」とか、文字数に関するルールはいろいろある。 ルールを徹底するには機械的に判定したい。と思って、簡単なスクリプトを書こうとした瞬間、意外と「1 行あたりの文字数」をカウントするのが難しいことに気付いた。 たとえば、「あA」は「全角 1 文字+半角 1 文字」なので半角 3 文字分としてカウントしたい。 しかし、UTF-8 の世界では「あA」の文字長は 2 だし、バイト数は 4 (あ=0xE38182、a=0x41) である。 EUC-JP や Shift-JIS の時代なら、単純に「あA」は 3 バイトなので「半角 3 つ分」とすぐ分かったのだけども… (逆に文字長を調べるのが面倒だった)。 はて、どうするか? というのがこの記事でいいたいこと。 East Asian Width を見よ いろいろとググ

    全角半角混在の文章で 1 行に半角何文字分あるか調べる方法
    kitaj
    kitaj 2014/03/14
    『ロシア語でヘンタイをあらわす「Хентай」』www
  • SYMBL (◕‿◕) Symbols, Emojis, Characters, Scripts, Alphabets, Hieroglyphs and the entire Unicode

    Top Symbols ❤ ♫ ☎ • ° ♨ ✈ ✣ ☏ ■ ☀ ➑ ✂ ☑ ✉ ☼ ☆ ✄ ✔ ✆ — ☁ ★ ♕ ✘ № ‰ ♠ ✪ ✝ ╳ © … ♥ ✰ † ✎ ® ¶ ♦ ✧ ‡ ✍ ™ ❆ ♣ ✦ ◑ ♀ ℮ ❅ ♤ ♡ ♪ ♂ ·

    SYMBL (◕‿◕) Symbols, Emojis, Characters, Scripts, Alphabets, Hieroglyphs and the entire Unicode
    kitaj
    kitaj 2013/06/11
    見た目がいいね
  • iPhoneの新幹線は東京駅に止まらない - 帰ってきた💫Unicode刑事〔デカ〕リターンズ

    Appleカラー絵文字には、2つの新幹線がある。旧型と新型だ。これをUnicodeのコード表と比べると、対応が逆のように見える。ビジュアル的にもそうだが、文字名にしてもU+1F685が「HIGH-SPEED TRAIN WITH BULLET NOSE」であるのに対して、Appleカラー絵文字で丸鼻(BULLET NOSE)なのはU+1F684のほうだ(下図)。 というわけで、Appleカラー絵文字の新幹線について調べてみた。青と白のほうは「0系」と呼ばれる初期型新幹線で間違いないだろうが、シルバーのほうは、日の新幹線でぴったりくるのがない。おそらくフランスのTGVだと思う。 SoftBank絵文字をベースにAppleカラー絵文字を開発する際、デザイナーは「横向きか正面か」に着目し、ケータイ絵文字をUnicodeに収録する際には「型の違い」が弁別の根拠とされた結果、UnicodeとApp

    iPhoneの新幹線は東京駅に止まらない - 帰ってきた💫Unicode刑事〔デカ〕リターンズ
    kitaj
    kitaj 2011/08/10
    新幹線文字カッコいいな
  • 漢字1文字が最大8バイト、Unicodeの「IVS」とは?

    「漢字1文字は2バイト」という常識が、大きく変わろうとしている。現在改正中の「常用漢字表」に対応するためには、Unicodeの4バイト文字を使用する必要があるが、それだけでは済まない恐れがある。今後、戸籍や住民基台帳で使われている文字がUnicodeに追加されると、漢字1文字が最大8バイトになるかもしれない。文字コードに詳しい京都大学人文科学研究所附属東アジア人文情報学研究センターの安岡孝一准教授が、問題の核心を解説する。(日経コンピュータ) 先日公開した『新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能』の読者から、「今後のシステムでは漢字1文字を最大4バイトで処理すればいいのか」という質問を頂いた。実は、UTF-8あるいはUTF-16で漢字を表す場合、最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、漢

    漢字1文字が最大8バイト、Unicodeの「IVS」とは?
    kitaj
    kitaj 2010/01/30
    ダサいエンコーディングだな… Unicode捨てて新しいの作ればいいんじゃね?
  • Unicode の曖昧な文字幅問題 その2 - diary of a madman

    9月30日の続き。 UTF-8 環境で w3m のメニュー表示が崩れる原因が分かった。俺は GNU screen を常用してるんだが、実はそちらが原因だった。(使っていることを忘れるくらいに使いまくってるため、screen 以外の環境でテストすることを思いつかなかった。間抜け過ぎる) 調べてみたところ、UTF-8 の East Asian Ambiguous Character Width に関してパッチ付きのバグ報告がされていた*1。このパッチを適用してみたところメニューの表示が崩れなくなり、とりあえず問題が解決したらしい。 ついでなので、Unicode の曖昧な文字幅問題に関して、各ソフトウェアでの対処法のまとめ。 w3m w3m-dev 4049 に投稿されている ambwidth パッチを使い、オプションで "Use double width for some Unicode ch

    Unicode の曖昧な文字幅問題 その2 - diary of a madman
    kitaj
    kitaj 2008/05/26
    素晴しいまとめ.でもメンドクサ杉
  • Python の unicodedata モジュール - bkブログ

    Python の unicodedata モジュール Unicode のちょっとしたテキスト処理をしようと思い、 Python の unicodedata モジュールを使ってみました。これは非常に便利です。 unicodedata は Python に標準で付属するため、別途のインストールは不要です。次のようなことができます。 文字の名前を取得する 文字の名前を取得することができます。Unicode の文字にはすべて一意の名前がつけられています。ソースコード内で Unicode のコードポイントを使うときは U+20AC (EURO SIGN) などとコメントをつけておくと便利でしょう。 >>> unicodedata.name(u'A') 'LATIN CAPITAL LETTER A' >>> unicodedata.name(u'あ') 'HIRAGANA LETTER A' 文字の

    kitaj
    kitaj 2007/12/24
    これは便利そう.
  • 1