Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InDesign出力機能 #18

Closed
naoya opened this issue Mar 26, 2013 · 23 comments
Closed

InDesign出力機能 #18

naoya opened this issue Mar 26, 2013 · 23 comments

Comments

@naoya
Copy link
Owner

naoya commented Mar 26, 2013

先日のリファクタリングで「HTMLのこのタグは inao記法でこの出力に変換する」というコードをほぼ完全に構造化することができました。

↓この辺みれば何をいってるかわかるはず。
https://github.com/naoya/md2inao.pl/tree/master/lib/Text/Md2Inao/Node

で、ですね。

この A.pm とか Pre.pm とかをもう一組用意して中身を inao 記法への対応じゃなく InDesign への対応になるようしてしまえば、md2inao で inao 記法への出力も InDesign への出力も兼ねるようなコードに仕上げることができます。

なので「inao 記法のこれは InDesign ではこうなる」という仕様があれば、中間出力を経由せずに InDesign で出力するように対応するのは難しい話ではないです。

ただまあ、業務プロセス上、どうも中間フォーマットがあったほうが良いのではないかという感じもしている (著者校正のときに inao フォーマットならぼくでも簡単に手を入れられるとか、inao さんが★...★とかでメモを残してたりとか) のでそこまでやるべきかどうかわかりません。

@inao
Copy link
Collaborator

inao commented Mar 26, 2013

おおーー。ありがとうございます!

この機能があると、実質的に @taichi さんがメンテしてくださっているidtagreplacerはなくても大丈夫になるってことですか?

「inao 記法のこれは InDesign ではこうなる」という仕様は、ご指定の書式で準備できると思います。
大ざっぱには、inao記法InDesignタグ付きテキストになります。

