エスケープシーケンス


エスケープシーケンスとテキストの書式

グラフ、ワークシート、レイアウト上のテキストブジェクトに特殊なフォーマットを適用するには、通常はマウスで目的のテキストを選択して、書式またはスタイルツールバーのボタンを使用します。 WYSIWYG方式でテキストオブジェクトを操作する場合、 ツールバーボタンに設定されている非表示のテキストフォーマットコマンド(エスケープシーケンスといいます)を見ることはできません。しかし、これらのエスケープシーケンスを表示するOriginのインターフェースがあり、エスケープシーケンスがどういうものか、どのように動作するのかを知っておくと大変役立ちます。

ラベル列からプロットされたテキストだけでなく、テキストツール、テキストの追加メニュー、LabTalkのLabelコマンド、テキストボックスに入力した接頭語/接尾語などで作成されたすべてのテキストラベルでは、これらの特殊フォーマットコマンドに従って表示されます。 すべてのエスケープシーケンスは、バックスラッシュ(円記号) "\" で始まり、テキストをどのように変更するかという制御文字を続けて入力します。 変更の加えられるテキストは、次のように制御文字に続く括弧内に入力します:

\制御文字(編集したい文字列)

Escape Sequences 01.png

文字列を書式化するために書式およびスタイルツールバーのボタンやリストを使用するとき、Originは自動的にこれらのフォーマットコマンドを付加しています。 これらのフォーマットコマンドは、テキストラベルの中には表示されませんが、その文字列のオブジェクトプロパティダイアログボックス(フォーマット:オブジェクトプロパティ)の中には表示されます。

例えば、テキストツールを使って、Controlと入力し、それを選択して「太字」ボタン(「書式」ツールバー)をクリックします。 グラフやワークシート上には単にControlと表示されますが、オブジェクトプロパティダイアログボックスを開くと、\b(Control)と、対象文字列が「\b( )」シーケンスで囲まれています。 つまり、「\b( )」フォーマットコマンドがControlという文字列を太字で表示しているのです。 この方法の実用的な重要性としては、テキストラベルをプログラムで作成する場合などWYSIWYGのインプレーステキスト編集を使って文字列を入力できないような状況で、これらのフォーマットコマンドを明示的に使用して文字列の書式を指定できる点にあります。フォーマットコマンドは、接尾語や接頭語のテキストボックスオブジェクトプロパティダイアログボックス、LabTalkのLabelコマンドで使用することができます。

エスケープシーケンスにはLabTalkで解釈できるものもありますし、標準のC言語のものもあります。

利用できるフォーマットコマンドのリスト

構文 説明 入力の方法... 表示結果...

\(ASCII character code)

指定したASCII記号を表示

\(169)

Available Text Formatting Commands 12.png

\-(text)

textを下付きとして設定

sub\-(script)

Available Text Formatting Commands 3.png

\+(text)

textを上付きとして設定

super\+(script)

Available Text Formatting Commands 2.png

\=(text1,text2)

上下両付き表記text1を下付きとして設定、text2を上付きとして設定

script\=(sub,super)

Available Text Formatting Commands 4.png

\=(text1\v(,)text2,text3)

上下両付き表記text1text2 を下付き (コンマで区切る)、text3 を上付きとして設定します。

script\=(sub1\v(,)sub2,super)

Available Text Formatting Commands 19.png

\ab(text)

textの上にバーを表示

\ab(X)

Available Text Formatting Commands 9.png

\ad(text)

textの上に一点鎖線を表示

\ad(A)

Available Text Formatting Commands 10.png

\at(text)

textの上にティルデを表示

\at(A)

Available Text Formatting Commands 11.png

\b(text)

textを太字に設定

\b(bold)

Available Text Formatting Commands 7.png

\cnumber(text)

ORIGIN.INIファイルの色リストのnumberで示される色でtextを表示

\c2(red)

Available Text Formatting Commands 14.png

\f:fontname(text)

textfontnameのフォントを使用して表示 (フォント名は同定可能な範囲で略記可)

\f:Wide Latin(font)

Available Text Formatting Commands 13.png

\g(text)

textをギリシャ文字に設定

\g(Greek)

Available Text Formatting Commands 8.png

\h(text)

ブロック置換表記

\h(\l(1) %(?Y))

\l(1) %(?Y)

\i(text)

textを斜体に設定

\i(italics)

Available Text Formatting Commands 6.png

\p%pointsize(text)

textの大きさを%倍に変更。 200は2倍、100は大きさの変更なし等

change\p200(point)size

Available Text Formatting Commands 5.png

\q(text)

LaTeX数式を挿入するときに、テキスト (LaTeXマークアップ) をLaTeXオブジェクトとしてレンダリングします (Origin 2023以前のバージョンでは、2017 LaTeX アプリを使用)。

\q(\varphi_{\mu, \sigma^{2}}(X))

Available Text Formatting Commands 16.png

\s(literal text)

テキストに取り消し線(水平線)を引く

\s(abc)

Strick text.png

\sc(text)

連続するスペースが複数ある場合でも、1つの条件付き水平スペースを文字列に挿入します。これは、いくつかのラベルが存在せず、いくつかのスペース(>1)がある場合に使用されます。\scは1つのスペースしか作成しません。

\b(%(1Y,@LL)\sc%(1Y,@LD3)\sc%(1Y,@LD4)\sc(%(1Y,@LU)))

LName Unit

\sep:nn

