PrintDocument for WinForms
RenderVerticalText クラス
メンバ  使用例 


C1.PrintDocument.4.5.2 アセンブリ > C1.C1Preview 名前空間 : RenderVerticalText クラス
C1PrintDocument内の縦書きテキストの実行を表します。

主として、アジア諸語(日本語など)のテキストを伝統的な方法で 右から左へ垂直方向にレンダリングするために設計されています。

テキストは単一のスタイルを使って描画されます(マルチスタイルテキストの場合は RenderVerticalParagraph)。

オブジェクト モデル
RenderVerticalText クラス
シンタックス
'宣言
 
Public Class RenderVerticalText 
   Inherits RenderText
   Implements IDocumentLocationIStyleOwner 
'使用法
 
Dim instance As RenderVerticalText
public class RenderVerticalText : RenderText, IDocumentLocationIStyleOwner  
解説

RenderVerticalTextのデフォルトの高さと幅は autoです。特に、これは、改行なしのテキストがデフォルトで下方向に無制限に伸ばされることを意味します。下部でテキストを折り返すには、 RenderVerticalTextオブジェクトの 高さを明示的に設定する必要があります。

このクラスの主な使用は、アジア諸語のテキストを出力することですが、英語テキストもこの方法で印刷できることに注意してください。これを行うには、16 進コード 0xFEE0 を各英語文字に追加します。

使用例
以下のコードは、「CASINO ROYAL」と数字「12345」を垂直方向に印刷します。
private static string ToVertical(string s)
{
  StringBuilder sb = new StringBuilder(s.Length);
  for (int i = 0; i < s.Length; i++)
    if (s[i] == ' ')
      sb.Append(s[i]);
    else
      sb.Append((char)((int)s[i] + (0xFF10 - (int)'0')));
  return sb.ToString();
}
          
private C1PrintDocument CreateDocument()
{
  C1PrintDocument doc = new C1PrintDocument();
  doc.FontHandling = FontHandling.EmbedActualFonts;
  RenderVerticalText rt;
  
  rt = new RenderVerticalText();
  rt.Style.Borders.All = LineDef.Default;
  rt.Style.Font = new Font("Arial", 18);
  rt.Text = ToVertical("CASINO ROYAL");
  doc.Body.Children.Add(rt);
  
  rt = new RenderVerticalText();
  rt.Style.Borders.All = LineDef.Default;
  rt.Style.Font = new Font("Arial", 18);
  rt.Text = ToVertical("Digits: (12345)");
  doc.Body.Children.Add(rt);
  
  return doc;
}
継承階層

System.Object
   C1.C1Preview.RenderObject
      C1.C1Preview.RenderTextBase
         C1.C1Preview.RenderText
            C1.C1Preview.RenderVerticalText

参照

RenderVerticalText メンバ
C1.C1Preview 名前空間
RenderVerticalParagraph クラス