Scribus他を使ってみました


2012年11月1日 jPdf Tweakを使って面付けを行う。を追加
2012年10月4日 Scribusで右綴じPDFが作れるか試す。
2012年8月26日 Scribusで左右逆にページ番号を振るpythonスクリプトを追加。
2012年6月29日 IllustratorとInkscapeの連携を調べた。
2012年6月21日 縦書きPDFに関する試行錯誤を追加
2012年6月18日 増補
2012年6月6日
Scribus 1.4.1 , MacOSX 10.6-7

それ以降の話

Scribus v1.5.0以降の話はこちら

以下の内容はかなり古いです。

覚え書き

オープンソースのDTPソフトScribusで始める小冊子の制作 - GeekFactoryという記事がきっかけで試してみる事にした。
日本語化されているため、マニュアルなしである程度使えそう。しかしMacOSX版では使いにくい部分もありました(日本語入力、ドキュメント設定ダイアログのUIのカテゴリがフレームにほとんど隠れてしまって操作しにくい。翻訳が追いついてない部分がある。 画像フレームの拡大縮小手順が煩雑)。



試行錯誤してみた結果、マスターページの取捨選択適用。ノンブル付加、目次生成、PDF/EPS/画像の埋め込み,外部リンク扱いする方法まで分かった。
また、外部リンク(外部ファイルを参照すること)されたEPSを最終的にPDFにベクトルデータとして埋め込んで書き出すことも確認。
ただし、EPSファイルを画像として外部リンクしたときだけ、読み込み時のプレビューが極端に遅くなります。

まだまだ情報不足。英語の情報が頼り→Category:HOWTO - Scribus Wiki

仕様について詳しく解説されているサイト>Scribus


■こういう本(or PDF)が作りたい
•日本語のタテ組,ヨコ組で文章が書かれた本。
•それら文章は選択可能でコピー&ペーストも正しくできる
•それら文章はPDF内で正しく検索することができる。(ぶつ切りテキストではない)
•PDFビューアーで正しく読める(右綴じ)。

■立ちはだかる壁
•Scribusは日本語の縦組に対応していない。
•Scribusは右とじ本のレイアウトに対応してない。
•Scribus内のテキストボックスの文章は、PDF保存の際に和文フォントを埋め込めず、アウトラインになる。
(→v1.4.1で 実験的実装された機能で、PDF保存の際に、外部リンクされたPDF,EPSファイルを埋め込められる。
これを利用すれば、外部ファイルの中のテキストはアウトラインにならない事が判明。しかし根本的な問題は解決してない)
•外部リンクされたEPSファイルのレンダリングがめちゃめちゃ遅い(→PDFを使えば速い)
•↑の問題を回避しても、日本語の縦組文章はバラバラで検索不能(→ 90°回転フォントを埋め込む事で回避)
•右綴じPDFがつくれない(→フリーソフトを使って変換できそう)作れました。エクスポート>PDF, 全般タブ, [結合] 右マージンにすると、右綴じPDFができる(AcrobatReader Xで確認)。•Scribusは面付け印刷ができない(→フリーソフト jPdf Tweakを使って変換可能)

感想
一部インターフェースの翻訳がおかしいところがあった。[結合]右マージン→ [綴じ方] 右綴じ にすると機能を試してもらう確率は上がるかも。 私はScribusの翻訳はしていませんが、、どなたか詳しい方がUI翻訳を手がければ、Scribusが手になじむツールに化ける可能性があると思います。
Scribusは右綴じPDFが作成できるので、あとは右綴じレイアウトのままページの編集ができれば、レイアウトソフトとして使えます。

例えばIllustrator やInkscape でPDFをファイルを作っておき、Scribusから外部リンクさせれば大部分の問題を回避できます。
しかしPDF(やSVG)形式はテキストが絡んでくると、とても厄介です。他のアプリケーションとの連携や複数人作業を想定した場合にも問題が山積み、まず条件によってIllustraorで作ったPDFの和文テキスト部分がはInkscape表示できたりできたなかったりする。
逆にInkscape側でも設定を誤ると他で読めてもIllustratorでは編集不可能な文字化けPDFができ上がります。

もし、複数人でデータをやりとる必要があるならは、仕様や使用するツール(Illustrator またはInkscae)を統一しておく必要があるでしょう。PDFファイル形式の取り扱いがシビアなので「分かる人同士」で作業をすすめないと、データが文字化けしたり読めなかったりで、問題が発生しかねません。I

立ちはだかる壁は頓智や工夫を駆使すれば回避できますが、今のところトラブル解決が自分でできる人向けのやり方です。

以下は個人的な調査であって、使用環境や時期、各ソフトのバージョンによって変化するため、正確性は保証されません。

Scribus入手方法

Scribus本体:Scribus.net
ESP Ghostscript 7.07.1 :JIS X0212 for pTeXにて、Mac用のパッケージをDLして、合わせてインストールしておきます。
これはScribusで EPSファイルの読み込みに対応させるためには必須です。

延べ1時間で試した内容

試した事を、時系列順で書いています。
・Scribus起動→ページプロパティ管理> 用紙サイズ(A4など)や、総ページ数の設定などができる
・画像のD&Dで読み込み→右クリックメニューから、プロパティ→プロパティウインドウが出るので、タブ「色」選択→ 透明度の設定で画像を透過できる。

ページ番号(ノンブル)の入れ方

マスターページと通常ページで、やり方が違います。
通常ページの場合は、テキストフレームに入力の際に、メニューから、挿入>文字>ページ番号 で変換済みのノンブルが表示されます。
マスターページの場合はテキストフレームに「#」を入れれば各ページに反映される。
ページ番号は、ノンブルとして使う他に、文章中に仕込む事ができます。

編集に便利パレットウインドウ

