[ 掲示板に戻る ]

過去ログ閲覧モード

javascriptでテキストフレームの重なり取得は? / amiza_ret
WindowsXP InDesignCS4 or CS5の環境にて。

javascriptで、テキストフレームの重なりを取得する事は可能でしょうか?
重なりの順番などは必要なく、重なっているかどうかのみ取得出来ればいいのです。
テキストフレームには写真が貼ってあります。

基本的に「同一レイヤー」で「グループ化」はなしの状態です。

コツコツと1ページづつ、一つ一つのテキストフレームの4つの座標を調べて行く方法しかないのでしょうか?

もし、ヒントでも分かる方がいれば、よろしくご指導をお願いします。

No.5731 2011/04/14(Thu) 11:34:55
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16

Re: javascriptでテキストフレームの重なり取得は? / いき URL
市川せうぞーさんが書かれた記事がありますが、いかがでしょうか。
http://d.hatena.ne.jp/seuzo/20090423/1240460709

No.5732 2011/04/14(Thu) 11:48:45
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: javascriptでテキストフレームの重なり取得は? / いき URL
私、勘違いしてますね。……出直します。
No.5733 2011/04/14(Thu) 11:58:12
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: javascriptでテキストフレームの重なり取得は? / (z-) Email URL
>テキストフレームには写真が貼ってあります。
それはグラフィックフレームという事でよろしいでしょうか(わりとどうでもいい)

そういうメソッドがあればいいんでしょうけど、ありません。
「パスファインダ:追加」で前後のspread.pageItems.lengthを見るとかでどうでしょうか?

No.5734 2011/04/14(Thu) 12:31:17
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4

Re: javascriptでテキストフレームの重なり取得は? / お〜まち URL
ずばりそのもの、というのはないので、コツコツと調べていく方法しかないでしょう。

でもこのケースはDTPではあまりなくても、ゲームプログラミングでは当たり前ですので(ブロック崩しとか、射撃とか、ある形とある形が重なっているかどうかを判定することが必要)、たとえばFlashでゲームプログラミングを解説しているページとか、ひょっとするとそのものズバリのコードがあるかも知れません。

上記とは全く関係ないですが、一つの案として
「判定する2つのフレームの幅と高さを取得しておいて、一度その2つのフレームをグループ化し、幅と高さを取得する。グループ化されたオブジェクトの幅もしくは高さが元のフレームのそれぞれの合計よりも大きければ重なっていない、小さければ重なっている」
というのを思いつきました。参考までに。

No.5735 2011/04/14(Thu) 12:42:55
Opera/9.80 (Windows NT 6.1; U; ja) Presto/2.8.131 Version/11.10

Re: javascriptでテキストフレームの重なり取得は? / (z-) Email URL
ちょい訂正

>前後のspread.pageItems.lengthを見る
・スプレッド全体を「パスファインダ:追加」した場合はその後に複合パスを解除する必要がある
・事前に複合パスがある場合(アウトライン文字など)は処理対象に含めない必要がある
・どれとどれが重なっているのか、を見るには事前に各オブジェクトの座標を最低2点、配列で記憶しておく必要がある

No.5736 2011/04/14(Thu) 12:44:44
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4

Re: javascriptでテキストフレームの重なり取得は? / (z-) Email URL
>お〜まち様

まあ、半分冗談ですけど "^

No.5737 2011/04/14(Thu) 12:53:48
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4

Re: javascriptでテキストフレームの重なり取得は? / お〜まち URL
>(z-)さん
いやいや、ご指摘のとおり、回転が掛かってると目論見どおりにはいかないですね。さすが現役の方は冴えてますね。

No.5738 2011/04/14(Thu) 13:45:14
Opera/9.80 (Windows NT 6.1; U; ja) Presto/2.8.131 Version/11.10

Re: javascriptでテキストフレームの重なり取得は? / amiza_ret
みなさん、ありがとうございました!!

>いきさん
私も最初、せうぞーさんの所に行きつきました。

