私は DirectWrite API について学ぼうとしているので、あらゆる文化からのテキストのレンダリングの問題に対する柔軟な解決策を得ることができ、それを使用して、「定型化された」方法よりもはるかに多くの制御を備えたリッチ テキスト編集をアプリケーションに組み込むことができる可能性があります。テキストの編集/表示。
PadWrite サンプルは見栄えがよく、API がいかにうまく設計されているかを示しています。
サンプル テキストには、"Mixed scripts:" で始まる行が含まれています。ソース コードでは、すべてのサンプル テキストが 1 つの C++wchar_t[]
リテラルで指定されており、混合スクリプトはすべて Visual Studio 2012 のコード エディターで正しく表示されます。それらを通常の Windows ワードパッドにコピー アンド ペーストすると、それらも正しく表示されます。また、アラビア語の右から左へのセクションでは、これらの両方のエディターで正しいキャレット ナビゲーション動作が行われます。
しかし、実際に PadWrite サンプルを実行すると、どれも機能しません。代わりに、次のように表示されます。
UTF-8 に変換されてから誤って解釈されているように見えます (すべて で行われているため意味がありませんwchar_t
)。
Windows 8.1 を実行しています。PadWrite をワードパッドや Visual Studio 2012 と同様に機能させるにはどうすればよいですか? 更新されていない API のプレリリース バージョンの無効なサンプルですか?
注意。最初の警告サインは、PadWrite が最初にコンパイルさえしなかったことでした-ファイル内でEditableLayout.cpp
、ステートメントTextEditor.cpp
の後にこれを追加する必要がありました:#include
#undef max
#undef min