タグ

unicodeに関するn-karasuのブックマーク (3)

  • 現在のUnicodeモンゴル文字の問題点と最近の動き - にせねこメモ

    モンゴル文字は、主にモンゴル語表記のための文字*1である。縦書き専用の文字であり、日語の場合とは反対に左から右へと行を進める。また、アラビア文字のように続け書きされ、文字が語のどの位置に来るかによって形が変わる。 モンゴル文字は現在も中国の内モンゴル自治区でモンゴル語の表記に現役で使用されている。他方モンゴル国ではソ連の影響下でモンゴル語の表記をキリル文字に切り替えたので、モンゴル文字は学校で習いはするものの一般にあまり使われない。 Unicode 3.0からモンゴル文字がシベ文字・トド文字・満州文字と統合されて収録されているため、コンピュータでこの文字を入力するにあたっては、独自の符号化方式を作成するのでなければUnicodeを利用しようとするのが当然に思える。しかし、現状のUnicodeモンゴル文字は致命的な欠陥を抱えている。 このエントリでは、2017年ころからUnicode Te

    現在のUnicodeモンゴル文字の問題点と最近の動き - にせねこメモ
  • C言語でのUTF-8文字列の正確な長さを取得する

    苗字や地名の異体字や国旗、色違いの絵文字など、複数のコードポイントで構成される書記素クラスターを考慮する必要がある場合、ICU の BreakIterator を使います。書記素クラスターに対応していない文字列関数を使うと、知らないうちに書記素クラスターを壊してしまうおそれがあります。 Twitter のようにコードポイント単位で短い文字数制限をかける場合、ヒンドゥー語やチベット語など、結合文字を多用するアジア諸国の言語のユーザーにとって、使い勝手がわるくなる可能性があることも配慮する必要があります。 漢字の異体字をあらわすには基底字の次に異体字セレクターや Standardized Variant を続けます。葛飾区の「かつ」は <U+845B U+E0101> であらわすことができます。国旗は2文字の国コードを該当するコードポイントであらわします。日の国コードである JP は <U+

    C言語でのUTF-8文字列の正確な長さを取得する
  • 2004-11-21

    非最小形式の不正なエンコーディングに注意 UTF-8 は文字によって1文字あたりのバイト数が1バイトから4バイト(もしくは6バイト)と可変長なエンコーディングです。Unicode の各文字がどのようなバイト列で表現されるかは、下表のようになっています。 Unicode 文字範囲UTF-8 でのバイト列(2進数) U+0000〜U+007F 0xxxxxxx U+0080〜U+07FF 110xxxxx 10xxxxxx U+0800〜U+FFFF 1110xxxx 10xxxxxx 10xxxxxx U+10000〜U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx この表から明らかなように、ASCII の文字範囲(U+0000〜U+007F)までは、来なら1バイトで表現され、ASCII と互換のはずです。 ところが、意図的に必要以上のバイト数で文字

    2004-11-21
  • 1