方程式と数式フィールド

方程式と数式フィールド

方程式と数式フィールド

このガイドでは、作業方法を示します FieldAdvance and FieldSymbol フィールドクラスは、Aspose.Words FOSS for .NET にあり、Word の ADVANCE and SYMBOL フィールドです。両クラスは次から派生します Field そして実装します IFieldCodeTokenInfoProvider; ベース Field オブジェクトモデル自体については、以下をご覧ください フィールドの操作 ガイド。


FieldAdvance を使用したテキストの再配置

FieldAdvance は ADVANCE フィールドを実装し、可視文字を挿入せずにそれに続くテキストをシフトします。DownOffset、UpOffset、LeftOffset、および RightOffset(すべて string)は、その方向にポイント数だけ後続テキストを移動させます。HorizontalPosition と VerticalPosition(こちらも string)は、列、フレーム、またはテキストボックスの左端、ページの上端から測定した絶対位置へ後続テキストを移動させます。


FieldSymbol を使用した特殊文字の挿入

FieldSymbol は SYMBOL フィールドを実装し、コードポイントで単一文字を挿入します。CharacterCode(文字列)は文字のコードポイントを十進または十六進で提供します。IsAnsi、IsUnicode、IsShiftJis(すべて bool)は、CharacterCode の解釈方法を選択します。FontName と FontSize(文字列)は取得した文字を表示するフォントを設定し、DontAffectsLineSpacing(bool)は挿入した文字が段落の行間に影響を与えるかどうかを制御します。


ヒントとベストプラクティス

  • FieldSymbol 上で IsAnsi、IsUnicode、または IsShiftJis のうち一つだけ設定し、CharacterCode の曖昧な解釈を避けてください。
  • FieldAdvance のオフセットプロパティは string であり、数値型ではありません — DownOffset、UpOffset、LeftOffset、RightOffset、HorizontalPosition、または VerticalPosition を設定する際は、ポイント値を文字列として渡してください。
  • FieldSymbol.FontName を CharacterCode にある字形を実際に含むフォントに設定しないと、描画された文字が missing-glyph プレースホルダーにフォールバックする可能性があります。
  • FieldAdvance または FieldSymbol のプロパティを変更した後に Update() を呼び出し、フィールドの Result / DisplayResult が変更を反映するようにしてください。
  • 周囲の行の高さを伸ばすべきでない、背の高いまたは特殊な記号文字を挿入する際は DontAffectsLineSpacing を使用してください。

一般的な問題

問題原因修正
ADVANCE フィールドがテキストを期待通りに移動しません誤ったオフセットプロパティが設定されているか、値がデフォルトのままになっています意図した移動に合致する、特定の DownOffset / UpOffset / LeftOffset / RightOffset(相対)または HorizontalPosition / VerticalPosition(絶対)プロパティを設定してください
SYMBOL フィールドが誤った文字を表示していますCharacterCode が誤ったエンコーディングで解釈されましたIsAnsi、IsUnicode、またはIsShiftJis のうち正確に1つを設定し、CharacterCode が作成された方法に合わせてください
シンボル文字は欠字ボックスとして表示されますFontName には CharacterCode 用のグリフが含まれていませんFontName を、その文字を含むことが知られているフォントに設定してください。

FAQ

ADVANCE フィールドは何をしますか?

それは、その後に続くテキストの位置を、相対オフセット(DownOffset, UpOffset, LeftOffset, RightOffset)または絶対位置(HorizontalPosition, VerticalPosition)で再配置し、可視文字は挿入しません。

FieldSymbol を使って特定の Unicode 文字を挿入するにはどうすればよいですか?

CharacterCode を文字のコードポイントに設定し、IsUnicode = true を設定します。また、必要に応じてグリフの描画のために FontName / FontSize を設定してください。

FieldAdvance のオフセット値は数値ですか、文字列ですか?

それらは string のプロパティ(DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition)であり、生のフィールドコード引数形式に一致します。

シンボル文字を挿入すると行間に影響しますか?

挿入した文字が段落の行の高さに影響しないようにするには、DontAffectsLineSpacing を true に設定します。


API Reference の概要

クラス/メソッド説明
FieldAdvanceADVANCE フィールドを実装します; 文字を挿入せずに後続のテキストを再配置します
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset以下のテキストに適用される相対ポイントオフセット
FieldAdvance.HorizontalPosition / VerticalPosition次のテキストに適用される絶対ポイント位置
FieldSymbolSYMBOL フィールドを実装します; コードポイントで文字を挿入します
FieldSymbol.CharacterCode文字のコードポイント(10進または16進)
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisCharacterCode の解釈方法を選択します
FieldSymbol.FontName / FontSize取得した文字を表示するために使用されるフォント
FieldSymbol.DontAffectsLineSpacing挿入された文字が段落の行間に影響を与えるかどうかを制御します

参照

 日本語