引用符
テキスト中で引用、会話、強調などを示すために使われる記号。言語や地域によって形状が異なり、「」『』(日本語)、"" '' (英語)、«» (フランス語) など多様な種類がある。
引用符 (quotation mark) は、他者の発言の引用、作品名の表示、特殊な意味での語句の使用などを示す約物です。日本語では鉤括弧「」と二重鉤括弧『』が標準で、英語ではダブルクォーテーション "" とシングルクォーテーション '' が使われます。言語ごとに引用符の形状と使い方が異なるため、多言語テキストの処理では注意が必要です。
日本語の引用符体系は明確です。会話文や直接引用には「」を使い、引用の中の引用には『』を使います。書名や作品名にも『』を使うのが一般的です。横書きでは "" を使うこともありますが、縦書きでは「」が標準です。日本語の鉤括弧は全角文字で、それぞれ 1 文字としてカウントされます。
英語の引用符には「スマートクォート」(カーリークォート) と「ストレートクォート」の区別があります。スマートクォート (" " ' ') は開きと閉じで形が異なる活字体の引用符で、出版物やワードプロセッサで使われます。ストレートクォート (" ') はタイプライター由来の直線的な引用符で、プログラミングやプレーンテキストで使われます。Unicode ではこれらは別の文字として定義されており、文字数カウントでは区別されます。
プログラミングにおいて、引用符は文字列リテラルの区切り文字として構文上の意味を持ちます。JavaScript では "hello"、'hello'、`hello` (テンプレートリテラル) の 3 種類が使えます。Python も同様に " と ' を区別なく使えますが、文字列内に引用符を含める場合はエスケープ (\") するか、別の種類の引用符で囲む必要があります。
引用符の「スマート変換」は文字数カウントの落とし穴です。Microsoft Word や macOS は、ストレートクォートを自動的にスマートクォートに変換します。ストレートクォート " (U+0022) は 1 バイト (ASCII) ですが、スマートクォート \u201c (U+201C) は UTF-8 で 3 バイトです。テキストをコピー&ペーストする際にスマートクォートが混入すると、バイト数ベースの文字数制限で予期しない切り詰めが発生することがあります。
多言語対応では、引用符の種類がさらに増えます。フランス語のギュメ «»、ドイツ語の „" と ‚'、中国語の「」と『』(日本語と同じ形だが使い方が異なる)、ロシア語の «» と „" など、言語ごとに正しい引用符を使い分ける必要があります。ローカライゼーション (翻訳) の際に引用符を変換し忘れると、テキストの品質が低下します。