これらは メニューのWindow>以下にあります。
これらパレットはScribusを使いこなす上でとても心強い味方なので、チェックしとこう。

 ★ページの配置(マスターページ、 通常ページがリストされている。ページの入れ替えや、見開き/単ページの選択、マスターページの新規追加などができる)
 ★アウトライン(マスターページ、 通常ページ がリストされている。各項目を選択する事で、編集対象を切り替えられる。)
 ★レイヤー(各ページ共通のレイヤーのようです、ロック、表示非表示などが可能。Illustrator のレイヤーパレットに近い)

全てのページ共通のデザインを司るマスターページは「標準」という名前のものがデフォルトですが、とりあえずそれを複製したものを使うか、マスターページを新規作成して使った方が良さげ。
マスターページを編集対象に切り替え、マスターページに枠や画像を追加したり動かしてみよう。通常ページの変化を確かめてみよう。
適当な文章中にページ番号を仕込み、ページの配置ウインドウでページを入れ替えたときに、その部分がどのように変化するか確かめてみよう。

アウトラインウインドウを利用すると、例えばマスターページいじってから各通常ページをいじったり、またその逆といった作業がシームレスで行えるのがなかなか便利でした。
アウトラインウインドウには、フィルタと呼ばれる検索欄があり、オブジェクト(図形•テキストフレーム•画像フレーム等)の名前を 絞り込むことができます(日本語名もOK)


マスターページを各ページに適用したい

メニューから、「ページ>マスターページに適用」を選択。ダイアログから適用範囲を指定可能(奇数/偶数/範囲指定/全て)
(これは誤訳?「マスターページを適用」の間違い?、またなぜページの配置からこの機能へアクセスできないのだろう?)


目次の生成方法

Scribusでは、本文中の見出しや特定のテキストフレームにタグ付けして、目次を生成する事ができます。
(参考;この機能は英語版では Table of contents(TOC)と呼ばれます。英語版での情報→Creating a Table of Contents - Scribus Wiki)


手順:
1.見出し(入力用)と目次(出力用)テキストフレームを用意する
2.目次のための「タグ」を命名し、タグをインデックスに関連づける
3.各ページの見出しテキストフレームに「タグ」属性を付加する
4.目次生成を実行
1.見出し(入力用)と目次(出力用)テキストフレームを用意する
入力元と、出力先となります。
入力元の例として、事前に各ページに見出しのテキストフレームを作っておいてください。たいていは自動的に名称がきまります「テキスト0001」「テキスト0002」など... (複数存在してOK)
また、目次データを出力するためのテキストフレームも作っておき、その名称を「mokuji」など分かりやすい名称変更しておいてください。(このmokuji は1つだけ存在させます)

2.目次のための「タグ」を命名し、タグをインデックスに関連づける
目次生成の識別子として「タグ」を新規作成して、その「タグ」目次生成に関連づけておきます。

★まずタグを新規作成します。
ファイル>ドキュメント設定 を選ぶと 、ダイアログが出ます。
左側に設定項目が縦に並んでます(上下キーで項目を移動可能)。そのなかから「ドキュメントアイテム設定」を見つけてください。
(MacOSXの場合、レイアウトが狭すぎて選択しにくいですが、上下キーで項目移動することができます)


「追加」ボタンを押すと表計算のようなリストが出現するので、そのリストの「名前」項目欄にタグ名入力して下さい。 例えば「indexTag」という名前にしましょう。

これでタグを作成できました。続けて「OK」をクリックして確定してください。

★次にそのタグを目次生成に関連づけます
ファイル>ドキュメント設定 から、今度は「目次とインデックス」を見つけてください

「追加」を押してリストに先ほどの「indexTag」を指定してください。
さらに右のほうに、「出力先」というプルダウンメニューがあるので、そこから 「mokuji」を指定してください。

それが済んだら 「OK」を押して確定してください。


3.各ページの見出しテキストフレームに「タグ」属性を付加する
ページ編集画面に戻って、各ページの見出しテキストフレームの属性にタグを付加してください。Scribusはこれらを識別して目次生成します。

テキストフレームを選択状態のときに、アイテム>属性 を選ぶと、ダイアログが出ます。そこにリストが出現するので....
「名前」欄のほうに先ほどのタグ名「indexTag」を入力してください。
「値」欄のほうには、目次のほうに書き出したい文字列を入力してください。(こちらも必須)

これで、目次に収集されるテキストが準備できました
※ここで間違わないでほしいのは、実際に目次へ収集されるデータはテキストフレームの文字列ではなく属性タグに関連づけられた「値」欄に入力した文字列だということです。


4.目次生成を実行

メニューから拡張>目次生成 を選択すると、 mokuji に「値」の内容と「ページ番号」が書き出されます。
今回の例では、このような流れで目次が生成されます
入力:「indexTag」 タグ属性のついたテキストフレーム の「値」の内容 → 目次生成が取得 → 出力フレーム: mokuji に「値」の内容と「ページ番号」が書き出される。

例えばこのように見出しを作り、属性を追加した場合....
05ページ目。 テキストフレーム名称:テキスト001 , 内容:「おいしいたまごやき」/// 属性; 名前:IndexTag 値:たまごやき
10ページ目。 テキストフレーム名称:テキスト002 , 内容:「焼き魚のつくりかた」/// 属性; 名前:IndexTag 値:なし
14ページ目。 テキストフレーム名称:テキスト003 , 内容:「みそ汁の作り方」/// 属性; 名前:IndexTag 値:みそ汁の作り方

結果は以下のように出力されます

たまごやき   5
なし      10
みそ汁の作り方 14


あと、「たまごやき…………5」のように、タイトルとページ番号の間に点線を入れたい場合は、文字のスタイル設定でタブインデックスを調整したスタイルを作成しておき。 それを出力フレームへ適用してください。

ScribusにPDF,EPSを埋め込む方法

埋め込むときれいに表示されるけど、他のソフトでの修正が利かなくなる。

埋め込み:Scribusでドキュメント内でEPSファイルを読み込みたい場合、「ファイル>Import」,「ベクターファイル読み込み」, あるいはScribusの編集ウインドウにファイルを D&Dした場合たいていは埋め込み扱いになります。

