[]
SpreadJSでは、次のいずれかの方法でシェイプ上にテキストを追加したり編集したりすることができます。
シェイプをダブルクリックする
シェイプを選択してEnterキーを押す
シェイプを右クリックし、コンテキストメニューから [テキストの編集] を選択します。
シェイプにテキストの追加や編集する際、テキストエディタが表示され、シェイプ以外にクリックすると非表示します。ただし、シェイプが編集状態でない場合、テキストの選択をサポートしません。また、シェイプの角をドラッグしてダイアログをリサイズする場合、水平方向のサイズのみ変更されます。

isTextBox プロパティを true に設定される場合、シェイプをクリックする/選択することで、シェイプ内のテキストを追加または編集することができます。
// シェイプにテキストを追加するには、isTextBox プロパティをtrueに設定します。
shape.isTextBox(true);本使用例では、会議を開催するために会議室の座席計画を検討します。会議には重要な方のグループが参加することになっているため、座席配置は前もって計画されています。各席はオートシェイプで表現され、メンバーの名前はシェイプのテキストを使用して記載されます。変更があった場合は、名前の追加、編集、または削除も可能です。

テキストエディタおよびテキストは、シェイプの動作に従います。例えば、シートに対してズームアクションを実行すると、テキストエディタとテキストのサイズも変更され、再配置されます。

行または列が固定されている場合、スクロールするとシェイプが折り返されます。ただし、テキストは影響を受けず、そのまま同じ場所に残ります。

メモ: Excelの場合、この動作は異なり、テキストとテキストエディタの両方がシェイプとともに折りたたまれます。
シェイプを回転させると、テキストエディタとテキストが回転します。

テキストエディタでは、コンテンツの高さに応じてシェイプの高さを設定することもできます。

また、resizeToFitText プロパティを true に設定すると、テキストボックスシェイプの高さをコンテンツに応じてリサイズされます。
// シェイプの高さを自動調整するには、resizeToFitText を true に設定します。
var oldStyle = shape.style();
oldStyle.textFrame.resizeToFitText = true;
shape.style(oldStyle);メモ: SpreadJS では、テキストボックスのシェイプは縦書きテキストとリッチテキストをサポートしていません。
テキストエディタは、テキストの入力中に行を自動的に折り返し、テキスト領域を自動的に拡張します。

シェイプを選択してEnterキーを押下すると、シェイプにあるすべてのテキストが選択されます。Escキーを押すと、編集が終了します。

シェイプテキストでは、IME入力もサポートされています。

シートが保護されている場合、テキスト入力は以下のようになります。
シェイプがロックされていて、オブジェクトの編集が有効( options.protectionOptions.allowEditobject がtrue)の場合、テキスト入力が可能です。
シェイプがロックされていて、オブジェクトの編集が無効の場合、テキスト入力はできません。
シェイプのロックが解除されている場合、テキスト入力が可能です。
SpreadJSデザイナでシェイプを追加する場合、シェイプのコンテキストメニューから[コメントの編集]オプションを選択し、シェイプにテキストを設定することができます。
また、シェイプをダブルクリックすると、テキストエディタとともに図の書式設定パネルが表示され、文字のオプションから、文字色やフォント、配置を設定することができます。なお、リッチテキストはサポートされていません。

