Skip to main content
Known Participant
February 7, 2025
해결됨

半角数字を分離改行したい

  • February 7, 2025
  • 1 답변
  • 1342 조회

環境:
Windows 11 Pro 24H2
InDesign 19.5.1

 


冊子の組版で、今まで別会社で作成されていた製品が今回より自社に依頼されてきました。
支給されたのはPDF(テキストがとれる状態)のみです。

これをInDesignで組むにあたりテンプレートを作成しており、できる限り完全に再現してほしいと言われています。

 

前の会社はAdobeではないアプリケーションで作成していたと聞いています。

 


製品について:
基本的にグリッドを極力尊重するような組み方です。
・縦組み
・おそらくInDesignにおける「弱い禁則」(促音拗音、音引きは文頭で許容)
・句読点はぶら下げ
・文頭以外の役物は全角
・数字はすべて半角だが、3つ以上連続する数字は1文字ずつ縦に配置(1ケタの縦中横が並んだ見た目)

 

この最後の条件で、さらに途中の改行が許容のため、連数字処理OFFでも対応できず困っています。
例えば、「2020年」とあったときに「202/0年」と改行されていたりします。

 

検索しても、分離禁止の方しかたどり着けず…

どこかの設定で、半角英数字に対しても連数字処理をOFFすることは可能でしょうか。
お力をお借りできればうれしいです。
よろしくお願いいたします。

    최고의 답변: bizarre_n

    多分2桁のみ自動縦中横で処理する感じだと思いますので、全て全角にしてしまうと2桁がうまくいかないと思います。

    2桁のみ半角数字とし、自動縦中横を使います。

    (2桁のみ半角数字にするのは正規表現が使えるエディタなどで処理する感じかなと思います)

    1桁と3桁以上は全角に置換した上で、全ての数字に(\dを使えば全角半角関係なくマッチすると思います)等幅半角字形を当てます(正規表現スタイル使用)。

    それで連数字処理はオフにすれば良いのではないでしょうか。

    1 답변

    ajabon grinsmith
    Community Expert
    Community Expert
    February 7, 2025

    0〜9の数字をすべて全角文字に置換、

    正規表現スタイルを利用して [0-9] に等幅半角字形の文字スタイルを適用、

    で連数字処理オフに対応できると思います。

    (だめだったら教えてください…)

    bizarre_n
    Community Expert
    bizarre_nCommunity Expert답변
    Community Expert
    February 7, 2025

    多分2桁のみ自動縦中横で処理する感じだと思いますので、全て全角にしてしまうと2桁がうまくいかないと思います。

    2桁のみ半角数字とし、自動縦中横を使います。

    (2桁のみ半角数字にするのは正規表現が使えるエディタなどで処理する感じかなと思います)

    1桁と3桁以上は全角に置換した上で、全ての数字に(\dを使えば全角半角関係なくマッチすると思います)等幅半角字形を当てます(正規表現スタイル使用)。

    それで連数字処理はオフにすれば良いのではないでしょうか。

    bizarre_n
    Community Expert
    Community Expert
    February 10, 2025

    ご確認いただきありがとうございます!

     

    2桁の数字を検索するところまではどのような正規表現か想像できるのですが、

    その後「同じ数字の半角で置換」となると思いつかず…

    考えている方向が違いましたら申し訳ありません。


    秀丸エディタをお使いですよね。
    正規表現で

    (?<!\d)\d{2}(?!\d)

    と検索すると2桁数字だけ検索できると思います。

    秀丸では、マッチするところが全て選択された状態にできると思いますので、その時に右クリックして、半角に変換(ハンカクに変換)できるんじゃないかと思います。
    InDesignに取り込んだ後は、段落スタイルの中の「正規表現スタイル」を以下のようにします。

    事前に、文字スタイル「全角」(全角等幅字形にするだけの文字スタイル)と文字スタイル「半角」(半角等幅字形にするだけのスタイル)を 作っておきます。
    1行目で数字が2回繰り返されるところ全てが半角になります。

    しかし、これだと3つ以上並んでいるところが「2回繰り返されている」ことになって上手くない感じになると思うので、2行で「3つ以上並んでいたら全角幅」に戻しています。

    (\dは全角半角を区別しません)

    多分もっとスマートに1行で書けると思うんですが、自分、ヘタに凝って作るとしばらくたって自分がどういうロジック考えてたのか分からなくなることがよくあるので、どんくさい感じになっております…