scripting.[JP]これは宛名の縦組みに関するTipsシリーズの最終投稿(パート5)です。InDesign使用を前提としています。宛名の縦組みに関する基本方法は過去の投稿「宛名の縦書き」を参照して下さい。住所に含まれる連続する2桁以上の数列に対して、その桁数毎に異なる文字調整を行う。2.住所表示にが二行要する場合に、指定した文字数を超える場合にテキストサイズを変更させる。request.このTipsは以下の様な要望をお持ちのユーザー向けです。3で紹介した方法では、2桁以上の連続する数値列を認識した場合に異なる組版設定をしたテキストフレームに住所を表示する方法であったので、文字ツメをする必要がないテキストに対しても効果がかかり、見栄えが崩れてしまう。文字ツメの効果を連続する数値列のに反映させたい。住所表示に二行要する場合に、二行目が特定の文字数を超える時にテキストサイズを小さくしたい。characters.本Tipsを使用すると、以下の効果を反映できます。住所に含まれる複数桁の数列のみに対して、桁数に応じて異なる文字ツメの効果をかける。住所が二行目の表示を要する値を持たない場合は、テキストサイズを変更して、必ず一行で表示する。住所が二行目の表示を要する値を持つ場合には、住所を二行で表示させる。住所が二行目の表示を要する値を持ち、さらに特定の文字数を超える場合にテキストサイズを変更して表示する。setting.縦組みのテキストフレームに関する基本的設定方法は過去の投稿を参照してください。script.ページのレイアウト範囲外にスクリプトで使用するためのバリアブルを作成します。scripting.宛名用に縦組みのテキストフレームを作成します。element.全てのバリアブル項目をDSM-Bridgeに登録する。below.バリアブル項目への割り当て:以下の様に割り当てを行います。code.VBスクリプトの編集:それではVBスクリプトを編集します。今回は以下のようにしました。set.バリアブルのプロパティ設定を行う:最後にして、一番重要なTipsはバリアブルに対する「値を受け取る順序設定」です。この設定が正しくない、正しい順序で設定されていない場合は、予期せぬ表示結果を得る可能性があります。確実に順序立てて値を受け取れるように各バリアブルに対してプロパティを設定していきます。sample.各バリアブルの値を受け取る順序設定は以下の通りです。以上で、全5回に渡る縦組みに関するTips紹介を終わります。日本、アジアのユーザーのお役に立てば幸いです。scripting.[JP]これは宛名の縦組みに関するTipsシリーズのパート3です。InDesign使用を前提としています。宛名の縦組みに関する基本方法は過去の投稿「宛名の縦書き」を参照して下さい。request.このTipsは以下の様な要望をお持ちのユーザー向けです。not.)本Tipsを使用すると、以下の様に複数桁数を含む住所を処理する際に別のテキストフレームにて表示する事が可能です。(それぞれのTipsによる表示結果の差異を明示する為に全てのテキストフレームに住所を表示させていますが、実際にこのTipsを使用した場合には、住所が3桁以上の連続する数値を含む場合にのみ、ターゲットのテキストフレームに住所を表示させる事が可能です。レイヤー・バリアブルと併せて使用することで、表示するテキストフレームを変更出来ます。characters.ご覧のとおり、一番右の今回のTipsを適用したテキストフレームでは、文字に「文字ツメ」の効果がかかっており、連続する3桁以上の数を表示するにあたっても、別の数値と近い文字幅にて表示しています。setting.縦組みのテキストフレームに関する基本的設定方法は過去の投稿を参照してください。script.ページのレイアウト範囲外にスクリプトで使用するためのバリアブルを作成します。scripting.宛名用に縦組みのテキストフレームを作成します。Case2.全てのテキストフレームをDSMブリッジへ登録します。(本Tipsは複数の項目にて住所情報を保存しているDBの使用を想定しています。始めにある程度住所情報を結合して表示するための代替用バリアブル項目([[Address]])を作成しています。このバリアブルへの割り当て設置段階で、ハイフン「-」を全角マイナス「ー」に置き換える設定を行います。InDesign)バリアブル[[nogtips_Multi_Digit_Address]]の設定:このテキストフレームは「文字ツメ」効果を設定し、テキストが詰まって表示されるように設定します。これにより、複数桁数の数値を縦中横で表示する際でも、ある程度全体の文字幅を縮めて表示する事が可能になります。code.VBスクリプトの編集:それではVBスクリプトを編集します。今回は以下のようにしました。*\d{3,}*'今回は明示的に表示するフレームを変更する方法を取るので以下条件に合わない場合Falseとしていますが、適宜変更してください。value.正規表現を使って住所に3桁以上の数値が含まれている場合にのみ、バリアブル[[nogtips_Multi_Digit_Address]]に対して住所を割り当てます。それ以外の場合は空の値を割り当てます。condition.バリアブル・レイヤー:住所に複数桁数の数値が含まれている場合にのみ表示するテキストフレームを変更します。今回はバリアブル・レイヤーを使用します。set.バリアブルのプロパティ設定を行う:最後にして、一番重要なTipsはバリアブルに対する「値を受け取る順序設定」です。この設定が正しくない、正しい順序で設定されていない場合は、予期せぬ表示結果を得る可能性があります。確実に順序立てて値を受け取れるように各バリアブルに対してプロパティを設定していきます。sample.各バリアブルの値を受け取る順序設定は以下の通りです。scripting.[JP]これは宛名の縦組みに関するTipsシリーズのパート2です。InDesign使用を前提としています。宛名の縦組みに関する基本方法は過去の投稿「宛名の縦書き」を参照して下さい。request.このTipsは以下の様な要望をお持ちのユーザー向けです。line)改行を要する場合に、二行目のテキストサイズを変更したい。二行目のテキスト数が少ない場合はサイズ変更せず、ある程度のテキスト数を超えた場合にのみサイズを小さくして表示したい。it.本Tipsを使用すると、以下の様な改行を含む宛名表記に際して、一行目と二行目のテキストサイズを自動的に変更する事が可能になります。length.ご覧のとおり、本Tipsを使用したケースでは改行を挿入するだけでなく、改行後に続く行に表示されるテキストのサイズを変更する事が可能です。このテキストサイズの変更は二行目のテキストの文字数に応じて自動的に変更されるので、少ないテキスト数の場合はサイズ変更せずに二行目を表示します。setting.縦組みのテキストフレームに関する基本的設定方法は過去の投稿を参照してください。script.ページのレイアウト範囲外にスクリプトで使用するためのバリアブルを作成します。scripting.宛名用に縦組みのテキストフレームを作成します。Case2.全てのテキストフレームをDSMブリッジへ登録します。(本Tipsは複数の項目にて住所情報を保存しているDBの使用を想定しています。始めにある程度住所情報を結合して表示するための代替用バリアブル項目([[Address]])を作成しています。このバリアブルへの割り当て設置段階で、ハイフン「-」を全角マイナス「ー」に置き換える設定を行います。:割り当てウィンドウを開き、二行目に使用するDB項目の割り当て直前に割り当てフィールドを追加します。次に、挿入したフィールドにて「フォント」タブをクリックし、サイズの指定を行います。ここではサイズオプションを有効化し、サイズに10ptを指定しました。ここでは有効にしていませんが、チェックボックスにチェックを入れる事で、サイズ同様にフォントの種類、色の変更も可能です。code.VBスクリプトの編集:それではVBスクリプトを編集します。前回紹介したVerticalScriptを改変し、以下の様なスクリプトを記述します。line.このスクリプトにより、住所としての文字列全体が19文字を超える場合は、次に二行目のテキストの文字数をカウントし、二行目が10文字以上の場合にはテキストサイズを10ptに変更させます。それ以外の場合はサイズ変更なしの二行目表示となり、そもそも一行で表示可能なテキスト数の場合は、一行で表示させます。set.バリアブルのプロパティ設定を行う:最後にして、一番重要なTipsはバリアブルに対する「値を受け取る順序設定」です。この設定が正しくない、正しい順序で設定されていない場合は、予期せぬ表示結果を得る可能性があります。確実に順序立てて値を受け取れるように各バリアブルに対してプロパティを設定していきます。sample.各バリアブルの値を受け取る順序設定は以下の通りです。scripting.[JP]これは宛名の縦組みに関するTipsシリーズのパート1です。InDesign使用を前提としています。宛名の縦組みに関する基本方法は過去の投稿「宛名の縦書き」を参照して下さい。character同一フレームに対して割り当てるテキストを、改行を含んだものと含んでいないもので使い分ける。request.このTipsは以下の様な要望をお持ちのユーザー向けです。address.ダイレクトスマイルはテキストフレームに対して、割り当てた値をDBから自動的に流し込みます。この様な場合、縦組みのテキストフレームだと、特に見栄えやレイアウトが悪くなってしまう事があります。このレイアウト、組版を調整する事が可能です。line.アドビ・インデザイン出力オプションを使用すると、「縮小」または「縮小・拡大」といったテキストフレームに対するオプション設定が使用出来ません。この様な場合でも確実に一行でテキストを表示させるというレイアウトが実現出来ます。text.このTipsでは、バリアブルテキストの文字数をカウントし、特定の数値より上の場合は、事前に用意した別のバリアブル・テキスト(改行設定つき)を使い、特定の数値以下の場合は改行設定のないバリアブル・テキストを割り当てる方法をご紹介します。これによって、一行で全体を表示出来るものは、一行で表示させ、改行を要するテキスト長の場合は、任意の場所で改行させる事を可能にます。address.上記のプレビューでご覧頂ける通り、左側のフレームは改行設定をせず、単にテキストを縦組みのフレームへ流し込んでいます。右側のフレームは改行を含む設定をしており、改行を要するほどテキストが長い場合に、自動的に任意の位置で改行コードを挿入し、より見栄えの良い表示結果となっています。address.始めに:このTipsでは以下の様なデータベースの使用を想定しています。最低でも顧客住所は複数の項目にて構成されている様なDBが本Tipsの使用には必要不可欠です。“Case1”全てのテキストフレームをDSMブリッジへ登録します。(本Tipsでは上述の通り、複数のDB項目にわたって住所情報を保存しています。始めにある程度住所情報を結合して表示するための代替用バリアブル項目([[Address]])を作成しました。このバリアブルへの割り当て設置段階で、ハイフン「-」を全角マイナス「ー」に置き換える設定を行います)その上で、残りの住所と結合させたテキストをバリアブルテキスト[[Case1]]へ割り当てます。改行コードの挿入に際しては、VBスクリプトを使用します。VBスクリプトでの改行コードは「vbCrLf」です。code.VBスクリプトの編集:それではVBスクリプトを編集していきます。今回はバリアブル[[VerticalScript]]に対して、以下の様なVBスクリプトを設定しました。Case1.このVBスクリプトではバリアブル[[Case1]]に対して割り当てられるテキストの文字数をカウントし、文字数が24字を超える場合は、バリアブル[[Case2]]を使用し、それ以外の場合は[[Case1]]を使用するといった設定になっています。set.バリアブルのプロパティ設定を行う:最後にして、一番重要なTipsはバリアブルに対する「値を受け取る順序設定」です。この設定が正しくない、正しい順序で設定されていない場合は、予期せぬ表示結果を得る可能性があります。確実に順序立てて値を受け取れるように各バリアブルに対してプロパティを設定していきます。sample.本Tipsにおける各バリアブルの値を受け取る順序設定は以下の通りです。Halloween!今年も10月となって、残す所あとわずかなんて台詞が聞こえてきますね。そこで、年賀状シーズンへ向けたTipsを1つご紹介します。MicrosoftのWordをはじめ、宛名印刷用のソフトウェアは非常に沢山あります。DirectSmileもバリアブル印刷用のソフトウェアですので、当然宛名印字も得意機能の1つです。基本的には住所などの宛名表記をする際は、住所番号には漢数字を使用することが推奨・礼儀であるとされています。データベース上で漢数字への変更をされた場合には、縦組みテキストフレームへのバリアブル設定方法のみお読みください。英数字を含む住所を縦組みにて表記されたいという場合は、このTipsに沿って設定を行なって下さい。InDesign(日本語版)の機能を使用します。新規のドキュメントを作成して保存します。続けて任意のデータベースファイルを読み込ませます。ドキュメントにテキストフレームを作成します。この時、作成するテキストフレームを従来使用していた「横組み」のテキストフレームから、「縦組み」に変更します。秒ほどクリックし続けるとサブメニューが表示されます。表示されたメニューの中から「縦組み文字ツール」をクリックすると、テキストフレームが「縦組み」へと変更されます。ドキュメントにテキストフレームを作成します。作成したテキストフレームにバリアブルタグを記入し、このテキストフレームをブリッジにバリアブル項目として登録します。出力」と「平体効果をかけられたフレームのプロパティを保存する」に必ずチェックを入れて登録します。縦組みでのテキスト表示が出来ません。プレビューを確認してみましょう。プレビューご覧の様に、バリアブルテキストが縦組みで表示されています。度右方向に回転して表示されています。これはInDesignの仕様が原因で、初期設定のままでは半角英数字が「縦組み」テキストフレーム内で縦ではなく、横に表示されてしまいます。次にこの現象を回避するための方法をご紹介します。仕様では、縦組みフレーム内に記述された半角英数字は横に寝た状態で表示されます。機能から「縦中横」という機能を使用します。この機能は設定したテキスト箇所全てが横になって表示されてしまうので、バリアブルテキストとして流し込まれるテキストの半角英数字のみに作用させることが出来ません。自動縦中横設定は、「段落」メニューを表示させ、メニュー右上のオプション表示アイコンをクリックすると表示されるサブメニューから選択できます。ウィンドウが表示されたら、「組数字」の桁数を設定します。これは、連続する文字列として扱う桁数の設定です。7890」という住所が入力された場合に「3桁まで」と指定していたとすると、「1」と「23」と「456」は連続する文字列として認識されるので、それぞれ縦方向に表示されます。桁あるので、この制限をオーバーしていると認識され、横報告に「7890」と表示されます。)図9.自動縦中横設定ウィンドウそれではプレビューを確認してみましょう。設定が反映されましたが、表示結果は変わっていません。桁という制限を設けたことが主な原因です。いうのは、この文字列に含まれる「-」(ハイフン)も含めてカウントされているので3桁をオーバーしていると認識されているためです。バリアブル割り当て設定で、ハイフンを別の文字列に置き換える方法です。バリアブル割り当て設定を変更する方法をご紹介します。現在の割り当てを編集するためにフィールドの割り当てを表示します。図11.バリアブル割り当て設定を変更する図12.フィールドウィンドウここでは、データベースのレコード内の「-」の前後にスペースキーを入力し、半角英数をそれぞれ独立した文字列として認識させるように変更します。タブメニューから「公式」を選択し編集を行います。このとき、フォーマットは「テキスト」に指定します。ウィンドウ下の「機能」フォルダ以下のツリー表示メニューから「テキスト内の文字を置き換える」を選択します。“ReplaceWith”)という公式が表示されます。これは<Field>にデータベースの項目名を入れると、そこから“Find”で指定した文字を検索し、”ReplaceWith”に入力した文字列に置き換えるという機能です。それでは以下のように設定します。<Field>にはデータベースから住所が入った項目<address>を選択。ボタンをクリックして割り当てを終了します。それでは再度プレビューを確認します。プレビューここでもまだ、未完成です。住所のラストにある「6C」という文字列だけが横に表示されています。これは「C」という文字が半角の英字であるため、「6C」という文字列だけが区別されて認識されているためです。ウィンドウを開き、設定を変更します。原因は以下の設定の中で「欧文も含める」にチェックが入っていなかった為です。「欧文も含める」にチェックを入れます。プレビューを再確認します。今度は「6C」も問題なく表示できています。ここでも更なる問題点が発生しました。ハイフンも横から縦に変更されています。これはハイフンも欧文の文字のひとつなので、先ほどの設定の影響が現れているためです。この問題は回避できないので、ハイフンを全角のものと置き換えます。」を「―」(全ダッシュ)に変更します。プレビューを確認します。プレビューすべての設定が終了し、縦書きの宛名表示ができました。出力をしたあとの他のレコードの結果を確認します。桁までの文字列はひとかたまりで表示されます。この方法を使用すれば宛名面での縦組みテキストフレームの使用が可能となります。本来なら3年以上前に思いついた事なので、もっと早く皆様にお届け出来ればよかったのですが、色々あって今年まで引っ張ってしまいました。日本のお客様、長らくお待たせしました:-)皆さんのお役に立てば幸いです。2012のニュース等はチェックされているでしょうか?色々な新しい機械、技術がリリースされて、毎日新しい驚きが続きますね。楽しい限りです!今日のトピックは、クロスメディアです!ダイレクトスマイルはクロスメディアの最新バージョン、Ver5を発表しました。(プレスリリースはこちら)そこで、今日から暫くはその最新機能をブログで先行紹介していきたいと思います。drupaに行かれた方も居るかもしれませんが、日本語の説明にて改めて見て頂ければ幸いです。今日は結構長くなるかも。DSMI(ダイレクトスマイル・インテグレーション・サーバー)のインストールにおけるテクニカルナレッジをご紹介します。初めにダイレクトスマイル・インテグレーション・サーバーは、以下のシステムが必須です。システム要件・環境が満たされていない場合には、ダイレクトスマイルのサポートを受けることは出来ません。ソフトウェアのインストールより前に条件を満たす環境をご用意ください。注意!!インストール作業は必ずパスワード保護がされた管理者アカウントにて行います。管理者アカウントにおいても、パスワード保護のされていないアカウントでは問題が発生します。(例:Setのアップロードができない、不具合が起きるなど)DSMIからは、事前に必ず固定IPアドレスの取得が必須です。サーバー証明書の取得は絶対に欠かせない必須事項となります。–インストール準備インストールは以下のソフトウェアを使用して行います。未購入の場合、Expressという無料版を使用することが可能。Updateを実行しておきます。セキュリティの為、適用可能な全てのUpdateをインストールします。Serverと接続する場合には、このステップは行う必要はありません。Editionをインストールした場合、初期設定ままインストールを行うと、名前付きインスタンスが適用され、サーバーインスタンス名は以下の様になります。Serverをインストールする際には、必ず初期設定のままインストールをしてください。Serverサービスで同じアカウントを使用するというオプションを利用します。SERVICE」を使用します続いて「スタートアップの種類」の設定を両方とも「自動」に変更します。これが手動などになっていると、サービスを起ち上げなければいけなくなります。「データベースエンジンの構成」設定においては、認証モードに「Windows認証モード」を設定します。Server認証を使用したい場合には「混合モード」を採用します。Serverを確認します。4をインストールしておきます。Updateからインストールすることが可能です。このUpdateは自動ではなく、手動の選択式のものになります。Updateから選択してインストールしてください。Control)問題により、所定のフォルダにデータがすべて作成されていない場合があります。この場合一度アンインストール後、以下のフォルダからデータコピーし、正しいディレクトリ内にデータをペーストし、再インストールを管理者権限の元で行います。Studioと表記されていることがありますが、特に問題ありません。Server)インストール実行前に以下のフォルダを手動で作成します。DSMUsers(C:\DSMUsers)DSMuploads(C:\DSMTemp\DSMUploads)インストール中に複数の設定があるので初期設定で問題なければその通りに行います。Serverの設定ここでは、4つの入力欄と、1つのチェックボックスが表示されます。Serverのインスタンス名を入力します。Serverに接続する場合には以下の例の様に入力します。name:ダイレクトスマイル用のデータベース名を入力します。ここは初期設定から変更はせず、かならず「dsmodb」とします。Password:ここにユーザー名、パスワードを入力するのは、SQL認証を採用している場合に限ります。Serverをメインのデータベースとして使用するのかという設定を行います。これは2つのDSMIを連携させる場合に必要なマスター、スレーブの設定となります。この設定をしないと複数のDSMI間におけるデータベースの同期が出来ません。SilverlightクライアントとWCFサービス(Webサービス)との通信をhttps通信にて行います。https通信を可能にするためにはDSMIサーバーはサーバー証明書をインストールしてある必要があります。サーバー証明書自体はDSMIのインストール作業中に作成させる事が可能ではありますが、これはあくまでもテストインストールのためだけであり、実装にあたっては必ず正規のプロバイダーが発行した有効なサーバー証明書を用意しておく必要があります。注意:自己署名証明書を採用した場合、ダイレクトスマイルのサポート対象外システムとなります。自己署名を採用している場合は、例えそれがイントラネットで使用されているシステムであったとしてもダイレクトスマイルは一切のサポートを行いません。正規のサーバー証明書をインストール、ウェブサイトにバインドして下さい。:用意したサーバー証明書を登録(推奨)テストインストールの際に、サーバー証明書の作成を行った場合にはパスワードの作成を求められます。これは証明書におけるプライベートキー、パブリックキーの作成プロセスです。テストインストール段階においては、このパスワードは設定なしで進めて問題ありません。GeneratorがVer4.2以下の場合に対する下位互換性を保持する目的の設定です。GeneratorのVer4.2以降ではDSMIへテンプレートをアップロードするにあたり、使用するプロトコルをFTPからHTTPへ変更しています。よって、新規インストールなどに関しては以下の設定は省略可能です。Serviceアカウントに対してすべてフルコントロールを与える。※ツリー階層になる場合は、上階層のフォルダに設定すれば下階層のフォルダに自動的にセキュリティ設定が継承される。4.1以降はファイルのアップロードにおいてHTTPを通信プロトコルとして使用し、FTPは使用しません。古いバージョンのGeneratorに対しての下位互換性を保持する必要がある場合はDSMIサーバーにおいて、FTPサーバの設定を行います。アクセス許可:読み取り、書き込みの両方にチェック注意:FTPサイトの設定では、セキュリティ上の理由から、匿名ユーザーのアクセスを全て許可することが許されない場合があります。その場合はサーバーにアカウントを作成し、そのアカウントからのアクセスを許可させるように設定を変更します。4を使用している必要があります。仮想ディレクトリの追加DSMimagsという名前の仮想ディレクトリを作成します。これはDSMOで作成した画像をURLコールによって返す場合に画像へのパスとなる仮想ディレクトリになります。実際に指定するフォルダはdsmtempを指定します。–7.設定のチェックインストール・詳細設定が終了したら「DSMIPreCheck.exe」を使い未設定や間違いがないかをチェックします。コマンドラインベースの実行ファイルが、特定フォルダが作成されているかどうか、またそのセキュリティ設定が正しいかどうかを自動的にチェックしてくれます。GeneratorがVer4.2.0.675インストール環境下ではエラーを返します。9.02を使用します。Scriptの指定バージョンを変更します。–8.DSMOの動作チェックインストール作業が終了したら、DSMOにログインして正常に動作するかのチェックを行います。チェックする項目の簡易版を以下に記載しますが、必ずFinalcheckを行なって下さい。URLに関しても初期設定では”http://localhost/dsmimages”となっているので、これを登録済みのドメイン名に変更します注意:この設定はウェブサイトのどのディレクトリに対して仮想ディレクトリを作成したかによります。ウェブサイトのサブディレクトリとして作成した場合が初期設定です。DSMOディレクトリ下に作成した場合には、”dsmo/dsmimages”と変更しますItem:アイテム次にアイテムからSetのアップロードとDocumentのアップロードを確認します。Editorから直接アップロードすることは出来ません。DSMOをインターネットブラウザで開き、ItemページからSet、Documentをアップロードしてください。※2.Documentの作成には必ず2台以上のプロダクションサーバーが稼働している必要があります。User:ユーザーUserメニューでは実際に新規アカウントの作成が出来るかどうかをチェックします。削除も同様に可能かチェックします。Workflow:ワークフロー以下の流れでWorkflowの最終チェックを行います。フロントエンドからWorkflowページを開きます。ブラウザにURLを直接入力し、Workflowサービスにアクセスしてみます。Workflowサービスが確立できていません。httpsアクセスができないという旨のエラーです。その場合には、不要なサーバー証明書を削除することで解決できます。Backendを再起動させます。必要に応じてコマンドプロンプトからIISの再起動を行なってください。使用に同意したとみなされます。