Skip to content

Instantly share code, notes, and snippets.

View UskeS's full-sized avatar

Yusuke S. UskeS

View GitHub Profile
@UskeS
UskeS / SwitchBulletConfig.txt
Created May 10, 2020 14:08
[InDesign][ExtendScript] 箇条書き記号を設定ファイルに従って入れ替える。SwitchBulletConfig.txt というファイルが同階層にある必要があります。
// サンプルです
// 行頭に半角スラッシュを入れるとその行は読み込まれません
// フォントファミリー スタイル(ウェイト) GID値 後続テキスト
// という形でタブ区切りテキストを用意してください
// 最後の後続テキストは省略可能です
A-OTF UD新ゴ Pr6N L 12238 ^t
A-OTF UD新ゴ Pr6N L 12246
A-OTF UD新ゴ Pr6N L 12228 :
// A-OTF UD新ゴ Pro M 12224
@UskeS
UskeS / JumpToNextParaStyle.jsx
Last active May 10, 2020 12:36
[InDesign][ExtendScript] 選択している段落スタイルを検索し、ストーリー上で同じ段落スタイルが当たっている次の/前の段落にジャンプする
/**
* fileoverview 選択しているテキストに適用されている段落スタイルを検索し、同じ段落スタイルが適用された次のテキストにジャンプする
* @author SAEGUSA Yusuke
* @version 0.0.1
*/
if (app.documents.length === 0 || app.selection.length === 0) {
myError("001");
}
@UskeS
UskeS / changeCellHeight.js
Last active February 25, 2020 16:19
[InDesign]選択したセルの高さを変更する
/**
* @fileoverview 選択したセルの高さを変更する
* @author Yusuke SAEGUSA
* @version 0.0.1
*/
if (app.documents.length === 0) {
exit();
}
if (app.activeDocument.selection.length !== 1) {
@UskeS
UskeS / array_some.js
Created October 31, 2019 09:42
ES3用 someメソッドのポリフィル
// Production steps of ECMA-262, Edition 5, 15.4.4.17
// Reference: http://es5.github.io/#x15.4.4.17
if (!Array.prototype.some) {
Array.prototype.some = function(fun/*, thisArg*/) {
'use strict';
if (this == null) {
throw new TypeError('Array.prototype.some called on null or undefined');
}
@UskeS
UskeS / Code.gs
Created August 23, 2019 01:53 — forked from takanakahiko/Code.gs
ふりがなGAS
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();
@UskeS
UskeS / doScriptAllInddFiles.jsx
Last active April 26, 2021 11:24
[ExtendScript][InDesign]選択したフォルダ内のinddファイルにまとめてスクリプトを実行する
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 / addTextFromUnicode.jsx
Created April 26, 2019 10:02
選択した場所に指定した範囲のコードポイントの文字を連続して挿入する
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 / exportNestedGrepStyleExpressions.jsx
Created April 26, 2019 05:57
ドキュメントの全段落スタイルから正規表現スタイルを書き出す
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 / replaceLastObject.jsx
Last active July 31, 2019 08:37
最後に選択したオブジェクトを、他に選択したオブジェクトと入れ替える(左上基準)
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--) {
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;