Skip to content

Instantly share code, notes, and snippets.

Avatar

Yusuke S. UskeS

View GitHub Profile
@UskeS
UskeS / convertToGistItTag.js
Created Aug 23, 2018
[clipMenu] GitHubのCopy pathボタンから得られたパスをブログ用gist-itパスに変換
View convertToGistItTag.js
/**
* ClipMenu用スクリプト
* gist-itのパス表現はここを参照した
* http://ryoichi0102.hatenablog.com/entry/2015/11/13/091803
* 適当に書き換えて使ってください
*/
clipText = clipText.trim();
var myPath = clipText.split("/");
var txt = '<script src="http://gist-it.appspot.com/http://github.com/[user]/'; //[user]の部分がユーザー名
txt += myPath.shift();
@UskeS
UskeS / sampleSUIProgressBar.jsx
Created Sep 22, 2018
[ExtendScript] SUIでプログレスバーを表示するサンプル
View sampleSUIProgressBar.jsx
#targetengine session
var fonts = app.fonts;
var fontLength = fonts.length;
var fontList = [];
var dlg = new Window("palette");
dlg.add("staticText", undefined, "フォントを読み込んでいます...");
dlg.alignChildren = "fill";
var pb = dlg.add("progressbar", undefined, 0, fontLength);
@UskeS
UskeS / exportCompFontProp.jsx
Last active Jan 6, 2019
[InDesign][extendScript] 合成フォントの設定を書き出し
View exportCompFontProp.jsx
!function() {
var doc = app.activeDocument;
var compFonts = doc.compositeFonts;
var result = [];
for (var k=1; k<compFonts.length; k++) {
result.push("# " + compFonts[k].name);
var cfEnt = compFonts[k].compositeFontEntries;
for (var i=0; i<cfEnt.length; i++) {
result.push("## " + cfEnt[i].name);
result.push("* フォント:"+cfEnt[i].appliedFont+"/"+cfEnt[i].fontStyle);
@UskeS
UskeS / pasteOnSamePlaceAftSpread.jsx
Last active Jan 13, 2019
[InDesign][ExtendScript] 選択したオブジェクトを以降のスプレッド全てに同位置に複製する
View pasteOnSamePlaceAftSpread.jsx
!function (){
//状態チェック
if (app.documents.length === 0) {
alert("ドキュメントを開いてから実行してください");
return;
}
if (app.selection.length === 0) {
alert("オブジェクトを選択してから実行してください");
return;
}
View reviealOverlappedPstylename.jsx
var doc = app.activeDocument;
var pst = doc.allParagraphStyles;
pst.splice(0, 2);
var pstNameList = getNames(pst);
var result = {}; //エラー結果を入れる配列
for (var i=0, ilen=pstNameList.length; i<ilen; i++) {
for (var k=0, klen=pstNameList.length; k<klen; k++) {
if (i === k) {
continue;
@UskeS
UskeS / replaceLastObject.jsx
Last active Jul 31, 2019
最後に選択したオブジェクトを、他に選択したオブジェクトと入れ替える(左上基準)
View replaceLastObject.jsx
var doc = app.activeDocument;
var sel = doc.selection;
var tgt = sel[sel.length-1];
var newSelection = [];
app.doScript(main, ScriptLanguage.JAVASCRIPT, null, UndoModes.ENTIRE_SCRIPT);
function main(){
var tempRuler = doc.viewPreferences.rulerOrigin;
doc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
for (var i=sel.length-2; i>=0; i--) {
@UskeS
UskeS / exportNestedGrepStyleExpressions.jsx
Created Apr 26, 2019
ドキュメントの全段落スタイルから正規表現スタイルを書き出す
View exportNestedGrepStyleExpressions.jsx
var doc = app.activeDocument;
var pst = doc.allParagraphStyles;
var len = pst.length;
var tgtFolder = Folder.selectDialog("書き出し先のフォルダを選択");
for (var i=1; i<len; i++) {
if (pst[i].parent.constructor.name === "ParagraphStyleGroup") {
exportTxtFile(pst[i].parent.name+" >>> "+pst[i].name, getNestedStylesExp(pst[i]));
} else {
exportTxtFile(pst[i].name, getNestedStylesExp(pst[i]));
}
@UskeS
UskeS / addTextFromUnicode.jsx
Created Apr 26, 2019
選択した場所に指定した範囲のコードポイントの文字を連続して挿入する
View addTextFromUnicode.jsx
var doc = app.activeDocument;
var sel = doc.selection[0];
var startChar = parseInt("21", 16); //入力する文字の最初のコードポイント
var endChar = parseInt("24ff", 16); //入力する文字の最後のコードポイント
app.doScript(function(){
while(startChar < endChar) {
sel.contents += String.fromCharCode(startChar);
startChar++;
}
}, ScriptLanguage.JAVASCRIPT, null, UndoModes.ENTIRE_SCRIPT);
@UskeS
UskeS / doScriptAllInddFiles.jsx
Last active Apr 26, 2021
[ExtendScript][InDesign]選択したフォルダ内のinddファイルにまとめてスクリプトを実行する
View doScriptAllInddFiles.jsx
var F = Folder.selectDialog("フォルダを選択してください");
main(F, "filePath", true);
function main(F, scptFile, closeFile) {
var inddFiles = F.getFiles("*.indd");
var resAry = ["以下のファイルを正しく処理できませんでした"];
var indd, flag;
if (!inddFiles) {
exit();
}
@UskeS
UskeS / Code.gs
Created Aug 23, 2019 — forked from takanakahiko/Code.gs
ふりがなGAS
View Code.gs
var nsDefault = XmlService.getNamespace("urn:yahoo:jp:jlp:FuriganaService");
function parseXml() {
var url = 'http://jlp.yahooapis.jp/FuriganaService/V1/furigana';
var params = [
'appid=XXXXXXXXXXXXXXXXXXXX',
'sentence=' + encodeURIComponent('初音ミクさんを忘れないでください'),
'grade=1'
]
var xml = UrlFetchApp.fetch(url + '?' + params.join('&') ).getContentText();