Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

EastAsianWidthに関するn2sのブックマーク (10)

  • xtermの日本語文字幅: こめんと(2016-09-06)

  • GitHub - hamano/locale-eaw: East Asian Ambiguous Width問題のための修正ロケール

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - hamano/locale-eaw: East Asian Ambiguous Width問題のための修正ロケール
  • 全角半角混在の文章で 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 行に半角何文字分あるか調べる方法
  • 東アジア文字幅問題との戦いの記録 - waki-memo

    2013-12-21 東アジア文字幅問題との戦いの記録 こんにちは。ブログを始めて2日目になる wacky です。この記事は KMC アドベントカレンダー 2013 の 21 日目の記事です。昨日の記事は uiureo さんの ChatPad での会話は簡単に盗聴される でした。今回の記事のタイトルは、「ambiguousな文字幅が2で、256色表示で、罫線がちゃんと表示されるtmux」の予定でしたが、色々書いてるうちに変えたくなったので、変えることにしました。 東アジア文字幅問題とは KMC のアドベントカレンダーをたどってこの記事を見ている人の中には、クライアントとして何らかの Unix を動かしていて、一日のほとんどを端末(とブラウザと mikutter )の上で過ごす人が多いと思います。自分もその一人です。さて、端末の上で、○や☆などの文字幅が Ambiguous な文字を打つと

    東アジア文字幅問題との戦いの記録 - waki-memo
    n2s
    n2s 2013/12/21
    utf8-cjk-charmapってDebianでも使えればなぁ
  • visual_widthというgemを書いた - Islands in the byte stream (legacy)

    UnicodeのEast Asian Width (東アジアの文字幅)特性を扱うgemを書いた。CPANの Unicode::EastAsianWidth, Text::VisualWIdth::PP, Text::UnicodeTable::Simpleの機能をマージしたようなものになってる。文字特性のデータはUnicode仕様書から自動生成している。 https://rubygems.org/gems/visual_width ターミナルにさくっとテーブルを書きたいときは日語でもくずれないので便利かも。 # VisualWidth::Table require 'visual_width/table' t = VisualWidth::Table.new( style: [ { align: :center, width: 10 }, { align: :center, width:

    visual_widthというgemを書いた - Islands in the byte stream (legacy)
  • Text::VisualWidth::PP 0.02 がでていた - tokuhirom's blog

    Text::VisualWidth::PP といえば、文字の幅が1文字幅か2文字幅かを判別してうまいことなにかやりたいときに便利なライブラリとして Perl 界では有名ですね。 このモジュール、もとはといえば mobirc を pure perl 化しようとしたときに Text::VisualWidth::XS の PP 版がなくてこまった!! っていう現象がおきたときに、つくったものなんですね。そんなモジュールが他でもつかわれるとは不思議なものです。 さて、そんな Text::VisualWidth::PP ですが、Songmu さんのブログで BEGIN { $Unicode::EastAsianWidth::EastAsian = 1; } をつかっていろいろがんばってる様子がのっておりまして、どうも、これは、楽をするためのモジュールであるはずの Text::VisualWidth:

  • RubyとPythonで全角文字を半角文字2文字として数える その2 - _dog(underdog)

    前回のRubyのソースでは、ASCII文字と半角カナかどうかを半角文字の判定に使用していた。今回はPythonと同様に、Unicodeの定義から判定できるようにクラスを作成した。 ついでに右寄せと中央寄せも追加した。 Singletonで最初に使用したときに、Unicode定義ファイルを読み込む。 定義リストの検索は2分探索で行う。 実行には以下のURLにある EastAsianWidth.txt が必要。 http://www.unicode.org/reports/tr41/ http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt 追記: 速度が遅かったためbsearchから文字列処理を外に出して高速化 Ruby 1.8.6 unicodedata.rb require "singleton" # UnicodeDataクラス(

    RubyとPythonで全角文字を半角文字2文字として数える その2 - _dog(underdog)
    n2s
    n2s 2012/03/02
    現時点ではunicode-utils(id:entry:24697050)とか使うのが実用的なようなので、あくまで参考として。
  • 半角カナ混じりの文字幅を数える - Shohei Yoshida's Diary

    文字幅ってどうやって調べるんだろって思って、 使えるモジュールを探してみた。 #!/usr/bin/env perl use strict; use warnings; use utf8; my $str = "リンゴゴリラ"; { use Unicode::Japanese; printf "[%s] length = %d\n", 'Unicode::Japanese', Unicode::Japanese->new($str)->strlen; } { use Text::VisualWidth::UTF8; printf "[%s] length = %d\n", 'Text::VisualWidth', Text::VisualWidth::UTF8::width($str); } { use Unicode::EastAsianWidth; my $count_length

    半角カナ混じりの文字幅を数える - Shohei Yoshida's Diary
    n2s
    n2s 2012/03/02
    手軽で正確なのがText::VisualWidth::UTF8::width()。Unicode::EastAsianWidth+正規表現で数える方法は日本語以外でも使える、と。Unicode::Japaneseは半角カナを誤判定する(0.49現在も)ので非推奨。
  • 東アジアの文字幅 - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2017年4月) 独自研究が含まれているおそれがあります。(2017年4月) 出典検索?: "東アジアの文字幅" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 「東アジアの文字幅」(英: East Asian Width)は、Unicode標準の附属書 (英: Unicode Standard Annex) の一つ。Unicodeに収録されている各文字の文字幅に関するヒントを与える East_Asian_Width 参考特性(英: informative property)を定めている。 東アジアのマルチバイト文字コード規格は必ずしも文字幅を

    東アジアの文字幅 - Wikipedia
  • Pythonのお勉強 Part46 より引用 - ときどきの雑記帖

    ■_ 閏年 なんか閏年の2/29の扱いで不具合というのを見かけましたが、あるエピソードを一つ。 閏年の判定というのは西暦年が4で割り切れるというだけでなく 100でどうとか400でどうとかありますよね。 で、1990年代に開発された製品の中に この閏年の判定をただ単に4で割り切れるかどうかでしかやっていなかったのだけど、 2000年が400で割り切れるために手抜きの実装(バグ)が発覚しないですんでしまった ものがあったとかなかったとか。 それとは別に、なぜか100での判定はやってるのに400ではやってなくて以下略なものとか。 ■_ Pythonのお勉強 Part46 66 デフォルトの名無しさん [sage] 2012/02/29(水) 08:31:09.46 ID: Be: >>> u'%10s' % (u'abc') u' abc' だとスペース7個のあとに「abc」が表示されますが

    n2s
    n2s 2012/02/29
    「(Cの入門書で)アドレスを渡して、それを * で dereference するやり方が 「参照渡しと言われている」」ええええええ
  • 1