問題タブ [text-width]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
7108 参照

c# - Unity C# 、テキスト幅/フォント文字幅を取得

C# を使用して統一されたテキストの幅を取得したい。

これが私がやろうとしていることです。

しかし、 font.GetCharacterInfo(...) は false を返し、 characterInfo.advance は任意の文字に対して 0 です。

0 投票する
1 に答える
83 参照

vim - テキストを固定幅でフォーマットするときに空白を保持する方法は?

以下のように、編集したテキストの行を 100 文字に設定します。

すべての行で 100 文字が設定されていますが、すべての空白が削除されていることがわかりました。
すべての行の幅を 100 に設定するために、すべての空白を同時に保持する方法は?

0 投票する
2 に答える
329 参照

c# - ワード ラップのシミュレーションで文字列幅をピクセル単位で計算する際の奇妙な動作

ワードラップとテキストの位置をシミュレートするために C# で文字列幅を取得しようとしています (現在は richTextBox に記述されています)。

richTextBox のサイズは 555x454 px で、等幅フォント Courier New 12pt を使用しています。

TextRenderer.MeasureText()私もGraphics.MeasureString()方法を試しました。

TextRendererGraphics通常は1行に収まるテキストよりも大きな値を返していたため、コードを別の行に折り返す必要があると判断しました。

しかし、Graphics一方で、私のコードは、特定の文字列が元の richTextBox に出力されるよりも短いと判断したため、間違った場所で次の行に折り返されました。

デバッグ中に、計算された幅が異なることがわかりました。これは、等幅フォントを使用しているため、すべての文字の幅が同じである必要があるため、奇妙です。しかし、私はこのようなものを取得しますGraphics.MeasureString()(例: ' ' - 5.33333254、'S' - 15.2239571、'\r' - 5.328125)。

C# で文字列の幅を正確に計算し、ワードラップをシミュレートして、特定のテキスト位置をピクセル単位で決定するにはどうすればよいですか?

等幅フォントを使用すると、文字によって幅が異なるのはなぜですか?

注: 私は個人的なアイ トラッキング プロジェクトに取り組んでおり、実験中に特定のテキストが配置された場所を特定して、ユーザーがどの単語を見ていたかを判断したいと考えています。たとえば。tユーザーがポイント [256,350]px を見ていましたが、この場所でメソッドの呼び出しがあることがわかりましたWriteLine。私のターゲットの視覚的刺激は、インデント、タブ、行末が編集可能なテキスト領域に配置されたソース コードです (将来的には、単純なオンライン ソース コード エディターになる可能性があります)。

これが私のコードです: