にせねこメモスマートフォン用の表示で見るにせねこメモはてなダイアリーがUTF-8じゃないので移ってきました。コンバータはじめにTwitterで「社」(U+FA4C)、「羽」(U+FA1E)などの一部の旧漢字を投稿しようとすると、「社」(U+793E)、「羽」(U+7FBD)に化ける。左側の字が右側の字と同じになっている。実は、Unicodeの問題である。CJK互換漢字これらの化ける文字は、UnicodeにおいてCJK互換漢字という領域に収録されている。互換漢字に対し、基本となる漢字はCJK統合漢字と呼ばれる。Koreaの略で、各国で微妙に字体が違っても、同一とされた*1漢字は国に関わらず一つとし、原則として重複収録はしない方針となっている。CJK互換漢字は名前の通り、互換性を保つために収録された漢字である。それまでの文字コード等との互換性を保つ関係*2で「同じ文字を重複して収録した」扱いであり、CJK統合漢字の中に対応する漢字をもつ。Unicode正規化ここで、Unicodeは検索等の利便性のために、「Unicode正規化(normalization)」という処理を提供している。これは、記号付きのアルファベットなど、二種類以上のコード列で表すことができる文字列を適切に比較したりするために重要な処理である。CJK互換漢字に対してUnicode正規化を行うと、対応するCJK統合漢字に「化けて」しまう*3。Twitter投稿時のUnicode正規化Twitterは、2015年から投稿時にUnicode正規化を行うようになった*4。そのため、CJK互換漢字をTwitterに投稿すると対応するCJK統合漢字に置換されてしまい、CJK互換漢字を投稿することはできなくなった。Variantとはいっても、Unicode正規化によってCJK互換漢字が化けてしまうと困る。Variantとよぶ。DatabaseのStandardizedVariants.txtの後半に定義されている。この仕組みを使うと、Unicode正規化を行っても化けないため、Twitter等にCJK互換漢字の字形の漢字を投稿することができる(ただし、正しい形で表示されるかは環境による)。Variant形式を相互に変換するページを作成した。コンバータTwitterにCJK互換漢字に含まれる字形を投稿したい場合等に利用していただきたい。Variantで表現されたものは、環境によるが互換漢字の字形で表示される。10環境では、Firefoxでは互換漢字の字形で表示されたが、Chromeではそうはならなかった。VariantによるTwitter投稿結果(20190318追記)これを正しく互換漢字の字形で表示するためにはフォントが対応している必要がある*5。Chrome等では対応フォント以外で表示すると互換漢字の形で表示できない。Marshmallow以降の)Androidのデフォルトフォントである源ノ角ゴシックは対応しているので、Androidでは正しく互換漢字の字形で表示される。Firefoxは独自に互換漢字の字形で表示するような実装をしている可能性があり、フォントによらず表示できるようだ。(というより異体字セレクタ)を使った投稿をする場合は、このようにフォントやソフトウェアの対応が微妙であり、必ずしも狙った形で表示されないことに留意する必要がある。v0.3)などのページで確認できる。Forms*1:細かい字体の違いを無視し同一とみなすことを包摂(unification)という。conversion)の確保」といい、既存の文字コード(Shift_JISなど)からUnicodeに変換し、その後元の文字コードに再度変換したときに、内容(文字コード列)が同一になるように保証されている。Wikipedia)のだが、CJK互換漢字については正準等価となっている。正準等価は見た目も機能としても同じものに対して適用されるべきものなので、互換漢字という見た目が異なるものに対して適用されているので問題となっている。Unicode正規化には種類があり、互換等価については対象としないものもあるが、正準等価は常に対象になる。fontを作るTrueType命令で遊ぶシリーズ。Windows...2018-06-20OpenType/CFFのフォントを読んでみるフォントと仲良くなりたい。すれば仲良くなれるのか。フォ...2018-04-01平成の次の新元号の文字列を取得するコード※これはネタですが、エイプリルフールとは無関係です。...2018-03-04現在のUnicodeモンゴル文字の問題点と最近の動きモンゴル文字は、主にモンゴル語表記のための文字*1である。縦...2015-12-30モンゴル文字とUnicode調べたのでまとめる。»プロフィールid:nixenekoはてなダイアリーがUTF-8じゃないので移ってきました。(1)月別アーカイブはてなブログをはじめよう!nixenekoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。