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