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桁のみ半角、ないし3桁以上のみ全角のような整形を比較的簡単に行う方法はありますでしょうか…

    普段は秀丸のマクロを使用していますが、webからダウンロードしたものを使わせていただいています。

    マクロを覗いてみたのですが、そのあたりにはあまり詳しくないためよくわからないままになってしまいました…

     

    自分ですべて作業するわけではないため、なるべく危険性の少ない作業手順を提示しなければならず、

    何かご存じのことがありましたらお教えいただけますと幸いです。


    秀丸でしたら正規表現が使えると思いますので

    ・一度全ての数字を全角に

    ・その後二桁数字のみ半角に

    とすることで、1ケタ全角・2ケタ半角・それ以外全角 とできるかと思います。

    2ケタ半角ということは、

    1. 数字が2回連続していて

    2. 連続した2回の数字の前後が数字以外のものではさまれている

    ということですから、否定前読み・否定後読みを上手く使えばできると思います。

    「正規表現・2桁数字」でググってみてもいいのではないでしょうか。

    (流行りのAIにも聞けると思いますが、その場合はAIの答えが正しいかどうか、ご自分で読めることが必要かと思います)