Skip to content

Instantly share code, notes, and snippets.

View UskeS's full-sized avatar

Yusuke S. UskeS

View GitHub Profile
@UskeS
UskeS / BreakTextThread_mod.jsx
Created February 13, 2021 02:14
InDesign sample script - BreakTextThread.jsx - modified version. It also works fine on the frame grid.
//DESCRIPTION:Break text thread
/*
About Script
InDesign makes breaking of thread between text frames without otherwise changing the layout surprisingly difficult!
With this script, easily break the text thread
(a) between selected text frames
(b) between all frames in the selected story,
(c) throughout the document according to a selected paragraph style (great for dividing a long document into separate stories, one per chapter)
@UskeS
UskeS / overrideUpperHalfMasterPageItems.jsx
Created March 15, 2022 10:23
[InDesign] ページ上半分のマスターページアイテムをオーバーライドするスクリプト
/**
* @fileoverview ページ上半分のマスターページアイテムをオーバーライドするスクリプト
* @author Yusuke SAEGUSA
* @version 0.0.1
*/
var myDoc = app.activeDocument;
var pag = myDoc.pages;
for (var i = 0, len = pag.length; i < len; i++) {
var halfHeight = (pag[i].bounds[2] - pag[i].bounds[0]) / 2; //ページの半分
@UskeS
UskeS / mm2inch.js
Created March 31, 2022 03:49
[JXA][Automator] 選択したmm単位表記テキストをinch単位に変換して置換する
function run(input, parameters) {
var input = parseFloat(input[0]);
return (Math.round(input * 1000 / 254) / 100) + "";
}
@UskeS
UskeS / getMedian.gs
Created September 6, 2022 11:35
[GAS]特定のセルから数値を拾い上げ中央値(メディアン)を取る関数
function getMedianByMonth(tagetYear, targetMonth) {
const currentSS = SpreadsheetApp.getActiveSpreadsheet();
const targetSheet = currentSS.getSheetByName(tagetYear);
const targetRange = targetSheet.getDataRange();
const tagetValues = targetRange.getValues();
const result = tagetValues.filter(el => el[2] == targetMonth).map(x => x[9]);
const median = (ary) => {
if (ary.length === 0) {
return 0;
}
@UskeS
UskeS / pdfPageRangeReset.jsx
Created April 6, 2023 04:26
[InDesign]PDF書き出しページ範囲をリセットするスクリプト
//@targetengine "PDFpageRangeReset"
app.addEventListener("afterOpen", myFunc, false);
function myFunc(e) {
app.pdfExportPreferences.pageRange = "0";
}
@UskeS
UskeS / extractAnnots.js
Last active April 6, 2023 21:54
[Acrobat]コメントを抽出してテキストファイルに書き出すAcrobat用スクリプト
var result = [];
for (var i = 0; i < numPages; i++) {
var annot = getAnnots(i); // ページに含まれる注釈コメント
if (!annot) { continue; } // nullが返ることがあるのでFalsyなら飛ばす
for (var j = 0, lenAnnot = annot.length; j < lenAnnot; j++) {
var myAnnots = [];
myAnnots.push("p." + (annot[j].page + 1));
myAnnots.push(annot[j].contents.replace(/\r/g, "<br>"));
result.push(myAnnots.join("\t")); // 区切り文字
}
@UskeS
UskeS / manifest.json
Created September 5, 2023 00:25
InDesign UXP Plugin manifest
{
"id": "your_plugin_id",
"name": "your_plugin_name",
"version": "1.0.0",
"main": "index.html",
"host": [
{
"app": "ID",
"minVersion": "18.5.0"
}
@UskeS
UskeS / checkTrimedImageSize.jsx
Created November 8, 2023 04:06
[InDesign] 画像のトリミングが閾値以上かどうか調べる
/**
* @fileoverview checkTrimedImageSize:画像のトリミングが閾値以上かどうか調べるスクリプト
* @author Uske_S
* @version v1.0.0
* @description
* 閾値の変更は threshold変数 の値を変更(デフォルトは15pt = 約5.3mm)
* 動作確認は macOS 11.7.8(Big Sur)/InDesign 2022(v17.4.2)
* 本スクリプトによるいかなる不都合も作者は保障できかねますので,自己責任においてお使いください
*/
var threshold = 15; //閾値(pt)
@UskeS
UskeS / fillTextWithFontFamilies.js
Created December 4, 2023 04:45
[InDesign] 特定のフォントファミリーの全ウェイトをドキュメント上にテキストとして作成する
// fill text with font families
var doc = app.documents.add();
var bnd = doc.pages[0].bounds;
var txf = doc.textFrames.add({
geometricBounds: bnd,
});
var fnt = app.fonts.everyItem();
var fln = fnt.fullNameNative;
for (var i = 0, len = fln.length; i < len; i++) {
@UskeS
UskeS / getCharsFromCode.js
Created December 14, 2023 02:26
[InDesign] 指定したコードポイント範囲の文字列をテキストフレームにタブ区切りで取得する
var doc = app.activeDocument;
var txf = doc.selection[0]; // テキストフレームの文字設定などを先に変えておき、そこに流し込む
var sta = "0000"; // 入力したい範囲の最初のコードポイント(末尾0)
var end = "000f"; // 入力したい範囲の最後のコードポイント(末尾f)
var result = [];
var hexSta = parseInt(sta, 16);
var hexEnd = parseInt(end, 16);
var con = [ sta ];
var k = 0;
for (var i = hexSta; i <= hexEnd; i++) {