SpreadJS は、ドキュメントやレポート内のシェイプにおけるテキストの向きと流れを制御できます。テキスト方向を調整することで、テキストを横書き、縦書き、または積み重ね形式で表示できます。
この機能は、図表やレポートの視覚的プレゼンテーションを強化するうえで非常に効果的であり、従来から縦書きを利用してきた東アジア言語(日本語、中国語、韓国語など)のレイアウト規則に対応するために不可欠です。
次の表は、SpreadJS がサポートするすべてのテキスト方向設定を示しています。
以下のサンプルはすべて、横方向の右寄せと縦方向の上寄せを採用しています。
方向 | 説明 | サンプル |
|---|---|---|
横書き (既定) | テキストは横方向の行において、LTR 言語では左から右へ、RTL 言語では右から左へ流れます。 |
|
右へ90°回転 | 各行のテキストが時計回りに 90 度回転し、上から下へ流れます。次の行は前の行の左側に表示されます。 |
|
左へ90°回転 | 各行のテキストが時計回りに 270 度(または反時計回りに 90 度)回転し、下から上へ流れます。次の行は前の行の右側に表示されます。 |
|
縦書き(半角文字含む) | 文字が縦方向に一つずつ重なり、横方向は左から右へ流れます。これは縦書き効果を作成するときによく使用されます。 |
|
縦書き(半角文字含む、RTL) | 文字が縦方向に一つずつ重なり、横方向は右から左へ流れます。 |
|
縦書き | テキストを縦書きで表示します。半角文字は 90 度回転して表示されますが、多くの東アジアフォントは縦書きで表示され、行は上から下、そして右から左へ流れます。 |
|
縦書き(LTR) | 「縦書き」と似ていますが、テキストは上から下、そして左から右へ流れます。 |
|
SpreadJS は、APIを使用したコードによる設定と、デザイナ上での設定操作のいずれかの方法で、シェイプ内のテキスト方向を設定できます。
API を使用する場合
GC.Spread.Sheets.Shapes.TextDirection には 7 種類の列挙値があり、それぞれが異なるテキスト方向を表します。シェイプのテキスト方向を設定するには、シェイプの style.textFrame 内の textDirection プロパティに、希望する TextDirection 列挙値を割り当てます。
以下のコードを使用して、テキスト方向を wordArtVertRtl に設定した長方形を作成します。
var rectangleShape = sheet.shapes.add("Shape1", GC.Spread.Sheets.Shapes.AutoShapeType.rectangle, 100, 60, 200, 160);
var style = rectangleShape.style();
style.textFrame.textDirection = GC.Spread.Sheets.Shapes.TextDirection.wordArtVertRtl;
rectangleShape.style(style);
rectangleShape.text('これはサンプルテキストです。');
デザイナーを使用する場合
対象シェイプを選択: 編集するテキストを含むシェイプをクリックします。リボンに [図形の書式] タブが有効になります。
書式ウィンドウを開く: [書式ウィンドウ] ボタンをクリックしてサイドバーを起動します。

3. テキスト設定に移動
(1) [文字のト オプション] を選択してテキスト書式のカテゴリにアクセスします。

(2) [テキスト ボックス] を選択して詳細なテキストプロパティを表示します。

4. テキスト方向を変更
(1) [テキストの方向] プロパティを探します。

(2) 現在の向きの値の横にあるプルダウン矢印をクリックします。

(3) 次の標準化されたオプションから選択します:

注意:
Excel と整合するように、プルダウンには 5 種類の方向オプションがあります。「積み重ね」については、使用するカルチャ設定によって挙動が異なる場合があります。詳細については、次の「重要ポリシー」のセクションを参照してください。
利用可能なオプションから希望するテキスト方向を選択します。シェイプ内のテキストが選択した方向に更新されます。

テキストの折り返しと改行
シェイプ内のテキストは、シェイプの境界と設定されたテキスト方向に応じて自動的に次の行に折り返されます。
言語 | ポリシー | サンプル |
|---|---|---|
東アジア言語(CJK) | 各文字は一般的に改行単位として扱われ、必要に応じて任意の文字の後で改行が可能です。カスタム改行をサポートします。 |
|
英語およびその他の西洋言語 | テキストは通常、空白(スペース、タブ、Enter など)、句読点、またはハイフネーション位置で改行されます。文字制限よりも単語の完全性を優先します。カスタム改行をサポートします。 |
|
これらの折り返し規則と改行規則は、アプリケーション内の通常のセルにおける挙動と一致しています。
シェイプ内テキストの編集
横書き以外の方向を持つシェイプ内のテキストを編集するとき、テキストは常に標準的な横書き形式で表示および編集されます。縦書きや積み重ね方向は編集終了後にのみ表示用として適用されます。

自動でシェイプサイズを調整
シェイプを手動でリサイズすると、その時点のテキスト方向に基づいて、シェイプ内のテキストレイアウトが自動的に調整されます。
テキスト方向が横書きの場合、シェイプの幅を変更すると、テキストは新しい幅に合わせて再配置されます。

テキスト方向が縦書きの場合、シェイプの高さを変更すると、テキストは新しい高さに適応します。

シェイプをテキストに必要なサイズより小さくリサイズした場合、境界外のテキストは自動的に非表示となり、表示されません。

不規則シェイプにおけるテキスト方向
単純な長方形以外のシェイプでは、テキストはシェイプのテキスト領域を囲む長方形枠内に収めて配置されます。

デザイナーでのカルチャ別テキスト方向オプション
Excelと整合するために、Designerツールは横書き、縦書き、すべてのテキストを90°回転、すべてのテキストを270°回転、積み重ね、の5種類のテキスト方向オプションを提供します。このうち「積み重ね」設定は、現在使用されているカルチャに応じて挙動が異なります。

以下の表は具体的なサポート内容を示しています。
デザイナーオプション | 列挙体(EN) | 列挙体(CN/JP/KO) |
|---|---|---|
横書き |
|
|
縦書き |
|
|
右へ90°回転 |
|
|
左へ90°回転 |
|
|
縦書き(半角文字含む) |
|
|