埋め込みだとIllustrator や Inkscape で表示されるように、拡大してもきれいに表示されますが、その実態はドキュメントに埋め込まれているのです。
アウトラインウインドウから、読み込んだオブジェクトを調べると、多角形オブジェクトやベジエ曲線オブジェクトの集合体である事が分かります。

それでは、あとでEPSファイルを修正する事ができないのでとても困ります。そこでその辺を検証したり、調べてみました。

PDF,EPS,画像ファイルを外部参照(外部リンクさせる)で扱う方法

部品だけを更新したり何かと便利。ただしファイルが移動すると表示されなくなる。

画像フレームを用意して、その画像フレームに読み込むファイルにEPSファイルを指定すると、(Illustratorで言うところの)リンク扱いとなります。
またEPSを読み込んだ画像フレームを選択状態で、右クリックメニューすると、その中に「画像を更新」という項目があるので、それを実行すると新しくなります。(自動的に更新される場合もあります)

EPSファイルのプレビュー表示は三段階あり、低解像度、標準、超高解像度などから選べます。

他の画像フォーマットでも使える技かも知れません。

参照先のファイルが移動して見つからない場合、赤字で表示されます。
最終原稿書き出しの際は、外部リンクされたPDFを埋め込むようにしてやると便利です。

レイヤーの使い方

メニューから任意のレイヤーを指定して、そこへオブジェクトを送るという方式です。

オブジェクトやアウトラインウインドウの項目を選択した状態の右クリックメニューから、「レイヤー」を選ぶと任意のレイヤーに送る事ができます。
現時点でオブジェクトが存在しているレイヤーにはチェックが入っています。

EPSファイル埋め込み時の挙動

Scribus1.4.1+ ESP Ghostscript 7.07.1 Illustrator CS5 のデータ(1MB程度)で検証。
*シンボルブラシフォント指定
eps
グラデーション非対応
ai × ×
svg
表示は良好だが位置ズレあり

プレーンテキスト化
参考:Scribus1.4.1にて、1MBのEPSファイルを画像として外部リンクしたインスタンス17個存在するScribusファイル (slaファイル)の読み込み時間:だいたい5分くらい。

外部リンクされたEPSファイルの挙動

Scribus1.4.1では、PDF書き出し時に、リンクされたPDFやEPSファイルを埋め込む事ができます。

これはドキュメント設定 ダイアログで画像フレームを設定するパネル、またはScribusの印刷設定ダイアログに
ある「PDFとEPSを埋め込む(実験的)」というチェックボックスを有効にすると可能になります。
こうして書き出されたPDFファイルをIllustratorなどで読み込んでみると、リンクされたEPSの部分がベクトルデータになっていました。

ちなみに、デフォルトでは、外部リンクされたEPSファイルをラスタライズされた画像としてそのまま埋め込まれます。

その他調べたこと

外部参照ファイル読み込み時間の比較

構築する文書の規模をシミュレートするヒントになれば幸いです。

結果:PDFまたは画像で貼り込めば早い
参考:A4サイズのepsデータを各ページに1枚づつ外部リンクとして配置した場合、新規読み込みしてからプレビュー表示が完了するまでの時間。また別の画像ファイルを配置した結果もあります。
※おそらくScribusは外部リンクされたepsファイルをラスタライズ(300dpi)処理している模様。
※読み込むデータの種類や作り方によっては違った結果になる可能性もあり得ます。
※読み込み中はScribus自体重くなります。タイミングよくドラッグすれば、Scribusのウインドウ位置を少し移動させることは可能です。

MacOS10.7, Core i5
形式配置数1ファイル当たりトータル処理時間(約)備考
tif99ページ27MB---2分プレビュー完了。A4サイズの文書を画像化した(300dpi,CMYK)
なお99ページのPDF化には5分かかりサイズは75MB
pdf99ページ107〜139Kb--- 1〜2分 プレビュー完了。A4サイズの文書(文字は非アウトライン,300dpi,CMYK)
99ページのPDF化には1〜2分かかりサイズは9.9MB
eps99ページ1.6〜2.5MB215MB×45分経過しても反応なし。虹色カーソルがぐるぐる。プログレスバー8割程度で停止
eps70ページ1.6〜2.5MB150MB×30分経過しても反応なし。虹色カーソルがぐるぐる。プログレスバー8割程度で停止
eps60ページ1.6〜2.5MB129MB×20分経過しても反応なし。虹色カーソルがぐるぐる。プログレスバー8割程度で停止
eps55ページ1.6〜2.5MB119MB16分プレビュー完了
eps50ページ1.6〜2.5MB108MB10分プレビュー完了
tif50ページ27MB---1分プレビュー完了。A4サイズの文書を画像化(300dpi,CMYK)したもの
tif50ページ2.5MB105.6MB1分画像なら早い?
eps25ページ1.6〜2.5MB54.6MB5分プレビュー完了
eps10ページ1.6〜2.5MB21.7MB2.5分プレビュー完了

99ページを300dpのi画像でデータ作れば楽だけどPDF化したときにサイズがめちゃくちゃ大きくなる。EPS形式のプレビューがもっと早ければ実用的なのだけど...。
pdf の場合、なぜか高速に読み込む。MacOSXのプレビュー, IllustratorCS5で作成したpdfが外部リンクできた。しかし時々Scribusでは読み込めないpdfファイルも存在する
(読み込み失敗するpdf の見分けかた:Scribusで外部読み込み時、ファイルダイアログでpdfファイルを選択したときのプレビュー画面が真っ白のもの)
99ファイル外部リンク済みデータの作り方。
0.  連番のepsファイルを99個用意する
1. Scribusで基本的なページを作成、画像フレームを配置。
2. 同一ページに同じレイアウトで99ページまで複製。
3.  1ページ目のみ画像フレームに外部EPSファイルをリンクさせる。
4.  Scribusでslaデータを保存後、そのファイルは閉じる。
5. テキストエディタでsla ファイルを開き、1ページ目にリンクさせたepsファイルのファイルパスを参考に、同じように未リンクの該当箇所"../../"をeps連番ファイル名で書き換え、保存。
6. Scribusでそのslaファイルを再度読み込み、画像がプレビューされるまでの時間を計る。



