- From: 木田泰夫 <kida@mac.com>
- Date: Thu, 29 Oct 2020 20:44:23 +0900
- To: "public-i18n-japanese@w3.org" <public-i18n-japanese@w3.org>
- Message-Id: <A0DFFFFE-648C-4279-96F0-09E84E780399@mac.com>
皆さま、大変お待たせしました。10/19 に Eric Muller が送ってくれた提案の翻訳です。原文を JLReq の GitHub に入れましたのでそちらも参照してください。 https://github.com/w3c/jlreq/issues/242 <https://github.com/w3c/jlreq/issues/242> 私が覚えている限り今までに議論されたことのないアイディアがいくつか含まれていて、議論の価値のある提案に思えます。 用語のメモ この議論において Eric は “grapheme cluster occurrence” という専門的な用語を使っています。ざっくり言って、これは一つか複数の Unicode 文字で表される不可分一塊のインクの塊です。もっとざっくり言うとこれは我々にとって通常の意味での「文字」で、カーソルはその単位で動きます。 日本語においては <仮名>+<combining 濁音文字> の塊が、複数の文字(Unicode 文字)で一つの文字(“grapheme cluster”)を表しているケースです。このように「文字」という言葉には階層性があり文脈によって曖昧になるので、Eric は “grapheme cluster occurrence” と言う用語を使っています。長いので翻訳ではこれを GCO と省略することにします。Unicode 文字単位の議論でない限り、GCO = 文字だと思って構いません。逆に Eric の文で character という用語が出てくる場合にはそれは Unicode 文字のことですから、Unicode 文字、と訳すことにします。 また glue = 糊、という用語が使われています。これは字間と読み直して大丈夫でしょう。おそらく字間というもの自体を議論の対象にするときに、文字の間ではなくて、糊といった物に例えるとやりやすいということかのなと思います。後に glue settings = 糊の設定、という言葉も出てきますが、これは字間の調整の流儀と読み換えても良いかもしれません。JLREq Appendix D のテーブル 3, 4, 5 に、JLReq の方法、JIS X 4051 で使われている方法、書籍で使われる方法、での字間の詰めかたが示されていますが、そのような流儀のことです。Eric はその字間調整の流儀も自由に切り替えられるようにしようと提案しています。 では以下が本文です。 ––––––––––––––––––––– これは実装する立場としての私達の視点です。内容はまだ荒いですが、不明な点などがあれば遠慮なく教えてください。 Eric. --- 文字クラスは二つの目的に使われます:行の折り返し可能位置を見つけること、そして字間を決めることです。 行の折り返しは Unicode により適切に定義されています。問題が残っているとしても、UAX14 (Unicode の付属文章の一つ)や CLDR (Unicode を適切に実装するためのデータ集)による言語ごとの最適化の調整をいくらか行えば良い程度です。ゆえ、行の折り返しについてはここでは議論しません。 (木田:Unicode の定義による行の折り返しと、JLReq の比較が必要) --- 字間調整の考え方の一つの方法は、それぞれの文字の両側に伸び縮みする「糊」を想定することです。この「糊」は自然な長さ(JLReq Appendix B)をもち、行長の調整を行うために長さを変えることができます(Appendix D 詰める処理、Appendix E 伸ばす処理)。 それぞれの「糊」の幅は、マークアップによって明示的に指定することもできますが、ほとんどの場合はクラスの繋がりを以て決定することができます。つまり、左側の「糊」の幅は、その文字の左に来るもののクラスとその GCO のクラスで、同様に右側の「糊」の幅は、その GCO のクラスと右側にくるもののクラスを使って決めることができます。 一つの GCO の左(または右)に来るものは、別の GCO かもしれません。その場合は、「左に来るもの」はその GCO のクラスです。しかし、左側に GCO がない場合や、 GCO 以外の視覚要素である可能性もあります。つまり: パラグラフの最初や最後 折り返しの最初や最後 違なる bidi レベル(このクラスの目的は行長測定の際に bidi 文字の再配列を含めないように) margin, border, padding などで 0 でないアキが設定された箱の中 そのような箱の外 インラインオブジェクト(例えばイメージ) 縦中横 割注の外側や内側 GCO のクラスはマークアップによって明示的に指定することもできます、が、多くの場合はその GCO を構成する Unicode 文字からクラスを決定します(その場合、同じ GCO はどれも同じクラスとなります)。そしてそのクラスはその GCO を構成する Unicode 文字にアサインされたクラスにより決定することができます。通常は GCO のベース Unicode 文字のクラスがその GCO のクラスです。しかし、その他の文字がクラスを乗っ取ることもあります。例えば:<U+00A0 NO-BREAK SPACE> は一つのクラスで <U+00A0 U+0301 COMBINING ACUTE> は別のクラスかもしれません(木田:ここ、意味がわからなかったので、Eric に聞きます)。 いよいよ Unicode 文字のクラスについてです。以下は、全 Unicode 文字をどのようにクラスに振り分けるかの提案です。殆どの場合は JLReq に沿っていますが、いくつかの違いがあります。 まだ文字が割り当てられていない Unicode コードポイントに対しては、将来このような文字が割り付けられるに違いない、という予想に基づいて振り分けています JLReq は全角文字の存在を全く無視しています。これによって、多くの曖昧な文字が生まれています。例えば U+0041 LATIN CAPITAL LETTER A は欧文文字 cl-27 かもしれませんし、また表意文字のクラス cl-19 かもしれません。現実には著者達は U+0041 とU+FF21 を正確に使うことによって文字クラスを使い分けています。 提案では、横組みに使われるクラスと縦組みで使われるクラスを分けています 分離不可文字のクラスを分けています(以下に説明) InDesign による開き/閉じ括弧クラス(角、丸、等)の改良を採用しています 提案はまた、UAX50 の縦書きプロパティを参照しています。字間クラスと密接な関わりがあるからです。 --- 曖昧な文字 殆どの文字は文脈に関係なく曖昧さなく一つのクラスに属しますが、いくつかの日本語組版で一般に使われる文字は本質的に曖昧です。 U+2018 ‘ LEFT SINGLE QUOTATION MARK U+201C “ LEFT DOUBLE QUOTATION MARK U+00AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK U+2019 ’ RIGHT SINGLE QUOTATION MARK U+201D ” RIGHT DOUBLE QUOTATION MARK U+00BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK U+2010 ‐ HYPHEN U+2013 – EN DASH U+203C ‼ DOUBLE EXCLAMATION MARK U+2047 ⁇ DOUBLE QUESTION MARK U+2028 ⁈ QUESTION EXCLAMATION MARK U+2049 ⁉ EXCLAMATION QUESTION MARK U+00B7 · MIDDLE DOT U+2022 • BULLET U+2014 — EM DASH U+2026 … HORIZONTAL ELLIPSIS U+2025 ‥ TWO DOT LEADER この曖昧性は、指定されたロケールを使って解決することもできますし、文脈から推定したスクリプトを使って解決することもできます。 ロケールを使うことの問題点は、文書を作る人が正しくロケールを指定してくれるとは限らないことです(全く指定しないか、または句読点に注意深く設定しない(?))。 スクリプトを使う方法の利点は、文章を作る人からの手助け(つまり著者が言語をちゃんと設定してくれること)が不要なことです。OpenType のレイアウトエンジンもスクリプトを必要とするので、スクリプトは OpenType 処理のために既に得ています。 --- 分離禁止文字 現在(JLREq では)、全ての分離禁止文字は一つのクラスにひとまとめになっており、脚注において、実際には同じ文字が続く場合のみが分離禁止である、と説明されています。分離禁止文字はそれぞれが別のクラスである方が良いでしょう。そうすることで脚注が不要になりますし、分離禁止文字それぞれに異なる字間を定義することができます。(ask eric それが嬉しい具体的なケースは?) --- 論理的 vs 視覚的順番 実際的な「糊」の定義は視覚的な順番に基づいていることをはっきり説明しておくべきでしょう。それゆえ、左、右、といった用語を使いました。 (木田:アラビア語など見かけの順番が英語と逆になる場合があるので、logical order / visual order という概念があります。なので、Unicode において何かを正確に定義する場合、使われている順番の概念が visual なのか logical なのかを意識しておく必要があります) --- クラスを Unicode property として定義すること 現実的な視点で、私は、縦書きプロパティがそうであるように、字間クラスもプロパティとして Unicode 文字データベースの一部であるべきだと考えています。一番の理由はそれが一番信頼のおける定義の方法で、かつ Unicode と同期できるからです。プロパティを加えることは Unicode にとっては、縦書きプロパティで見たように、比較的容易い作業です。(実際、最初の UAX50 のドラフトは字間クラスを含んでいました)。 そのような Unicode プロパティは単に(組版を決定するための)第一歩に過ぎないことを確認しておくべきでしょう。最初の方に述べたように、「糊」に影響を与えるマークアップは常に使えるようになっているべきです。そのため、この Unicode プロパティは完全である必要はありません。しかし、アクセスしやすく(?)安定である必要があります。 ======== クラスと「糊」の設定 文字クラスは最終的な見かけを決定するための一つの要素でしかありません。そこに「糊」の設定も関わってきます。文字クラスの設計に影響を与える可能性もありますので、そのことについて少し触れておく価値があるでしょう。 --- 「糊」の設定と行揃え テキストを揃えるとき(本文では一般的ですが)、プログラムは「糊」を任意の幅に広げる必要があるかもしれません。例えば、二文字しか含まれないパラグラフに text-align-last: justify が指定された場合を考えてみましょう。「糊」は(行長-2em)の幅である必要があります。このように長い「糊」は異常な状況の結果であることもありますが、例えば字取り処理のように意図的な場合もあります。これを許すために、ほぼ全ての「糊」はいくらでも大きくなれるようにすることが望ましいでしょう。 --- 「糊」の設定は主に本文のためにある JLReq は三種類の「糊」の設定を説明しています(Appendix D 表3, 4, 5 に、JLReq のデフォルトと、JIS と、book の方法が示されています。これらは行を縮める場合にのみ違っていますが、理論的には自然な長さや行を広げる場合にも違なる設定を考えることが可能です)。これらの設定は主に本文のために考えられているように見え、見出しなどには適切ではありません。例えば、デフォルトの方法ではパラグラフ(行)先頭と開き括弧の間は 0 幅(ベタ)、閉じ括弧とパラグラフの終わりの間に 0.5em を指定しています。もしこの設定がタイトルに使われたとすると、もしタイトルが括弧で始まり括弧で終わりまた二つの行にわたっていて中央揃えになっていたら、非対称さが気に障るかもしれません。 この設定が本文だけに適用されることを説明し、また、それがどのような場合に適切でないかについて説明する価値があるでしょう。また他の場合に適切な設定を含めるとさらに良いでしょう。私の思いつく一番重要なケースは、見出し、ルビの親文字、ルビ自体、です。 --- 「糊」の設定の交換 ここまでの議論は、文字からクラスを決めること(CSS など体裁を決めるシステムがクラスを明示的に指定できる余地を残しつつ)についてでした。クラスを決めることはもちろん最終結果に至る一つの要素でしかありません。もう一つの要素はそのクラスから生じる「糊」の大きさです(JLReq Appendix B, D, E)。体裁を決めるシステムがこの「糊」の設定の変更を許すように推奨することは有益でしょう。ドキュメントに対して、いくつかある設定の中から選択したり、または既存の設定を自由に変更できる、といった風にです。 --- 字間クラスと CSS text-indent プロパティ 上に示したモデルにおいて、CSS text-indent プロパティは基本的に無条件に定まった大きさを持つ「糊」であって、これがパラグラフの最初の文字の左に来ることになります。実際的な観点で、日本語組版においてはこれを可変にすると有益です。例えば、漢字なら前に 1 em、開き括弧なら 0.5 em です。私はこの先、次のことを推奨するのがベストだと思っています:パラグラフがここで議論されている字間のモデルを使う場合、「糊」はその字間モデルに従い(つまりテーブルによる)text-indent はゼロに設定されること。 ======== カラムの説明: コードポイント UAX50の縦書きプロパティ 横書きクラス H ならカラム 5 に書いてあるクラス ブランクなら漢字(と同じ扱い) 縦書きクラス V ならカラム 5 に書いてあるクラス ブランクなら漢字(と同じ扱い) クラス A と書いてあれば、もしこのテキストのスクリプトが中国語か日本語(Hans, Hant, Jpan)でないなら、クラスは westernChar 0x000000 | R | H | V | unknown 0x000009 | R | H | V | tab 0x00000A | R | H | V | lineEdge 0x00000B | R | H | V | unknown 0x00000D | R | H | V | lineEdge 0x00000E | R | H | V | unknown 0x000020 | R | H | justifyingSpace 0x000021 | R | H | westernChar 0x000080 | R | H | V | unknown 0x000085 | R | H | V | lineEdge 0x000086 | R | H | V | unknown 0x0000A0 | R | H | justifyingSpace 0x0000A1 | R | H | westernChar 0x0000A7 | U | H | westernChar 0x0000A8 | R | H | westernChar 0x0000A9 | U | H | westernChar 0x0000AA | R | H | westernChar 0x0000AB | R | H | V | openingBracket_other 0x0000AC | R | H | westernChar 0x0000AD | R | H | V | unknown 0x0000AE | U | H | westernChar 0x0000AF | R | H | westernChar 0x0000B0 | R | H | postfixedAbbrev 0x0000B1 | U | H | westernChar 0x0000B2 | R | H | westernChar 0x0000BB | R | H | V | closingBracket_other 0x0000BC | U | H | westernChar 0x0000BF | R | H | westernChar 0x0000D7 | U | H | westernChar 0x0000D8 | R | H | westernChar 0x0000F7 | U | H | westernChar 0x0000F8 | R | H | westernChar 0x0002EA | U | H | V | ideographic 0x0002EC | R | H | westernChar 0x001100 | U | H | V | ideographic 0x001200 | R | H | westernChar 0x001401 | U | H | westernChar 0x001680 | R | H | westernChar 0x0018B0 | U | H | westernChar 0x001900 | R | H | westernChar 0x00200B | R | H | V | transparent 0x00200D | R | H | V | unknown 0x002010 | R | H | V | hyphen_middlePunctuation 0x002014 | R | H | inseparable_emDash 0x002016 | U | H | westernChar 0x002017 | R | H | westernChar 0x002018 | R | H | V | openingBracket_other 0x002019 | R | H | V | closingBracket_other | A 0x00201A | R | H | westernChar 0x00201C | R | H | V | openingBracket_other 0x00201D | R | H | V | closingBracket_other 0x00201E | R | H | westernChar 0x002020 | U | H | westernChar 0x002022 | R | H | westernChar 0x002025 | R | H | inseparable_twoDotLeader 0x002026 | R | H | inseparable_ellipsis 0x002027 | R | H | westernChar 0x002028 | R | H | V | lineEdge 0x00202A | R | H | V | unknown 0x00202F | R | H | westernChar 0x002030 | U | H | V | postfixedAbbrev 0x002032 | R | H | V | postfixedAbbrev 0x002034 | R | H | westernChar 0x00203B | U | H | V | ideographic 0x00203C | U | H | V | dividingPunctuation 0x00203D | R | H | westernChar 0x002042 | U | H | westernChar 0x002043 | R | H | westernChar 0x002047 | U | H | V | dividingPunctuation 0x00204A | R | H | westernChar 0x002051 | U | H | westernChar 0x002052 | R | H | westernChar 0x00205F | R | H | westernChar 0x002060 | R | H | V | unknown 0x002065 | U | H | V | ideographic 0x002066 | R | H | V | unknown 0x002070 | R | H | westernChar 0x0020AC | R | H | V | prefixedAbbrev 0x0020AD | R | H | westernChar 0x0020DD | U | H | westernChar 0x0020E1 | R | H | westernChar 0x0020E2 | U | H | westernChar 0x0020E5 | R | H | westernChar 0x002100 | U | H | V | ideographic 0x002102 | R | H | westernChar 0x002103 | U | H | V | postfixedAbbrev 0x002104 | U | H | V | ideographic 0x002109 | U | H | V | postfixedAbbrev 0x00210A | R | H | westernChar 0x00210F | U | H | V | ideographic 0x002110 | R | H | westernChar 0x002113 | U | H | V | postfixedAbbrev 0x002114 | U | H | V | ideographic 0x002115 | R | H | westernChar 0x002116 | U | H | V | prefixedAbbrev 0x002117 | U | H | V | ideographic 0x002118 | R | H | westernChar 0x00211E | U | H | V | ideographic 0x002124 | R | H | westernChar 0x002125 | U | H | V | ideographic 0x002126 | R | H | westernChar 0x002127 | U | H | V | ideographic 0x002128 | R | H | westernChar 0x002129 | U | H | V | ideographic 0x00212A | R | H | westernChar 0x00212E | U | H | V | ideographic 0x00212F | R | H | westernChar 0x002135 | U | H | V | ideographic 0x002140 | R | H | westernChar 0x002145 | U | H | V | ideographic 0x00214B | R | H | westernChar 0x00214C | U | H | V | ideographic 0x00214E | R | H | westernChar 0x00214F | U | H | V | ideographic 0x00218A | R | H | westernChar 0x00218C | U | H | V | ideographic 0x002190 | R | H | V | ideographic 0x00221E | U | H | V | ideographic 0x00221F | R | H | V | ideographic 0x002234 | U | H | V | ideographic 0x002236 | R | H | V | ideographic 0x002300 | U | H | V | ideographic 0x002308 | R | H | V | ideographic 0x00230C | U | H | V | ideographic 0x002320 | R | H | V | ideographic 0x002324 | U | H | V | ideographic 0x002329 | Tr | H | V | openingBracket_other 0x00232A | Tr | H | V | closingBracket_other 0x00232B | U | H | V | ideographic 0x00232C | R | H | V | ideographic 0x00237D | U | H | V | ideographic 0x00239B | R | H | V | ideographic 0x0023BE | U | H | V | ideographic 0x0023CE | R | H | V | ideographic 0x0023CF | U | H | V | ideographic 0x0023D0 | R | H | V | ideographic 0x0023D1 | U | H | V | ideographic 0x0023DC | R | H | V | ideographic 0x0023E2 | U | H | V | ideographic 0x002423 | R | H | westernChar 0x002424 | U | H | V | ideographic 0x002500 | R | H | inseparable_emDash 0x002580 | R | H | westernChar 0x0025A0 | U | H | V | ideographic 0x00261A | R | H | V | ideographic 0x002620 | U | H | V | ideographic 0x002768 | R | H | westernChar 0x002776 | U | H | V | ideographic 0x002794 | R | H | V | ideographic 0x002800 | R | H | westernChar 0x002900 | R | H | V | ideographic 0x002B12 | U | H | V | ideographic 0x002B30 | R | H | V | ideographic 0x002B50 | U | H | V | ideographic 0x002B5A | R | H | V | ideographic 0x002BB8 | U | H | V | ideographic 0x002BD2 | R | H | V | ideographic 0x002BD3 | U | H | V | ideographic 0x002BEC | R | H | V | ideographic 0x002BF0 | U | H | V | ideographic 0x002C00 | R | H | westernChar 0x002E80 | U | H | V | ideographic 0x003000 | U | H | V | fullSpace 0x003001 | Tu | H | V | comma_ideo 0x003002 | Tu | H | V | fullStop_ideo 0x003003 | U | H | V | ideographic 0x003005 | U | H | V | iterationMark 0x003006 | U | H | V | ideographic 0x003008 | Tr | H | V | openingBracket_other 0x003009 | Tr | H | V | closingBracket_other 0x00300A | Tr | H | V | openingBracket_other 0x00300B | Tr | H | V | closingBracket_other 0x00300C | Tr | H | V | openingBracket_corner 0x00300D | Tr | H | V | closingBracket_corner 0x00300E | Tr | H | V | openingBracket_corner 0x00300F | Tr | H | V | closingBracket_corner 0x003010 | Tr | H | V | openingBracket_other 0x003011 | Tr | H | V | closingBracket_other 0x003012 | U | H | V | ideographic 0x003014 | Tr | H | V | openingBracket_other 0x003015 | Tr | H | V | closingBracket_other 0x003016 | Tr | H | V | openingBracket_other 0x003017 | Tr | H | V | closingBracket_other 0x003018 | Tr | H | V | openingBracket_other 0x003019 | Tr | H | V | closingBracket_other 0x00301A | Tr | H | V | openingBracket_corner 0x00301B | Tr | H | V | closingBracket_corner 0x00301C | Tr | H | V | hyphen_other 0x00301D | Tr | H | V | openingBracket_other 0x00301E | Tr | H | V | closingBracket_other 0x003020 | U | H | V | ideographic 0x003030 | Tr | H | V | ideographic 0x003031 | U | H | V | ideographic 0x003033 | U | H | V | inseparable_repeatUpper 0x003034 | U | H | V | inseparable_repeatVoiceUpper 0x003035 | U | H | V | inseparable_repeatLower 0x003036 | U | H | V | ideographic 0x00303B | U | H | V | iterationMark 0x00303C | U | H | V | ideographic 0x003040 | U | H | V | hiragana 0x003041 | Tu | H | V | smallKana 0x003042 | U | H | V | hiragana 0x003043 | Tu | H | V | smallKana 0x003044 | U | H | V | hiragana 0x003045 | Tu | H | V | smallKana 0x003046 | U | H | V | hiragana 0x003047 | Tu | H | V | smallKana 0x003048 | U | H | V | hiragana 0x003049 | Tu | H | V | smallKana 0x00304A | U | H | V | hiragana 0x003063 | Tu | H | V | smallKana 0x003064 | U | H | V | hiragana 0x003083 | Tu | H | V | smallKana 0x003084 | U | H | V | hiragana 0x003085 | Tu | H | V | smallKana 0x003086 | U | H | V | hiragana 0x003087 | Tu | H | V | smallKana 0x003088 | U | H | V | hiragana 0x00308E | Tu | H | V | smallKana 0x00308F | U | H | V | hiragana 0x003095 | Tu | H | V | smallKana 0x003097 | U | H | V | hiragana 0x00309B | Tu | H | V | hiragana 0x00309D | U | H | V | iterationMark 0x00309F | U | H | V | hiragana 0x0030A0 | Tr | H | V | hyphen_katakana 0x0030A1 | Tu | H | V | smallKana 0x0030A2 | U | H | V | katakana 0x0030A3 | Tu | H | V | smallKana 0x0030A4 | U | H | V | katakana 0x0030A5 | Tu | H | V | smallKana 0x0030A6 | U | H | V | katakana 0x0030A7 | Tu | H | V | smallKana 0x0030A8 | U | H | V | katakana 0x0030A9 | Tu | H | V | smallKana 0x0030AA | U | H | V | katakana 0x0030C3 | Tu | H | V | smallKana 0x0030C4 | U | H | V | katakana 0x0030E3 | Tu | H | V | smallKana 0x0030E4 | U | H | V | katakana 0x0030E5 | Tu | H | V | smallKana 0x0030E6 | U | H | V | katakana 0x0030E7 | Tu | H | V | smallKana 0x0030E8 | U | H | V | katakana 0x0030EE | Tu | H | V | smallKana 0x0030EF | U | H | V | katakana 0x0030F5 | Tu | H | V | smallKana 0x0030F7 | U | H | V | katakana 0x0030FB | U | H | V | middleDot_middlePunctuation 0x0030FC | Tr | H | V | prolongedSoundMark 0x0030FD | U | H | V | iterationMark 0x0030FF | U | H | V | katakana 0x003100 | U | H | V | ideographic 0x003127 | Tu | H | V | ideographic 0x003128 | U | H | V | ideographic 0x0031F0 | Tu | H | V | smallKana 0x003200 | U | H | V | ideographic 0x003300 | Tu | H | V | ideographic 0x003303 | Tu | H | V | postfixedAbbrev 0x003304 | Tu | H | V | ideographic 0x00330D | Tu | H | V | postfixedAbbrev 0x00330E | Tu | H | V | ideographic 0x003314 | Tu | H | V | postfixedAbbrev 0x003315 | Tu | H | V | ideographic 0x003318 | Tu | H | V | postfixedAbbrev 0x003319 | Tu | H | V | ideographic 0x003322 | Tu | H | V | postfixedAbbrev 0x003324 | Tu | H | V | ideographic 0x003326 | Tu | H | V | postfixedAbbrev 0x003328 | Tu | H | V | ideographic 0x00332B | Tu | H | V | postfixedAbbrev 0x00332C | Tu | H | V | ideographic 0x003336 | Tu | H | V | postfixedAbbrev 0x003337 | Tu | H | V | ideographic 0x00333B | Tu | H | V | postfixedAbbrev 0x00333C | Tu | H | V | ideographic 0x003349 | Tu | H | V | postfixedAbbrev 0x00334B | Tu | H | V | ideographic 0x00334D | Tu | H | V | postfixedAbbrev 0x00334E | Tu | H | V | ideographic 0x003351 | Tu | H | V | postfixedAbbrev 0x003352 | Tu | H | V | ideographic 0x003357 | Tu | H | V | postfixedAbbrev 0x003358 | U | H | V | ideographic 0x003371 | U | H | V | postfixedAbbrev 0x00337B | Tu | H | V | ideographic 0x003380 | U | H | V | postfixedAbbrev 0x0033E0 | U | H | V | ideographic 0x00A4D0 | R | H | westernChar 0x00A960 | U | H | V | ideographic 0x00A980 | R | H | westernChar 0x00AC00 | U | H | V | ideographic 0x00D800 | R | H | westernChar 0x00E000 | U | H | V | ideographic 0x00FB00 | R | H | westernChar 0x00FE10 | U | H | V | ideographic 0x00FE17 | U | H | V | openingBracket_other 0x00FE18 | U | H | V | closingBracket_other 0x00FE19 | U | H | V | ideographic 0x00FE20 | R | H | westernChar 0x00FE30 | U | H | V | inseparable_twoDotLeaderV 0x00FE31 | U | H | V | inseparable_emDashV 0x00FE32 | U | H | V | hyphen_middlePunctuation 0x00FE33 | U | H | V | ideographic 0x00FE35 | U | H | V | openingBracket_round 0x00FE36 | U | H | V | closingBracket_round 0x00FE37 | U | H | V | openingBracket_other 0x00FE38 | U | H | V | closingBracket_other 0x00FE39 | U | H | V | openingBracket_other 0x00FE3A | U | H | V | closingBracket_other 0x00FE3B | U | H | V | openingBracket_other 0x00FE3C | U | H | V | closingBracket_other 0x00FE3D | U | H | V | openingBracket_other 0x00FE3E | U | H | V | closingBracket_other 0x00FE3F | U | H | V | openingBracket_other 0x00FE40 | U | H | V | closingBracket_other 0x00FE41 | U | H | V | openingBracket_corner 0x00FE42 | U | H | V | closingBracket_corner 0x00FE43 | U | H | V | openingBracket_corner 0x00FE44 | U | H | V | closingBracket_corner 0x00FE45 | U | H | V | ideographic 0x00FE47 | U | H | V | openingBracket_other 0x00FE48 | U | H | V | closingBracket_other 0x00FE49 | R | H | westernChar 0x00FE50 | Tu | H | V | ideographic 0x00FE53 | U | H | V | ideographic 0x00FE58 | R | H | V | ideographic 0x00FE59 | Tr | H | V | ideographic 0x00FE5F | U | H | V | ideographic 0x00FE63 | R | H | V | ideographic 0x00FE67 | U | H | V | ideographic 0x00FE70 | R | H | westernChar 0x00FEFF | R | H | V | unknown 0x00FF00 | R | H | westernChar 0x00FF01 | Tu | H | V | dividingPunctuation 0x00FF02 | U | H | V | ideographic 0x00FF03 | U | H | V | prefixedAbbrev 0x00FF05 | U | H | V | postfixedAbbrev 0x00FF06 | U | H | V | ideographic 0x00FF08 | Tr | H | V | openingBracket_round 0x00FF09 | Tr | H | V | closingBracket_round 0x00FF0A | U | H | V | ideographic 0x00FF0C | Tu | H | V | comma_western 0x00FF0D | R | H | V | ideographic 0x00FF0E | Tu | H | V | fullStop_western 0x00FF0F | U | H | V | ideographic 0x00FF1A | Tr | H | V | middleDot_colon 0x00FF1C | R | H | V | ideographic 0x00FF1F | Tu | H | V | dividingPunctuation 0x00FF20 | U | H | V | ideographic 0x00FF3B | Tr | H | V | openingBracket_other 0x00FF3C | U | H | V | ideographic 0x00FF3D | Tr | H | V | closingBracket_other 0x00FF3E | U | H | V | ideographic 0x00FF3F | Tr | H | V | ideographic 0x00FF40 | U | H | V | ideographic 0x00FF5B | Tr | H | V | openingBracket_other 0x00FF5C | Tr | H | V | ideographic 0x00FF5D | Tr | H | V | closingBracket_other 0x00FF5E | Tr | H | V | ideographic 0x00FF5F | Tr | H | V | openingBracket_round 0x00FF60 | Tr | H | V | closingBracket_round 0x00FF61 | R | H | westernChar 0x00FFE0 | U | H | V | postfixedAbbrev 0x00FFE1 | U | H | V | prefixedAbbrev 0x00FFE2 | U | H | V | ideographic 0x00FFE3 | Tr | H | V | ideographic 0x00FFE4 | U | H | V | ideographic 0x00FFE5 | U | H | V | prefixedAbbrev 0x00FFE6 | U | H | V | ideographic 0x00FFE8 | R | H | westernChar 0x00FFF0 | U | H | V | ideographic 0x00FFF9 | R | H | V | transparent 0x00FFFC | U | H | V | inlineObject 0x00FFFD | U | H | V | ideographic 0x00FFFE | R | H | V | unknown 0x010000 | R | H | westernChar 0x010980 | U | H | westernChar 0x0109A0 | R | H | westernChar 0x011580 | U | H | westernChar 0x011600 | R | H | westernChar 0x011A00 | U | H | V | ideographic 0x011AB0 | R | H | westernChar 0x013000 | U | H | westernChar 0x013430 | R | H | westernChar 0x014400 | U | H | westernChar 0x014680 | R | H | westernChar 0x016FE0 | U | H | V | ideographic 0x018B00 | R | H | westernChar 0x01B000 | U | H | V | katakana 0x01B001 | U | H | V | hiragana 0x01B130 | R | H | westernChar 0x01B170 | U | H | V | ideographic 0x01B300 | R | H | westernChar 0x01D000 | U | H | westernChar 0x01D200 | R | H | westernChar 0x01D2E0 | U | H | V | ideographic 0x01D300 | U | H | westernChar 0x01D380 | R | H | westernChar 0x01D800 | U | H | westernChar 0x01DAB0 | R | H | westernChar 0x01F000 | U | H | V | ideographic 0x01F200 | Tu | H | V | ideographic 0x01F202 | U | H | V | ideographic 0x01F800 | R | H | V | ideographic 0x01F900 | U | H | V | ideographic 0x01FA70 | R | H | westernChar 0x020000 | U | H | V | ideographic 0x02FFFE | R | H | V | unknown 0x030000 | U | H | V | ideographic 0x03FFFE | R | H | V | unknown 0x040000 | R | H | westernChar 0x0F0000 | U | H | V | ideographic 0x0FFFFE | R | H | V | unknown 0x100000 | U | H | V | ideographic 0x10FFFE | R | H | V | unknown 0x110000 ===========
Received on Thursday, 29 October 2020 11:44:46 UTC