>(z-)さん
> それはグラフィックフレームという事でよろしいでしょうか(わりとどうでもいい)

contentType = ContentType.graphicType
です。
パスファインダですと、なかなか難しい気が(私の技術不足)しています。

確かに、Ovalや回転してある物についてはグループ化の方法はダメですね。
今回、やろうとしている仕事に関してはそれらはないので、下記の方法で行う事としました。

>お〜まちさん
> 上記とは全く関係ないですが、一つの案として
さすがです!
この方法で作成してみようと思います。

ただ、一応(もしや…)と思い「当たり判定」で検索してみました。
お〜まちさんが言う通り、ヒントとなるwebがたくさん引っ掛かってきました。

例:
if(X0 < X3 && X2 < X1 && Y0 < Y3 && Y2 < Y1)
{
<九州工業大学情報工学部の一部活 C3のホームページより>

そこで、上記を利用しちょっと書いてみたのが(分析もせず)下記のソースです。

imgObja= app.activeDocument.selection[0];
imgObjb= app.activeDocument.selection[1];

var X0 = imgObja.visibleBounds[1];
var X1 = imgObja.visibleBounds[3];
var Y0 = imgObja.visibleBounds[0];
var Y1 = imgObja.visibleBounds[2];

var X2 = imgObjb.visibleBounds[1];
var X3 = imgObjb.visibleBounds[3];
var Y2 = imgObjb.visibleBounds[0];
var Y3 = imgObjb.visibleBounds[2];

if(X0 < X3 && X2 < X1 && Y0 < Y3 && Y2 < Y1){
alert("重なってます");
} else {
alert("離れてます");
}

今の所、大丈夫そうです。
お〜まちさんのヒントで簡単に出来そうです!!

No.5739 2011/04/14(Thu) 13:53:01
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16

Re: javascriptでテキストフレームの重なり取得は? / (z-) Email URL
ええと、上記は結局
>コツコツと1ページづつ、一つ一つのテキストフレームの4つの座標を調べて行く方法
ですよね。
まあ、それでいいならいいんですけど……
蛇足ながら、パスファインダを利用する場合というのを書いてみました。

//グループ、ロックされたオブジェクト、非表示のレイヤー、マスターページアイテムはナシの場合とする
function modosimaFunc(){
while(doc.undoHistory.length > unHis){
doc.undo();
}
}

var spObj = app.activeWindow.activeSpread;
var doc = spObj.parent;
var unHis = doc.undoHistory.length;
doc.selection=null;
var pLen=spObj.pageItems.length;
var i=0, targetObj, hettakaObj, kasanattemasseAry=[];
while(i<pLen-1){
for(j=i+1; j<pLen; j++){
targetObj=spObj.pageItems[i].addPath(spObj.pageItems[j]);
targetObj.releaseCompoundPath();
hettakaObj=spObj.pageItems.length;
modosimaFunc();
if(hettakaObj != pLen){
kasanattemasseAry.push(spObj.pageItems[i], spObj.pageItems[j]);
}
}
i++;
}

if(kasanattemasseAry.length){
doc.selection=kasanattemasseAry;
alert("こんだけ重なってました");
}
else alert("重なり合っているオブジェクトはありません");

No.5740 2011/04/14(Thu) 16:49:23
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4

Re: javascriptでテキストフレームの重なり取得は? / amiza_ret
(z-)さん、ありがとうございました。
動作確認いたしました。

今回の仕事に合うのはどちらかを検討・検証し、参考にさせて頂きます。

No.5741 2011/04/14(Thu) 17:33:52
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16
ロシア語のハイフネーション / 五月 貴
OS10.5.8 CS4(6.0.6)にて作業中です。

ロシア語の書籍を組み始めたのですが,ハイフネーションはロシア語で働くでしょうか?
正規表現スタイルで該当する文字コードの範囲の言語指定を「ロシア語」にしましたが,どうもハイフネーションが効かず,単語ごとに区切られる均等割付になるようです。

No.5723 2011/04/12(Tue) 13:37:01
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 YTB730

Re: ロシア語のハイフネーション / お〜まち URL
とりあえず環境設定の欧文辞書で、「ロシア語」を選んでみて、ハイフネーション辞書のメーカーが選べるかどうか確認してみましょう。デフォルトで2つのメーカーが選べるようになってます。(CS3とCS5で確認しました)

あと、ハイフネーションが有効になるには、その単語に対して文字パネルの言語の設定が「ロシア語」になっている必要があるらしいです。

No.5724 2011/04/12(Tue) 14:44:00
Opera/9.80 (Windows NT 6.1; U; ja) Presto/2.7.62 Version/11.01

Re: ロシア語のハイフネーション / 五月 貴
お〜まち様

言語設定の思いつくところは全て「ロシア語」にしてありましたが,欧文辞書を選びなおしたらハイフネーションが効くようになりました(フォントを変えたら字幅が変わり,結果字切りも変わりまして,そこでハイフンが入るようになったので自動で作用するようです)。
ただ,あまりに長い単語についてはハイフンが入りません。
これに関してはやはり露和辞書で確かめるしかなさそうです。
ご教示ありがとうございました。

No.5725 2011/04/12(Tue) 15:26:47
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729; .NET4.0C) YTB730
CS5.5 / YUJI Email
InDesignをはじめとするAdobe製品において、CS5.5が発表されました。
http://www.adobe.com/jp/products/creativesuite.html

