カテゴリ:イラストレーター > スクリプト

このエントリーをはてなブックマークに追加 編集





◆ #いきなりHTML 2(レスポンシブ対応)
なんと!スライスもコーディングも全自動!イラレからHTML+CSSへ一発出力します

◆ デザイン業界にもRPA!オリジナルスクリプトで時短革命
こんなにラクしてイイんです!お見積もり無料!お気軽にご相談ください

◆ 10倍ラクするIllustrator仕事術〜ベテランほど知らずに損してる効率化の新常識
イラレ使いにこれ1冊!ホントに10倍ラクできます





こちらで公開しているスクリプトはいずれもmacOSで検証しています


 2020-05-04 17.09.24


■ forループ文の書き方を決めておくとラクです^ ^


 こんにちは!@gorolib です。

 唐突ですが、配列名を入れるとforループ文を作成するスクリプトを作成しましたので、ご利用ください。無料です(^_^;)

 配列名とその先の関数を、私は次のようにしています。

 例えば、sel という配列を使うforループの場合は、

 for(s=0; s<sel.length; s++) selfn(sel[s])

 としています。配列の先頭文字を添字として、関数名は配列名の後ろに“fn”をつけて、あとは関数に任せる、ということです。

 2020-05-04 17.09.19

 2020-05-04 17.09.24


 ar1という(アレイというのはよく使いますよね?)配列ならば、

 for(a=0; a<ar1.length; a++) ar1fn(ar1[a])

 ということです。

 2020-05-04 17.15.50


 こうやって、forループ文の書き方を決めておくとラクなのです。

■ var はどうしたの??


 「var」はどうした!「var」は!

 と言われるのですが、分業もしていないし、コード自体をシンプルにしたいので、すべてグローバル変数でやってます。

 「var」は、ファンクションを分業制作するときに、変数がバッティングしないようにするためですよね?

 ひとりで作っていて分業もせず、グローバル変数だけで回せて、コードも200〜300ステップならば、そもそも「var」自体がノイジーじゃないすか?と思うのです。

