今回も前回のスクリプトと同じネタで、長い文章を省略するものです。基本的にはIllustratorと同じですが、Photoshopとテキストの扱いが異なるため注意しなければならない点があります。
まず、Photoshop CSの場合は、同時に複数のテキストレイヤーを選択することができません。スクリプトでは選択されたテキストレイヤー上の文字だけを処理対象とします。Photoshop CS2/CS3では複数のテキストレイヤーを選択することができますが、以下のスクリプトで処理できるのは、選択されたテキストレイヤーのうちひとつだけです。この選択されたテキストレイヤーのうち、レイヤーパレットで一番上にあるものが対象になります。また、レイヤーがロックされている場合は処理されずエラーになります。
まず、Photoshop CSの場合は、同時に複数のテキストレイヤーを選択することができません。スクリプトでは選択されたテキストレイヤー上の文字だけを処理対象とします。Photoshop CS2/CS3では複数のテキストレイヤーを選択することができますが、以下のスクリプトで処理できるのは、選択されたテキストレイヤーのうちひとつだけです。この選択されたテキストレイヤーのうち、レイヤーパレットで一番上にあるものが対象になります。また、レイヤーがロックされている場合は処理されずエラーになります。
textLen = 10;
postfix = "...";
selLay = activeDocument.activeLayer
if(selLay.kind == LayerKind.TEXT)
{
temp = selLay.textItem.contents;
txt = temp.substr(0, textLen);
if (temp.length > textLen) txt = txt + postfix;
selLay.textItem.contents = txt;
}
設定は前回と同じですが、念のため書いておきます。
まず、テキストレイヤー内にある文字数が何文字以上なら省略表記するかは
textLen = 10;
の10の値を変更してください。これは、10文字より文字数が多い場合に省略の対象になることを示しています。省略表記した際に、文字の末尾に付加する文字は
postfix = "...";
で指定します。
先頭の文字と末尾の文字を残して中間を省略することもあります。
この場合は、以下のスクリプトを使ってください。
textLen = 12;
preLen = 5;
postLen = 4;
centerfix = "...";
selLay = activeDocument.activeLayer
if(selLay.kind == LayerKind.TEXT)
{
temp = selLay.textItem.contents;
txt = temp;
if (temp.length > textLen)
{
preText = temp.substr(0, preLen);
postText = temp.substring(temp.length - postLen, temp.length);
txt = preText + centerfix + postText;
}
selLay.textItem.contents = txt;
}
省略した場合に先頭の文字を何文字にするかは
preLen = 5;
の値を変更してください。同様に末尾を何文字表示するかは
postLen = 4;
で指定できます。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
美少女麻雀漫画(?)の「咲 -Saki-」の4〜5巻に、地元の塩尻市のシーンがたくさんあるということで、なるべく漫画のコマ割りと同じアングル/構図で撮影してみました。といっても、EOS 5D Mark IIは修理中なのでハイビジョンカメラHDR-FX1で無理矢理撮影。興味ある人は漫画本4、5巻と以下のシーンを見比べてみてください。
「咲 -Saki-」に出てくる塩尻市のシーン
< http://www.openspc2.org/HDTV/footage/HD/60i/manga/saki/
>
Googleでライブラリの使い方を検索したら、120ページ以上が誰かが書いたブログの記事の複製……。複製の複製ばかり出てきて実際にコードを書いてあったのは、ライブラリの作者のページだけ……
iモード2.0になってJavaScriptが動くようになりました。ただ、今回のような雰囲気みたいなものは、過去に何度か感じたことがあります。1986年あたりで8ビット機から16ビット機へ変わった時。8ビットマシンでも頑張ればできる、と。1996年あたりでMS-DOSからWindows 95へ変わった時。PC-9801でもWindows95が動きますよ、と。
毎度おなじみの連載もよろしく。
・29分でできる! あのサイトの“技”を盗め 25回
< http://ascii.jp/elem/000/000/421/421381/
>
- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
- JavaScriptを使ったプロジェクトのお供に是非
- JavaScript仮免者以上の方へ
- バランスの良いバイブル
- 中級者向けです。
by G-Tools , 2009/06/01