No.5722 2011/04/11(Mon) 14:15:41
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; ja-jp) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27
欧文と和文の書体設定 / えみり
win XP
ID CS3

IDの表を使用して名刺を作成していて、エクセルデータで住所などを流し込みましたが、

「和文は新ゴ」
「欧文・数字」はヘルベチカでと指定があります。

和文、欧文の書体を一括で設定できないでしょうか?

No.5716 2011/04/06(Wed) 15:29:12
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET CLR 1.1.4322)

Re: 欧文と和文の書体設定 / いき URL
合成フォントを定義し、一括置換でいかがでしょうか。
No.5717 2011/04/06(Wed) 15:38:11
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: 欧文と和文の書体設定 / えみり
いき様、ありがとうございます。

合成フォントで設定してみましたが、これをどうやって使うんでしょうか?
「デフォルトのコピー」で保存しましたが。

No.5718 2011/04/06(Wed) 15:49:17
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET CLR 1.1.4322)

Re: 欧文と和文の書体設定 / いき URL
最初に「エクセルデータの住所など」をどうやって流し込んだか知りませんが、当然スタイルを当てていますよね。
スタイルを編集し、使用しているフォントを作成した合成フォントに変更するだけです。
あるいは、名刺とのことなので、ドキュメント中に「住所など」以外のテキストが存在しない、もしくは限られているのであれば、「書式」→「フォント検索」でドキュメント中のフォントを一気に合成フォントに変更してしまってもよいでしょう。

No.5719 2011/04/06(Wed) 15:57:36
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: 欧文と和文の書体設定 / えみり
住所以外にも細かい設定があったので、
スタイルで登録してたので、そこから合成フォントを選択して、やっとできました。
ありがとうございました。

No.5720 2011/04/06(Wed) 16:13:28
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.6; .NET CLR 1.1.4322)

Re: 欧文と和文の書体設定 / いき URL
よかったです。
細かい話で恐縮ですが、合成フォントの名前として2バイト文字を使用していると、場合によってはエラーが起きることがあるようです。
(例:出力環境によってはうまく出力されない等)

したがって、デフォルトの名前をそのまま使用せず、可能な限り半角英数およびハイフンのみを使用した名前を定義することをおすすめします。
参考URL:名もないテクノ手「合成フォントの名前を変更する」(市川せうぞー様)
http://d.hatena.ne.jp/seuzo/20101216/1292484371

