クリエイター手抜きプロジェクト[207]Photoshop CS/CS2/CS3/CS4編 選択したテキストの文章が長い場合に省略表示する-2/古籏一浩

投稿:  著者:  読了時間:5分(本文:約2,000文字)


今回も前回のスクリプトと同じネタで、長い文章を省略するものです。基本的にはIllustratorと同じですが、Photoshopとテキストの扱いが異なるため注意しなければならない点があります。

まず、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/ >

photo
組版時間を半減する! InDesign自動処理実例集
(株)シータス
技術評論社 2008-11-25
おすすめ平均 star
starプログラミング経験のない方も気軽に挑戦してほしいです

1ランク上の技を身につけるInDesignの強化書 (MYCOMムック +DESIGNING Professional Bible) InDesignレイアウト手帖 Adobe InDesign「文字組み」徹底攻略ガイド これからはじめる InDesignの本 〈InDesignI CS3対応〉 (自分で選べるパソコン到達点) InCopyとInDesignによるワークフロー革命 CS4 & CS3 対応 for Macintosh & Windows



photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

[改訂版] PHP ポケットリファレンス (Pocket reference) 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE) 改訂新版 SQLポケットリファレンス (Pocket reference) [改訂版] VBScriptポケットリファレンス (POCKET REFERENCE) JavaScriptプログラミング入門 第2版

by G-Tools , 2009/06/01