2

RTF テキストを Unicode に変換したいと考えています。RTF フォント テーブルでは、フォントまたはフォント フェイスの名前 (Arial Cyr、Courier Greek など) と、それで使用する文字セット (0-255) を見つけることができます。では、これらの設定で文字コード (0 ~ 255) を Unicode に変換する関数を作成するにはどうすればよいでしょうか。

ご覧のとおり、Greek、Cyr、Tur などのポストタグは表示される文字のグリフに影響し、文字セットもそれに影響します。したがって、関数には次の入力パラメーターを含めることができます。

フォント名接尾辞、フォント文字セット、文字コード

しかし、次は何ですか?それとも私は間違った方法をとっていますか?

4

1 に答える 1

4

RTF は Unicode よりずっと前に発明されました。これは間違いなく ANSI テキストではありません。RTF は ASCII のみを使用し、文字セットへの参照を使用して 16 進数でエンコードされた非 ASCII 文字とのかなり不潔な組み合わせの文字セットを使用します。マッピングも完全ではなく、多くの Unicode コードポイントには対応する文字セットがありません。

RTF から Unicode への独自のコンバーターの作成に一生を費やすことになります。既存のソリューションを活用してください。ほとんどのプラットフォームには既存のソリューションがあります。Windows では、RichEdit コントロールになります。.NET を使用する場合は特に簡単です。RichTextBox クラスを使用し、その Rtf プロパティを割り当てて、その Text プロパティを読み戻します。これは utf-16 でエンコードされた Unicode です。

于 2012-11-29T17:14:47.070 に答える