No.5721 2011/04/06(Wed) 16:19:56
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)
InDesignのスクリプティングリファレンス紹介サイト / 五月 貴
いつも質問していてばかりで申し訳ない気持ちもあり,
たまには見つけた情報をお知らせしようと思います。
スクリプトを組んでいらっしゃる皆さんには既知の情報かと思いますがこんなサイトを見つけました。
全て英文(米文?)です。

http://indesignscriptingreference.com/

No.5714 2011/04/04(Mon) 00:41:09
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 YTB730

Re: InDesignのスクリプティングリファレンス紹介サイト / PICTRIX
ありがとうございますっ!
No.5715 2011/04/04(Mon) 20:48:51
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4
CS4とCS3での別行見出しの挙動の違い / 五月 貴
OS10.5.8での状況です。
先日からご相談しているCS4での作業で気になる点が出ました。
基本体裁は10Q行送り13H、途中15Qで2行取りの見出しを入れているのですが、
・本文と見出しの間に1行なぜか空きが入る(改行はありません)
・見出しがフレームグリッドの冒頭に来ると行数が不定になる
(ストーリーの開始時は2行取りですが、なぜかストーリーの途中でフレームグリッドの冒頭に来る場合は1行空きます)
 なおカスタムベースライングリッドは設定していません。

で、これを互換ファイルに保存してCS3で開くと、本文と見出しの間にできる1行空きがなくなります。
ただ正規表現スタイルを使っているためCS3に移行する訳にはいきません(同じ体裁を維持するのにタグ付けテキスト流し込みが必要ですので)。

この空きがなぜできてしまうのか思い当たる節がなく、情報も見つけられませんでした。
お知恵をお借りできれば幸いです。

No.5713 2011/04/03(Sun) 23:44:50
Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; 001DL Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
フォント使用停止にしたのに。 / 書体太郎
OS10.5.8 インデザインCS3を使用しています。
急になった現象なのですが、コンピュータにインストールされているフォントが全てアクティベート状態(選択可能)になってしまいます。
FontBook上では使用停止にしているフォントのファミリーなどもインデザイン・イラストレータ上では使用停止になっていないので、レイアウト時にフォントを選ぶ時、すべてのフォントが羅列された状態で、非常に作業しにくいです。
この現象を直す方法をお教え頂けると幸いです。
よろしくお願いします。

No.5705 2011/03/29(Tue) 11:37:11
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16

Re: フォント使用停止にしたのに。 / いき URL
私自身はWindowsユーザーですので、他の方のブログ記事紹介ですみませんが、この記事は参考になるでしょうか。
http://d.hatena.ne.jp/gzutetsu/20100927/p1

No.5707 2011/03/29(Tue) 13:42:35
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: フォント使用停止にしたのに。 / 五月 貴
私自身はたくさんフォント一覧が出るとむしろ喜ばしい(インストールしているはずのフォントを不使用にしていると却って困る)ので,困ったことは一度もないのですが,これは病んでいるんでしょうか。

#「プレビュー」ボタンを押すとフォーム内容はクリアされるんですね…。

No.5710 2011/03/31(Thu) 08:04:29
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 YTB730

Re: フォント使用停止にしたのに。 / いき URL
> 五月 貴さん
環境によりますが、普段私が利用している32bit版Windowsでは最大にメモリを搭載していても認識できるメモリ量の上限が低く、可能な限りの高速化を目指したいこともあってフォント管理は不可欠です。

つまり、フォントはたくさん積んでおき、状況によって使用・不使用を切り替える。そのために、システムの再起動なくフォント管理できるソフトを導入する、というわけです。

No.5711 2011/03/31(Thu) 09:44:12
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)

Re: フォント使用停止にしたのに。 / fontが沢山
http://www.dtp-transit.jp/apple/mac-os-x/post_766.html
フォント管理2009

こちらは参考になるでしょうか

No.5712 2011/04/02(Sat) 14:29:58
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16
全2097件 [ ページ : << 1 ... 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 ... 300 >> ]