同一ファイルを複数外部リンクした場合の挙動も検証する必要があるかも。

同一ページに同じレイアウトを配置したい。

たとえば100ページの本を作るとして、各ページの全く同じ位置に同じ大きさのテキストフレームや、画像フレームを配置し、様々な文章や画像を参照させたいとします。
このような場合「ページのコピー」で、配置してあるオブジェクトごとページを増やすことができます。

逆に100ページ設定したあと、配置したオブジェクトを連続複製等を使って間隔で配置しようとすると、誤差のせいで位置調整がシビアになります。

セクションって何だ?


ページ番号の種類を変えたり、ページごとの表示非表示を細かく設定できます。
セクション(Section )は ノンブルの変種です。たとえば書籍において前書きと目次が15ページに渡っていてそれらにも、本文とは別にページ番号を振りたい時に使います。  特定のページ範囲に対してローマ数字、アラビア数字、空白などが利用されます。また、書籍の作りによっては、扉や中扉にはページ番号を表示させないケースもあります。

Scribusでは、マスターページにノンブル用のテキストフレームを付けると自動的に全ページにページ番号が振られてしまうので、その割り振りをコントロール するためにこのような仕組みがあるようです。

Scuribusでは、ドキュメント設定ダイアログで、セクションを追加することができます。デフォルトではアラビア数字の設定が1つ用意されている。
そこに登録したセクションの順に従って適用されますが、複数登録する場合は編集上のページの範囲は重複してはいけません。


たとえば、前書き〜目次のページのセクションをローマ数字でのナンバリング し(例: i, ii , iii , iv..., )
その後に続く本文ではアラビア数字のページ番号にしたい(例:1,2,3,4...)
このとき、マスターページにいつもどおりページ番号のフレームを配置しておけば、
特になにもせずに番号が自動的に割り振られます(例: i, ii , iii , iv.1,2,3,4)になります。

雑誌の場合、全面広告ページや巻頭カラーにはノンブルを入れませんが、後にくるページ番号はそれを含んだ数字が割り当てられます。
技術系(海外翻訳)書籍の例:400p
編集上のページセクション印刷されたときのノンブル
1〜2扉〜商標説明などなし(空白)
3〜13本書に寄せて〜前書き〜本書の構成〜
仕様上の注意〜意見と質問〜謝辞
iii〜xiii
14白紙なし
15〜21もくじ〜コラム目次xv〜xxi
22白紙なし
23〜本文1〜
著者紹介
奥付
技術系(国内)書籍の例2: 180p
編集上のページセクション印刷されたときのノンブル
1〜4扉〜お問い合わせ〜はじめに、本書の特徴なし(空白)
5〜8もくじv〜viii
9〜12始める前に1〜5
13第一章中扉なし
14本文6〜
ふろく
索引
奥付
技法書の例: 184p
編集上のページセクション印刷されたときのノンブル
1なし(空白)
2表紙の意図2
3もくじ3
4はじめに4
5第一章中扉5
6〜本文6〜
奥付184
参考書: 178p
編集上のページセクション印刷されたときのノンブル
1〜11カラー図解①〜⑪
12〜13扉〜前書きなし
13〜16もくじ、全二編3〜6
17○○編中扉なし
18〜本文9
 索引〜173
奥付184
児童書: 232p
編集上のページセクション印刷されたときのノンブル
1なし
2〜3もくじなし
4空白なし
5本文5〜
挿絵のページなし
 あとがきあり
奥付なし
小説: 478p  
編集上のページセクション印刷されたときのノンブル
1〜6扉〜もくじなし
7中扉なし
8〜本文8〜
 解説あり
奥付なし


PDFフォーム作成

チェックボックス、コンボボックス、ラベル、ボタンなどが作成できる。
編集画面上では、通常のテキストフレームと見分けがつきにくい。アウトラインウインドウの項目名で区別したほうがよさそう。
クリックするとフォームのタイトルを編集することができます。
ダブルクリックすると、フォームのプロパティ(デザインや、アクション、詳細な設定が可能です)

しかし、チェックボックスやボタンのデザインは自前で用意する必要があります。
未設定でPDFに書き出すと、しょぼいチェックボックスと真っ白でボタンの枠さえないです。

PDFのリンク機能


クリックすると別のページにジャンプする仕掛け。

Scribusでは2つのやり方があります。
A:PDF注釈ボタンを実行:Scribusのアイコンパレットで、足跡のアイコンをクリック。注釈ダイアログが出るので、Typeをリンクにして、ジャンプする座標とページを指定する。
B:既存のテキストフレームを選択状態で、右クリックメニューを出す。PDF>PDF注釈で、注釈ダイアログが出るので、Typeをリンクにして、ジャンプする座標とページを指定する。

Aは、何もない場所に新しくリンク付きのテキストフレームを作成します。
Bは、既存のテキストフレームに、リンクを追加します。
注釈リンクは右クリックメニューからPDF>PDF注釈を選択することで、適用/解除が可能です。

1テキストフレームにつき、1つのリンクを追加できます。
目次生成を行った場合、1テキストフレーム内にインデックスが出力されるため、、上の理由から各ページへジャンプするリンクを貼りたくても、AとBの方法がつかえません。
そこで、目次出力テキストフレームの上にレイヤーを新しく作成し、そこへ空の注釈リンク付きテキストフレームをインデックスの数だけ並べてやると、目次ジャンプが可能です。

PDFのブックマーク機能

PDFで目次や各ページへ飛ぶリンクを作るのが面倒ならこれを利用しよう
PDFの目次生成や、それをクリックして各ページへ飛ばすリンクの作成は、手間が掛かる作業です。しかし印刷を目的にしないPDF文書を作るなら、ナビゲーションをブックマーク機能で簡単に実現するすることができます。

