2015年12月31日

パーソナル編集長ファイルから写真を取り出す

パーソナル編集長ファイルから写真を取り出すのは、なんとも簡単だった。

  1. パーソナル編集長(試用版でも可)でファイルを開け、取り出したい写真を選んでコピー。
  2. Windows付属のペイントを起動して、そこにペースト。これで元のサイズの写真が復活。
  3. 必要ならペイント上でトリミングやサイズ変更。
  4. TIFなりBMPなり画質を落とさない形式で保存。

2015年5月22日

書体見本を自動生成する

大阪DTPの勉強会の隔週勉強会で「書体見本を自動生成する」という宿題が出た。
それを今日、発表することになってしまった。そのためのレジュメ代わり。
(22日21:36 いろいろ修正しました)

書体見本の自動生成

処理の方針:


タブ区切りのフォントリストから、タグ付きテキストを作り、それをInDesingに配置する。自分のコンピュータで使えるすべてのフォントをふくむリストの作り方はこの記事の末尾に書いておきましたが、ここではフォントリストサンプルのダウンロード )ができているとして、それからタグ付きテキストを作る方法を紹介します。

スタート:フォントのファミリー名とスタイル名がタブで区切られているリストから、
小塚明朝 Pr6N R
游ゴシック体 ミディアム
……
……
ゴール:次のようなInDesignの「タグ付き」テキストを作る。
<UNICODE-MAC>
<vsn:9.3><fset:InDesign-Japanese>
<pstyle:><cf:小塚明朝 Pr6N><ct:R>小塚明朝 Pr6N R
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。
祇辻飴葛蛸鯖鰯噌庖箸
Lorem ipsum dolor sit amet,
1234567890
12234567890
<ct:><cf:>
<pstyle:><cf:游ゴシック体><ct:ミディアム>游ゴシック体 ミディアム
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。
祇辻飴葛蛸鯖鰯噌庖箸
Lorem ipsum dolor sit amet,
1234567890
12234567890
<ct:><cf:>
……
……

処理の実際:


1)最初に1回だけ、ファイル開始タグを書き出す。
<UNICODE-MAC>
<vsn:9.3><fset:InDesign-Japanese>
2)フォントリストの1行ずつについて次の操作を繰り返す。
2-1)ファミリー名を変数$1に、スタイル名を変数$2に読み込む。
2-2)雛形の$1$2ファミリー名スタイル名を代入して出力する。

雛形:
<pstyle:><cf:$1><ct:$2>$1 $2
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。
祇辻飴葛蛸鯖鰯噌庖箸
Lorem ipsum dolor sit amet,
1234567890
12234567890
<ct:><cf:>

これをPerlやAWKスクリプトで実現すると次のようになる。

Perlスクリプト ダウンロード
use utf8;
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';
binmode STDIN, ':utf8';
print "<UNICODE-MAC>\n<vsn:9.3><fset:InDesign-Japanese>\n";
#print "<UNICODE-WIN>\n<vsn:9.3><fset:InDesign-Japanese>\n";
while (<>) {
 /([^\t]+)\t(.+)/;
 print "<pstyle:><cf:$1><ct:$2>$1 $2\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, \
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。\
祇辻飴葛蛸鯖鰯噌庖箸とか\
Lorem ipsum dolor sit amet,\
1234567890とか\
12234567890\
<ct:><cf:>";
}

実行例:$ perl -f addtag.pl < fontlist.txt | iconv -t utf-16le > fontsample.txt

AWKスクリプト ダウンロード
BEGIN {
 FS = "\t"
 print "<UNICODE-MAC>\n<vsn:9.3><fset:InDesign-Japanese>"
}
{ print \
"<pstyle:><cf:" $1 "><ct:" $2 ">" $1 " " $2 "\n\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, \n\
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。\n\
祇辻飴葛蛸鯖鰯噌庖箸\n\
Lorem ipsum dolor sit amet,\n\
1234567890\n\
12234567890\
<ct:><cf:>"
}

実行例:$ awk -f addtag.pl < fontlist.txt | iconv -t utf-16le > fontsample.txt

留意点:


(ア)ファイル開始タグと改行コードの組み合わせ:
<UNICODE-MAC>とした場合は改行コードをLFに、
<UNICODE-WIN>とした場合は改行コードをCRLFに。
(イ)途中の処理はUTF-8で行っているので、配置する前にUTF-16 (LE BOM付) に変換しておく。
上の実行例ではiconvコマンドを使って変換した。
(ウ)配置する際、「グリッドフォーマットの適用」のチェックを外しておく。


もうちょっとPerlらしいスクリプト ダウンロード
use utf8;
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';
binmode STDIN, ':utf8';
print "<UNICODE-MAC>\n<vsn:9.3><fset:InDesign-Japanese>\n";
while (<>) {
 chop;
 ($family, $style) = split(/\t/, $_);
 print "<pstyle:><cf:$family><ct:$style>$family $style\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, \
あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモーリオ市、郊外のぎらぎらひかる草の波。\
祇辻飴葛蛸鯖鰯噌庖箸\
Lorem ipsum dolor sit amet,\
1234567890\
12234567890\
<ct:><cf:>";
}

資料集:


PerlとAWK

OS Xには両方とも最初から入ってます。
Windowsにはどちらも入っていません。Perlなら下のサイトからインストールできます。
ActivePerl:http://www.activestate.com/activeperl

『ADOBE INDESIGN CS5 タグ付きテキストユーザーガイド』

http://www.adobe.com/go/learn_id_taggedtext_cs5_jp
(実際には次のURLへリダイレクトされる)
http://help.adobe.com/ja_JP/indesign/cs/taggedtext/indesign_cs5_taggedtext.pdf

Adobe製品のjavascript入門編

古籏一浩さんの「OpenSpace」 http://www.openspc2.org

利用できるフォント(書体)の名前をテキストフレームに書き出す
CC2014用:http://www.openspc2.org/book/InDesignCC2014/easy/font/002/index.html
CC用:http://www.openspc2.org/book/InDesignCC/easy/font/002/index.html
CS6用:http://www.openspc2.org/book/InDesignCS6/easy/font/002/index.html
これで書き出したフォントのリスト(タブ区切りテキスト):fontlist.txt


フォントリストの作り方:

自分のコンピュータで使えるフォントのリストを作るには前項、古籏氏作の「利用できるフォント(書体)の名前をテキストフレームに書き出す」javascriptが便利です。javascriptの実行の仕方も古籏氏の「OpenSpace」のInDesign自動化の項に詳しく書いてあります。

実行すると、InDesign文書上にファミリー名とスタイル名の一覧が現れますので、
  1. テキストを全て選択
  2. ファイル→書き出し
  3. 形式「テキストのみ」
  4. エンコーディング「UTF-8」
  5. fontlist.txtなど適当な名前で保存
以上です。



2015年3月25日

陽当たりのよい道

幹線道路から右へそれると、ごく緩やかな登り坂。

車は通らない。舗装もされていない。道の両側は畔のようにきれいに刈ってある。

明るい穏やかな陽がさしている。

坂のてっぺん(あまり緩やかなのでてっぺんともいいにくいけど)の右側に参道の入り口がある。尾根が平地に降りきるその少し上を横ぎる形で坂道が通っていて、その尾根にそって参道が登っているわけだ。

参道の入り口には灯篭や松並木があるだけで、鳥居や山門はない。お寺なのかお宮さんなのか分からない。




……これもいつだったか、うたたねで見た夢。ここには行ったことがない。どこなのか、それすら分からない。夢では坂道の途中から参道の方を眺めているだけ。その明るい陽の中でぼんやり喜んでいる。

ひいおばあさんが古布などを入れていたみかん箱ほどの木箱に、高野山だろうか、お寺がいくつもある山の絵が貼ってあった。その中の道なのかもしれない。


……いつか私がその参道を登っていく日が来るんだろうな。向こうで母が待っているかもしれない。


2015年3月24日

入れ子の夢

うたたねをするといやな夢をみる。

子どもを一人亡くしてしまう。
溺れてしまったのだ。
探して探して、見つけた時には、手のひらに載るほど小さな体になっていた。その小さな冷たい背中を撫でてやる。

私は疲れて眠っている。

どこなのか、大きな吹き抜けのあるコンクリート造りの家。いとこの誰かのところなんだろうか。

インターホンでそこの奥さんが「これなに?」と夫に尋ねる。「オウゴンゾウムシだな。珍しいから写真に撮っておきなさい」と応えている。屋上ではそこのうちの子ども(成人している)たちがバーベキューで歓声をあげている。

下階に降りていくとお寺のような広いよく磨かれた木の廊下。「あ、お父さん」と私を見つけてうちの娘が声をかける。三男もいる。私はそのまま廊下を歩いていく。どこへ?

…というところで目が覚めたので、起き上がる。うたたねをしていたつもりなのに、ズボンもシャツも脱いでいた。

ズボンを履きかけたところで、本当に目が覚めた。


(溺れた子どもは長男でも次男でもないと思う。その前、生まれてこなかった二人の子どもたちなのかもしれない。)

2015年2月19日

Excelでカレントセルのアドレス・内容を呼び出す

Excelで条件付き書式を複数のセルにいっぺんに当てるには、カレントセルのアドレスや内容を関数で呼び出しておく方がいい(というか、そうしないといっぺんに当てられない)。そのための備忘メモ。
  • 行位置:row()
  • 列位置:column()
  • セル番地:address(row(), column())
  • 内容:indirect(address(row(), column()))
要するにrowとcolumnのふたつの関数は引数を空にしておけばカレントセルの行・列位置を返してくれるってことなんだな。

これを使えば、カレントセルの内容が左隣のセルより1大きいという条件は、
=indirect(address(row(), column()-1))+1=indirect(address(row(), column()))
これを条件付き書式で「数式を使用して、書式設定をするセルを指定」の欄に書けばいい。けっこう面倒だな。(しかもこの欄では、入力補完も関数のヘルプ参照もない。カーソルキーを叩こうものなら……)

そうそう、この欄に書く「数式」の左端の等号は、式の残りの式の真偽を吟味するという意味なので、上の式だと真ん中の等号とは意味が違う。これもややこしい話。