(すみません、異論反論を受け付ける知識はありませんので、受け付けません(笑)

 あと、Illustrator から起動する、という方法しか知りませんので、ExtendScriptとして作成しています。

 お役に立てれば幸いです!


【スクリプトファイル名】
G798_makeForLoop.jsx


【使い方】
・Adobe製品を立ち上げてください。
・このスクリプトを起動します。
・ダイアログに配列名を入力します。
・forループ文がアラートされます。
・コピーして使ってください。

■ スクリプトのダウンロードはこちらから







◆ スクリプトのカスタマイズご相談に乗ります!(お見積もり無料)
お問い合わせはこちらから。



このサイトで配布しているイラストレーターのアクションやスクリプトファイルを無断で転載・配布・販売することを固く禁じます。ご紹介いただける際は必ずURLリンクにてお願いいたします。 このサイトで配布しているイラストレーターのアクションやスクリプトファイルの使用で、ファイルの破損やアプリケーションに不具合が発生した場合でも、責任は負いかねますのでご承知おきくださいませ。自己責任での使用をお願いいたします。

© 2020 GOROLIB DESIGN
Released under the MIT license.



このエントリーをはてなブックマークに追加 編集





◆ #いきなりHTML 2(レスポンシブ対応)
なんと!スライスもコーディングも全自動!イラレからHTML+CSSへ一発出力します

◆ デザイン業界にもRPA!オリジナルスクリプトで時短革命
こんなにラクしてイイんです!お見積もり無料!お気軽にご相談ください

◆ 10倍ラクするIllustrator仕事術〜ベテランほど知らずに損してる効率化の新常識
イラレ使いにこれ1冊!ホントに10倍ラクできます





こちらで公開しているスクリプトはいずれもmacOSで検証しています


スクリーンショット 2020-04-15 17.51.29


■ スレッドテキストは全くの素人でした(^_^;)


 こんにちは!@gorolib です。

 最近、スレッドテキストにまつわるスクリプト制作の引き合いがありました。

 スレッドテキストとは「繋がったテキストボックス」のことです。Illustrator では「繋がったエリア内文字」を指します。

 最初のエリア内文字にテキストを流し込むと、溢れた文字が次のエリア内文字に収まっていく仕組みです。

参考:Illustrato CC 使い方講座 第4回 「スレッドテキスト」 | 名古屋で鮮やかなデザイン制作とブログ記事・ライター代行なら-ワーカーズデザイン-

 私、Illustrator のスレッドテキストはほとんど使いません。使う機会がないのです。InDesign では、段組の本文を流し込むときに使っていました。ただし、InDesign ではテキストフレームの連結と呼ばれます。

参考:Adobe InDesign におけるフレーム間でのテキストの連結

 そのため、スレッドテキストを扱ったスクリプトは作成したことがありません。

 しかし、この度、スレッドテキストを駆使したカレンダーにまつわるスクリプトの引き合いがあったので、研究をした次第です。

 テキストまわりの事情は、私も深く理解していませんが、わかったことだけを都度整理していきます。

 ExtendScript を駆使されている方のお役に立てれば幸いです!


■ どのエリア内文字からもアクセスできる


 スレッドテキストは、複数のエリア内文字から構成されています。

 このとき、どのエリア内文字を選択しても、スレッドテキスト全体にアクセスできることがわかりました。

 例えば、以下の例では「う」だけ選択したときでも、「あいうえお」というコンテンツ全体にアクセスできます(以下コード実行)。

sel = activeDocument.selection
alert(sel[0].story.textRange.contents)


スクリーンショット 2020-04-15 17.41.08

スクリーンショット 2020-04-15 17.41.01

 なお、このスレッドテキストには、
 という、1文字づつ改行されたコンテンツを仕込んでいます。


■ 段落としてアクセスできる


 また、これらは段落(paragraphs)としてもアクセスできるので、それぞれの属性が設定できます。

 例えば「う」を選択している状態でも、「い」の文字色やフォントを変更することは可能です(以下コード実行。赤色でカクミンにする)。


sel = activeDocument.selection
sel[0].story.textRange.contents

para = sel[0].story.textRange.paragraphs

for(p=0; p<para.length; p++){
px = para[p]
if(p==1){
px.fillColor = cmykfn(0,100,100,0)
px.characterAttributes.textFont = app.textFonts.getByName('KakuminPro-Heavy')
}
}

function cmykfn(c,m,y,k){
cz = new CMYKColor()
cz.cyan = c
cz.magenta = m
cz.yellow = y
cz.black = k
return cz
}


スクリーンショット 2020-04-15 17.51.29


 このあたり、Adobeが出しているマニュアルでも載ってたり、載ってなかったりするので(それはすべてに関してそうですが)、注意深くまとめていく必要があります。わかったことがあれば、こちらに追記していきます。

 お役に立てれば幸いです!

(追記20200415)
じゃあ「KakuminPro-Heavy」はどうやったらわかるの?という質問がありました。
選択オブジェクトを sel[0] とすると、
alert(sel[0].textRange.characterAttributes.textFont.name)
を流すと得られます。







◆ スクリプトのカスタマイズご相談に乗ります!(お見積もり無料)
お問い合わせはこちらから。



このサイトで配布しているイラストレーターのアクションやスクリプトファイルを無断で転載・配布・販売することを固く禁じます。ご紹介いただける際は必ずURLリンクにてお願いいたします。 このサイトで配布しているイラストレーターのアクションやスクリプトファイルの使用で、ファイルの破損やアプリケーションに不具合が発生した場合でも、責任は負いかねますのでご承知おきくださいませ。自己責任での使用をお願いいたします。

© 2020 GOROLIB DESIGN
Released under the MIT license.



このエントリーをはてなブックマークに追加 編集





◆ #いきなりHTML 2(レスポンシブ対応)
なんと!スライスもコーディングも全自動!イラレからHTML+CSSへ一発出力します

◆ デザイン業界にもRPA!オリジナルスクリプトで時短革命
こんなにラクしてイイんです!お見積もり無料!お気軽にご相談ください

◆ 10倍ラクするIllustrator仕事術〜ベテランほど知らずに損してる効率化の新常識
イラレ使いにこれ1冊!ホントに10倍ラクできます





こちらで公開しているスクリプトはいずれもmacOSで検証しています




※ このスクリプトは、macOS High Sierra + Illustrator CC2019にて検証済みです。

■ 恥ずかしながら全然わかりませんが…


 おつかれさまです。@gorolibです。

 恥ずかしながら、xmlのことは全然わかりません\(^o^)/

 構造を記述するマークアップ言語であることは知っています。htmlがその仲間であることも知っています。

 しかし、その成り立ちというか、全世界的な共通化の流れは全くわかりません。

 情報の標準化を推し進めたもの、という想像はつきますが、得意分野ではないのです。きっと私の頭では理解もできないでしょう。もうあきらめています(^_^;)

 しかし、「このタグの中の情報を抽出する」という需要はありますので、調べた内容をまとめておきます。

■ xmlファイルのtextContentタグのpタグの中を抽出する


 今回公開するスクリプトは、xmlファイルのtextContentタグの、pタグの中を抽出するものです。

 descendants("textContent")

 これは、ネストや構造に関係なく、textContentタグの中身を抽出するものです。それをループさせます。

 textContentタグの中に、pタグがある場合は、そのタグの中身を抽出します。

 pタグの中身の取り出し方はよくわからないので、いったんダミーのテキストに入れ込んでから、splitで抜き出しています。

 txt.contents.split("<p>")[1].split("</p>")[0]

 私には、このやり方しかわかりませんでした(^_^;)
 
 あとは、コードを見て、よしなに改造してください!


■ 今回のスクリプト情報


【スクリプトファイル名】
G751_xmlShow.jsx


【使い方】
・Illustratorファイルをオープンします
・このスクリプトを起動します
・ダイアログでxmlファイルを選択し実行します

【仕様】
・xmlファイルのtextContentタグのpタグの中を抽出し、アラートで表示します

お役に立てれば幸いです!


■ スクリプトのダウンロードはこちらから






◆ スクリプトのカスタマイズご相談に乗ります!(お見積もり無料)
お問い合わせはこちらから。



このサイトで配布しているイラストレーターのアクションやスクリプトファイルを無断で転載・配布・販売することを固く禁じます。ご紹介いただける際は必ずURLリンクにてお願いいたします。 このサイトで配布しているイラストレーターのアクションやスクリプトファイルの使用で、ファイルの破損やアプリケーションに不具合が発生した場合でも、責任は負いかねますのでご承知おきくださいませ。自己責任での使用をお願いいたします。

© 2020 GOROLIB DESIGN
Released under the MIT license.



↑このページのトップヘ