テキストフレームを選択状態で右クリックメニューを出し、PDF>ブックマーク を選択すると、テキストの先頭の内容がブックマークに登録される/ブックマークから外される。
これらはメニューから、windows>ブックマーク で出現する編集ダイアログが出るので、順序を変えたり、入れ子にできます。
PDF書き出し時に、ブックマークを取り込むにチェックを入れれば、ブックマークを目次として利用することができます。

アウトラインにならないPDFの作り方

結論を言うと無理です。
v1.4.1現在、ScribusのPDF書き出しでは、日本語フォントの埋め込みができないため、PDFに書き出した時点でアウトラインになってしまいます。 印刷には使えますがPDFデータとして利用するには容量が増えるし検索できないので不便です。

そこでアウトラインにならないPDFの作り方を模索してみました(横書きのみ)。
まずIllustratorでテキストをアウトラインにせず編集可能状態で横書きのテキストとしてPDFを作成し、Scribusから外部PDFファイルとしてリンクさせます。 これで、Scribusでページ物のPDFに出力する際に「PDFとEPSを埋め込む」にチェックを入れてやれば。出力できます。

全体的な作り方としては目次、見出しタイトル部分やノンブルは、Scribusで作っておいて(これはアウトライン化されるのは仕方ない)
本文は外部EPSファイルをリンクする方法をとれば検索可能なPDFファイルが作れるのではないかと思います。
この方法で作成した日本語テキストは選択可能ですが、1行単位でバラバラになっています。

また、この方法で縦書きのテキストを実験してみましたが、縦書きは一文字一文字バラバラのテキストになります。
テキストとして認識されますが、検索には不適切です。
さらに、どういう条件か不明ですが部分的にアウトライン化されることがあり100%テキスト化されるとは限りません。

PDFの場合、グラデーションやシンボルが画像化されることがあります。 また時々Scribusで読み込めないPDFもあるので注意してください。


この問題は、Scribusが日本語フォントの埋め込みおよび縦書きに対応しないと、難しいです。

気になったもの

目次生成をスクリプトで行う。Creating a TOC with Scripter - Scribus Wiki
テキストデータをインポートImporting addresses from a text file - Scribus Wiki
Scribusのデータからテキストを書き出す。Extracting All Text from a Document - Scribus Wiki CVSデータから、テーブル生成Create tables out of csv data - Scribus Wiki

不具合

★画像フレームにEPS形式のファイルを外部リンクした場合、画像が表示されないことがある。
これはScribusのバグでフレーム外にEPS画像が配置されるというものです。
これは、右クリックメニューから「フレームを画像にあわせる」を実行する事で隠れていた画像を一発で発見できます。
(※この現象は通常の画像形式png等では発生しません)

★インライン入力が見えないものの変換確定後の結果はテキストフレームへ正常に入力される

★オブジェクトの選択が甘い。例えば大枠内にオブジェクト置いた時、オブジェクトを選択しようとすると、なぜか大枠を選択してしまう。
→レイヤー分けして大枠にロックを掛けるか一時的に非表示するかして対策する。

★時々落ちる (こまめに保存しましょう)

★ドキュメント設定のカテゴリが縦に細長く潰れているので、選択しにくい。 UIの改善が必要。

★たくさんのEPSファイルを外部リンクさせると、読み込みに時間がかかる。
★画像を読み込まない設定にすることができるが、その切り替えを行うには画像を読み込む必要がある。
★テキストボックスやオブジェクトを選択できない→ レイヤーパネルを出して、ロック解除するか、またはそれが含まれるレイヤーに切り替えると選択できるようになります。

Scribusで縦書きにみせかける方法

Scribusで縦書きは無理なので、縦書きふうに見せる方法を色々検証してみました。
今のところ、テキストデータとして再利用可能させたいなら、日本語レイアウト部分を外部PDFとして作成しておいてScribus読み込ませる方法がベストなようです。
※この方法を試す場合は、Illustratorが必要です(Inkscapeでもひょっとしたら同じことができるかもしれません)

検証1:Illustratorでは普通に用いられる縦組テキストを読み込んでみた
1.まずIllustrator上で、縦書き、横書きのボックステキストを作って、非アウトライン文字のPDF形式で保存。
2.それをScribusから外部ファイルとして読み込ませ、複数ページをもつPDF(外部PDFは埋め込ませる)として書き出した。
水色になっている部分はIllustrator上でオブジェクトが選択されている箇所です。
上段:Scribusのテキストフレームに直接文章を流した文章。
中段:PDF(Illustratorでボックスに縦組みとして文章を流し込んだ)
下段:PDF(Illustratorでボックスに横組みとして文章を流し込んだ)

左はScribusで、画像フレームをPDF外部ファイルとしてリンクさせた様子、
これは低解像度で表示しているので、少しぼやけています。

右はIllustratorで、Scribusで出力したPDFを読み込んだ様子。
縦組は文字が勝手にアウトライン化されたりされなかったりでダメです。
これではファイル容量が増えるし、テキストを拾うことができない。

検証2:文字を90度回転させて縦書きにみせかける
ScribusのPDF書き出しが文字の回転に対応してなくて駄目でした。

検証3:横組みで、1文字ごとに改行させて、縦書きにみせかける
この方法を使うと、テキストデータは無事です
ただし大量のテキストを1文字ごとに改行させるには少々トリッキーな方法を使わなければいけません。
1.Illustratorで縦に細長いボックスを短冊状態にならべて、それらをスレッドテキストとしてリンクさせます。
しかしこれをすると、デフォルトでは左から右へテキストを読まなければいけないので、ボックスの順序を左右逆にします。

2.ボックス内横方向テキストツールを使い、それらボックスにテキストを流し込みます。
各ボックスの幅は文字の幅ぎりぎりにします。こうすることで、ボックスに押されて自動的に改行されたのと同じ状態になります

3.前回、前々回と同じように非アウトライン文字のPDF形式で保存。

