[2677.10.01.日.] |
[2677.10.01.日.] / にちようび。 |
▼にちようび。 |
もう10月だってよ‥‥‥。
2017/10/02 17:56:51 |
[2677.10.02.月.] |
[2677.10.02.月.] / 「週刊ビッグコミックスピリッツ 2017年44号」のこと。 |
▼「週刊ビッグコミックスピリッツ 2017年44号」のこと。 |
先週号のラストと今週号のトップ(つまりWへの変身シーン)がカラーページだったワケだけど、これ単行本が出る時はちゃんとカラーで入るのかなあ、とかがちょいと心配。
luci2 11:15:56 |  :  | 今週のスピリッツは紙でも買ったけど、先週・今週分を電子書籍でも買った。W好きにはたまらんですなあ‥‥‥。 |
luci2 11:17:31 |  :  | ちょうど風都探偵始まって以来初のWへの変身が先週ラストと今週のド頭ってタイミングで主役2人を持ってくるとかすげえなあ。 |
ちなみに電子版はBookLive!で購入。
BOOK☆WALKERは所謂普通の電子書店じゃないので、こういう普通のラインナップに意外と弱みがある。BOOK☆WALKERメインで使っていく場合には、こういう普通の電子書店をサブとして押さえておくといいと思う。
2017/10/02 18:22:08 |
[2677.10.03.火.] |
[2677.10.03.火.] / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
秘封ディストピア合同誌の話と違って、入稿側の意図がどういうもので、それに対して印刷屋が具体的に何をしたのかが、各々非常に明瞭なケース。
この次のツイートを見たら「変なことをやるときは印刷所さんに指示入れようね…!おじさんとの約束だよ…!!!」なので、もう確実に「印刷屋と事前に相談しとかないとダメ」という話であった筈なのだけど。
minagumofoo 15:16:31 |  :  | @luci2 これ、なにがあかんのですか やりたかったことするとめっちゃよみづらそうなんですけども |
luci2 15:23:11 |  :  | @minagumofoo 入稿した側の主張は『「切れてる」ことが演出だ』ということだと思います。読ませるための文字列というより、模様のようなものとして描かれていて欲しかったのでしょう。ですがどう見ても明らかに文字列で、「演出だから切れてOK」伝えてもいないため、ごく常識的に「読める」方へ直されてしまった。 |
minagumofoo 15:26:19 |  :  | @luci2 そりゃ無茶なw 印刷屋さんもかわいそうだw |
luci2 15:31:02 |  :  | @minagumofoo だから、常識的に見ておかしな結果の出力を敢えて求める場合には、後工程の担当者と事前に打ち合わせをしておくことが大事なんです。「ノド側で文字列が半分見切れてると思いますが、わざとなのでこのままやってください」とかを予めわかってもらうことが必要で、そこに手を抜いた可能性が高いです。 |
それは何が問題なのか(印刷屋は一体何をしでかしてしまったのか)? という目線からの質問が来たので回答。
「やりたかったことするとめっちゃよみづらそう」な文字列は、そもそも『「そういう文字列」として読んでもらう』ことを期待して書いたものでなく、カテゴリ的には「模様の一部」みたいなものです、という可能性を指摘する。この考え方で多分合ってる。
luci2 15:35:25 |  :  | やべえノド側じゃなくて小口側だった(笑)。まあいいや、間違っちまったもんは仕方がない‥‥‥。 |
そして本日のtypo。ノドじゃねえだろどう見ても(苦笑)。
2017/10/03 15:42:58 |
[2677.10.04.水.] |
[2677.10.04.水.] / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
「AugusticEternal10」というイベントの主催者作業進捗がガっタガタで、というか主催者本人がどうやら行方不明っぽいレベルで誰とも連絡がとれてなくて、別にサークル参加する予定も一般で行くつもりもないイベントの運営に関して、勝手連的に進行させてるタスクが2件、という状況に。
そのうち片方はTwitterのハッシュタグ確保と拡散の手順周りで段取りをとってるだけの話だけど、もう片方はDTP案件。しかも簡易カタログ。正直、作ったことない(^^;;;。頑張る‥‥‥。
でもまあ、イベントそのものに対する個人的な好悪の情はともかく、「AEに出るのが7年越しの夢だったので」とかいう人が、初めて自分で作った同人誌を持っていよいよサークル参加、っていうイベントはコケない方がいいに決まってるし、ごく小さいことだとしても、そのために打てる手があるんだったら手を動かした方がいいに決まってるよね。
2017/10/04 18:09:41 |
[2677.10.05.木.] |
[2677.10.05.木.] / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
簡易カタログ(配置図を兼ねることができないので本当に「サークルカットの羅列」でしかないが)の制作中。
誌面への詰め込み方とか縮小の加減とかについていろいろ検討した挙げ句、原寸でB5見開き(=B4横)にサークルカット16個を、それでは足りない場合のために表4(裏表紙)にも同様に8個を並べるレイアウトを取り敢えず採用し、そのうち13個は実際のサークルカットが配置済み。
このフェイズの話として今ちょっと悩ましいのは、大体みんな同じテンプレートを使ってる筈なのに、InDesignに配置してみると微妙に大きさの違うデータが混じってる気がすること。退勤したら再度配置をやり直してみるが、僕の手順誤りとか見間違いとかじゃなかった場合はどうしよう‥‥‥。
さておき。
で、まず、「ここにサークルカットを置いて欲しい」っていうサークルが多分16は来ないんじゃないかな、っていう手応え(笑)。
とすると表4を何に使うか考えないといけない。
luci2 11:29:09 |  :  | カタログは、昨夜時点の誌面サンプルを出して以降カットが来ていない。今晩次第って側面はあるけど、実は既にピークを過ぎていて、これから来る分込みでも見開き一丁で収まるのではないか、という目算も。「今日中」とか締切を設定したら来るかなあ。 twitter.com/luci2/status/9… |
luci2 11:33:19 |  :  | サークルカットのための用地が見開き一丁で事足りた場合、4ページ目(本でいうと裏表紙にあたる面)をどうするかが次の問題になる。だから一般参加の要綱とかにも軽く触れといた方が、みたいな話になると、書くこと考えないといけないので「サークルカットを並べるだけ」より作業負荷が上がる(笑)。 |
luci2 11:41:08 |  :  | そういう諸々の見極めも含めた締切設定の参考にしたいので、「サークルカットを僕に渡す(→簡易カタログにカットを載せる)つもりはあるけど、まだその作業をやってない」方がもしいらっしゃいましたら、このツイートにレスでもDMでもメールでも、方法は何でもいいですから僕に連絡いただけますか? |
luci2 11:45:45 |  :  | ついでにいうと、届いてるカットの並べ方も本当は考えないといけないのよね。いや配置に準拠できない以上そこに凝る意味あまりないし、このままでもいいとは思うけど。ちなみに現在の並び順は何に基づいてるかというと、左上から右に向かって、僕が受け取った順。つまり先着順(笑)。 |
luci2 12:01:15 |  :  | ちなみに、いま僕が何を悩んでるかというと、サークルカットの数が見開きの16コマを上回らない場合は、4ページ目を一般参加要綱にするパターン(チラシ絵はグレーにして背景として使う可能性大)と、チラシ絵とカタログ表紙を並べてダブル表紙にするパターンが候補。 |
luci2 12:01:28 |  :  | サークルカットの数が見開きの16コマを上回った場合、溢れた17から24までのカットは表4に流れることになる。この場合、表4には背景を敷くけど2〜3には何もしない、というのは意匠としてバランス悪いので、表4のアキがどのくらい残るか次第によっては、チラシ絵を使う機会はなくなる。 |
luci2 12:05:00 |  :  | 個人的にそうなって欲しいのは「ちょうど24個のサークルカットを配置する」ことで、カタログとしてより「出来てる」のは一般参加要綱にスペースを割くこと。これらの場合のチラシ絵は、使われないか、背景に敷かれるので絵としての主張は弱まる。 |
luci2 12:07:07 |  :  | ただ‥‥‥悩みどころは実はここなんだけど、手に取る人がいちばん嬉しいのは多分ダブル表紙なんじゃないかな、っていうのもあるんだよね(笑)。要綱ったってイベントサイトの文章持ってくりゃ成立するのかどうかなんてわからないのだし、いいからダブル表紙で行っちゃえよ、という誘惑は確実にある。 |
luci2 12:09:37 |  :  | それでいいのかどうか、っていうのを考えるにあたって、もうひとつ要素となるのがこのカタログの配布様式。「紙にして当日配る」のが主軸であることは無論動かないけど、例えば「PDFをWebに置く」「ネットプリントで出力できるようにする」等を視野に入れるなら、一般参加要綱はある方がいい。 |
luci2 12:11:51 |  :  | って書いてて今ふと思ったんだけど、サークルカットの総数が16以内だった場合は、2バージョン作ろうか。会場配布はダブル表紙バージョン、Web配布は一般参加要綱付記バージョンとして、ダブル表紙バージョンは紙でしか用意しないのってどう?(笑) |
luci2 12:14:00 |  :  | なんかまあ、DTP担当は現在そんなことを考えたり悩んだりしてるところです(笑)。 |
あとはまあ、そういう考え事などしながら、追加で飛んでくるカットを待っているところ。
2017/10/05 16:15:41 |
[2677.10.06.金.] |
[2677.10.06.金.] / 出陣。 / 偽偽DTPオペレータ部活動。 |
▼出陣。 |
まあ、こういう勢いで関わっちゃってる以上、そもそも行きもしないとかいうのも何だな、というアレで。
簡易カタログのDTP作業が思ったより順調に推移してることもあり、当日申請による「AugusticEternal10」へのサークル参加を決定しました。‥‥‥新刊どうしよう(^^;;;。
2017/10/06 15:23:46 |
▼偽偽DTPオペレータ部活動。 |
昨夜の偽残業時点の現在版データをネットプリントに登録して、セブンイレブンの複合機から出力してみるテストを実施。
データ登録時点の設定に一部難があったことや(可能なら登録時点で「短辺綴じ両面印刷」の設定も済ませてあった方がいい。B4横でフルカラーとかの部分は合ってる)、ダウンサンプリングありで作ったとはいえ10MB近いデータを通信で持ってきて印刷する作業には思ったより時間が掛かると判明したことなど、幾つかの知見を得ることができた。
恐らく明日にも本番データを登録することになるので、得られた知見をその際に活かしていきたい。
luci2 00:01:18 |  :  | 明日、というかたった今「今日」になりましたが、10月06日一杯くらいまでカット追加を受け付けるつもりです。 |
で、その「本番データ」の話。
昨夜コレを呟いてから今までの間に1枚届いていて、かつ、自分とこのサークルカットも追加してるため、今ちょうど、B4横に16コマ用意したサークルカットのための空白を使いきっている状態。
今日の24時を過ぎたら少なくとも「カットの数」についてはfixとする(それ以降に新規で届いても簡易カタログへは反映しない)と宣言してるので、そこまでの間に新規追加されるカットが1枚以下に収まった(=飴玉のカットを捨てれば残りは全部入る状況にある)場合は、既に作ってある表4の体裁をそのまま使ってよいことになる。
というワケで、まあ簡易カタログ制作も一応出口が見えたかな、と思ったところで‥‥‥これまでにも連絡とろうとはしてたんだけど返答のなかった主催者代理とDMでやりとりする機会があり、
- 印刷向け簡易カタログの入稿データは断ち切り+トンボ付きのPDFで主催者代理に渡して印刷屋で量産(主催者代理自身が印刷屋勤務?)
- それ以外に以下を制作して主催者代理に納品
- あきはらさんのチラシ絵を1/4に縮小してB5に4枚配置し、「簡易カタログ」文字列を「サークル入場証」文字列に差し替えたもの(→サークル入場証として転用)
- 簡易カタログの表1表4データから「簡易カタログ」文字列を抜いたもの(→ポスター原稿として転用)
- 以上すべての締切を、明日の午前7時とする
その話の流れがこんな風になったので、
luci2 14:47:59 |  :  | うおおこの土壇場でDTPワークの数自体が増えるインシデント‥‥‥ぜんぶ明日の朝7時目標‥‥‥(^^;;; まあ作業の内容自体は大したアレじゃないので問題はないけど、お互い慌ただしい中、口約束で仕事を増やしてる状況になってるので、慎重に掛からないと‥‥‥ |
こういうことを呟くような状況になった(苦笑)。
んでこれとは別に、カットがfixしたら事前にばら撒く用の簡易カタログPDF作成とネットプリント登録&出力テスト、併せてそっちのPDFをどこに置いてばら撒くかを決めて周知。
さらに、それら全部と並行して、ウチの新刊に何を書くのか大慌てで考えないと‥‥‥(^^;;;。
2017/10/06 16:39:53 |
[2677.10.07.土.] |
[2677.10.07.土.] / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
日付が変わらないと内容がfixしない簡易カタログを除く印刷用データは先に制作・納品を済ませ、日替わり直後くらいに簡易カタログの印刷用データも納品する段取りで、こちらの作業は予定通り完了したんだけど‥‥‥日替わり前に一度反応があった主催者代理からは以後なんの音沙汰もないまま、締め切りとされる本日午前7時を過ぎた。
イベントそのものが月曜開催であることを考えたら、今日の午前7時が最終防衛線ってのは頑張ってもらえてる方だと思うし、一応こっちでも、ちゃんと寝入らないようには気をつけて反応待ちをしていたワケだけど。
‥‥‥この土壇場になって7〜8時間納品を前倒ししてるのはトラブルに備えるため、っていう危機意識自体がたぶん共有できてない、と思う。
つーか確認も前倒しして結果を連絡してくれれば、トラブルがあってもリカバリできるかも知れないし、ないなら僕は寝ていい筈なんだけど(^^;;;。
あなたの仕事が夜勤型であることと、僕を寝かさず待たせとく(しかも多分「待たせてる」自覚がない)のは別の話だと思うんだけど。
そりゃ確かに代表の音信普通っぷりは酷いのかも知れないが、連絡不行き届きで問題起こすこと自体に関しては、代表ひとりに限った話でもないんじゃないかな、などと。
まあともかく、ここまで済んで、簡易カタログDTPチームはお役御免。
というか、もう最終防衛線を過ぎたので、何が起きてもDTPチーム側では受け身のとりようがない。
そしてその頃、愚痴スレと化した多人数DMの中では何故か、『娼館でありダーツバーでもあるホテル「Un palazzo fresco」を根城とする謎のシシリアンマフィア、スズミアーノ・カドゥキーニとそのファミリー』的な設定が爆誕してたりだとか(笑)。
まあ当日の会場のことはドン・カドゥキーニがどうにかしてくれるので(w
さておき。
Twitterに簡易カタログ周りのアナウンスを出しつつ、並行して作っていたWeb用簡易カタログPDFをネットプリントで直接出力できるようにする準備も。手順のアナウンス出した後で、出したアナウンスの手順で本当に現物が手に取れるかどうかを実験する、っていうのでは実をいうと順番が逆だけど(笑)、そこに関しては昨夜の知見が活きたかたちで、無事に実地でモノが手に取れることを確認できた。何でもやってみるもんだねえ‥‥‥。
2017/10/07 17:14:26 |
[2677.10.08.日.] |
[2677.10.08.日.] / サークル活動。 |
▼サークル活動。 |
昨日から悩んでた新刊を一応でっち上げた。‥‥‥金曜にサークル参加を決めるまでそもそも出向く気自体なかったので新刊の用意についてとか全然まったく考慮になく、「書いてはいないけど思いついてること」のストックとかも何ひとつなく、で金曜から土曜にかけては簡易カタログ関連の制作作業が最優先だったので新刊どころではない状況で、まあ結論からいうと、A5判4ページ(A4判横1枚を中央で折って「4ページあるので冊子」と言い張るタイプ)のSS本を用意するだけで一杯一杯でした(苦笑)。
流石にペラいのでこれは無料配布として、商売的には既刊の類を中心に、という形になるかと思います。
2017/10/09 00:23:36 |
[2677.10.09.月.] |
[2677.10.09.月.] / AugusticEternal10のこと。 |
▼AugusticEternal10のこと。 |
いつものことですが、まあ商売にはまったくなりませんでした。売れたのって多分とくそんさんが買って行かれた夏コミ新刊のオシリス本と、その時ついでにピックアップされた新刊だけで、他はまあ、中身を覗いた人がちょっといたくらい。
参加すること自体の他に目的のない日なので別にそれはそれでいいんだけど。
問題の謝罪会見&アフターイベントまで眺めて、にしかわさんとさあのちあさんのAE後恒例行事だという「ソリッドスクエアの大戸屋で食事」に同席。『「7年越しの夢をかなえて、新刊作って初のサークル参加」って人』であるところの長田さんも同席。ひとり秋刀魚部活動。
ここまでの活動ジャンルとかいろいろ考えると、いろんなイベントで同じ会場にいた筈だしお互い存在も認知してた筈だけど、その割に直接の面識がなかった時間が驚異的に長い(笑)ちあさんとはちゃんと話すの本当に初めてだった。あのイベント用の棚とかすごかったなあ。実際見せられると確かにちょっと欲しい。
で、にしかわさんに車で送ってもらって帰宅。
‥‥‥まあ何だ、言いたいことは超・いっぱいあるけど、普通に開催できたんだから取り敢えず今日のところはよしとしよう、的な。
2017/10/12 14:52:37 |
[2677.10.10.火.] |
[2677.10.10.火.] / ネットプリントのこと。 |
▼ネットプリントのこと。 |
luci2 09:55:46 |  :  | 実をいうとネットプリントでは、登録者は印刷回数を確認することができます。で、昨日のイベントは無事終了したワケですが、ネットプリント版簡易カタログのご利用状況はどうかというと画像の通りです。より正確にいえば、最初の1枚は僕のテスト出力なので、延べ7回の出力があったことになります。 pic.twitter.com/q6ToDHxXQ3
|
luci2 09:56:51 |  :  | 開催寸前の土壇場になって突如言い出したようなことなので、まあ周知も行き渡らないだろうし、そもそも会場へ行く人はそこで会場版を手に入れる筈なので、実際にはまず誰も使わないであろうという見込みで始めたんですが、正直、思ったより多く使われてますね(笑)。ご利用ありがとうございました。 |
luci2 09:57:30 |  :  | 一応、今日一杯までは出力できる設定になっています。というか、登録時に日付で期限を切るんですが、だから失効が「その日付の0時」なのか「その日付の23時59分」なのかが判然としなかったため、9日に設定して9日の0時に失効されると本末転倒だからそうせざるを得なかったのです(^^;;;。 |
luci2 09:57:41 |  :  | なのでまあ、なんか急に名残惜しくなった、とかいう方がもしいらっしゃるようでしたら、今日まではネットプリントでWeb版現物が手に入ります、ということで。 |
ここ書いてるの木曜ですが、そういえば最終的に何回プリントされたんだろう、とかについては、この日の日替わり頃にデータ見るのを失念しててわかりません。
ただ、↑これをTwitterに書いた次に見たのって確かこの日の夕方くらいじゃなかったかと思うんですけど、その時の実績値が10で、なんか、イベント後だというのに地味に増えてるのがちょっとおかしかったです。ほんとに名残惜しかった人とかいるのかな(笑)。
なお、予定通り期限切れを迎えましたので、現在このデータの出力はできない状況となっております。悪しからずご了承くださいませ。
ご利用ありがとうございました。
2017/10/12 15:16:13 |
[2677.10.11.水.] |
[2677.10.11.水.] / 『10/9 川崎市開催オーガスト作品オンリー「AugusticEternal」』のこと。 / あきはらさんのチラシ画像。 |
▼『10/9 川崎市開催オーガスト作品オンリー「AugusticEternal」』のこと。 |
まあツイートもしてるんだけど、そういう風には流れちゃわないところにも一応書いておこうかと。
どうやら主催【以外】のスタッフが、サークルさんや会場側と、密に連絡を取っていたようだ。
サークルカットも、そのデータは主催が抱え込んでいる。そこで、Twitter等を通じ有志スタッフにカットを出し直ししてもらい、それを並べるだけの簡素なものながら、カタログとしての体裁を整えたようだ。
例えばこの書きっぷり自体は、『「俺オーガスト作品余り明るくないんですが…おうちで原稿やらないと冬コミに間に合わないでござるよ…なんで俺が行かなきゃあかんの?」目線の人の書くこと』として、それなりに正鵠を射てると僕個人的には思うのね。
だけどまあ、厳密にいうと「Twitter等を通じ有志スタッフにカットを出し直ししてもらい」のあたりを全部取り仕切り、入稿に至るまでの作業を概ね全部担当して「それを並べるだけの簡素なものながら、カタログとしての体裁を整えた」をやった当事者(つまり僕らの内輪)の目線から言うと、『いや僕ら別に「スタッフ」じゃないんですけど』ってところには違和感あるね、という部分で実際ちょっと話題になってた。
「スタッフ」とか「主催者代理」とかの肩書き持ってる人がこの件について実際に手を動かしたのは、まず公式にはこれらの点。
- 僕らが「簡易カタログを作ってる」こと自体を認知した
- 簡易カタログのデータを流用したサークル参加証とポスターの入稿データ作成を僕らに逆依頼した
- 入稿データを印刷して、紙になったものを当日現地に持ち込んだ
- Twitter上でアクティブでない(=Webカタログの企画に参加できない)が申込済みのサークルから入手済みのカットを別の用紙に印刷して当日版カタログに挟んだ
正確を期すならこれ以外にもう一点、
- 簡易カタログ入稿データのうち、2p(サークルカットの面)の内容を上にオフセットして、下側に作った余白に文字列を書き入れた
という作業もあった模様。
「10/7までに確認が取れてる〜」(という意味の何か。紙がないと参照できないから正確にはわかんねえや^^;;;)っていう文言は、当日会場版には入ってるけどWeb版にはなかった、という差異は、実をいうとこのようにして生まれた次第。
いやそれ、「その文字列を書いてくれ」ってオーダーくれれば、こっちで入稿データ作る段階でそうするだけで終わった話なんだけど‥‥‥例えばそういう連絡もそうだけど、そればかりか、渡した入稿データでOKなのかNGなのかに関してすら、入稿以降には何ひとつ連絡されなかったため、0時近辺で入稿データを納品してからタイムリミットの7時まで意味なく徹夜で待たされ、その後もそのまま放置され、そして夕方になって刷り上がりの画像が突如公開されて驚くという顛末に関しては、それら全部に対するDTPワークの当事者として、正直、ちょっと疑問を感じざるを得ない。
報連相に問題があるのは本当に代表ひとりだけなのか、って部分に僕が疑念を持つようになったのもこの顛末以降。
さておき。
では、スタッフではない有志の集団、自称「簡易カタログ制作チーム」が具体的に何をしたかというと、以下の全部を、10月04日から10月07日0時頃までの期間で実施。
- Twitterのハッシュタグを利用した簡易カタログ作成プランについて実施&周知
- Twitterのハッシュタグを利用した簡易カタログ参加者に、僕のメールアドレス宛にカットのデータを送付するよう周知
- 届いたデータのチェックとフィードバック
- 差し戻し2件。うち1件は再提出で問題解消、もう1件は時間切れのためDTP側で加工して利用。
- 表紙用データ入手のための交渉&データ取得
- プロセスとして存在するから項目立ててるけど、実際はデータの方から助けにきてくれたので作業負荷ほぼゼロ。
- カタログ自体の展開に纏わる設計・誌面設計から入稿データ作成までのDTPワーク
- 「2パターン作ろう」とかそういう構想レベルの考えごとから、現物を現物として成立させるまでの全部。
- 主催者側から別途依頼のあったポスター・サークル入場証用入稿データ作成のためのDTPワーク
- 納品データ授受の段取り&データ納品
勿論、この作業の段階で僕らは「参加予定サークル一覧」も「配置図」も持ってなかったため(それがあるなら主催者団体の中でカタログ作れた筈だし、こっちにくれればその順に並べるくらいは当然やった)、この工程で苦しかったのは、最後まで「一体幾つカットが届くのか不明」「そもそも幾つ届くのが正解なのかも不明」を織り込んだ上で制作を進める必要があった点。
それがわからないために、例えば「16個以内ならこれ」「24個以内ならこれ」「25個を上回ったら再設計」など、どうカットを配置するかに関して複数のプランを事前に準備しておかざるを得なかったりしたので、普通のカタログにサークルカット並べるだけの作業に比べたら、多分3倍くらい手間が増えてる。
んで、さらにこの他に
- Web用カタログ自体を作成するためのDTPワーク
- Web用カタログをネットプリントに登録&出力テスト(テストと本番で計2回)&周知
- ネットプリントからのWeb用カタログ出力工程をモーメントを使って資料化&周知
- Web用カタログデータをWebで参照できるようにするための置き場に関する検討・配置・表示テスト&周知
こんなようなことを、まあ本当に「有志として」というか、毎回いちいちスタッフを判断に入れるのではなく(報告は都度してたけど)、逆依頼があった作業以外については完全に「僕ら自身の判断によって」「僕ら自身がよかれと思う方に向かって」進捗させていった形になる。つまり主催者側のコントロールも特に受けてない。
これを超・ざっくり纏めると「僕らが勝手にカットを集めて簡易カタログを作ったらスタッフの人が印刷屋で刷ってくれた」であり、その纏めた結果だけを他所から見ると「Twitter等を通じ有志スタッフにカットを出し直ししてもらい、それを並べるだけの簡素なものながら、カタログとしての体裁を整えた」になるんだと思う。だって当日版は実際スタッフが刷って持ってきたんだから、そこを始点に事象を観察してる人には、それを作った僕らだってそりゃスタッフの身内だと思うだろ、っていう。
つまり、情報とはより細かい情報の集積体であって、どこまでの解像感をもって事象を見るかによって見えるものが違う、ということの例なんじゃなかろうか。
‥‥‥こう、実際に「現在スタッフと間違えられてる有志の人」の言い分が、元の記事同様に、それと同じ程度の簡単さで参照できるようになってれば、別に「それは間違いだ!」みたいなことに目くじら立てないといけないようなことでもないんじゃないかと僕は思うので、そのように並べて読めるようにする準備として、僕らのやったことをやや詳し目に書き出してみた。
2017/10/12 15:16:13 |
▼あきはらさんのチラシ画像。 |
簡易カタログ制作中にDMであきはらさんから直接聞いたのは『「チラシに使うから画像作って」って主催に言われて作った画像がチラシとして使われてない』という話だった。もう八月島の人じゃなくなって久しいので「当日チラシが撒かれてたかどうか」は自分のサークルの問題じゃなくなってるし、大体そもそも興味も参加する気もなかったイベントのことでもあって、オンリーイベントのチラシをコミケで撒いてるとも撒いてないとも知らなかったんだけど、複数のラインで確認したところ、実際撒いてなかったらしい。
印刷物にするからって理由で発注されてる筈なのに、「自分の絵が立派な印刷物になりそうで嬉しい」みたいなことを発注元の主催じゃなくて僕に言わなきゃいけないシチュエーション、って切ないよね‥‥‥。
ついでにもうひとついうと、カタログ表紙画像を依頼された涼宮さんが「カタログ表紙データ送ったけど受領の返信も無いのよね」とか呟いたのも10月04日。開催まで1週切ったタイミングで呟くようなことなのかそれ、って部分でまず度肝を抜かれたし、この時に僕が考えたのは「もしかして主催は亡くなってるとか入院してるとかレベルのインシデントによって音信不通なのでは?」という可能性のことだった。
正直、『だから「手伝わなきゃ」と思い立った』というのが、一連の作業に関わった動機のひとつだったワケで‥‥‥前日いきなり主催がイベント公式Twitterだの公式サイトだののメンテを始めた(ことによって混乱度合いに拍車をかけた)のを目の当たりにし、また当日会場に行ったら普通に元気そうにしてる主催がそこにいるのも目の当たりにして、まあ、ほっと胸を撫で下ろした反面、「じゃあ働けよ」とかも思わざるを得なかったワケだけど(苦笑)。
まあそれはさておいて。
今回、簡易カタログの制作にあたって、これらの画像を表紙・裏表紙絵として使わせてもらったんだけど、経緯からいって「カタログの表紙」は「カタログの表紙」に使う方が自然だろうなってところで、あきはらさんのチラシ絵は「手に入ったら裏表紙」までがまず決まるワケ。
でもこの裏表紙っていうのが、今回に関しては割と不遇なポジションだったのね。
まず一点、集まったカットの総数が16、B4横に16箇所用意したカット枠をすべて使い切ってfixっていうのは、そういう意味では相当神懸かってて‥‥‥実は、サークルカットがあとひとつ多く届いたら自分のサークルのカットを退かしてそっちを置くとこまでは決まってたんだけど、仮に、さらにもうひとつ以上届くようだと、
- 「両面印刷のB4判1枚で」というコンセプト自体を弄る
- カットを全て縮小する
- 裏表紙を潰してカット枠を作る
の3択を余儀なくされるところだったし、かつ、他の諸々(主に時間と僕の未熟さの問題)を考慮すると、もう事実上3.しか選びようがないっていうシチュエーションだった。
それからもう一点。
これは現物が実際こうなんだけど、Web版と会場版はデータとしてどう違うかといえば「裏表紙に一般参加要綱(開催時間と会場への経路)が入ってるかどうか」が違うのね。会場版は開催時間内に会場に着いてる人じゃないと入手しようがないものだから一般参加要綱は省いてもいいけど、Web版は会場の外で参照されるものなので、カタログというものの機能、「何を欲して手に取るか」という根本的な要素として、そこを外すわけにはいかなかった。
となると、もっとずっとカット数が少なければ要綱もカットの面に相乗りでよかったんだけど、カットの面にそういう隙間は恐らくない、ということは相当早い段階でわかっており、するとやっぱり、要綱も裏表紙へ退かさざるを得ないだろうっていうのも、まあ、避け得ないインシデントとして早い段階で見えていた。‥‥‥つまり、カットの数が17もしくは18以上にならないとして、それでもWeb版の裏表紙に「チラシ絵以外を置かない」選択肢はなかったことになる。
カタログ部分が裏表紙まで延焼した場合は言うに及ばず、そうじゃないけど要綱は置くとなった場合にも、意味からいえばそのページは「置いたものが読み取れる」だけで必要条件が達成できてて、背景が何であるかは次点以降の問題になってしまう。究極、置いたもの自体を除いた部分は白紙のままで構わない、とすらいえた。
チラシ絵使いますかっていう申し出があった時に一旦「どう使われるかわからないし、そもそも使われないかも知れない」と答えてるのは、そういう事情がもうこの段階で見えてたから。でも、それに対して最初から「実際には使わなくても、加工していただいても大丈夫です」って言ってもらえてるのは本当に助かるところだった。
結果こういうのができるのだが、見ての通り、裏表紙は人物の顔が潰れちゃってる。ふたりいるのにふたりとも。
ここをもうちょっと、例えば下の余白を上手く使って何とかできないのか、みたいなところを時間的制約と両立させられなかったのが、僕のデザイナーもしくはDTPワーカーとしての未熟であって、「そこは気を使って欲しい」って絵を描いた人が言うのは全然不当ではないとデータ作ってる僕自身ですら思うし、そういう話になるなら改めて受け身の取り方を考えなきゃいけなかったんだけど‥‥‥でも、「こうなります」って画像をあきはらさんに見せた時にも、実は即答でOKが出てるのね。
それは、要綱からカットまで全部含めたトータルの見せ方に意図があることとか、その意図を優先するために下げざるを得なかった要素として、まあ予め言ってはあったけど、やっぱり裏表紙絵本来の魅力を単純に前へ出してくところからは退いた使い方を選ばないといけなかったこととかいう‥‥‥僕のそういう判断が、少なくとも今のところは信用されてるっていうことだと思うし、そこを信用してもらえるのは、本当に、編集者として冥利に尽きる。
そこで迷う必要がなかったので、金曜24時というか土曜0時、「このタイミングでカットはfix」を宣言していた刻限を過ぎた瞬間にWeb版の内容もfixになったし、それ以降は「実際に公開するために必要な準備」のことだけに集中してもよくなった。
考えられる範囲では最速のタイミングで現物のリリースに踏み切れたのは、そういう信頼関係あってのことだった、というお話。
2017/10/12 17:26:12 |
[2677.10.12.木.] |
[2677.10.12.木.] / 回送。 |
▼回送。 |
帰りに乗ったバスの席でついうとうとしてしまい、次に目が覚めたら、終点の停留所を過ぎたバスが車庫に戻ってるところだった。
事態が掴めなくて思わず声を漏らしてしまったところで、運転手さんが僕の存在に気づいた模様。
まあ目を覚まさなかった僕もアレだが、運転手さんが言うには、終点を通過する時には「客が全員降りたことを確認しなければいけない」運転手さんの決まりがあるんだそうで、そこをすっ飛ばしたのはこっちの責任だから、ということであった。
結局、本社に事情連絡の上で、僕だけを乗せた回送のままのバスを改めて終点まで移動してくれることになり、僕個人的には特に大過なく事が収まったんだけど。
回送のバスに送ってもらう機会なんてもうないだろうなあ‥‥‥(苦笑)。
2017/10/13 01:01:30 |
[2677.10.13.金.] |
[2677.10.13.金.] / 偽偽DTPオペレータ部活動。 / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
「スクリプト取り消し一発!インデザインスクリプト実行後のundo(取り消し)のためのdoScript」という記事を発見して、その技術は実現できたら嬉しそうな気がしたのでちょっと弄ってみている。
で問題だったのが、上記の記事でいう「doMain()」の中に手持ちスクリプトの内容を移植してみると、
こういうエラーが出て動かないものと、そうでないものがあって、何の差でそれが起きているのかよくわからない、ということだった。
調べててわかったんだけど、どうやら「doMain() にあたる関数の中で app.activeScript を参照しようとするとこのエラーが出る」ってことみたい。
書きっぷり自体は参照先に書いてあるのと一緒のことだけど、例えばこれはダメ。上記のエラーダイアログが出るのみ。
Main();
function Main()
{
app.doScript("doMain()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function doMain()
{
alert(File(app.activeScript).fsName);
return;
}
何故ダメなのかというと‥‥‥これは推測だけど、 app.doScript() を実行してから制御が戻るまでの間、 app.activeScript の指すものが app.doScript() で指定したものに変わってる(ことになってる)せいじゃなかろうか。でもこのスクリプトで app.doScript() に引数として渡ってるのはファイルじゃなくて doMain() 関数なので、その中から「現在実行中のスクリプトファイル」にアクセスしようとすると「現在アクティブなスクリプトに関連するファイルはありません。」という言い分になる。
そういう目線で事象を見れば、実際「doMain() の引数がファイルでない」のは確かなので、まあ、よくよく考えてみると理不尽な言い分でもない気がする。
で、この問題をどうやって回避するかだけど、要は app.doScript() のステップを踏む前に、 app.activeScript の内容を何か変数に代入しておいて、そっちを参照すればよい。
例えば、以下の2つはどちらも、実行したスクリプト自体のファイル名(フルパス)をダイアログ表示して終わる。
var activeScript = app.activeScript;
Main();
function Main()
{
app.doScript("doMain()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function doMain()
{
alert(File(activeScript).fsName);
return;
}
Main(app.activeScript);
function Main(activeScript)
{
app.doScript("doMain(activeScript)", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function doMain(activeScript)
{
alert(File(activeScript).fsName);
return;
}
これで一件落着、かと思いきや。
3つ目の利点も2つ目の利点に関連してますが、万一エラーが発生すればスクリプト実行前に戻ってくれるのです。ただしtry処理をしていない場合に限ります。していないと、下記イメージのようなメッセージが表示されちゃったあと、スクリプト実行前に戻ります。私の場合はtry処理を入れて途中まででも実行したことにしています。気に食わなければ、そこでUndoするとスクリプト実行前に戻ります。
この件についてはまだきちんと調べていないが、try〜catch 構文で exception を拾わせるような処理が上手く動かない可能性が指摘されていて、それは処理の内容によってはちょっと困ったことになるんじゃなかろうか。
例えばここに書いてるように、パス文字列の示すものがファイルかディレクトリかに関係なく、とにかく実在してさえいれば、 File(パス文字列) と Folder(パス文字列) は両方 true を返してしまう、という問題がある。これを解決するために現状「Folder(パス文字列).getFiles().length を実行してみて、 exception が起きた場合はそれはディレクトリではない」のようなロジックを組んでるんだけど、多分そういうの動かないんじゃないかなあ。
その辺のことも総合的に見て、全体に横展開するかどうかを考えないといけないかも。
2017/10/13 20:28:49 |
▼偽偽DTPオペレータ部活動。 |
Main(app.activeScript);
function Main(activeScript)
{
app.doScript("doMain(activeScript)", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function doMain(activeScript)
{
var path = "D:\\bat\\DebugLog.txt";
var result = false;
if(Folder(path).exists)
{
try
{
if(0 <= Folder(path).getFiles().length)
{
result = true;
}
}
catch(e)
{
alert(e.message);
}
}
alert(path + " : " + result);
return;
}
この D:\bat\DebugLog.txt は手元の環境には実在するファイルなんだけど、
実行するとちゃんと e.message のアラートは出るし、 result は false になる。
どういう場合に「try〜catch 構文で exception を拾わせるような処理が上手く動かない」のか、ちょっとよくわからない感じになってきた‥‥‥(苦笑)。
2017/10/14 01:36:53 |
[2677.10.14.土.] |
[2677.10.14.土.] / 偽偽DTPオペレータ部活動。 |
▼偽偽DTPオペレータ部活動。 |
「ファイルかフォルダの判定」という、そのものずばりな名前のページがあって、
参考にさせてもらいました
list[i].typeで、フォルダならば「undefind」が返ってきましたよ
スペル間違ってました..
undefined でした
そこのコメントにこういう記述があった。これを基に、もう少し思考を進めてみる。
ここでいう list[i].type とは
////選択フォルダ
var baseFolder = spaceiru.system.getFoldername();
var list = (new Folder(baseFolder)).getFiles ();
for(var i=0;i<list.length;i++)
{
for(var i=0;i<list.length;i++)
{
alert(list[i].getFiles);
}
}
の list[i] なので、即ち (new Folder(baseFolder)).getFiles () の返却値である配列の要素。‥‥‥が「 function である」と信じて盲打ちして、 function じゃなかった場合には exception が起きるから catch で拾う、っていう考え方で書いてあるのが
//指定パスがファイルかディレクトリか確認(try-catch使用)
function isFolder1(path)
{
var result = false;
if(Folder(path).exists)
{
try
{
if(0 < Folder(path).getFiles().length)
{
result = true;
}
}
catch(e)
{
}
}
return result;
}
従来の判定様式を踏襲したコレで、 (new Folder(baseFolder)).getFiles () の返却値である配列の要素は「 function かどうか?」を確認する(↑の『フォルダならば「undefind」が返ってきましたよ』を応用する書き方。 function でない時は "undefined" が戻るので、そこを見て区別する)ことでその判定を代替するのが
//指定パスがファイルかディレクトリか確認(try-catch非使用)
function isFolder2(path)
{
var result = false;
if(Folder(path).exists)
{
if(typeof Folder(path).getFiles === "function")
{
result = true;
}
}
return result;
}
コレ、ということになる。
//指定パスがファイルかディレクトリか確認(try-catch使用)
function isFolder1(path)
{
var result = false;
if(Folder(path).exists)
{
try
{
if(0 < Folder(path).getFiles().length)
{
result = true;
}
}
catch(e)
{
}
}
return result;
}
//指定パスがファイルかディレクトリか確認(try-catch非使用)
function isFolder2(path)
{
var result = false;
if(Folder(path).exists)
{
if(typeof Folder(path).getFiles === "function")
{
result = true;
}
}
return result;
}
//main
exec(app.activeScript);
function exec(activeScript)
{
app.doScript("main(activeScript)", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function main(activeScript)
{
alert(File(activeScript).fsName + " : " + isFolder1(File(activeScript).fsName));
alert(File(activeScript).parent.fsName + " : " + isFolder1(File(activeScript).parent.fsName));
alert(File(activeScript).fsName + " : " + isFolder2(File(activeScript).fsName));
alert(File(activeScript).parent.fsName + " : " + isFolder2(File(activeScript).parent.fsName));
return;
}
app.activeScript の件とも絡めて、全部纏めていっぺんに確認するテストロジックがこれ。まあ Main() とか doMain() とかの関数名はあんまり好みじゃなかったので変えてるけど(笑)意味は一緒。
File(activeScript).fsName は実行しているスクリプトファイルのファイル名(フルパス)、 File(activeScript).parent.fsName はその1階層上、即ち親ディレクトリ名(フルパス)。これらを isFolder1() 、 isFolder2() にそれぞれ渡して、ディレクトリだったら返却値 true 、ディレクトリでなかったら返却値 false を戻す。
ここまでを纏めると、表示されるダイアログの内容は最初から順に false → true → false → true になる。で、 isFolder2() は isFolder1() と同じ動きをしてるワケなので、この判定をするのに必ずしも try〜catch 構文が必須というものでもない、ということがこれでわかる。
ここは isFolder2() の書き方を採用しとくべきなんであろうなあ。
もうひとつ。
‥‥‥ええと、これは exception を catch した場合の話とは違うんだが、↑これをデバッグしてて困ったのが、
途中のどこで何が起こっても絶対に「 app.doScript() の書いてある行が問題」っていう表示のされ方になってしまう(「エラー文字列」の項目に書かれた文言と「行」に書かれた記述の位置がほぼ間違いなく一致しない)ため、そういうもんだということがわかっていないとデバッグは手間取るかも知れない。
ちゃんと動くようになるまでは app.doScript() を使わずに書いて、デバッグまで全部終わってから app.doScript() からの呼び出し部分を付け足すような順番で書き進めた方が効率いいかも。‥‥‥それはそれで、それまでまったく起きてなかった、この記法に特有の問題(例えば app.activeScript を直接参照できなくなるなど)が突然起こり始めて戸惑ったりするかもだけど(苦笑)。
2017/10/14 14:54:49 |
[2677.10.15.日.] |
[2677.10.15.日.] / 何もない週末。 |
▼何もない週末。 |
昨日書いたスクリプティング話にちょっと追記したり、ついでに別のことを幾つか試してみたり。
‥‥‥簡易カタログ制作とかに首を突っ込まなければ、先週末だってこのくらいの緩い感じでいい筈だったんだけどなあ(苦笑)。
2017/10/15 21:34:56 |
[2677.10.16.月.] |
[2677.10.16.月.] / 急展開。 / GitHubのこと。 |
▼急展開。 |
元々今月29日には打ち上げ(というか「簡易カタログ制作チーム」のお疲れ様会)が予定されてたんだけど、なんかその筋から今しがた連絡があって、前日、28日にも何かごにょごにょ相談することになったみたい。
このタイミングでその面子で「相談」って、内容はもうアレ以外にないんじゃないのかなあ。まあ今から言っといてもらう分には準備期間が長くとれて制作都合上も大変助かるけど、すると個々の部材のサイズとか誌面の構成とか、基本的に僕がアイデア出ししていく感じになるんだろうなあ。そこまでトータルの制作はやったことないんだけど‥‥‥(^^;;;。
2017/10/16 14:28:45 |
▼GitHubのこと。 |
実は今までまったく使ってなくて、何十周遅れだよって話もまああるが、取り敢えずアカウント作ってみた。
ここにこんな風に引き篭もって偽偽DTPオペレータ部活動とかやってても誰の役にも立たなさそうだし(苦笑)、せっかく書くなら他人が見やすい場所のほうが多分よいこともあるにはあると思うので、まずはその辺の話からGitHubへ移行してみようかと。
2017/10/16 16:33:27 |
[2677.10.17.火.] |
[2677.10.17.火.] / 「買い物かごが便利すぎる話〜マイかごライフ〜」 / Gitの話。 |
▼「買い物かごが便利すぎる話〜マイかごライフ〜」 |
ちなみに先ほどから写っているかごですが、イオンで購入出来るんです。決して盗んだ訳ではありません。
「イオン」ではサービスカウンターで販売していました。
値段は税込390円。
前までは315円で販売されていたみたいです。
実は前々からあのカゴ幾つか欲しいと思ってたんだが、あれ普通にイオンで買えたのか‥‥‥。
調べたところ、最寄りのイオンはサービスカウンターの営業時間が09:00-23:00らしいから、何なら今晩にでもちょっと行ってみることに決める。
2017/10/17 09:55:46 |
▼Gitの話。 |
今のところ、そこに置いていこうと思ってる(というか「僕自身以外誰も使わない」ものではない可能性がありそうな)のはAdobe向けのJavaScriptなんだけど、InDesignCCのスクリプトディレクトリを直接Gitのワークスペースにしちゃうのが本当にいいことなのかどうかについてと、いま手元にある大量のスクリプトはGitで管理を始める前にいっぺん整理しないといけないだろうなってことについてと、2点の考えごとが頭の中にぐるぐると。
取り敢えず自動組版処理系は8月案件Aの時にゼロから再作成に着手してる仕組み(数えて4番目の新規自動組版処理系なので、僕内部ではv4系と称されている)がある程度形になってるので、一旦、それ以外は全部メンテの対象外にしてしまおうかと。‥‥‥思うんだけど、たぶん現在時点で既に走り始めてる冬コミ向けの(過去に作ったスクリプトを僕以外の人が実運用で使ってる珍しい)案件があり、そっちの都合も考え併せると、いきなり全部それだけっていうワケにもちょっといかなくなる感じ(苦笑)。
そっちに渡してるスクリプト(僕内バージョンでいうとv2系)と新しい仕組みでは「組む方法」とか「組み方の思想」みたいな根本的な部分が全然違うので、そこをどうするかっていうのは考えどころかも。
2017/10/17 10:52:26 |
[2677.10.18.水.] |
[2677.10.18.水.] / あの買い物カゴの話。 / 偽偽DTPオペレータ部活動。 / Gitの話。 |
▼あの買い物カゴの話。 |
「新浦安のイオンでは」って話かも知れないが、サービスカウンターで扱われてるんじゃなくて、いちばん端にあるレジの脇に「マイバスケット」の小さいコーナーがあって、そこに積み上げられてるバイオ・マイバスケットを必要なだけ持ってレジへ行き、普通に買い物として入手する形になっていた。
「ご不要になった場合はいつでもご返金いたします」まで込みのサービスである点からもわかるように、厳密に言うとこれは「イオンで買った」んじゃなくて「イオンから有償・無期限で借りた」扱いになるんだと思う。故に、本来の手順からいえば「サービスカウンターが取り扱う」(売り物と同列に陳列されるもの「ではない」)ことになってるんであろうし、例えばAmazonでだいたい同等くらいであろう品を見繕ってみると、バイオ・マイバスケットは明らかに安い。
そんなワケで、本来は「イオンの店舗で使われること(だけ)を想定したサービス」だからって話なんだと思うけど、敢えて難をいえば、脇にばしっとイオンのロゴが入ってるので、事情を知らない人がこれを見たらまず間違いなく「イオンの店舗から盗んできた」のと勘違いされるんじゃないかなあ、という部分でやや不安を感じないではない点が挙げられる(笑)。だからイオンの店内で客に貸してる買い物カゴとは明らかに色が違う(店内用は黒っぽいグレー)んだけど、行きつけてない人はそんな違いには気づかないだろうし。
あと、それはそれとして色が変。
とはいえまあ、色と実用性は別に関係ない(変な色だから便利じゃなくなるとかコトはない)ので置くとして‥‥‥ロゴの件についても、自宅の中だけで使う分には別に何も差し障りはないのだが、返却する気のない人が外に持ち出すことを考えるのであれば、ロゴの部分に何かシール貼って隠すとかを考えた方がいいのかも。
2017/10/18 10:21:44 |
▼偽偽DTPオペレータ部活動。 |
便宜上「v4」といわれる自動組版スクリプト群の機能を整理中。
僕が使ってる組版用独自形式テキストは、圏点とルビは同じ指定方法で指定する書式(ルビ文字が既定の記号1字だったらそれは圏点、という判断)になっている。というのは、まあ圏点なんて黒丸かゴマくらいしか使われないだろうからっていう見切り故の簡易な指定方式として考えた様式だったんだけど、以前ちょっと触った青空文庫形式のこともせっかくだから視野に入れて、それとInDesignの間でデータを循環させる仕組み(が扱うことのできる圏点のバリエーション)との食い合わせがよくない点をどうするか、から派生した悩み事に頭を抱えているところ。
InDesignの圏点 | 青空文庫の傍点 |
ゴマ | 傍点 |
白ゴマ | 白ゴマ傍点 |
黒丸 | ※丸傍点 |
小さい黒丸 |
白丸 | ※白丸傍点 |
小さい白丸 |
黒三角 | 黒三角傍点 |
白三角 | 白三角傍点 |
二重丸 | 二重丸傍点 |
蛇の目 | 蛇の目傍点 |
※ない | ばつ傍点 |
カスタム | ※ない |
改めて整理するにあたって、InDesignと青空文庫のそれぞれで指定可能な圏点(=傍点)同士の対応表を作るとこういう感じになる。
実はこの他に、InDesign側には明示的に「なし」値もあるんだけど、その場合はいずれについても「圏点を指定しなければいい」だけの話で、だから「圏点の設定値」として「なし」を明示しないといけない局面とかいうものは普通ない筈なので、この話の中では考えないものとする。
そもそも1対1で対応してる部分は相互に変換されれば済むだけの話として、そういう風に簡単には整理がつかない部分(※)を別途書き出すと以下のようになる。
- ■InDesignにあって青空文庫にない
- 「黒丸」と「小さい黒丸」の区別
- 「白丸」と「小さい白丸」の区別
- [整理]青空文庫形式からInDesign形式へ変換する際、「(白)丸傍点」は大小どちらに寄せるのかを予め決めておく必要がある
- [制約]InDesign形式から青空文庫形式へ変換する際、大小がどちらであっても区別なく「(白)丸傍点」として扱う
- 「カスタム」(任意の指定文字を圏点として扱う機能)
- [整理]青空文庫形式に「カスタム」はないので、青空文庫形式からInDesign形式へ変換する際に「カスタム」の存在を考える必要はない
- [制約]InDesign形式から青空文庫形式へ変換する際、指定文字が「×」でない「カスタム」は不正データ扱いせざるを得ない
- ■青空文庫にあってInDesignにない
- 「ばつ傍点」
- [整理]青空文庫形式からInDesign形式へ変換する際、「ばつ傍点」は『指定文字が「×」である「カスタム」』として扱う
- [整理]InDesign形式から青空文庫形式へ変換する際、『指定文字が「×」である「カスタム」』は「ばつ傍点」として扱う
で‥‥‥個人的にいちばん頭を抱えてる部分は、現状手元にあるインターフェイスは「カスタム」の「任意の指定文字」が指定できるような仕組みでない部分。まあ使う気ないから無視してたワケだけど、「今回の改修を機に、独自形式でも青空文庫形式でも扱えるようにしよう」みたいなことを思い立ってしまい、すると最初から実装されていた「黒丸かゴマくらいしか」以外も実装範囲に含めざるを得なくなり、で、じゃあカスタムどーすんの、と(苦笑)。
独自形式側の指定様式を変えるというか、ルビの指定様式とは別のものとして独立させなきゃダメだろうなあ。そうするとPerlと秀丸マクロの組み合わせによる中間コンパイルの仕組みも直さないといけないが(^^;;;。
2017/10/18 15:15:46 |
▼Gitの話。 |
一応インストールまでは済んで、ユーザ名とメールアドレスを設定のglobalに登録するとこまでは一応やったんだけど、なんかこの辺の詳しい設定項目の話とか見てると、幾つか間違ってたような気がしないでもない‥‥‥(^^;;;。
まだ中身が何もないうちこそむしろチャンスではあるので、何だったらアンインストール→再インストールとか一応やっといた方がいいのかも。
それから、昨夜弄っててちょっと不思議だったのが、そのglobalの設定内容とかを持ってる筈の.gitconfigっていうファイルが、何故だか見当たらなかったんだよなあ。「git config --list」を入力するとユーザ名とかメールアドレスとか見えるようになってるので、つまり絶対どっかのファイルに書いてはある筈なんだが。
このサイトとか見ながら再度探してみる。
それから、GUIクライアントも結構いろいろあるのね。
職場のSubversionの運用にはTortoiseSVN使ってるので、その流れでTortoiseGitでもいいし、Git Extensionsってのもあるみたいだし、この辺も何かひとつ見繕ってインストールしておく。
そこまではGitそのものの管理の話として。
GitHubをブログとして使う方法みたいなのがあるらしくて、だから↑でやってるような偽偽DTPオペレータ部活動なんかを是非そういう場へ移行していきたいのだが、最初のところでまごついてるのでまだそういうところまで話が進んでいない(苦笑)。‥‥‥というか、「v4の機能を整理する」のと「Gitの環境を作る」のを同時に並列で進めてくのは恐らく無理なので、どっちか片方を片付けてからもう片方って順番でやってかないと、最終的に多分どっちも整理がつかなくなるんじゃないかなあ。
その辺のことも考える必要が。
2017/10/18 16:25:01 |
[2677.10.19.木.] |
[2677.10.19.木.] / Gitの話。 |
▼Gitの話。 |
現在のお手本。
ダウンロードしたバイナリは置いたままにしてあったので、アンインストールして再インストールして、「SSHキーの作成」までは実施。
次いでTortoiseGitをインストールしてみたところで昨夜は時間切れ。
要領が掴めないうちから自動組版v4みたいな大物を相手にするのも何なので、差し当たっては細かいスクリプトをGitに載せながら、使い勝手含めたいろんな様子を見ていこうかな、とか。「このドキュメントの格納パスをExplorerで開く.jsx」とか「選択した文字のコードを調べる.jsx」とか「全レイヤーのロックを外す.jsx」とかそういう、スクリプトファイル1個で内容が完結してるタイプの小間物をまず扱ってみる方向で。
‥‥‥で、Gitの中をどういうディレクトリ構成にするのがいいんだろ、というか、どこにどういうディレクトリ作るとどういう見え方になるんだろ、とかについて今後調べることにする。
2017/10/19 13:30:31 |
[2677.10.20.金.] |
[2677.10.20.金.] / Gitの話。 |
▼Gitの話。 |
実は、「jsx」というディレクトリを作って、そこにひとつ.jsxファイルを置いてみている。
テストも兼ねて2バイトのファイル名もそのままの状態でほいっと置いて、それをcommitしたからGitHubからでもそれが見えるようになるのかと思ったんだけど、実際はそういうことではないっぽい。
つーか、ここのディレクトリは拡張子が.jsxであるもの置き場にする気でいたので、サブディレクトリとか作ってもうちょっと細分化したいと思い立ち、最初は「tool」ってサブディレクトリを作ってそのスクリプトを置いて、それでGitHubからサブディレクトリが見えてないので、一旦ディレクトリとスクリプトを消して、再度直下にスクリプトだけ置き直してみて、でもやっぱりGitHubからは見えないのね、とわかったところで昨夜はおしまい。
無課金版だからpublicでしか作れないって話だったので、ただ単にモノを置きさえすれば勝手に公開状態になる(ことを「public」って言うよね普通^^;;;)のかと思ってたんだが、なんかその辺の認識が誤ってるのだろうか。
んでそれとは別に、ローカル直してcommitしてローカル消して同期で戻すとか、そういうようなことがちゃんとできるなら、GitHubはともかくGitは使えるってことになるので、まあ、仮にそれだけになったとしてもそれはそれで。
‥‥‥っていうかこう、もしかしてGitHubって、あるテーマに沿ったものをあるディレクトリの配下で階層整理してツリーごと置いとくようなものではなくて、例えばスクリプトが3つあったらルートの直下にリポジトリ自体も3つ並べて、README.mdも3つそれぞれ用に書くような方法をとるものなんだろうか。
https://github.com/730deusexmachina/jsx/blob/master/README.mdもまだ何も書いてないので"# jsx"とか表示されてるだけだし。
なんかその辺の感覚的なことがイマイチわかってないので、何をやってもしっくり来ない感じが超もどかしい今日この頃(苦笑)。
2017/10/20 15:38:21 |
[2677.10.21.土.] |
[2677.10.21.土.] / 「DTPの勉強会 第26回」@「エッサム神田ホール2号館」 |
▼「DTPの勉強会 第26回」@「エッサム神田ホール2号館」 |
前々から参加してみたいとは思ってたんだけど、「DTPスクリプト・プロフェッショナルの思考や管理の中身をみてみよう」なんてテーマを持ってこられるとなると全然まったく他人事でないので、この機会に参加してみた。
神田で昼からなので、早めに出掛けて不在者投票経由で、と思ったものの、投票会場に出向いてみたらすごい待ち行列を目の当たりにする羽目に陥り、投票は翌日でもいいので断念してそのまま神田へ。
場所を確認後、時間調整も兼ねて近くの天下一品でチャーハン食ってる間に入場開始。‥‥‥ここでひとつ、まあ失敗といえば失敗してることがあって、思ったより電源の口がないというか、主催者側が延長ケーブルでタップを増設してるとかそういうことはまったくなかったし、故に、電源が欲しいんであれば最初から壁側のタップ脇に陣取ってる必要がある方式だったので、ノートPCとか使いたいのであれば、開場の段階でチャーハン食ってる場合ではないのだった(苦笑)。
仕方ないので、メモ取ったり合間にTwitter見たりのツールとして、SHT22にDM200をBluetoothで接続して外部キーボードとして使うフォーメーションを久々に実戦投入。当然、VAIO Zをそのまま使うのに比べたら便利さに劣る点は否めないが、まあ一応、これでも用は足りた。
- ■#1.. スクリプトを作るための始めの一歩〜学習の壁を打ち破れ(@大間知 聡氏)
- 「スクリプト書いたことがない・他所からコピって持っては来れるけどその後の面倒は見られない」レベルの人向けセッションなので、曲がりなりにも現役のSE・プログラマ・スクリプト書きである僕にとって直接得るところが少ないのは当然。
- そういう人にプログラミングを教える人がどういう苦労をしているか、プログラミングについてわかってもらうためにどんな工夫をしているか、という点に関してはすごい勉強になった。「冷たいものが飲みたい」の例え話、「おかんが割り込んできたので対処を入れたら上手く動かなくなる」を後半に織り込むことを内緒の前提とする話運びが流石の流麗さで感心した。
- このセッションでは割と徹底して、観念とか概念の話、あるいは外堀の話しかしていない。
- ゴリっゴリの実践編だった#3.や#4.の登壇者にとって、この話の直後であり、この話の内容がまだ呑み込めてない人であり、そういったシチュエーションは結構やりづらかったんじゃないかなあ。
- ■#3. 品質を担保するためのInDesign用スクリプトの紹介(@三枝祐介氏)
- 僕にとってはここが見所だった。
- 「Scripts Panel」と同レベルに「Startup Scripts」ディレクトリを作り、そこにスクリプトを入れておくと、InDesign起動時に勝手に実行される。
- InDesign動作中の様々なイベントをフックして処理を割り込ませるためのスクリプトをそこに置いておくと、任意の処理をイベントに反応させることができる。
- 大体そもそも、これらのことを僕は知らなかったので、最初から最後まで目から鱗が落ち続けるセッションだった。これを知ることができただけでも参加した意味があったといえる。
- 確かにこれはちょっと掘り甲斐のあるテーマなのでは。僕も考えてみよう‥‥‥。
- ■#4. バージョン管理システムの概要と使い方(@横田孝次郎氏)
- 要するにGitの話であり、僕個人的にはタイムリー以外のナニモノでもない。
- ただまあ、職場でSubversion使ってやってるファイル管理とか、現時点の自分にもGitでできることの範疇からは出なかった(これも最初のセッション同様、この段階で既に予習しすぎている状態だった)ので、取り立てて目新しいトピックはなかった。
- とはいえ、無論のことだが「そこにミスマッチがあるのは登壇者のせい」とかいう話では全然ない。ほんと勉強会運営って難しいなあ‥‥‥。
- ■質疑応答→クロージング
- 最初のセッションで「フローチャートを書いてからスクリプトを構築するのが大事」という話があったのを受けて、「今日登壇した人たちは実際にどのようにフローチャートを書いて準備しているのか?」という質問が出たが、実は、実作業にあたって所謂フローチャートを書いてる人が本当は誰もいなかった、という変な状況が現出した(笑)。
- 『「ステップごとのタスクを並べる順番」(=手順)を可視化して整理する方法』として「階層化エディタを使っている」という三枝氏の実例が紹介された以外は、「これをこうしている」という明瞭かつ具体的な話は特になかったと思う。
- 要するに、登壇した3人は「可視化した手順を外部に置かないと全体を俯瞰できない」時期をとっくに通過してるんだよね。「こういう機能のスクリプトが欲しい」を思いついた時点で手順もある程度見えてる人にしてみたら、それはわざわざ書き下すまでもないことであり、だからそういう人にそれを尋ねても実践してる筈がないワケで、そのために質問自体が空振りしてる。
- 「DTPスクリプト・プロフェッショナルの思考や管理の中身をみてみよう」という全体テーマからいえば、このギャップを乗り切って相互理解に至るための上手いアイデアが「実はどっち側にもない」ことを露呈した、この瞬間のストレンジ具合こそ最高のおもしろポイントだった、ともいえるかも。
- だから、いま既にスクリプトを書いてる僕らは、書けない人からは異星人に見えるんだよね‥‥‥。
- DTPにおける素材データや組版した.inddファイルといった、実際の制作に密接に関わるデータは、ファイル管理システムでどのように扱ったらよいのか、という質問が出た。
- 例えば.inddファイルはバイナリファイルなので、実際は何も中身を変えていなくても、バイナリがちょっと違えば「更新されたファイル」になってしまう。このため、「中身が読み下せるデータである」から便利、という特徴に振ったGitのようなファイル管理システムでは扱いづらい。
- 画像などの素材データについては、あまり大きいものでないなら、それ自体をファイル管理システムに載せてしまうやり方もある。単独で10MBを越えると(だっけ?)アラートは出るが、それでファイル転送ができなくなるわけではない。またGitの場合、Git LFSなどが使えるかも。
- こっちの方が問題としてより具体的だし目先にあるし、って人々ならではの質問なんであろうなあ。これも興味深い一幕だった。
ざっと感想を纏めたついでに、質疑応答について追記。
もうひとつ気づいた点として、実際にInDesignで動くスクリプトそのもののサンプルやデモを披露し、僕個人にとっては本番そのものであった三枝氏に対しては誰も、なんにも、直撃の質問を投げ掛けはしなかった、ということもある。あれは多分、「質問することがない」んじゃなくて、会場の大部分は「あの内容に対して質問できるだけの素養をまだ持たない」人たちだった(ざっくりいうとセッションの内容が高度すぎた)からじゃないかな、と思う。
‥‥‥そういった意味で、この勉強会にはまさに「DTPの現場」の人が多く集まっていて、「スクリプト書きのためのお祭り会場」とかではなかったし、またそれ故にこそ、そういう人々を相手に自動化のメリット、美味しさを伝えようとする活動が大きな意味を持つ(と、特に大間知氏は考えているであろう)ワケだから、むしろこれが正しい反応であり、最初の一歩なんだろうなあ、とかいうことを思いながらあの場を見ていた。
2017/10/23 13:13:11 |
[2677.10.22.日.] |
[2677.10.22.日.] / 台風だけど外出。 / らいとすたっふのやっつけ仕事の話。 |
▼台風だけど外出。 |
朝のうちに投票を済ませて神田で人と会い、あとは天気が悪すぎるので八重洲の地下に引き籠もってごそごそやっていた。
2017/10/23 16:44:26 |
▼らいとすたっふのやっつけ仕事の話。 |
何となく気が向いて、また銀英伝読み返してるんだけども。
なんか気になってTwitterで聞いてみたら、徳間の新書版(最初の銀英伝)、創元SF文庫版(現在の銀英伝)、そしてここに改めて愕然とするんだけど、昔iOSアプリとして売られてたバージョンの電子書籍、それらのいずれにもこの誤字はないと判明した。
このことから何がわかるかというと、
- 田中芳樹は未だに原稿用紙に手書きで原稿を書いている人なので、入稿時点のデータはデジタルになっていない。
- 徳間の新書版はともかく、創元に移籍した2007年なら既にDTPが主流だった筈で、これは予測だが、手書き原稿からテキストデータへ移行させ、通常の方法で組版する手順に、出版社側は遅くともこの時点で準拠している。
- 作者本人を擁するらいとすたっふであれば、この流れにおける最終版のDTPデータから「校正済みのテキストデータ」をフィードバックさせることは恐らく可能だと思うんだが、らいとすたっふ側はそれを入手していない。
- iOSアプリ版として販売し、その際にも多数の誤字が指摘されたのは、前段にある通り、遅くとも創元に移籍した段階においては存在したであろう「校正済みのテキストデータ」を踏まえず、出来本そのものからのOCRスキャンのような手法によるデジタル変換を再度実施したからだ、と考えられる。
- 今回僕がベンダ版電子書籍について指摘した誤字が、徳間版・創元版は元より、iOSアプリ版にもないということは、iOSアプリ版に対して誤字の類が指摘され、都度修正した結果として、こちらは「多分」でなく「必ず」存在している筈の「iOSアプリ版の最終データ」、即ち「校正済みのテキストデータ」も踏まえることをせず、出来本そのものからのOCRスキャンのような手法によるデジタル変換を再度実施したからだ、と考えられる。
こんなことがわかる。
徳間・創元はともかくとしても、当初は同じように校正がザルい感じだったとはいえiOSアプリ版のテキストは絶対にデジタルデータだし、テキスト自体を修正してから再度読み込ませてアプリ作る手順でやってるに違いないので、それを流用したePubデータをベンダに渡せば、少なくともアナログ→デジタルをまたやり直す必要はない筈なのに、ベンダ版のためにまたそれをやって、で、また校正がザルいのだ。そういう流れからでなければ「iOSアプリ版にはないけどベンダ版にはある誤字」は存在し得ない。
「馬鹿かお前!馬っ鹿じゃねえのか!? またはアホか!?」
流石に、これには呆れる他はない。
で‥‥‥こうした誤字の問題に限らず、らいとすたっふ文庫の中の人たちは「現在マイナスである電子書籍の品質を0点まで戻す」作業にはこれっぽっちも興味を持ってないんだろうと前から思ってて、そのことを端的に示す例として、
技術的な話をすると、多量のスクリーンショット画像全部から同一箇所だけ抜き出し、個別の統合済みPSD画像にしていくJavaScriptをスクラッチし、InDesignにそれを並べたページを作る部分は結局手動でやり、元々持ってる「InDesignドキュメントをページ毎にJPG画像化する」JavaScriptからの出力をTwitterのツイートに貼ったのがこちら。
前からずっとそうなんだけど、らいとすたっふ文庫の本って柱の内容がものすげえ適当なのね。
だって、こんなことやって許される紙の本って現代日本にある?
これをこの通りに紙でやったりなんかしたら、それは絶対に事故として扱われるインシデントになるでしょ?
こんな目立つ問題に気づいてない筈はないし、誰からも一度も指摘されてない筈もないのに、その気になればいつでも直して再アップできる電子書籍でこんな目立つ問題が連綿と放置され続けてるのは、電子書籍の版元としてのらいとすたっふは、「本としての完成度」とかには別になんにも興味ないから、ってことでしょ?
この人たちって本当に出版業界の人たちなの?
自分でちゃんと作れないなら電子書籍も紙の版元に任せりゃいいのに‥‥‥。
2017/10/23 16:47:12 |
[2677.10.23.月.] |
[2677.10.23.月.] / 偽偽DTPオペレータ部活動。 / Gitの話。 / 「DTPerのスクリプトもくもく会 #4」のこと。 |
▼偽偽DTPオペレータ部活動。 |
そういえばVBScriptってのがあったな、とかいうことを土曜に思い出したワケですよ。
いま手元にあるスクリプトの中に「このドキュメントの格納パスをExplorerで開く.jsx」というのがあって(Gitに置いてみているのが実はコレ)、これは「InDesignが1個以上のドキュメントをオープンしている場合は、app.activeDocumentに該当するファイルが選択された状態のExplorerを開く」機能を持つ。
んでこの「Explorerを開く」のところが、InDesign用のJavaScriptから直接OS経由の外部コマンドとかを実行できないため、「Explorerをstartする」命令だけが書かれたバッチファイルをJavaScript側から生成し、それを実行して、実行後にバッチファイルを削除する、という方法で実現されていたんだけど‥‥‥そういえば、VBScriptってのがあったな、とか。
VBScriptからならOSコマンドを直接実行できる筈なので、バッチファイルを作る、消す、のような操作は必要なくなる筈。
何より、これはバッチファイルなんだから仕方ないのだが、現在版を実行すると必ずDOS窓が画面に表示されて消える(=バッチファイルが普通に呼び出されてる)のがビジュアル的に格好悪いんだけど、これも表示されないようにできる筈。
ってな次第で、JavaScriptで書かれた「このドキュメントの格納パスをExplorerで開く.jsx」をVBScriptで書き直してみよう、というテーマが湧いて出る。
で。
この書き直しというか、JavaScriptからVBScriptへの翻訳に、現在たいへん難儀中。
もうそもそも「InDesignが1個以上のドキュメントをオープンしている場合は」の判定からして上手く動かない。AdobeのスクリプティングガイドにはInDesign.ApplicationオブジェクトにDocuments.Lengthがあるように書かれてるけど、実際それを参照しようとするとエラーが起きる。
例えば、
Set indd = CreateObject("InDesign.Application")
Set document = indd.Documents.Add
MsgBox(CStr(indd.Documents.Length))
document.Close
Set document = Nothing
Set indd = Nothing
これは「新規ドキュメントをオープン→現在オープン中のドキュメント数をダイアログで表示→新規ドキュメントをクローズ」という機能のVBScriptである筈なんだが、動かすと、indd.Documents.Lengthが「オブジェクトでサポートされていないプロパティまたはメソッドです。」と言われる。
ここでちょっと手詰まりになり、目先を変えるのも兼ねてスクリプティングチュートリアルの方を見てみたら、ExcelのVisual Basic for Applicationsに積まれたオブジェクトブラウザを使ってInDesignのOLEオブジェクトを参照する方法が書いてあり、結果、
DocumentsにLengthというメソッドは本当になく、僕が狙った使い方にはCountがマッチしていることを知る(苦笑)。
Set indd = CreateObject("InDesign.Application")
If 0 < indd.Documents.Count Then
If indd.ActiveDocument.Saved = True Then
Set shell = CreateObject("WScript.Shell")
shell.Run "explorer.exe /e,/select,""" & indd.ActiveDocument.FullName & """"
Set shell = Nothing
End If
End If
Set indd = Nothing
そんなこんなあって最終的にできあがったVBScriptがこれ。
ファイル作って実行してファイル消して、の部分を目論見通り省略できたので、無駄なI/Oとそれに伴うリスクが減り、バッチファイルのウィンドウオブジェクトが表示される的な問題も起こらなくなった。この機能に関してはこれが完全版と言ってよいと思う。
こんな小さいもの作るのに、なんか思ったより苦労したなあ‥‥‥(^^;;;。
2017/10/23 19:09:07 |
▼Gitの話。 |
Gitにcommitしたスクリプト類が遂にGitHubから見えるようになった。つーか要するに、commitするだけじゃなくてpushしないと公開されてる状態にならないみたい。
取り敢えずjsxと、↑で作ったVBScriptが1本だけ置いてあるvbsの2カテゴリで開店。
さて次は、README.mdに何を書くべきか、今それがないディレクトリにそれを置いたら何が起きるのか、とかのあたりを確認して、それから、偽偽DTPオペレータ部活動に書いてるようなメモ書きの移行先を確保する方向で。
2017/10/23 23:38:40 |
▼「DTPerのスクリプトもくもく会 #4」のこと。 |
土曜の勉強会における後半の登壇者コンビが中心になって開催されてるということで俄然興味が湧き、また、ちょうど心が揺れたタイミングでVBScriptがままならないことに頭を抱えてもいたもので‥‥‥不意にそのふたつが脳内で繋がって「つまりDTP向けスクリプト書きが集まる場へ出向いていくテーマが僕にもあるってことじゃん!」という気づきを得るに至り、経験者枠で参加を申し込んでしまった。まあ経験者枠の人は誰かに何か訊いちゃいけないってコトもないだろうし。
‥‥‥で、申し込んだちょっと後に、VBをインストールせずにOLEオブジェクトブラウザを使う方法が判明し、それ故に、頭を抱えていた直接の原因は取り除かれてしまったのだが(苦笑)、でもまあ、だからやっぱり行きませんってワケにもいかないので、それはそれとしてちょっと様子見てみようかと。
2017/10/23 23:45:43 |
[2677.10.24.火.] |
[2677.10.24.火.] / ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 / 偽偽DTPオペレータ部活動。 / 偽偽DTPオペレータ部活動。 |
▼ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 |
旧作(DS版STRANGE JOURNEY)を確か4〜5周してるくらいには既にやり込んだ後なので、これを買うかどうかに関してはずーっと悩んでたんだけど、たまたま今は遊んでるゲームがない(というかドラクエ11以降ない)のに加え、先日うっかり旧作のカートリッジが発掘されて来ちゃったりなんかして、パスワード経由ならDS版からでも仲魔を持って来れるっていうフィーチャー的にも美味しい条件がこれで整ってしまい(笑)、もうこうなると遊ぶしかないんじゃないかな、っていう。
昨夜のうちに決済とダウンロード予約を完了してあるので、あとは発売日に更新(というかロック解除?)が来るのを待つのみ。
2017/10/24 10:41:29 |
▼偽偽DTPオペレータ部活動。 |
「InDesignが1個以上のドキュメントをオープンしている場合は、app.activeDocumentに該当するファイルが選択された状態のExplorerを開く」のVBS版を昨日作ったワケだけど、早速これが
Option Explicit
Dim inddObj
Set inddObj = CreateObject("InDesign.Application")
If 0 < inddObj.Documents.Count Then
If inddObj.ActiveDocument.Saved = True Then
Dim shellObj
Set shellObj = CreateObject("WScript.Shell")
shellObj.Run "explorer.exe /e,/select,""" & inddObj.ActiveDocument.FullName & """"
Set shellObj = Nothing
End If
End If
このように修正されることになった。まあ、Gitのバージョン管理機能を試すいい機会と考えよう(^^;;;。
- Option Explicit文とDim文を付記
- CreateObject("InDesign.Application")の代入先変数名を3. に合わせて変更
- CreateObject("WScript.Shell")の代入先変数名を変更
まあ1. はオマケ。どうせ手を入れるんだから一般的なおまじないには対応しとこう、っていう。
2. も3. のオマケで、つまり本当に直したいのは3. だけといっても過言ではなかったのだけど、じゃあ3. は何故直したのかというと、
Attribute VB_Name = "id_openExplorer"
Option Explicit
Public Sub activeDocumentの格納パスをExplorerで開く()
Dim inddObj
Set inddObj = CreateObject("InDesign.Application")
If 0 < inddObj.Documents.Count Then
If inddObj.ActiveDocument.Saved = True Then
Dim shellObj
Set shellObj = CreateObject("WScript.Shell")
shellObj.Run "explorer.exe /e,/select,""" & inddObj.ActiveDocument.FullName & """"
Set shellObj = Nothing
End If
End If
End Sub
これをExcelのVBAに直接貼ったら動くのかなあ、とか不意に思い立って、元のコードのネストを下げてSub〜End Subで括っただけの上記のような標準モジュールを用意してみたんだけど、2. の修正前の変数名「shell」が、この状態でExcel VBAで表示させてみると勝手に「Shell」に直される奴で、つまりVBS的にはそんなことないけどVBA的に「Shell」が予約語になってるということであり、名前を変えないと流用先で動かなかったから。
あと、後から教えてもらったんだけどVBSの変数は全部Variantとして扱われるので型指定できないらしく、だからDim文に「 as Object」とか付け足した状態にすると、VBAでは普通に動くけど、VBSではエラーで動かなくなる、というのにも若干嵌まった。
それと、これはスクリプト自体の書きっぷりとは関係ないポイントだが、
- Adobe InDesign CS6_J Type Library
- Windows Script Host Object Model
InDesignの方はバージョンによりけりとして(上記サンプルはCS6)、ともかくこれらの参照設定をcheckedにしておかないと、上記のスクリプトはVBAでは動かないことに注意する。
2017/10/24 12:40:29 |
▼偽偽DTPオペレータ部活動。 |
これも土曜に得た知見として、『「Startup Scripts」の内容はシンボリックリンク(Windowsではショートカット)でよいので、あるパスに集中的に置いた.jsxファイルの格納先をシンボリックリンクにして置くようにすれば、全てのバージョンのInDesignに対してスクリプトの実体を置く必要はないです』ということにちょろっと言及されていた。
「Startup Scripts」がそれでいいなら「Scripts Panel」だってそうなんじゃないの、と思い、いま手元のCS6で試してみたんだけど、
- スクリプトのショートカットを「Scripts Panel」以下のどこかに置いて、そのスクリプトのショートカットを実行
- スクリプトが入ったディレクトリのショートカットを「Scripts Panel」以下のどこかに置いて、中のスクリプトを実行
- スクリプトのショートカットが入ったディレクトリのショートカットを「Scripts Panel」以下のどこかに置いて、中のスクリプトのショートカットを実行
これら全て、「Scripts Panel」配下にスクリプトそのものを置いた場合と完全に同じ感覚で実行でき、かつ、実行パスは実体としてのスクリプトファイルが格納されたディレクトリになっていた。‥‥‥全部実体じゃないとダメなのかと思って、今までずっと「元のスクリプト置き場からScripts Panel配下へツリーを丸ごとコピー」みたいな仕掛け作ってまで頑張ってきたのに、
- 〜\Scripts\Scripts Panel\は実体としてディレクトリがないと認識されない(「Scripts Panel」ディレクトリそのものをショートカットで代替することはできない)が、その中に格納するものはすべてショートカットでOK
- 〜\Scripts\Startup Scripts\は、「Startup Scripts」ディレクトリそのものをショートカットで代替するのもOK
これでいいんだったら、「元のスクリプト置き場から配下へツリーを丸ごとコピー」なんて全然まったく要らなかったんじゃん(苦笑)。ぐぬぬ‥‥‥これはもっと早くに知っておきたかった‥‥‥。
あとまあ、最近の取り組みとして「スクリプト類をGitで管理しますよ」っていうことを考える時に、そもそもそのスクリプトってものが同一PC内に2セットある有様だったので、Gitの管理対象を何にして、どれをどういう風に複製したらいいの、的な部分を考えるのが面倒にも程があったのでGitからして放ってあったワケだけど(苦笑)。
これでいいっていうことは、Gitの管理下にあるスクリプト開発ディレクトリを原本と定めることがまず可能。
そして、例えばその根元のディレクトリへのショートカットをScript Panelに置くような方法にすれば、取り敢えず原本が1ヶ所に集約されることにもなるし、実際使うスクリプトのショートカットを纏めるディレクトリをどっかに作れば、「常用するスクリプトしかScript Panelには置かない」的な制御ができるようにもなるかもだし、ともかくも、その辺どうするか選ぶ権利がユーザ側に来ることになるだけでも相当景色が変わると思う。
2017/10/24 13:21:43 |
[2677.10.25.水.] |
[2677.10.25.水.] / 偽DTPオペレータ部活動。 / ちょっと嬉しかった。 |
▼偽DTPオペレータ部活動。 |
もうエロゲなんか全然まったく遊んでないし、というかそもそも買ってもいない有様なので、恒例行事っぽい感じで「クロシェットのエロゲ二次創作合同をやるから原稿書いて欲しい」みたいな話が来たのを、実は、今年は断った。
それはそれとして、そこの企画の僕はこれまでずっと原稿書きと編集サブを兼任して(というかスクリプティングの実践の舞台として使わせてもらって)おり、故に今年は編集サブとしてだけ関与することにして‥‥‥で、サブなので呑気に他所事やってる間に(^^;;;Dropboxにぽちぽちデータが上がり始めてるんだけど、僕の現在の環境(つまりInDesign CC2017)よりも新しい環境で作られたデータだから開けません、というアラートが上がるファイルが混在してることに昨夜気づいた。
慌ててInDesignだけCC2018にアップデートして、既に置いてある.inddファイルがすべて読み書きできるのを確認。
まだ内容は読んでないが、組版上の怪しかった点に軽く手を入れるなど。
後々のために、この案件で現在見えてるタスクを一旦整理しておく。
- 編集主務が外出中なので、取り敢えずその間に新規追加もしくは更新された原稿のケア。具体的には組版結果の新規作成もしくは更新とサンプルPDF出力。
- マスターページ再適用スクリプトの動作がイマイチ格好悪いので、まずそれを直す。
- というか、この案件向けのマスターページ再適用スクリプトってもしかしてリリースしてない?(苦笑) testに入ってた奴は多分他のを流用した奴なので、それのブラッシュアップと正式リリース物件化。
- というか、何だったら最初の1回だけでも、v4で組み直した結果をベースにするか‥‥‥。
- 今までとは考え方の違う目次のレイアウト案と、それを実現するための目次自動組版スクリプト更新について編集主管から相談されてるので、そこの部分の作り込みが必要。
- .inddファイルの叩き台作成。
- 目次自動更新スクリプト作成。
2017/10/25 09:52:49 |
▼ちょっと嬉しかった。 |
三瀬弥子さんという方は、夏コミの3日目にレトスさんちを一緒にジャックした縁で現在相互フォローっていう、逆にいえば現段階でそれ以外がほぼ何もないという、まあ人間関係を横から見たら比較的縁が遠い側の方ってことになると思うんだけど。
相方の本棚にオーガスト10周年とかクロシェット合同誌とかがあるから背表紙は毎日見てる、って環境にいらっしゃるそうで‥‥‥正直、そりゃ事実として編集作業に入ってはいるから「編集」のところに僕の名前はクレジットされるんだけど(もっというとその奥付自体も僕が全部書いてるんだけど^^;;;)、準備してるこっちにしてみたら『「この本を誰が編集したか?」なんてことに興味持つ人』の実在なんかこれっぽっちも信じてない状態で書いてるもんであり(笑)、こんな風に間柄が遠い人の名前を、しかも奥付にあったのを思い出すのってすごいな、とちょっと思ったのだった。
というのは、実をいうと僕の名前は両方の目次にも載ってるのね。原稿も書いてるから。
で、例えば「あのSSを書いた人!」みたいなことを憶えてるってことなんだったら、こういうのってもっと呑み込みやすい話になるワケ。「作品」には、そういうかたちで記憶に残る可能性があるから。
でも「Editor」とか「編集補佐」とかって肩書きの人が具体的にその本のどこをどうしたのかっていうことには、例えば編集工程そのものに興味がない人にはわかりようがないことだから‥‥‥究極、普通の読者がそこを確認しようとするのは出来本に何かよくないことが起きてる場合だから(苦笑)、そこに書いてある名前のことを憶えてる人がいる可能性なんか全然想定しないし、むしろ「普通の読者が確認しなくていい情報でありますように」という祈りすら込めて、いつも、そこに自分の名前を書いている。
ここ何年かで急に手掛ける機会が増えた「僕の本じゃないけど編集以降は全部僕」的なのも含め、僕がやってる全部の本が、この点に関してはそういう考え方に基づいてると思ってもらっていい。
だから、例えばこういう知名度の話みたいなアレになると、編集要員は俄然不利なのね。
端的に言って「作品」は加点法だけど「本」は減点法だから。
でもこのケースでは、目次じゃなくて「奥付に名前乗ってた」ことが、つまり「Editor」やら「編集補佐」やらの方に僕の名前が書いてあったことが思い出されてるワケじゃん。いやそれはもちろん、『「誰が編集したのか?」が気にかけられてたせい』かどうかは、こっち側には全然わかんねえことなのだけど。
でもやっぱりこう‥‥‥6年前の冬コミ新刊だったあれは、6年も経ってから、奥付に書いた自分の名前がこんなかたちで思い出されるような仕事になったんだなあ、とか考えると感慨もあるというか。
2017/10/25 15:32:56 |
[2677.10.26.木.] |
[2677.10.26.木.] / ゆうべのひみつ。 / ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 / 偽偽DTPオペレータ部活動。 |
▼ゆうべのひみつ。 |
午後12時の男「タイムシフト 君と見た海、君がいた空」を書店で購入し、ごく個人的に祝杯上げたい気分だったのも兼ねて手近なさくら水産に転がり込み(だって魚が食いたかったんだもん)、特大さば一夜干しを跡形も残さず消滅させる作業の傍らで黙々と読み進め。あ、皿とバランと、それからレモンの皮は流石に残ったけど(w。
可能ならそこで、正確にいえば帰宅以前に読み切ってしまいたかったのだが、思ってたよりも厚めの本だったこともあり、ちょうど半分読んだあたりで中断せざるを得ない感じに。
2017/10/26 10:05:36 |
▼ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 |
「人類よ。これ以上、何を望むのだ。」(声:小林清志)っていう旧作のキャッチが、それ自体格好いいし見事に内容を表現してるしで極めて絶妙であり大好きだったんだけど、今回それは使われてないらしいのがちょっと残念。
改めて「決断せよ――。未来(すべて)を敵に回しても。」って言われても、大体のメガテンはそういう決断をプレイヤーに迫るゲームだから、それじゃいつもと一緒じゃん、としか思わなかった感じというか(苦笑)。
luci2 00:01:20 |  :  | ほんとに0時ジャストであそべるようになったー! |
luci2 07:29:53 |  :  | 早速アントリアで全滅1。そういえばオキクムシいなくなってる? |
luci2 07:54:16 |  :  | ごめんオキクムシいた(苦笑)。DS版最初に遊んだ時は確か初ランダムエンカウントがオキクムシで、初めて飛んできた攻撃がムドだった記憶が。まあ当たりはしなかったが。 |
さておき。
帰宅後、試しに日付が変わる3分前とかにも起動してみたけどダメだったDEEP STRANGE JOURNEYが、本体時計で0時回ったら本当に起動できるようになったのであった。‥‥‥だから、これがあるから読み切っておきたかったんだけど(^^;;;。
そのままゲーム開始。難易度はノーマル。
アントリア徘徊中。まだ「地下の戦場っぽいフィールドに片足突っ込んだ」だけ。でも早速、主人公死亡で1回ゲームオーバーになってて、それは悪霊ディブク3体編成からのジェットストリームドルミナー(単体にバッドステータス「睡眠」を付与)に持って行かれたせいだったんだけど、ゲームが始まって最初に探索するマップの中に、しかもパラメータ的に弱いにも程がある主人公チームに対して、こんな致命的な攻撃してくる奴なんか普通入れないだろ(笑)。
最初に仲魔にすることになる妖精ピクシーがアギ持ちで、地下に入ると出てくる堕天使メルコムは火炎反射とか、もうのっけからえげつないにも程がある。ああこれは確かに、ストレンジジャーニーやってるなあ僕、って感じ。旧作も序盤はほんと苦しかったもんなあ‥‥‥。
2017/10/26 10:22:08 |
▼偽偽DTPオペレータ部活動。 |
app.doScript("doMain()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript); 的な構文で処理自体をひとつの関数として括ると app.activeScript が参照できなくなる話についてなんだけど。
そういえば以前『「スクリプト自身のフルパス名称を取得する」ことを目指す幾つかの構文が書かれた同一スクリプトをInDesign・Illustrator・Photoshopで実行してみた。』みたいな実験をやってて、その時の成果として『どれで動かしてもきちんとフルパス名称が取れてる書き方は「File($.fileName).fsName」だった』という知見を得ていたことを思い出したので、
//main
exec();
function exec()
{
app.doScript("main()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function main()
{
alert(File($.fileName).fsName);
return;
}
こういうの作って動かしてみたら普通に動いた。
単一スクリプトで機能が完結してる場合には、app.activeScript.fsName と File($.fileName).fsName は同じ値になるので、こういう方法でもよい。
‥‥‥のだが、
[test0012.jsx]#include "./test0012b.jsx";
//main
exec(app.activeScript);
function exec(activeScript)
{
app.doScript("main(activeScript)", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript);
return;
}
function main(activeScript)
{
show(activeScript);
return;
}
[test0012b.jsx]function show(activeScript)
{
alert(File($.fileName).fsName);
// alert(activeScript.fsName);
// alert(app.activeScript.fsName);
return;
}
こういう組み合わせの複数ファイルからなる機能があるとして、 test0012.jsx を実行すると、 alert で表示されるファイル名は test0012b.jsx のものになるようだ、ということも掴めた。
[test0012b.jsx]function show(activeScript)
{
// alert(File($.fileName).fsName);
alert(activeScript.fsName);
// alert(app.activeScript.fsName);
return;
}
当たり前だがこの場合は test0012.jsx がファイル名として表示される。また、
[test0012b.jsx]function show(activeScript)
{
// alert(File($.fileName).fsName);
// alert(activeScript.fsName);
alert(app.activeScript.fsName);
return;
}
ついでにこれもやってはみたが当然ダメであった(笑)。以前と同じエラーが同じように出るので完走できない。
でもこれが
[test0012.jsx]#include "./test0012b.jsx";
show();
[test0012b.jsx]function show()
{
alert(app.activeScript.fsName);
return;
}
こうであるなら、表示されるのは test0012.jsx になる。
即ち、
- app.activeScript.fsName は「起動時に実行されたスクリプト」
- File($.fileName).fsName は「$.fileName が実際に書いてあるスクリプト」
の名前を得る、という動作をするようなので、例えば「test0012.jsx の方の名前が表示されて欲しい」場合に $.fileName を使うと話がおかしなことになるんだと思う。
そういう特徴を踏まえた上で、あとはシーンに応じた適切な手段を選択すればよいですね、ということで。
2017/10/26 11:20:37 |
[2677.10.27.金.] |
[2677.10.27.金.] / 「断絶」の話。 / ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 |
▼「断絶」の話。 |
こんなようなことを後から纏めて書くのは、実際それを実践することの軽く65535倍も簡単なことだし、後になってこんなこと言ったところで、そんなことには当日壇上で語られた言葉の1677万分の1ほどの意味もないし、だからこれは、「手ぇ動かさない奴が口でなんか言うのは楽でいいよな」という突っ込みが、登壇者じゃなくて僕に入るのが妥当なタイプの話、という点は踏まえた上のこととして。
luci2 13:12:54 |  :  | 引用先の話と直接関係はないことになっちゃうけど、先日勉強会で話題になった「フローチャート、書きますか? 書きませんか?」の話は、最終形としてはこういうところに行き着く話なんじゃないかと思う。 twitter.com/fujii_jun/stat… |
luci2 13:13:24 |  :  | 例えば僕はぜんぜん料理しないから、「カレーを作りましょう」って話になったらまず最初に作り方を調べて手順の整理から入る必要があるけど、世の料理好きは「作り方を調べて」「手順の整理から入る」とかを飛ばしていきなり作り始めるでしょ。あの時の登壇者3名はプログラミングに関してその境地。 |
macneko_ayu 13:21:56 |  :  | @luci2 たぶん書き慣れているっていうだけのことだと思いますよ。フローチャートに関しては僕の中では手順を整理できて抜け落ちがなければ手段はなんでもいいんですよね。納品するような仕様書だったらフローチャート書きますけど |
luci2 13:31:00 |  :  | @macneko_ayu ええと、「手順を整理できて抜け落ちがなければ」の確認だけでいいのは、その「手順」の中に何が含まれるのか、逆にいうと何は含まれないのか、何がどこまでケアされていれば「抜け落ちがなければ」に達したといえるのか、そういうことを既に知ってる人である、という部分に断絶があるのだと思います。 |
luci2 13:31:15 |  :  | @macneko_ayu フローチャートも構造化エディタも「手順を整理できて抜け落ちがなければ」を確認する方法の話ですけど、本当に何も知らない人がまずわかりたいのは、一歩手前の「何を、何故、確認する必要があるのか?」で、方法はそれをわかってる人が確認を実践するためのものでは、という言い方でわかります? |
luci2 13:35:41 |  :  | @macneko_ayu 「いま現在つよい人」は大体そこを経験値で乗り切ってしまった人なので、『「いま現在つよい人」でない人』に対しては結局「がんばれ」以外に声の掛けようがない、カレーでいうなら、作れない僕に対しては「とにかく作ってみればいいじゃん」と言うしかない、というところにひとつ谷間があるなあ、と。 |
macneko_ayu 13:36:48 |  :  | @luci2 なるほど、前提条件が違うんですね。「何を、何故、確認する必要があるのか?」の部分ですが、僕自身はひたすらコードを書いて動かなくて悩みながら「変数ってこういうものか」「配列ってこう使うのか」「連想配列ってなんだよ…」って理解していったんですが、その辺りは各個人で道筋が違うでしょうね |
macneko_ayu 13:39:41 |  :  | @luci2 あ、まさに経験値で乗り切った回答をしてしまいました。「自分でやらないと覚えないし、わからないことがわからないって言えない」と思いつつ、最初の一歩をどうフォローするかがわからなくて、とりあえずもくもく会をやってみようか、という現状です |
macneko_ayu 13:41:06 |  :  | なににおいてもまったくやったことがない人に教えるのって難しいよね。難しっていうかやり方がわからない。仕事で一緒なら詰まっているとこをきいて説明したりできるんだけどなぁ |
本当その、「DTPerのスクリプトもくもく会」を主催されてる方のいう『「自分でやらないと覚えないし、わからないことがわからないって言えない」と思いつつ、最初の一歩をどうフォローするかがわからなくて、とりあえずもくもく会をやってみようか、という現状です』は、やっぱ言葉として重みが違ってると思うし、実際それを実践されてるところがすげえなあとも改めて思う。
普通、「最初の一歩をどうフォローするかがわからなくて」と考える人は、わからないので何もしない。
luci2 13:40:38 |  :  | こう、知らない人は「こうすれば大丈夫です」を求めたいんだけど、実は知ってる人っていうのは「こういうダメさは何とかできる」のレパートリーが広くて、その組み合わせから「こうすれば大丈夫です」の近似値っぽいものが導けてるだけで、厳密に「こうすれば大丈夫です」自体に精通してるのではない。 |
luci2 13:42:39 |  :  | 求めてるものが、知ってる人ならストレートに与えることができるものとは限らないんだけど、その違いが「違い」であると認識できない人には、何故与えてもらえないのかがよくわからない、くらいのところにあるズレだと思う。 |
macneko_ayu 13:44:34 |  :  | @luci2 答えを求めている人の「こうすれば」の元となる問題がわからないから近似値で返すしかないんですが、答えを求めている人にわからないことを言語化してもらうのも酷な話なので、悩ましいですね。みんなが同じ土台で同じ目標を目指しているわけではないので…。ハンズオンならある程度解消できるのかなぁ |
luci2 13:48:12 |  :  | @macneko_ayu 多分ですけど、具体的なものごとに沿った話としての「こうすれば」じゃないと聞く側も何の話かわからないと思うので、「こういうのが欲しい!」を持ち込んできた相手と直接ハンズオン、が多分いちばん身につきやすいんじゃないかと今は思っています。 |
macneko_ayu 13:50:51 |  :  | @luci2 あ、たしかに。題材をあわせずに話してもなかなか伝わらないのはその通りですね。仕事で教えるときも題材があって答えがありますからね。もやもやが少しまとまりました、ありがとうございます。 |
簡単にいうと『わからない人には、どう表現したら「わからなさ」をわかってもらえるのか、がわからない』ので『何を「わかりたい」のか』を適切に伝えることができず、そこを掘り起こしきれてないので相手の想いが相互にわからないデッドロックを半ば放置したまま、取り敢えず目先の技術(もしくはそのための準備)の話にシフトしていかざるを得ない、という状況から始まってるところが、先日の勉強会について『このギャップを乗り切って相互理解に至るための上手いアイデアが「実はどっち側にもない」ことを露呈した、この瞬間のストレンジ具合こそ最高のおもしろポイントだった、ともいえるかも』という感想を書いた部分の話。
で、話がここに留まったままだと、結局誰しも『経験値で乗り切って「いま現在つよい人」になる』しかない、が結論になるワケで、つまり「経験値で乗り切る」間の苦しさは如何ともし難いということになるワケだけど。
もしもそれが真理だというなら、そこを乗り切れる人の共通項は「経験値で乗り切る」過程そのものに興味を持てる、おもしろみを見出し得ることだと思うし、興味は持てないけど乗り切ることを強いられてる人にとって大事なのは、動機と自分の距離感ということになると思う。
また、真理じゃないというのなら、つまり『経験値で乗り切って「いま現在つよい人」になる』じゃない方法で「いま現在つよい人」になるための上手いやりかたがあるのなら、絶対それは早く見出されるべきだし敷衍されるべきだけど、でもまあ、今のところは残念ながら『このギャップを乗り切って相互理解に至るための上手いアイデアが「実はどっち側にもない」』といったところなんではないかと。
2017/10/27 15:56:41 |
▼ATLUS「真・女神転生 DEEP STRANGE JOURNEY」 |
ボーティーズの探索を開始。
ちなみにアントリアで1回、ボーティーズでも1回、雑魚戦で全滅ゲームオーバーに至っている。ボーティーズのは敵全部がunknownの状態だったから何に殺られたのかイマイチよくわかってない(苦笑)。‥‥‥前作4〜5周遊んだっていっても2周め以降は全部周回プレイだから、序盤の厳しさを乗り切る練習は最初の1回以外やってないんだよなあ、とかいうことをしみじみ思ったりなんかして。
あと、なんかパッケ絵にいる新キャラの赤い女、早くもアレがボーティーズに出てきて\、それと同時に、旧作になかったフィールドがひとつ追加された\。
旧作をやり込んだ人に対して、早い段階で新要素を見せなきゃ、ってことなのかな。
2017/10/27 18:04:58 |
[2677.10.28.土.] |
[2677.10.28.土.] / 打ち合わせとか呑み会とか。 |
▼打ち合わせとか呑み会とか。 |
お昼ちょい前くらいに新宿入りして久しぶりに「やんばる」で沖縄そばを食べ、TOHOシネマズ新宿のすぐ近所にあるルノアールで人待ちしつつ開発作業。大体ずーっとExcel VBA書いてた。
そのうちにしかわさんと緒方さんが合流して軽く打ち合わせをしたり、彼らの方がVB詳しいので技術的な質問したりとか(笑)。
最終的にもりたさんが合流して、時間になったので移動。
エレベータ前ではやてぃあちゃんとも合流して、予約してある「手羽一郎」のコレで呑み会。
たぶん食べるのが比較的面倒だからだと思うけど手羽先より唐揚げの方が人気あった。
散々呑み食いした後でちょっと喫茶店でも寄ろうかって話になったんだがそこは流石に週末の新宿歌舞伎町近辺、どこもかしこも満席だったし、台風が迫ってる&雨降ってる中を歩き回るのも何なので、駅まで難民したところで散会。
luci2 22:15:11 |  :  | 新宿から酒呑んで帰ってる時に、電車で別れた京都府民と「また明日」って挨拶する違和感 |
‥‥‥ところで、この時ここに集まった5人のうち4人とは翌日も呑み会なんだけど(苦笑)。なんだこれ。
2017/10/30 10:00:54 |
[2677.10.29.日.] |
[2677.10.29.日.] / 続・西船橋裏目時空放浪記。 |
▼続・西船橋裏目時空放浪記。 |
大体まず、10月も末だというのに狙い済ました台風直撃に見舞われてる時点で、もう既に相当裏目な感じもするのだが。
昼呑みなので西船橋に12時、という予定を定めた張本人の僕が、二度寝の挙げ句11時30分に目を覚ます最悪の滑り出し。
いや西船橋にルノアールがあれば話は違ったのだが(苦笑)。つーかルノアールじゃなくても、電源がとれて開発とかそういう作業のできる店が何かあれば、最初に起きた時にそのまま向かってしまうつもりだったのだが、そういう店があるでもないしと思って、布団の中でDSJやっててそのまま寝落ち‥‥‥。
ところが、おおよそ1時間遅れで西船橋に着いたことを連絡した時の返信がまた悲劇的だった。
‥‥‥ええと、大体なんで「西船橋で」「昼呑み」だったかというと、まず、夜中に車を運転する予定があるので夕方以降に酒が呑めないメンバーがいることに対する配慮が「昼呑み」部分。
では「西船橋で」部分は何かといえば、西船橋名物・小松菜ハイボールというものに前々から興味があったのだが、前に呑みに行ってみた時には別の要因(地域のお祭りに伴う飲食店の特別シフト)に阻まれて頓挫。で今回は「小松菜ハイボールが飲めるお店をご紹介します!」の中から昼間に営業してる店を予めピックアップ、残った蕎麦屋と中華から涼宮せんせの要望で蕎麦屋がチョイスされたんだけど。
「返信」というのはその、寝坊した僕を除く全メンバーが実際蕎麦屋へ向かった結果の連絡なんだけど‥‥‥なんと、「小松菜ハイボールは夜メニューなので昼間は呑めません」と言われて注文できなかったらしい。そこにも振られるのかよ!(^^;;;
‥‥‥だからまあ、「蕎麦屋に今来ても小松菜ハイボール呑めるワケじゃないし、だから僕が蕎麦屋へ向かうことで合流する意味はなくなってるので、こっち(僕以外全員)が駅まで戻ります」という、まさに悲劇的な連絡を受けてしょんぼりしつつ、DSJで悪霊インフェルノをボコってるところへに、蕎麦だけ食ってきたという一同が到着。
スズミアーノ・ファミリーを率いるドン・カドゥキーニこと涼宮せんせと遠藤さんは昨日いなかった人たちで、にしかわさんと緒方さんとはやてぃあちゃんは昨日も一緒に呑んだ人たち。なんだこの面子(笑)。
ところで前回にもメインの候補店舗としていた小松菜ハイボール発祥の地ことフナバシ屋は、「小松菜ハイボールが飲めるお店をご紹介します!」の方には12時開店と書いてあるので当初この情報をアテにしていたんだが、自前サイトの店舗案内とかfacebookをよく見ると、開店時刻は16時って書いてあって、言ってることが違うのね。
すると、もしかしたら前回、あのお祭りがなかったとしても結局呑めなかったんじゃ‥‥‥。
夜中に車を運転する予定の人が、台風を避けるために移動時刻を翌朝へずらす決断をした(=浅い時間までなら夜に呑んでも大丈夫になった)ということを言っているので、16時を回ったらフナバシ屋へ移動して本家の小松菜ハイボールを呑むことに決め、前回と同じく鳥元に転がり込んで、まず宴会待ちのための宴会が催される。昨日の晩から呑んでばっかりだ(^^;;;。
で16時回ったところで雨ん中を移動。
ちなみに、「小松菜ハイボール」そのものは、まあ全体的な印象からいうと割と普通のハイボールだった。
「小松菜ハイボールZ」はウイスキー多めなので割と普通のウイスキー多めなハイボール、「小松菜ハイボールトリプル」は小松菜が多めで、これがいちばん「小松菜!」っぽい印象。
「小松菜ハイボール野郎」はこのレシピでいうグレープフルーツシロップを省いたもので、つまり本当に小松菜とハイボールだけで作られた小松菜ハイボールなんだけど、でもやっぱり、物理的に小松菜の量が多いため「ハイボール呑んでるだけなのに、小松菜の歯応えがやや残ってる!」トリプルの方がインパクトは強かった(笑)。
新幹線で帰宅予定の人やら台風で帰路が危ない人やらが個々に退却していくのを見送りつつ、19時過ぎくらいで散会して各自帰宅の途に。
2017/10/30 10:21:07 |
[2677.10.30.月.] |
[2677.10.30.月.] / HWD14→HWD15移行。 / 偽偽DTPオペレータ部活動。 / 「DTPerのスクリプトもくもく会」のこと。 |
▼HWD14→HWD15移行。 |
「妊娠したので棄てて乗り換え」という、人聞きが悪いタイプの表現による例え話が炸裂(w。
HWD14の電池が結構前から膨らんでて、所謂「妊娠した」状態になってる、という話をしていて、にしかわさんの手元で浮いてるHWD15(とHWD14)を譲ってもらう話が纏まり、昨日その現物が手に入ったので、SIMの移行とかWifiの設定とかをあれこれと。
にしかわさんのiPhoneからHWD15のWifi設定を弄った時に、うっかりAP名を現行HWD14のそれと同じにしちゃったのがそもそもの過ちで、設定済みの割に結局すぐにパッと使える状態ではなかったのだが(苦笑)、SHL25のHWD14接続設定を捨ててHWD15と普通の手順で接続、それが確立してからユーティリティ使ってAP名を変える手順によって、一応、万が一コレがダメでも元のHWD14には戻れる体勢を整えたりなど。
昨日は台風シフトでPCとか持って出掛けなかったこともあるし、帰ったらすぐ寝ちゃったしなので、今日の退勤後にVAIO ZとUSB接続する設定を実施する方向。あとはストラップホールどうしよう‥‥‥。
2017/10/30 11:18:22 |
▼偽偽DTPオペレータ部活動。 |
それまでにちょっと基礎研究を続けてたものが土曜の日中に一応組みあがって、
- InDesignのapp.activeDocumentに設定されたテキスト変数(のカスタムテキスト設定値)について、値名・値のセットをExcelシートに書き出す
- 実行前にシートに書いてあったことはすべてクリアされる
- Excelシートに書かれた値を値名・値として、InDesignのapp.activeDocumentに対してテキスト変数(のカスタムテキスト設定値)を更新する
- InDesign側の値名・値とExcel側の値名・値が共に一致するデータには何もしない
- InDesign側の値名とExcel側の値名が一致し、値の内容が異なるデータは、InDesign側の値をExcel側の値で更新する
- Excel側にない値名がInDesign側には存在する場合は、InDesign側の値を削除する
- InDesign側にない値名がExcel側には存在する場合は、InDesign側に値を追加する
大体こういう動作をするんだけど‥‥‥だから空のExcelシートで更新掛けるとテキスト変数(のカスタムテキスト設定値)が全て消える筈なんだけど、実際にそういう操作をしてみたら何故かInDesignがクラッシュし、まさにそのクラッシュの瞬間に時間切れで店仕舞いせざるを得ない状況だったので、実をいうと再現性とか詳しい原因とかいった大事なことがまだ調べられていない(苦笑)。
- テキスト変数(のカスタムテキスト設定値)を全削除する操作をしたらInDesignがクラッシュした件の調査・修正
- 「documentObj.TextVariables.Item().AssociatedInstancesの配列序数が1以上かどうか」を調べる方法の調査・実装
- InDesignのOLEオブジェクト作る前に「InDesignが現在起動しているかどうか」を調べる方法の調査・実装
- VBAで「InDesignオブジェクト・InDesignのDocumentオブジェクトを引数として使い回す」方法の調査・コード整理
という状況を踏まえ、取り敢えずファーストバージョンではこの辺までやってから公開したい。
というか、他の問題はコードの書き方で誤魔化したり運用で回避したりできるが、世間に見せるには最初の問題がちょっと問題すぎる‥‥‥。
あとは、上に挙げたような諸問題が全部綺麗に解決して、それによってもうちょっとコードの整理がつくようになった暁には、「ブックを対象にとれるようにする」(ブック内の全ドキュメントに対して上記の操作を一括実施する)のが次の目標としてあるワケだけど、まあ何にしても、それはファイル1個版がちゃんとできてからの話ということで(苦笑)。
ちなみにブック対応版の実装については、悩んでるのは「実体としてのInDesignファイルとExcelタブの関係性の持ち方」の部分なんだよね。
例えば、わかりやすいからタブ名をファイル名にしたいんだけど、タブ名ってあんまり長いと切られたりするから同一性が確保できてるとは言い難いし、となると「各タブの1セル目は必ずブックから取得したファイル名(フルパス)にする」か、「ブックから取得したファイル名(フルパス)とタブ名を関連付ける管理用ワークシートを作る」か、くらいしか思いつく策がない‥‥‥。
そこさえ決まれば、基本的には「単一ファイルに対する処理」(これが今あるカラクリ)をタブの数だけ繰り返すような上位のカラクリを作るだけである程度実現できる筈なんだけど。
2017/10/30 14:57:28 |
▼「DTPerのスクリプトもくもく会」のこと。 |
実は今度の土曜がちょうど#4の開催日で、そこには僕も参加することに先日決めている。
そこで、このスクリプトのことは敢えて現状のまま放置しつつ、今週は別タスク(具体的にいうと目次の自動組版スクリプト)に注力しておいて、上記問題を解消することを個人的なテーマとして「もくもく会」に参加するのがいいんじゃないかな、とか。
2017/10/30 15:59:55 |
[2677.10.31.火.] |
[2677.10.31.火.] / 忙しい。 |
▼忙しい。 |
残業中。昨日も22時退勤とかだったし(苦笑)。
2017/10/31 19:10:20 |