Skip to content

Instantly share code, notes, and snippets.

@kanemu
kanemu / urltest.groovy
Created May 16, 2010 04:55
[groovy]groovyスクリプト自体のパスを取得。
class Test {
URL url = this.getClass().getProtectionDomain().getCodeSource().getLocation()
}
def ts = new Test()
println ts.url
@kanemu
kanemu / gisttest.jsx
Created May 16, 2010 04:05
[extendscript]ハローワールド。
var str = 'Hello, Gist!';
alert (str);
@kanemu
kanemu / collectFonts.groovy
Created May 16, 2010 05:07
[groovy]引数のディレクトリ以下の「Fonts」フォルダの中身を1カ所に集める。
@Grab(group='org.apache.ant', module='ant-parent', version='1.7.1')
def dirPath=args[0]
def File dir = new File(dirPath)
def ant = new AntBuilder()
ant.mkdir(dir:dirPath+'/Fonts')
dir.eachDirRecurse {
if('Fonts'==it.name){
it.eachFileRecurse {
@kanemu
kanemu / DrawTableFitToGuide.jsx
Created May 25, 2010 01:13
[indesign][extendscript]ガイドに合わせてテーブルを作成。
#target "InDesign"
(function(){
//なにも開いてなければ抜ける
if(!app.activeDocument) return;
var page=app.activeWindow.activePage;
//ガイドが4本以下なら抜ける
if(page.guides.length<4) return;
//ガイドの位置を収集する。
var wLocate=[];
@kanemu
kanemu / threadingText.jsx
Created May 25, 2010 00:53
[indesign][extendscript]テキストフレームを連結する。
(function(){
var sels=app.activeDocument.selection;
var startFrame;
//テキストフレーム以外を除外
for(var i=sels.length-1;i>-1;i--){
if(sels[i].constructor.name!=='TextFrame'){
sels.splice(i,1);
}else{
sels[i].nextTextFrame=NothingEnum.NOTHING;
}
@kanemu
kanemu / mojiGousei.jsx
Created June 5, 2010 01:54
[indesign][extendscript]InDesignで文字合成をする。
/**
* @fileOverview 合成文字を作成するスクリプトです。<br>
* <b>使い方</b>:InDesignに打ち込んだ文字(「○株」等)を2文字選択し、スクリプトを実行して下さい。
*
* @author Kanemu
* @version 0.2
*/
#target "InDesign"
/**
@kanemu
kanemu / juusyo.groovy
Created June 10, 2010 13:46
[groovy]郵便番号から住所を表示する(研修用サンプル)
import au.com.bytecode.opencsv.*
@Grab(group='net.sf.opencsv', module='opencsv', version='2.1')
//「ゆうびんホームページ」から落としたcsvを同階層に置く
def text = new File('ken_all.csv').getText('MS932')
def reader = new CSVReader(new StringReader(text))
def bangoMap = [:]
for(;;) {
String[] csv=reader.readNext()
if(!csv) break
//InDesignの指定のテーブルを表示するサンプル
#target "InDesign"
var str = prompt('何ページの何番目の表が欲しいんだよ!','1,1');
if(str) {
var num = str.split(',');
var pageNum = Number(num[0])-1;
var tableNum = Number(num[0])-1;
};
@kanemu
kanemu / gist:437586
Created June 14, 2010 11:46
mi用InDesign実行スクリプト
#!/bin/sh
#new
TM_FILEPATH=$1
#スクリプトを複製
#$.write、$.writelnをオーバーライド
echo "var file=new File(\"${TM_FILEPATH}.log\");file.encoding=\"UTF8\";file.lineFeed=\"Mac\";file.open('e');
\$.write = function(){file.seek(0,2);file.write(arguments[0])};
\$.writeln = function(){file.seek(0,2);file.writeln(arguments[0])};"> ${TM_FILEPATH}.tmp.jsx
#Scriptの内容を書き込み
@kanemu
kanemu / testneko.groovy
Created June 16, 2010 05:57
[groovy]NekoMTMLでテーブルを読み出し
@Grab(group='net.sourceforge.nekohtml', module='nekohtml', version='1.9.14')
import org.cyberneko.html.parsers.SAXParser
def text="""
<HTML>
<table>
<body>
<tr>
<th>サイズ</th>
<th>S</th>