4.それをScribusから外部ファイルとして読み込ませ、複数ページをもつPDF(外部PDFは埋め込ませる)として書き出した。

以下が試した結果です。黒い矢印は、文章を読み進めする方向を表しています。
Illustratorで段組みを、下段(順序を右から左へくるように直したもの)が右綴じの書籍として自然な読み方です。



下のスクリーンショットはScribusで書き出したPDFを再度Illustratorで読み込んでみたところ。
縦にバラバラになってますが、中途半端にアウトライン化されていないので、データを取り出すことができます。
なお、イラレで便利: テキストでちょっと便利さん で公開されている「テキスト連結(たてバラ・よこバラ)」スクリプトを使えば文章を連結することができます。


これら方法は、むりやり縦書き風に見せているので、鍵括弧などの約物が上手く表示されない場合があります。

PDFで縦書きする方法はあるか?

PDFで縦書きを再現する様々な方法を探ってみました。
文書内検索可能、コピーペースト可能、デー多量が軽い(フォント埋め込み)、印刷も可能、編集してデータの修正や更新、再利用がしやすいかの観点から比較してみました。


以下調べる際に参考にしたサイトです。
Ghostscript and Japanese TrueType font
Ghostscript 7.07 - TeX Wiki
縦組にとっての句読点-TeX組版からの見方
Adobe Forums: 縦書き文書の検索
小林泰三の不確定領域駄文34 縦書きに挑戦
なんと、縦書き用フォントが存在した! : いわにぃのブログ
改造フォントとCSSで縦組にする 2 - M59の記録
改造フォントとCSSで縦組にする - M59の記録
FontForge スクリプトのチュートリアル
Ryusei氏のスクリプトを動かすメモ:
/usr/local にインストールしないFontforgeをシェルスクリプトで動かす。
例えばconvert.pe という名前にして保存
#!/〜ファイルパス〜/fontforge-20110222/fontforge/fontforge

とりあえずFontforgeをコンパイルしておいて、
同じ階層にフォントとスクリプトを置いてターミナルから
./fontforge -script ./convert.pe ./TargetFont.ttf
で変換。
しかしこのままだとフォントIDがそのままなので、ライセンス的な重複を防ぐため色々変更する必要があります。
無事にヨコ倒しフォントは作成されたが、生成の過程でFontForgeがなにか情報が足りない等エラーを言ってくるので、あくまでテスト用。

Scribusのページ番号

Scribus でマスターページに番号を指定することで、自動的にページ番号を作成できます。 しかし10→1の逆順や、左右ページ逆に数字振ることはできません。もしそのようなことをする場合はスクリプトを利用するのがいちばんです。
そこで、Scribusが対応しているPythonスクリプトで、自動で左右ページ逆にページ番号を付けるスクリプトを作ってみました。

左右ページ逆にページ番号を付けるPythonスクリプト(拡張子.txtを外す)
注意:このスクリプトで付けたページ番号は単なるテキストなので、ページ移動とページ番号の連動はしません。

使うときは、ドキュメントの最初のページが右か左かによってスクリプトのleft_first変数を変更しておく必要があります。
各ページ下部にページ番号を含んだ「nPage」というテキストを追加します。これらは全てレイヤー名「paganum」内に配置されるので、
一括削除も簡単。Sbribusのメニューから、スクリプト>実行... でスクリプトファイルを実行して下さい。
(以下の結果は、分かりやすくする為にフォントサイズは大きめに指定してあります)


参考にした情報:
Category:Scripts - Scribus Wiki(英語)
Adding 'DRAFT' to a document - Scribus Wiki(英語)
Python入門

Scribusで右綴じPDFを試してみる

縦書きのPDFを作る際に重要なのは、見開きで「左ページ番号>右ページ番号」 であることも大切です。
Scribusで右綴じPDFができるか試してみました。
Scribusでは、Exportで、PDF保存する際に、「結合」で綴じ方を決められます。 「結合」右マージン>右綴じPDF
「結合」左マージン>左綴じPDF(通常はこのまま)
(※将来インターフェース翻訳の改善により表記が変わる可能性もあります)
作成中に何回かエラーが出ることがありました。


Macのプレビュー.appではこの違いを認識せず、左とじPDFで扱われる。

Adobe Reader で確認すると違いがはっきりします。

jPdf Tweakを使って面付けを行う

最終的に本として印刷する為には、大きな一枚の紙にページを配置したものを印刷(面付けといいます)した後に、ページの大きさに裁断し、それを製本します。 DTPの場合面付けは印刷所がやることが多いですが、豆本や簡単な本を製本含めて自前ですべて作る場合、自分で面付けと印刷もおこなわなければいけません。

面付けは英語ではImpositionと呼ばれます。残念ながらScribusには面付け機能がなく、Scribusのwikiを見ると代わりに様々な面付け用のアプリケーションが紹介されていました。

色々試したところ、この中でjPdf Tweak - Swiss Army Knife for PDF filesがGUI付きで分かりやすかったです。。 自分はBinary download, compact version (Version 1.1, 783 KB)をダウンロードしました。
Linux環境であればLaidoutというソフトがあるようです(使った事はありませんが、YoutubeにBooklets in Scribus imposed by Laidout - YouTubeという紹介動画があります)。

