5

Web ページの textarea または div で、空白を表示したいと考えています。つまり、スペースを小さなドット ∙ として表示し、タブを「⇥」として表示し、改行も別の文字で表示します。となることによって:

These are spaces
These   are tabs

次のように表示されます。

These∙are∙spaces↵
These⇥are⇥tabs↵

これは、" " 文字を "∙" などに置き換える JavaScript を使用して実行できますが、これは少し厄介な解決策であり、ユーザーがスペースを入力したり貼り付けたりするのをキャッチする必要があります。さらに、ユーザーがテキスト "These are" に対して検索 (ctrl-f) を実行しても、スペースは実際には文字であるため、テキストは見つかりません。

代わりに、よりクリーンな解決策と思われるものを見つけました: スペースが単に目に見える文字であるカスタム フォントを作成します。スペースに最適です。煩雑な JavaScript は必要ありません。しかし、私が見つけたかなり悪い無料のフォント編集ソフトウェアを使用して、フォントのタブ文字または改行文字を編集できるかどうかを判断できませんでした.

フォントのタブや改行文字を編集できるかどうかを知っている人はいますか?もしそうなら、これを行うのに最も簡単なフォントエディタープログラムをお勧めできますか?

4

2 に答える 2

1

「タブ」などの特殊文字の文字でフォントを作成できないと思います。

これらの文字を JavaScript に置き換える代わりに、JavaScript を使用してタブのスタイルを変更します。

These   are tabs

になるだろう

These<span class="tabs">   </span>are tabs

また、タブの css クラスは、たとえば赤い背景を持つことができます。

.tabs{
background-color: red;
}
于 2012-11-03T15:53:28.760 に答える
0

直感的には、いくつかのグリフでスペースを置き換えると、通常の注意事項 (ダウンロード可能なフォントは完全に普遍的に機能するとは限りません) で機能すると予想されますが、タブと改行は別の問題です。グリフがフォントから取得されて表示されるようにレンダリングされるわけではありません。代わりに、水平方向のスペースを空けて次の行の先頭に移動するなどの書式設定アクションが発生します。

簡単な実験がこの分析を裏付けています。FontForge を使用して、フォント内のスペース グリフをグラフィック グリフに置き換えたところ、スペースの代わりにグラフィック グリフが表示されました。しかし、タブに対して同じことをしても何も変わりません。タブは、HTML 仕様で定義されているように、行上の位置に応じて間隔を空けるだけです。

于 2012-11-03T17:23:07.090 に答える