Skip to main content
Apr 11, 2019 12:11 AM UTC
Answered

クロスワードパズル作成方法

InDesignで図のようなクロスワードパズルを作成する時、

どんな方法が考えられますでしょうか?(無論実際はもっとマス目は多いです)

なるべく手数を少なくしようと思い、

以下の方法を考えました。

----------------------------------------------------------------------------------

テキストを表に変換(テキストは事前に用意してもらいます)

↓

数字とそれ以外(この場合、ひらがなと漢字)の段落スタイルをそれぞれ作る

↓

検索置換でそれぞれ段落スタイルを適用。

と。ここまではいいんですが、

セルを一気に塗りつぶす方法がわかりません。

セルスタイルを利用しそうな感じはするのですが。。。

そもそもこの行程が効率的かも怪しいので

もし何かいい方法があればご教授願います。

----------------------------------------------------------------------------------

制作環境

MAC/OS10.10/CC2017

    This topic is closed to new replies. Start a new post to keep the conversation going.
    Subi Omu
    Subi OmuCorrect answer
    Participating Frequently
    Apr 12, 2019 2:07 AM UTC

    いろいろなやり方があって面白ですね。

    セルスタイルを使う方がいないのでやってみました。スクリプトを使います。

    テキストの塗りつぶしの箇所に検索用に適当な記号などを入れておきます(例:<beta>)

    数字の小さい文字と、通常の漢字やひらがなを段落スタイルで設定します。(後でセルスタイル設定に使う)

    セルスタイルを3つ作成。

    ・1つめは「一般」の段落スタイルに漢字やひらがなの段落スタイルを指定

    ・2つめは同様に小さい数字の段落スタイルを設定

    ・3つめは「罫線と塗り」→「セルの塗り」を[黒]100%に指定

    最初に全部のセルを選択して漢字やひらがなのセルスタイルをかけておきます。

    あとはせうぞーさん作のスクリプトで一気に終わります。古いスクリプトですがCC2015で動作確認しました。

    http://d.hatena.ne.jp/seuzo/20090814/1250176724

    セルを全選択したままスクリプトを実行(1回目)

    正規表現 [0-9]+

    セルスタイル:小さい数字

    セルを全選択したままスクリプトを実行(2回目)

    正規表現 <beta>

    セルスタイル:セルの塗り

    セルの大きさを変えても問題ないし、後で文字の大きさなどの設定を段落スタイルで変えられます。

    12 replies

    Apr 13, 2019 5:00 AM UTC

    皆様ご提案ありがとうございました。

    いろいろな方法が知れて勉強になりました。

    正直どれも正解なので、どうしようかと思いましたが、

    Subi Omu様のご提案が、自分の環境には合っていそうなので、

    こちらを正解にします。

    最後に私のクロスワード作成方法です。

    Subi Omu様とほぼほぼ同じなんですが、、、、

    一応載せときます。

    事前準備:

    ●セルを塗りつぶす部分に適当な文字をあしらったテキスト(今回は★)

    ●“左/上揃え”に設定した数字用の段落スタイル1個

    (他の設定は後で調整できるので適当、もちろんここである程度決めてしまってもOK)

    (仮に名前をnumberとします)

    ●セルスタイルを3つ用意

    1.お好きな線幅設定、テキストの配置を“中央”にしたもの

    2.セルの塗りを黒に設定したもの

    3.作成しておいた数字用の段落スタイルを割り当て、配置を“上”にしたもの

    ●表スタイル1つ用意

    セルスタイル「1」を割り当てたもの

    手順

    テキスト流し込む

    作成した表スタイルで表変換

    ここで画面見ながら、セルサイズ調整、ひらがなと漢字の情報を決める(数字もそのまま変わっていい)、

    揃えをセンターに(はい、すいません手作業です)

    せうぞ―様のスクリプト

    正規表現にマッチしたら、指定のセルスタイルを適用する「regex_cellstyle 0.2」

    を使用して、

    「★」に対してセルスタイル2を。

    そのまま(選択された状態のまま)同じスクリプトで

    「数字」に対してセルスタイル3を。

    必要なら段落スタイルを修正して数字の大きさやフォントを変えて出来上がり。

    Translate
    mars517
    Participating Frequently
    Apr 12, 2019 6:16 AM UTC

    表を使わない方法を試してみました。

    テキストはタブを改行に置換しておきます。

    テキストフレームとグラフィックフレーム(同じサイズ)を用意。

    グラフィックフレームには「線を中央に揃える」で罫線を設定します。

    段落スタイルは3種類を用意。「段落の背景色」は念のためテキストフレームを少しはみ出すように設定しました。

    空のテキストフレームをコピーし、グラフィックフレーム内にペースト(選択範囲内にペースト)。

    グラフィックフレームの「フレーム調整オプション」を以下のように設定します。

    これを「繰り返し複製」で9個用意した後、9個のテキストフレームを連結。

    その後、グラフィックフレームをグループ化します。

    テキストを読み込み、検索/置換で各段落スタイルを適用。

    コントロールパネルの「W」「H」でサイズを変更すると文字の大きさも変わります。

    (「%」によるサイズ変更は不可。ドラッグも不可)

    Translate
    ajabon grinsmith
    Community Expert
    Community Expert
    Apr 12, 2019 3:59 AM UTC

    遅ればせですが、優勝を狙いに来ました。

    ベタの入る空欄に、原稿中で絶対に使われないユニークな文字を入れておきます。

    作例ではとりあえずで半角ゼロを入れました。

    段落は左揃え、セルの属性はテキスト上揃え、

    「内容をセルに入る部分のみ表示」にチェック

    各セルの段落スタイルにあてる正規表現スタイル。

    ゼロにした部分はゼロ以外にする場合、適宜書き換えてください。

    最後にベタ部分にあたる文字スタイル。

    圏点設定を使用します。

    肩つき数字の処理は段落の左揃えで適えているため、

    セルのリサイズにフレキシブルに対応する感じではなくなりましたが、

    基本は「流すだけ」で完成となります。

    どうもお目汚しでした。

    Translate
    Apr 12, 2019 3:58 AM UTC

    返信いただいた皆様

    様々なご提案ありがとうございます。

    本当に勉強になります。

    まだ一番最初に返信頂いたyusuke.s様の方法しか実践はしていませんが(無事処理できました)、

    週末他の方の方法も試しながら、

    自分の環境に合ったカスタマイズも試みたいと思います。

    (グラフィックのセルの発想はありませんでした。目から鱗です。)

    取り急ぎお礼申し上げます。

    Translate
    Subi Omu
    Subi OmuCorrect answer
    Participating Frequently
    Apr 12, 2019 2:07 AM UTC

    いろいろなやり方があって面白ですね。

    セルスタイルを使う方がいないのでやってみました。スクリプトを使います。

    テキストの塗りつぶしの箇所に検索用に適当な記号などを入れておきます(例:<beta>)

    数字の小さい文字と、通常の漢字やひらがなを段落スタイルで設定します。(後でセルスタイル設定に使う)

    セルスタイルを3つ作成。

    ・1つめは「一般」の段落スタイルに漢字やひらがなの段落スタイルを指定

    ・2つめは同様に小さい数字の段落スタイルを設定

    ・3つめは「罫線と塗り」→「セルの塗り」を[黒]100%に指定

    最初に全部のセルを選択して漢字やひらがなのセルスタイルをかけておきます。

    あとはせうぞーさん作のスクリプトで一気に終わります。古いスクリプトですがCC2015で動作確認しました。

    http://d.hatena.ne.jp/seuzo/20090814/1250176724

    セルを全選択したままスクリプトを実行(1回目)

    正規表現 [0-9]+

    セルスタイル:小さい数字

    セルを全選択したままスクリプトを実行(2回目)

    正規表現 <beta>

    セルスタイル:セルの塗り

    セルの大きさを変えても問題ないし、後で文字の大きさなどの設定を段落スタイルで変えられます。

    Translate
    mars517
    Participating Frequently
    Apr 11, 2019 6:37 AM UTC

    私は段落スタイルでやってみました。

    表組みに罫線があると面倒なので、罫線は段落囲み罫で表現しました。

    以下、流れです。

    テキストでは空欄部分に「/」を入力しておく。

    InDesignの表はフレームなし。セルの高さは固定。

    段落スタイルに段落囲み罫と段落の背景色を設定。

    幅は「列」、上端・下端は「仮想ボディ」と設定。

    上下のオフセットは「(セルの高さ−文字サイズ)÷2」とする。

    数字用段落スタイルはベースラインシフトと行揃え「左揃え」を設定。

    空欄用段落スタイルは文字色と背景色を同一色に設定。

    (文字が残らないほうが良ければ改行などに置換)

    正規表現検索/置換で段落スタイルを適用。

    以上です。

    Translate
    yusuke.s
    Inspiring
    Apr 11, 2019 1:06 AM UTC

    mochihiroさん、こんにちは。

    段落スタイル1つ、文字スタイル1つ、セルスタイル2つ(表スタイルは任意で1つあっても可)、で検索置換1回、スクリプト1回でいいところまでいけました。

    前準備

    用意したスタイルはこんな感じです。

    段落スタイルには正規表現スタイルを1つ仕込んでいます。

    ^\d+~y$

    数字と右インデントタブの組み合わせのときに、小さな文字サイズになる文字スタイルを充てます。

    スクリプトはこちらを拝借しました。

    正規表現にマッチしたら、指定のセルスタイルを適用する「regex_cellstyle 0.2」 - 名もないテクノ手

    手順

    CC2017なのでグラフィックセルが利用できます。

    なので、適当なサイズの黒い四角形を、インライン(アンカー付オブジェクト)でタブの間に挟んでおきます。

    そうしたら、選択して表メニューから「テキストを表に変換...」をします。

    表スタイルがあればこのとき充てて下さい。なくてもいけます。

    この時点で黒塗りの部分は解決です。次にセルのサイズを調整します。

    そうしたら、正規表現スタイルで仕込んでいた検索条件にマッチするように、数字の部分に右インデントタブを検索置換で入れます。

    そうするとこんな感じになりました。

    次にセルスタイルをセットしていきますので、ここでスクリプトを使います。セルを全部選択してから、ダイアログに適当に検索条件を入れます。マッチすればなんでもいいので、今回は右インデントタブ(~y)としてみました。

    できあがりです。

    Translate
    Yusuke S.
    Ten A
    Community Expert
    Community Expert
    Apr 11, 2019 1:38 AM UTC

    表作成後に表内文字を縦組みにしてしまうと、検索置換で数字の後ろに挟み込まなくても正規表現スタイルだけで逃げられますね(^-^

    Translate
    yusuke.s
    Inspiring
    Apr 11, 2019 2:20 AM UTC

    なるほど!それもいいですね!

    ただ縦中横で絶対値指定なので、もしセルサイズ変更になったら段落スタイルの調整が必要ですね。

    とはいえそれでも段落スタイルの設定ひとつで済むのでとても良さそう。

    Translate
    Yusuke S.