2

新聞記事で一般的に見られるような、通常は書面で使用されるUnicode文字のサブセットは何ですか?

たとえば、英語では、[a-zA-Z0-9]の範囲の文字といくつかの句読文字で、ほとんどの書き込みに十分です。

ただし、非印刷文字や装飾文字を除外して、ASCII範囲外の文字を使用する言語をサポートしたいと思います。

目的は、アプリケーションへのユーザー入力を、書記言語で合法的に使用されているコードポイントに制限することです。ユーザー入力が保存および表示されるため、発音区別符号、Unicode結合文字、Unicodeフロー制御文字などで完全に構成されるテキストをいたずら者が入力できるようにしたくありません。

残念ながら、私はUnicodeにあるすべての言語に堪能ではありません。誰かが通常書面で使用されるUnicode文字のサブセットのすべてのリストを編集しましたか?

4

3 に答える 3

3

Unicodeコードポイントの公式リストはですUnicodeData.txt。これは、コードポイントごとに1行のプレーンテキストファイルです。簡単に機械可読です。例えば:

0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;

3番目のセミコロンで区切られたフィールドは、「一般カテゴリ」の省略名です。これについては、Unicode標準の第4章、特にセクション4.5で詳しく説明されています。131ページの表(PDFファイルの12ページ)を参照してください。たとえば、「Lu」は大文字、「Ll」は小文字、Pc、Pd、Psなどさまざまな種類の句読点です。(2文字の略語の最初の文字は、文字、数字、句読点などの上位レベルのカテゴリを表します。)

一部の範囲のコードポイントは明示的にリストされていないことに注意してください。たとえば、CJK(中国語、日本語、韓国語)の表意文字の範囲は次のように表されます。

4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
9FCC;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;

unicode.orgには、これらのギャップを埋める他のファイルがあると思います。

定義しようとしているサブセットについてはまだ100%明確ではありませんが、一般カテゴリ値の特定のセットとして定義できる可能性があります。

于 2012-07-22T06:42:24.903 に答える
2

発音区別符号、Unicode結合文字などで完全に構成されるテキストをいたずら者が入力できるようにしたくない

発音区別符号/結合文字は、通常の書記言語で使用されます。したがって、「いたずら」をやめたい場合は、許可された文字のリストよりも洗練されたものが必要になります。許可したいすべての言語について、ある種の言語分析を行う必要があります。

これは難しいでしょうし、とにかく成功しないので、これを気にしないことをお勧めします。人々に彼らが望むものを書かせてください。

于 2012-07-23T21:16:03.733 に答える
1

WGL4(652文字)、MES-1(335文字)、またはMES-2(1062文字)を試してください。ウィキペディアでこれらを見つけてください。このセットを使用する場合は、MES-1から文字IJijĸĿŀʼn˚―⅛⅜⅝⅞♪を除外することをお勧めします。

編集:これは悪い答えだと思います。特にMES-1の部分から文字を削除するのは完全なゴミでした。私はこれを投稿するべきではありませんでした。私はこれに賛成した人を恥じています。

どちらかといえば、Subset1(678文字)、Subset2(1193文字)、およびSubset3(2823文字)を使用します。https://unicodesubsets.miraheze.org/wiki/User:PiotrGrochowski

于 2016-03-25T19:36:59.340 に答える