jPdf Tweakを起動すると、タブが色々並んでいます。基本的に入力ファイルと出力ファイルを指定してRunで実行という手順となります。
たとえば両面印刷せずにA4一枚から8ページの冊子を作る(これは Pocketmod,1折無綴じとも呼ばれ,折り本の一種)ための面付けは、 次のようにします。
  • jPdf Tweakを起動。
  • Input タブで、入力ファイルとなるPDF(ページものの場合は、範囲を指定、1ページしか無いPDFファイルを複数用意してもOK)
  • Output タブを選び、出力ファイル名(.pdf)を指定します。
  • PageSizeタブから、 Crop,Rotate,Scalingのチェックボックスをそれぞれチェック
  • Shuffle/N-upタブを選び、 Shuffle Pageにチェックする。
  • タブ内のPresetから面付けの種類を選びます。ここで「Poketmod」を選択。面付けのため配置設定がなされているので、ラクです。
  • また、用紙サイズは右の方のメニューからA4Portaitを選択しておきましょう。
  • 最後にウインドウの最下部にある「Run」ボタンを押せば 出力PDFファイルが生成されます。
    (出力に ./hogehoge.pdf を指定していた場合、JjPdf Tweakと同じディレクトリ上にhogehoge.pdfが保存されます。)
    あとはプリンターで印刷して、中央を切って折り畳めば、冊子のできあがり。

    ScribusはPageMakerの代替となりうるか?

    単純な印刷用途のほかに、縦組横組まじりで、検索可能で、再編集可能なページもののPDF文書を作成するやりかたを考えてみました。 Illustratorで段組みや文字関係の調整を行い、Scribusはノンブルもくじ面付け作業、PDF出力アプリケーションとして使用する。

    •横倒し和文フォントを見つける(TakaoMincho-vert.otf等)か、自作する(IPAフォント等をFontforgeで加工する)。その場合フォントのライセンスに注意。
    •Illustratorで縦書き作成する場合は、横書きオブジェクトを90度回転させて、横倒し和文フォントを適用して、縦組にみせかける。
    •フォント埋め込みPDF(Illustratorの場合、Illustratorで編集可能にチェックを入れる)として保存。
    •Scribusで、各ページに画像フレームの外部ファイルとしてそのPDFをリンクさせる
    •Scribusで、ページ物のPDFとして出力する(その際「リンクされたPDFやEPSファイルを埋め込む」にチェックを入れる)。

    •作成したものをテストする。MacOSXならプレビューなどで文書内検索してみる。また、Illustratorで開いてテキストの修正や再編集が可能か試してみる。

    フリーの和文フォントで、PDF縦書き用の横倒しフォント(埋め込みもOK)なものがあると便利かもしれない。

    なりうる?


    その他

    EPSよりPDFのほうが汎用性がある(PDFは暗号化、フォーム機能、複数ページなどが使える)。AdobeCS以降 AdobeはPDFを推奨している。
    昔はベクター形式のイラストはEPSでやりとりが多かった。

  • EPS,PDF(フォントをアウトライン化) は印刷目的の最終原稿、修正不可能。
  • PDF(フォント埋め込み&フォント指定が正しい)は、文書内検索,選択、コピーペーストが可能なPDF。(ただし横書きは行単位バラバラ、縦書きは文字単位でバラバラ:そういうものとしてあきらめるしかない。)
  • PDF(フォント埋め込み&フォントが見つからない)は編集目的のデータの受け渡しには不適切。 テキストは選択可能ですが、編集ソフトによっては文字化けしたり強制的にアウトライン化される。これは誰かと共同作業する場合に問題になるでしょう。

    EPS,PDFは、illustratorで保存時に「illustratorで編集可能にする」を有効にした場合、テキストがバラバラにならずIllustratorで再編集が可能。(バージョンにもよる)


    90年代末期の状況と用途
    PageMaker v6.5,(社内報,会報,パンフレット )
    Quark XPress v3.3,(本格的な書籍,雑誌など)
    InDesign v1.0,(本格的な書籍,雑誌など)
    FrameMaker(マニュアル,多人数編集•更新前提のドキュメント)

    Scribus 初リリース: 2003年

    機能比較
    (開発規模も、リリース時期も違いすぎるので、比較するのはナンセンスですが、Scribusが今後どこまで追いつくかの手がかりとして載せます)
    _PageMaker6.5JScribus1.4.1InDesign 1.0Quark XPress3.3pLaTeX2e
    用途 社内報,会報,パンフレット,書籍社内報,会報,パンフレット,書籍 本格的な書籍,雑誌など本格的な書籍,雑誌など 学術系書籍
    (研究者向け)
    発表(年)1997201220001994-
    費用(円)148,000098,000 本体198,000
    HX文字回転 +28000
    HXボックスツール +14000
    組版XT(3rd)+99000
    0
    機能 PDF,HTML出力
    レイヤー
    ハイアパーリンク
    自動コラムレイアウト
    テキスト&グラフィックフレーム
    タブパレット
    JIS組版ルール(JIS X 4051)準拠
    和文フォント詰め

    どこでもダイレクトに文字を配置できるのが特徴。

    ページ割付けパネルは編集ウインドウの左下隅に 水平に並んでいる。
    OSSで開発されていますが、日本語組版は不十分

    フレームを区切ってテキストや画像を そこに入れる方式。またテキストと画像フレーム で区別があるというのは、QuarkXPressの方式に近い

    ページ割付けウインドウも縦型でQuark XPress に近い。   
      当時は重く、アプリケーションが落ちやすかったとのこと。       当時は主流
    ドングル付き 

    HX文字回転は縦書き中の縦中横や欧文の回転をサポートするXTension(プラグイン)。
    HXボックスツールは、数値入力で図形サイズを変更可能にするXTension。

    日本語組版は標準ではできずプラグインによって実装されていた、 プロユースのソフトウェアでも日本語組版に不十分という声が 多かったそうです。    
     数式やグラフ、自動組版が得意。

    WYSIWYGではなく、ソースコードを元に文書をPDF、DVIファイルを作成するので、専門家以外にはとっつきにくい。 出版社によってはこのシステムを導入しているところもあります。
    これにGUIをかぶせた LyX | LyX – 文書プロセッサもあります。

    自由度の高い日本語組版も可能とのこと。
    現在 レイヤー機能
    フレームにテキストや画像を 入れるレイアウト(これはQuark Xpressと同じやり方を取り入れた) しかし画像フレームとテキストフレームの区別はありません。

    現在開発は中止されていますが、 ウェブサイトは存在します。
    Scribusが開発開始された2003年には InDesign CS(3.0)がリリースされている。

    ScribusはフレームにTeX のフォーマットを読み込むことができる
    (pdfTeX の追加インストールが必要らしい)
     
    日本語版は日本市場を視野にいれた製品となっている。
    コア+プラグインのシステムで、
    開発側が用途に合わせてカスタマイズが可能(新聞社用などは専用のインターフェースになっている)

    レイアウトグリッド。日本で用いられている文字サイズの単位にも対応
    フレーム内のフレーム入れ子

    ショートカットのカスタマイズ
    ICCカラーマネジメント

    Illustrator,Photoshop, PageMaker,Quark XPressで作成されたファイルの読み込み

    InDesign CS2.0 リリース以降PageMakerの開発は中止に。
    ちなみに1998年リリースされた v4.0 は 298,000円
    アップグレード: 9,9000円
    という金額。
    TeX →LaTeX →LaTeX2e    pLaTeX→pLaTeX2e
    pLaTeX2e はASCIIが日本語化したもの。

    pLaTeXで日本語の縦書きにも対応したとか。

    参考文献•サイト:
    MacUser 1997年8月号(ソフトバンク)
    MacLife 1997年5月号(BNN)
    アドビ、ページレイアウトソフト「Adobe PageMaker 6.5J」を発表(PC Watch)
    Adobe InDesign - Wikipedia
    About Adobe - Press Room - InDesign 日本語版
    LaTeX - Wikipedia

    InDesignとQuarkXPress機能比較はこちらのサイトがさらに詳しいです。
    InDesignの10年を振り返る - 名もないテクノ手

    LibreOfficeからIllustratorへのデータ渡し

    表組:Calc コピー→形式を指定してペースト( Calc8)→ Draw→Exportで拡張Windowsメタファイル emf 形式で保存。
    2Dグラフ:Calc コピー→形式を指定してペースト(GDIメタファイル)→ Draw→Exportで拡張Windowsメタファイル emf 形式で保存。
    Writer→形式を指定してペースト(*)→Calc→形式を指定してペースト StarObject Discripter(XML)→ Draw→Exportで拡張Windowsメタファイル emf 形式で保存。
    あとはemfファイルをIllustratorで読み込むと、セルの色やデザインを保ったままテキスト編集可能となる。

    Wtiter→Calc→Draw→Illustraror で読み込んだ場合、横書きテキストは行バラ、縦書きの場合は横書きのまま90度回転状態になるまた、縦書きルビは割り注もどきで表示される。

    InkscapeとIllustrator間の相互連携(テキストデータの問題)

    ScribusでPDFを作る場合には、Inkscape+Scribus(& GhostScript) あるいは、Illustrator+Scribus(& GhostScript) または一般的なPDFが作成できるソフト+Scribusの組み合わせが考えられます。

    図形データに関してはまだよいのですが、テキストも絡んでくると、IllustratorとInkscapeの間のやりとは一筋縄ではいかないことがわかってきました。
    何ができて何ができないかを分かってないと、データのやり取りや印刷時のトラブルの元になります。今時点では双方の互換性が高くなるまではおすすめできなイと思います。

    例えば、Inkscape+Scribusで作ったテキストのPDF書類をIllustratorで開いた場合どうなるかを調べていきます。またはその逆。
    Inkscape側でフォントを正しく指定したPDF,EPSは、Illustratorで読めますが、指定しなければIllustratorで再編集不能なEPS,PDFが作成されます。


    具体的に説明すると、Inkscape 0.4.8で日本語テキストを選択状態でInkscapeのツールバーにそのフォントの本来の名前とは違う名前(例えば「Sans」) が表示されていた場合、このまま保存すると日本語テキストは表示されるもののフォント名が見つからないPDFができ上がります。これはIllustratorでは読めません。 (これは Scribus やMacOSXのプレビュー.app(またはIllustratorでファイル配置)したときは、なぜか普通に表示されるので問題が分かりにくい )
    ←こうなっていると、イラレで開くとこうなる→

    Illustratorでは、右の画像のように文字化けします。
    otfフォントの場合、修正不能な合字やcross-boxの文字化け, ttfやOsakaの場合強制アウトライン化されます。これは他のPDFに埋め込みした場合でも残ります。

    この現象を回避するには、Inkscapeでテキストを打つ場合はツールバーのフォントのプルダウンメニューからフォントを正しく指定して保存することです。
    このような現象は他に(OSX版の)LibreOfficeのWirerでPDFを書き出したときにも発生しました(こちらは回避方法は不明)

    ただし、Inkscapeのテキストボックス流し込み(縦,横方向両方とも)はInkscapeの独自拡張なので、Illustratorからそういうオブジェクトを含んだsvgファイルを読み込んでも正しく表示されません。他のソフトとやりとりする場合はPlain SVGで行うほうが安全かもしれない。





    その他、Illustrator とSVGファイルの関係について。
    SVGファイル保存時に「Illustrator で編集可能」にチェックを入れると、SVGファイルでありながらIllustratorで編集可能になります。
    ただし万能ではなく、間違えれば混乱の元になりかねません。

    この方法で保存したSVGファイルはIllustratorで編集し続ける前提なら上手くいきます。試しにテキストエディタで、Textタグ内の文章を適当に変更して保存してみましょう。次に、ブラウザでそのSVGファイルを読むと変更されたと分かります。しかしIllustratorで読むとなぜか未変更のままだったりします。これはファイル内に同じデータがIllustrator形式とSVG形式2つ保存されているためです。

    Adobeのヘルプにも書いてあります>Adobe Illustrator * アートワークの書き出し


    Scribusのslaファイル

    裏技:sla ファイルはXML形式なので、テキストエディタを使ってリンクファイルの書き換え等ができます。(失敗しても大丈夫なように、slaファイルのバックアップを行いましょう。)

    おわりに

    ScribusはOSX版のインターフェースが一部崩れたり日本語テキスト入力中は全く見えない現象など。まだまだ直す部分はたくさんありますが、
    今後の機能追加に期待できる部分もあります。 その辺は開発チームにぜひ頑張ってもらいたいです。


  • Tsukubado