複数行のテキス ラベル (グラフの凡例を含む) では、前の行と次の行の間に nn の量で余分な区切りを追加します。ここで、nn はフォントの高さのパーセントです。

\l(1) %(1)
\sep:50
\l(2) %(2)
\l(3) %(3)

OH escape line sep increase.png

\u(text)

textに下線を設定

\u(underline)

Available Text Formatting Commands 15.png

\v(text)

textをリテラルテキストとして扱います。

これは、バックスラッシュ(円記号)「\」を含むパスを表示する場合に役立ちます。

\v (C:\Samples\Programming)

Available Text Formatting Commands 1.png

\ww(literal text)

凡例オブジェクトのプロパティダイアログに入力されたリテラルテキストを折り返し、凡例のテキスト部分に割り当てられた「ボックス」内で左揃えにします。

\ww(Very Large-sized Cities: population between 5 and 10 million)

Legend Wrap Escape Sequence.png

\x(unicode number)

Unicode文字を表示します。

\x(03b8)

Available Text Formatting Commands 18.png

\y(')
\y(")

プライムあるいはダブルプライムを表示。プライムとダブルプライムの組み合わせを表示するためには、\+(\y(')) or \+(\y("))のように上付き文字の表現を使用します。

\g(c)\=(3,\y('))

Available Text Formatting Commands 12b.png

テキストオブジェクト中のバックスラッシュ(円記号)の入力に関する注意

通常のWYSIWYG方式でテキストラベルを編集するとき、バックスラッシュ(円記号)を直接入力することができます。 インプレースでは、エスケープシーケンスをサポートしていないので、エスケープシーケンスとしては解釈されません。

そのため、例えば次のように入力すると...

This file is located at C:\MY FILES

そのまま入力したように表示されます。

Originは、2番目のバックスラッシュをテキスト文字列に自動的に挿入することでWYSIWYGによるバックスラッシュを挿入することができます。 WYSIWYGモードの場合、1つのバックスラッシュしか表示されません。 しかし、オブジェクトのプロパティダイアログボックスを開くと、2つのバックスラッシュが表示されているのがわかります(下図参照)。(以下に説明するようにテキストラベルが壊れてしまうので、このダイアログボックスで2番目のバックスラッシュを消去しないで下さい。)

Escape Sequences 2.png

「オブジェクトプロパティ」ダイアログボックスでのバックスラッシュ(円記号)の使用

バックスラッシュ(円記号) ("\") を「オブジェクトプロパティ」ダイアログボックス に直接入力するとエスケープシーケンスだと解釈されます。

例えば、「オブジェクトプロパティ」ダイアログボックスに下の文を入力すると:

This file is located at C:\MY FILES

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

This file is located at C:MY FILES

バックスラッシュが表示されていません。 定義されていないオプションや括弧がバックスラッシュの後に続かない場合、バックスラッシュは無視されて表示されません。 そのため、オブジェクトプロパティダイアログボックスに直接テキストを入力したり、編集する際に、バックスラッシュを表示する必要があれば、次のいずれかを行う必要があります:

  • 文字列にバックスラッシュを2つ(\\ )入力します。(例えば、 "This file is located at C:\\MY FILES")
  • フォーマットコマンドの\v( )を使用します。 (例えば、"This file is located at \v(C:\MY FILES)")
  • オブジェクトプロパティのテキストタブの逐次解釈ボックスにチェックを付けます。
Escape Sequences 025B.png


LabTalkを使用して...

  1. オブジェクトプロパティダイアログボックスに文字通りにテキストを入力し(2つ"\\"ではなく、1つのバックスラッシュ"\"のみを入力、下図参照)、OKをクリックします。
    Escape Sequences 03.png
  2. コマンドウィンドウを開き、コマンドラインに次のように入力します。
ObjectName.verbatim=1 <ENTER>
ここでObjectNameテキストのオブジェクト名です。(これはプロパティの「プログラミング」タブに表示されます。)

バックスラッシュがテキストラベルの中に適切に表示されます。

Note:ObjectName.verbatimメソッドは、WYSIWYGによるインプレーステキスト編集と似たような操作(文字列変数を使ってファイルパスの情報を挿入する)で実行する場合に役立ちます。 WYSIWYG方式ではバックスラッシュ(\)を直接入力することができますが、それが文字列の一部の場合適切に扱われません(例えばファイルパス)。

WYSIWYG方式で作成したテキストオブジェクトでこれがどのように扱われるかについては、テキストラベルの置換変数値.を参照してください。

エスケープシーケンスとグラフテーマに関する考察

グラフテーマは、あるテキストオブジェクトの表示属性をコピーして、別のテキストオブジェクトに貼り付けることができます。 しかし、コピーと貼り付けができない表示属性もいくつかあります。 テキストオブジェクトのプロパティがエスケープシーケンスを挿入して作成された場合、それは別のテキストオブジェクトに適用できません

どのテキストフォーマットが別のテキストオブジェクトに貼り付けることができないかを知るには、まず、テキストオブジェクトを作成し、クリックしてそれを選択します。 ここで、書式 およびスタイルツールバーのボタン--太字、斜体、下線など--が利用できない(ボタンがグレーアウトしている)ことが分かります。一方他のボタン(ギリシャ文字、フォントを大きく/小さく、フォントの色など)は利用できます

Escape Sequences 04.png

テキストオブジェクトが選択されたときに利用できないボタンやドロップダウンリストがあるのは、フォーマットオプションを指定する際にエスケープシーケンスを使用しており、他のテキストオブジェクトにフォーマットをコピーして貼り付けることができないためです。