MacOSにて、英数字のみ半角に変換し、カタカナは全角のままにしたいのですが

Macで「半角に変換」をよく使うのですが、カタカナも半角になってしまいます。英数字のみを半角にし、カタカナは全角のままにする方法はないものでしょうか?


メニューから選択する方法でも、コピー&ペースト時に英数字のみを半角になっても良いのですが。


本来は、□英字 □数字 □スペース □記号 で、個別に全角<->半角変換対象の選択設定ができると良いのですが。

osの日本語化の仕様の問題かと思うのです、将来の日本語osの機能として採用していただきたいものです。


目的は、最近楽曲名や人名の英字を全角で表現されていることが多くなったような気がします。

私だけかもしれませんが、英字は半角でないと、直感的に読み取れないのです。

半角カタカナは、これも読みにくいのです。


アドバイスよろしくお願いします。

macOS Ventura 13.6.7 使用中です。

投稿日 2024/07/24 02:45

返信
スレッドに付いたマーク ランキングトップの返信

投稿日 2024/07/24 05:06

こんな感じの Automator クイックアクションでどうでしょうか?


作り方

  1. Automator.app を起動
  2. クイックアクションを選択
  3. JavaScriptを実行アクションをダブルクリックしてワークフローに追加
  4. JavaScript のコードをコピペ
  5. 下図の赤丸部分を設定
  6. 適当な名前で保存 (例 Normalize)



JavaScript のコード


'use strict'

function run(argv) {
    const pattern = /[\u{FF01}-\u{FF5E}\u{FF61}-\u{FF9F}\u{FFE0}-\u{FFE6}\u{3000}]+/ug;
    const normalized = argv[0].replace(pattern, match => match.normalize('NFKC'));

    return normalized;
}


使い方

1. テキストを選択

2. 右クリックからワークフローを実行


返信: 18
スレッドに付いたマーク ランキングトップの返信

2024/07/24 05:06 yabu2017 への返信

こんな感じの Automator クイックアクションでどうでしょうか?


作り方

  1. Automator.app を起動
  2. クイックアクションを選択
  3. JavaScriptを実行アクションをダブルクリックしてワークフローに追加
  4. JavaScript のコードをコピペ
  5. 下図の赤丸部分を設定
  6. 適当な名前で保存 (例 Normalize)



JavaScript のコード


'use strict'

function run(argv) {
    const pattern = /[\u{FF01}-\u{FF5E}\u{FF61}-\u{FF9F}\u{FFE0}-\u{FFE6}\u{3000}]+/ug;
    const normalized = argv[0].replace(pattern, match => match.normalize('NFKC'));

    return normalized;
}


使い方

1. テキストを選択

2. 右クリックからワークフローを実行


2024/07/24 04:15 Gin_tonic への返信

確かにMacbookですけど。

入力時は 『かわせみ』使っているので、英字・数字はダイレクトに半角、記号は個別に設定できるので、快適ですよ。


自分の入力時のことではなくて、

・webに たとえば楽曲リストが掲載されているのを、コピペしてファイル化するとき

・ダウンロードしたファイル名に全角英字が付いていた

というケースです

全角の英字・数字・カタカナ が含まれた文字列を半角にすると、カタカナが半角になってしまうのが嫌だと思っているのです。


(予断ですが。ところで、ここに「中黒」を入力すると、勝手に半角カタカナの"・"になるのは 悪い冗談のような)

2024/07/24 04:44 i_vincent への返信

『私は全角英字と半角カタカナはかなり嫌いなので,』とても同意です。

で、自分で入力するときはおっしゃる通り半角カタカナなんか出ません。


ただ、最近増えてきているのか、全角英字 数字をお使いの方が目に付きますのです。

で、コピペして自分のファイルにするときや、ダウンロードしたファイル名を半角英字 数字にしたいのです。

カタカナは半角カタカナにしないで。


最初の投稿の「変換」というのは入力時の変換のことでなくて、編集メニューの「変換」に出てくる「半角に変換」の機能のことです。

紛らわしくて申し訳有りませんでした。

2024/07/24 04:53 Hiro__S への返信

そうですね。

記号には英字でも存在する記号(&など)と半角記号(半角の中黒など)あるので、どうしましょう。

(『かわせみ』の入力時なら個別指定できます。)

スペースはお好みでしょうか。


そもそも、「ひらがな」を扱えるようになった時点で半角カタカナは廃止して全角の「カタカナ」にしてしまえば良かったのに。

ただ、後方互換性のため半角カタカナもトラブル無いようにする必要は有りましたが。

(そもそも、このページに半角カタカナは入力できないのですね。さすがApple(^^)

2024/07/24 06:40 yabu2017 への返信

選択したテキストを変換するのではなく、Finder で選択したファイル・フォルダをリネームするのであれば、こんな感じの Automator クイックアクションでも良さそうです。



実行すると「ABC123.txt」=>「ABC123.txt」みたいな感じにファイル名・フォルダ名が変更されます。複数選択可。ファイル名なので「/」と「:」は「_」に変更する処理を追加してあります。


JavaScript のコード

'use strict';

var Finder = Application('Finder');

function run() {
    for (const f of Finder.selection()) {
        const pattern = /[\u{FF01}-\u{FF5E}\u{FF61}-\u{FF9F}\u{FFE0}-\u{FFE6}\u{3000}]+/ug;
        const normalized = f.name().replace(pattern, match => match.normalize('NFKC'));
        f.name = normalized.replace(/[:/]/g, '_');
    }
}


2024/07/24 20:47 yabu2017 への返信

お役に立てて何よりです。


スクリプトのカスタマイズについてちょっとだけ。


JavaScript のコードを次のように変更すると全角スペース (U+3000) を処理対象から外すことができます。


変更前

/[\u{FF01}-\u{FF5E}\u{FF61}-\u{FF9F}\u{FFE0}-\u{FFE6}\u{3000}]+/ug


変更後

/[\u{FF01}-\u{FF5E}\u{FF61}-\u{FF9F}\u{FFE0}-\u{FFE6}]+/ug


ちなみに前掲のスクリプトにおける処理対象の文字のリストはこんな感じ。(ページが表示されない場合はしばらく時間を置いてからアクセスしてみてください)


Unicode Utilities: UnicodeSet


ところで、このボードの「中黒 U+30FB」ですが、投稿時に半角中黒 (U+FF65) に化けるのではなく、ページの表示用に使われているウェブフォント (SF Pro JP) で「中黒」の幅が狭いのが原因だったりします。

2024/07/25 05:12 yabu2017 への返信

最初に紹介したワークフローを下図のように変更すればクリップボードにコピーされるようになります。



使い方

  1. テキストを選択
  2. 右クリックで実行 => 変換後のテキストがクリップボードにコピーされる
  3. ペースト => クリップボードにコピーされた変換後のテキストがペーストされる


あと、すみませんが JavaScript のコードをほんのちょっとだけ変更してください。


変更前

'use strict'


変更後

'use strict';


このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

MacOSにて、英数字のみ半角に変換し、カタカナは全角のままにしたいのですが

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。