なお、実際にはUTF-16で出力したいです(inao/idtagreplacer#14

InDesign出力機能は、個人的にはあるとたいへん嬉しいです。
ただ、「そこまでやっていただくべきかどうか」で考えますと、よくわかんなくなっちゃいました><
まとまっていないので、箇条書きで列挙させてください。

  • 僕は現状inao記法もないと困るのですが、慣れればMarkdownのみに対応できるかも
  • 現に@d-ikeda は、中間記法を使わずに、Markdown記法上で編集しているそうです
  • ただし @d-ikeda も、「あいう**`太字**えお」のように半アキを詰めた状態で編集しているので、GitHub上でのHTMLプレビューなどは無効になっちゃうようです( 全角文字と半角文字の間の半角スペースを削除する #10 関連です)
  • @kmutoさんのreview では、MarkdownからInDesign機能は、すでにあるのかもです
    • ちなみに僕らのはInDesignタグ付きテキストっていう上述したような簡易フォーマットなのですが、reviewはInDesignのXMLフォーマット(よくわかってない)を使っているそうなので、表現力も高そうです

@d-ikeda
Copy link
Collaborator

d-ikeda commented Mar 26, 2013

ありがとうございます! 僕はすでにinao記法はいじっていないのでやっていただけるととてもうれしいのですが、現状markdownで表現できないものをmarkdown上でinao記法で表記しているものがあります。たとえば以下のようなものです。

  • 節番号を表す「▼1.1」のような表記
  • 著者さんやDTPをお願いする方のコメントの赤字表記◆red/◆赤字◆/red◆

これらを解消できればinao記法を介さなくてよいなと思う反面、僕も@inao さんと同様そこまでやっていただくべきか、と悩み中です。

ただし @d-ikeda も、「あいう**`太字**えお」のように半アキを詰めた状態で編集しているので、GitHub上でのHTMLプレビューなどは無効になっちゃうようです( #10 関連です)

これは僕は現状htmlなどでプレビューはしていないので気になっていないのですが、将来的にはhtmlにできるとよいと思うので可能ならうまく改善できるとうれしいな、と思いました。

@naoya
Copy link
Owner Author

naoya commented Mar 26, 2013

この機能があると、実質的に @taichi さんがメンテしてくださっているidtagreplacerはなくても大丈夫になるってことですか?

そうなります。idtagreplacer のコードは見ていないですがやっていることはおそらく単なるテキストの置換処理だと思いますので、100% 再現することは可能だと思います。

現状markdownで表現できないものをmarkdown上でinao記法で表記しているものがあります。

これは、その表記を HTML 的に定義してしまえば Markdown でも表現可能です。例えば ◆red/◆赤字◆/red◆ は <span class="red">赤字</span> にするなど。Markdown は HTML を書けるのがいいところですから、HTML で素直に class を振って表現してしまえばいいのです。(実は赤字は既に span class="red" で変換するようになってたりします)

ので、解消できます。

なお HTML プレビューがということですが Markdown なので、Markdown のプレビューワーを使ってもらうのがいちばんてっとりばやいかと・・・w

で、じゃあ実装しようというときに必要なのが inao 記法 ⇒ InDesign タグ対応の仕様です。idtagreplacer にあるサンプルファイルをみればだいたいは分かるのですが、reverse engineering 的な解釈なのでできれば正確な仕様があるとありがたいです。

@naoya
Copy link
Owner Author

naoya commented Mar 26, 2013

UTF-16 もたぶん大丈夫なはず。やったことないけどw

@taichi
Copy link

taichi commented Mar 26, 2013

InDesignとinao記法の対応表は、tagconf.xmlである程度分かると思います。
xmlの中でjs書いて自由に変換している部分もありますので単なる置換ではありません。
そういう部分が分かり辛いかもしれません…

@inao
Copy link
Collaborator

inao commented Mar 26, 2013

正確な仕様、用意できると思います。
段落スタイル、文字スタイルが基本で、あとは、注記などの例外的な記法や、キーボードフォントなど特別な文字ごとの置換しかございませんので。

@d-ikeda
Copy link
Collaborator

d-ikeda commented Mar 27, 2013

@naoya さん

ありがとうございます。htmlで記述すればいいんですね。そうすればほとんどのものは解消できそうですね。

@naoya
Copy link
Owner Author

naoya commented Mar 27, 2013

ま、自分も手があいたときに作ってる感じで急いでませんので、お手すきの際にでも。

@naoya
Copy link
Owner Author

naoya commented Mar 28, 2013

https://github.com/naoya/md2inao.pl/blob/master/t/30_indesign_basic_syntax.t

とりあえずわかるところから始めてます。

@inao
Copy link
Collaborator

inao commented Mar 29, 2013

うおー、もはやinaoではない!w
ありがとうございます。

月曜にはひと段落しますので、必要な情報をお送りできます。
ご不明点はどこらへんになりますでしょうか?

@naoya
Copy link
Owner Author

naoya commented Mar 29, 2013

いまのところは idtagreplacer にある入力出力を見るかたちで実装できてます。ので、とくに大げさな仕様書は必要ないですね。

あれば楽だなあと思うのはもうちょっと見やすい「これが」「こうなる」というリストですかねw あのサンプル見づらい・・・w

@inao
Copy link
Collaborator

inao commented Mar 29, 2013

とりいそぎ以下に、もうちょっと簡略化した、inao記法のテキスト→InDesignテキスト→PDFを置きました。
これのほうがちょっとはわかりやすいでしょうか??(あんま変わってないかも)

https://gist.github.com/inao/3873b1b78f2e150d600d

tagconf.xmlから不要なものを削除していく形で作ったので、md2inaoではまだない、「こんな記法もあったのか!」的なものも含まれているかもしれません。

@naoya
Copy link
Owner Author

naoya commented Mar 29, 2013

おお、どうもです。
ひとまずこれをベースに作ってみてわからないことがあったら聞きます。

@inao
Copy link
Collaborator

inao commented Mar 29, 2013

ありがとうございます!

@inao
Copy link
Collaborator

inao commented Mar 29, 2013

いちおうご参考までに、InDesignテキストの仕様は以下になります。

http://help.adobe.com/ja_JP/indesign/cs/taggedtext/indesign_cs5_taggedtext.pdf

@naoya
Copy link
Owner Author

naoya commented Mar 29, 2013

おお、こんなのあったんだ。
めちゃ重要っすw

@naoya
Copy link
Owner Author

naoya commented Apr 2, 2013

InDesign関連の仕様の質問を書きましたが、別 issue にします

@naoya
Copy link
Owner Author

naoya commented Apr 3, 2013

http://md2inao.bloghackers.net/

まだTODOが少し残っているのですが、InDesignテキストでの出力機能をWeb版から使えるようにしました。

  • ドキュメントのメタデータ周り (タイトル、キャッチとかあのへん)
  • ★を赤字に?
  • キーボードフォント
  • 自由置換設定の反映
  • UTF-16出力

あたりが TODO です。

とりあえず使ってもらって、ここがこうなってないとおかしいというところがあったら issue を立てていただけると。

@inao
Copy link
Collaborator

inao commented Apr 3, 2013

うおーーーーー、超ありがとうございます!!!!
ちょうど簡易PDFの作成が必要な原稿があるので、それで確認させていただきます!

@inao
Copy link
Collaborator

inao commented Apr 4, 2013

いま手元の原稿で試した結果をissueでアップしていきます。
「TODOだってわかってるよ」な項目も挙げちゃうかもですが、ご了承ください。

自由置換設定の一部は、設定ファイル化していただき僕らで定義できるようにしていただくのもよいかもと思いました。

@naoya
Copy link
Owner Author

naoya commented Apr 4, 2013

あ、たしかに > 自由置換
そうしましょう。json か何かで定義できるようにします。

@inao
Copy link
Collaborator

inao commented Apr 4, 2013

ありがとうございます!

idtagreplacerで変換したものと比べたのですが、先ほどissue登録した3つのみでした。
お見事でした。

@naoya
Copy link
Owner Author

naoya commented Apr 4, 2013

あざーす
いったんここ close します

@naoya naoya closed this as completed Apr 4, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants