Chrome拡張機能『字数

概要

選択テキストの文字数を数えるChrome拡張機能です。

対象のテキストを範囲選択して右クリックし、コンテキストメニューから〈字数〉を選ぶと文字数が表示されます。

特長

  • 可読文字のうち漢字・英字の占める割合と空白・改行の数も報告します。
  • 文字数を原稿用紙の枚数に換算します。
  • 表外漢字が含まれる場合、その字と使用回数を報告します。
  • サロゲートペア・結合文字列に対応。カラー絵文字も正しく数えます。
  • ショートカットキーに対応しています(要設定)。

自動計数モード

バージョン1.3より、右クリック不要の「自動計数」モードを備えました。コンテキストメニューから一度〈字数〉を実行するか〈字数〉アイコンをクリックすると、以降、選択中テキストの文字数が画面右上に自動的に表示されます。

やや専門的な特長

  • ネットワークに接続しません。安全で、オフラインでも動作します。
  • プロセスがバックグラウンドに常駐せず、リソース消費を抑えます。
  • 自動計数モード時は、テキスト選択中の結果表示をわざと遅延させ、目にとまらない無駄な更新処理を省いています。このため、遅いPCでも支障なく動作し、ノートPCのバッテリーも節約されます。

ご注意

  • 自動計数モードは、ウェブページごと・リロードするごとに手動で有効化する必要があります。
  • ウェブページによっては、構造やセキュリティーの制約などにより正しく動作しないことがあります。
  • 結果の正確さは保証しません。

詳細

結果が表示されません

ウェブページによっては、構造やセキュリティーの制約などにより正しく動作しないことがあります。ご了承ください。
ウェブ上ではなくお使いのPC上のファイル(ローカルファイル)を対象に動作させるには、Chromeの 拡張機能 → 〈字数〉詳細 画面 で「ファイルのURLへのアクセスを許可する」を有効にしてください。

ショートカットキーに対応していますか?

対応しています。デフォルトではキーを割り当てていないため、Chromeの 拡張機能 → キーボードショートカット 画面(chrome://extensions/shortcuts)を開いて設定してください。
ただし、ウェブページによってはキーが効かない場合があります。

表外漢字とは何ですか?

常用漢字表(平成22年内閣告示第2号 2,136字種)に含まれない漢字です。常用漢字とは、社会生活一般で多用が認められる日本語の漢字です。義務教育で習い、公文書や報道における漢字使用の基準とされますが、目安であって制限ではありません。報告は、難しい漢字が不必要に使われすぎていないかの判断にお役立てください。
この機能はオプションで無効にすることもできます。
なお、報告の数値は文字の種類の数ではなく、文字が現れた回数です。たとえば同じ1種類の表外漢字が10回使われていた場合、1ではなく10と表示されます。

サロゲートペアとは何ですか?

ブラウザー上のプログラム環境であるJavaScriptは、文字をUTF-16として扱います。UTF-16においては、文字は基本的に16ビットで表されますが、一部の文字は32ビットつまり16ビットの組で表されます。これをサロゲートペアと呼び、適切な処理を求められます。
下に示す漢字・絵文字はサロゲートペアの例です。〈字数〉はそれぞれ1字と数えますが、一部の拡張機能やウェブアプリケーションでは誤って2字と数えられてしまいます。

𡈽𦨞𩸽😂🙏🌎

結合文字列とは何ですか?

UTF-16を含むUnicodeにおいて一部の文字、日本語なら濁点・半濁点を伴う字は、たとえば「ガ」と1字で表せるほか、「カ」と「゛」の合成としても表すことができます。前者を合成済み文字、後者を結合文字列と呼びます。見た目には区別がつかず、現れることが(macOS以外では)まれなため、サロゲートペアと同じく見過ごされやすい要素です。
濁点付きのカナを2字などと数えるのは人間にとって不自然なため、〈字数〉は数える前に結合文字列を合成済み文字にまとめます(NFC正規化)。ただし、合成済み文字の存在しない組み合わせなど、まとめられない結合文字列もあります。
ちなみに、こうした結合は異字体や絵文字の表現にも使われることがあり、合わせて「書記素クラスター」と呼ばれます。

空白とは何を指しますか?

半角スペース、全角スペース、タブのほか、ノーブレークスペース( )、N幅スペース( )、M幅スペース( )、狭幅スペース( )といったHTMLによく使われる空白文字、自動改行や合字の制御に用いられる特殊なゼロ幅文字など、合わせて50種類の空白を認識します。

原稿用紙の枚数の計算方法は?

デフォルトは、数えた文字数を400で割る「単純計算」です。
計算方法はオプションで変更できます。用紙の字数×行数を任意に設定できるほか、「マス埋め」計算法を選ぶことができます。n字×m行のマス埋め計算の手順は次のとおり。

  1. n個のマスを用意。そのマスに、選択テキストの文字を1字ずつ、空白文字も含めて書き入れていく。
  2. マスがすべて埋まったら、もしくは改行が出現したら、1行分の処理が完了。次の行に移る。

12を繰り返し、処理した総行数をmで割る。端数を切り上げ、原稿用紙の枚数とする。

空白や改行が反映されるため、「単純計算」よりも実際的な枚数になります。ただし、半角文字やゼロ幅空白にも1マスを使い、禁則処理も省くなど、完全ではありません。あくまでも目安としてください。
ちなみに、日本人が日本語の文章を読む平均速度は、1分間に500字前後といわれています。用紙の字数をそのように設定すれば、文章を読み終える時間の目安ともなるでしょう。

自動計数モードとは何ですか?

テキストの選択操作中に、自動的に文字数を数えて画面右上に表示する機能です。
コンテキストメニューから〈字数〉を一度実行するか、Chromeメニューバー上の〈字数〉アイコンをクリックすると有効となります。アイコンを再度クリックすると無効に戻ります。ショートカットキーを割り当てることもできます。
ただし、ウェブページによっては機能しない場合があります。

自動計数モードをあらかじめ有効にできませんか?

できません。自動計数モードはウェブページごとにユーザーが手動で有効にしなければなりません。
ユーザーの明示的な操作なしに処理を開始する権限を〈字数〉が持たないための制約です。安全性を保証するため、将来もその権限を得る予定はありません。

報告された文字数が誤っています

やむを得ない仕様です。報告はあくまでも目安と考え、著しく誤った結果の出るウェブページでのご利用は諦めてください。
〈字数〉はブラウザーのAPIから渡された選択テキスト情報内の文字をすべて数えます。一方、ブラウザー上での文字の表示のされ方はHTML/CSS構造等に左右され、たとえ存在していてもユーザーにすべて見えているとは限りません。加えて、制御コードと呼ばれる見えない文字がテキストに含まれ、それを区別できずに数えてしまう場合もあります。他もろもろの理由により、見た目と報告の文字数が食い違うことがあります。

情報収集などに悪用される恐れは?

ありません。悪用の意図のないことはもちろん、ユーザーの操作なしで勝手に作動したり、サーバーなどへ情報を送ったりする権限が〈字数〉には与えられていません。
〈字数〉は公式の権限適合審査を経て、Chrome ウェブストアでのみ提供しています。インストールした拡張機能の権限は、Chromeの 拡張機能 → 詳細 画面で確認できます。

改版履歴

  • バージョン1.0
    • 2019年7月11日 Chromeウェブストアに公開
  • バージョン1.1
    • 表外漢字カウント機能を追加
    • フレーム内の文字も数えられるよう修正
  • バージョン1.2
    • 原稿用紙数換算機能を追加
    • オプション画面を追加
  • バージョン1.3
    • 自動計数モードを追加
  • バージョン1.4
    • 結果表示をアラートダイアログから画面右上のオーバーレイ(自動計数モードと同じ)に変更
    • API名前空間を修正し、ChromiumEdgeでの動作を確認