Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 11821] ファイルの概要

このコミットは、Go言語仕様書のドキュメント(doc/go_spec.html)における、水平三点リーダー(ellipsis)の表示に関するタイポグラフィの調整を目的としています。具体的には、仕様書内で水平三点リーダーが異なるフォントで表示されることによる視覚的な不整合を解消し、一貫したレンダリングを実現するための変更です。

コミット

commit 8040f9bb86d013c8d21a5e8d05cd2657fe2b16de
Author: Rob Pike <r@golang.org>
Date:   Mon Feb 13 14:38:31 2012 +1100

    spec: typographical adjustment for ellipsis
    The paragraph describing the ellipses presents the horizontal ellipsis
    in two different fonts and at least on my screen they look too different.
    Switch to a consistent rendering.
    
    Of small steps are great journeys undertaken.
    
    R=golang-dev, rsc, dsymonds, gri
    CC=golang-dev
    https://golang.org/cl/5650055

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/8040f9bb86d013c8d21a5e8d05cd2657fe2b16de

元コミット内容

spec: typographical adjustment for ellipsis
The paragraph describing the ellipses presents the horizontal ellipsis
in two different fonts and at least on my screen they look too different.
Switch to a consistent rendering.

Of small steps are great journeys undertaken.

変更の背景

Go言語の仕様書(doc/go_spec.html)において、水平三点リーダー()が説明されている箇所で、同じ文字が異なるフォントで表示されるという視覚的な不整合が存在していました。コミットメッセージによると、コミッターの画面上ではこの違いが顕著であり、読者にとって混乱を招く可能性がありました。このコミットは、このタイポグラフィの問題を修正し、水平三点リーダーの一貫した表示を実現することを目的としています。これは、ドキュメントの品質と可読性を向上させるための細かな、しかし重要な改善です。

前提知識の解説

三点リーダー(Ellipsis)

三点リーダーは、文章において省略、中断、余韻、または未完結な思考を示すために使用される句読点です。一般的には3つの点(...)で構成されますが、Unicodeには単一の文字として水平三点リーダー( U+2026 HORIZONTAL ELLIPSIS)も存在します。

Go言語における三点リーダー(...)の用法

Go言語において、3つの点(...)は特別な意味を持ち、主に以下の用途で使用されます。

  1. 可変引数関数(Variadic Functions): 関数の引数リストで型名の前に...を付けることで、その関数が指定された型の引数を任意の数だけ受け取れることを示します。関数内では、これらの引数はスライスとして扱われます。 例: func Sum(n ...int) int
  2. スライスを可変引数関数に渡す場合: スライスを可変引数関数に渡す際に、スライス名の後ろに...を付けることで、スライスの要素を個々の引数として展開して渡すことができます。 例: vals := []int{1, 2, 3}; Sum(vals...)
  3. 配列リテラルでの長さの推論: 配列を宣言する際に、長さを...とすることで、初期化子の要素数に基づいて配列の長さが自動的に決定されます。 例: [...]int{1, 2, 3} は長さ3の配列を作成します。
  4. goコマンドにおけるワイルドカード: go list ...のように、goコマンドで...を使用すると、現在のディレクトリ以下のすべてのサブパッケージやディレクトリを対象とすることを示します。

水平三点リーダー文字()とGo言語仕様書

Go言語の仕様書では、Go言語の構文要素としての...(3つの点)とは別に、一般的な文章表現として水平三点リーダー文字()が非公式に用いられることがあります。これは、列挙の省略や、詳細が指定されていないコードスニペットなどを表現するために使われます。このコミットの対象となっているのは、この「Go言語のトークンではない、一般的な水平三点リーダー文字」の表示に関する問題です。

HTMLにおける<code>タグ

<code>タグは、HTMLにおいてコンピュータコードの断片を表現するために使用されます。このタグで囲まれた内容は、通常、等幅フォント(monospace font)で表示され、コードであることを視覚的に示します。

技術的詳細

このコミットの技術的な詳細は、Go言語仕様書のHTMLドキュメント(doc/go_spec.html)内の特定の段落における水平三点リーダーのレンダリング方法を変更することにあります。

変更前は、水平三点リーダーがHTMLの通常のテキストとして記述されていました。これにより、ブラウザやCSSの解釈によっては、その文字が周囲のテキストとは異なるフォントで表示される可能性がありました。特に、Go言語のキーワードやコードスニペットが<code>タグで囲まれて等幅フォントで表示される中で、水平三点リーダーだけが異なるフォントで表示されると、視覚的な不整合が生じます。

このコミットでは、問題の水平三点リーダーを<code>タグで囲むように変更しています。これにより、水平三点リーダーも周囲のコード要素と同様に等幅フォントでレンダリングされるようになり、視覚的な一貫性が保たれます。これは、ドキュメントのタイポグラフィを改善し、読者にとってより読みやすい体験を提供するための、HTMLマークアップの細かな調整です。

また、コミットの日付が2012年2月8日から2012年2月13日に更新されています。これは、ドキュメントの更新日を示すメタデータであり、このコミットが適用された日付を反映しています。

コアとなるコードの変更箇所

--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -1,6 +1,6 @@
 <!--{\n \t\"Title\": \"The Go Programming Language Specification\",\n-\t\"Subtitle\": \"Version of February 8, 2012\"\n+\t\"Subtitle\": \"Version of February 13, 2012\"\n }-->
 \n <!--
 @@ -74,8 +74,8 @@ double quotes <code>\"\"</code> or back quotes <code>``</code>.\n <p>\n The form <code>a … b</code> represents the set of characters from\n <code>a</code> through <code>b</code> as alternatives. The horizontal\n-ellipis … is also used elsewhere in the spec to informally denote various\n-enumerations or code snippets that are not further specified. The character …\n+ellipis <code>…</code> is also used elsewhere in the spec to informally denote various\n+enumerations or code snippets that are not further specified. The character <code>…</code>\n (as opposed to the three characters <code>...</code>) is not a token of the Go\n language.\n </p>\n```

## コアとなるコードの解説

このコミットは、`doc/go_spec.html`ファイルに対して2つの主要な変更を行っています。

1.  **ドキュメントのバージョン日付の更新**:
    ```diff
    -\t\"Subtitle\": \"Version of February 8, 2012\"\n
    +\t\"Subtitle\": \"Version of February 13, 2012\"\n
    ```
    これは、HTMLファイルのコメント部分にあるメタデータで、ドキュメントのバージョン日付を2012年2月8日から2012年2月13日に更新しています。これは、このコミットが適用された日付を反映するものです。

2.  **水平三点リーダーのレンダリングの修正**:
    ```diff
    -ellipis … is also used elsewhere in the spec to informally denote various
    -enumerations or code snippets that are not further specified. The character …
    +ellipis <code>…</code> is also used elsewhere in the spec to informally denote various
    +enumerations or code snippets that are not further specified. The character <code>…</code>
    ```
    この変更が、このコミットの主要な目的です。
    変更前は、水平三点リーダー文字(`…`)がHTMLの通常のテキストとして記述されていました。
    変更後には、この水平三点リーダー文字が`<code>`タグで囲まれています。
    これにより、ブラウザは`…`をコードの一部として解釈し、通常は等幅フォントでレンダリングします。この修正により、仕様書内で`…`が常に一貫したフォントで表示されるようになり、視覚的な不整合が解消されます。特に、Go言語の構文要素(例: `<code>a ... b</code>`)が等幅フォントで表示される中で、説明文中の`…`も同じフォントで表示されることで、ドキュメント全体のタイポグラフィの一貫性が向上します。

## 関連リンク

*   Go CL 5650055: https://golang.org/cl/5650055

## 参考にした情報源リンク

*   Go言語における`...`(三点リーダー)の用法に関する情報:
    *   https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFkmHi2SxG6up700R8Wt5BOwq0ZFWYProtIbQVKfgdd82kRws5lNL4DBgjuLPqYm9vOFNzuH-waS3JJA3JwvhKhAXA-0a63c10Pb5g7Kt3DntoaPEjMMgzpNf2K1wJN0GpylqhbWNVGprDQgO_pPlHRSrt5SSpGwxNzJUr-RamsjAogvg==
    *   https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGY33gJYaniFSMSx-abhGhAx9cEko1bB5dtHM7Q45IrmlP60OWMRgxEu-CLkMToVfEdK7PuWtWj5Pj3jfLKaOzjSKakUUnJX2qAmK9d90VNtcZNQlFWVAZcu4Hda15psXdOwOBtbX5AAOGz1sdYGSciYxvaxLbSydhoYfmXZA89sngSuCzs7rsTMg==
    *   https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQE2AINeI_BsCFqHAspqMl2m5yn_K-agA4ZCTEdSxfshlIAKwB80XpRvpx_X69yApL7BduA39fNeojEHaZCLRyhbBJ19x-RCrUgzW3-SACav-uXPPEBXP_uyOB1bF0ejAA==
*   Go言語仕様書における水平三点リーダー文字(`…`)の非公式な使用に関する情報:
    *   https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFrZK5ybJQm_0eEGpSdQYocxTGVJJy7c5KPAKM64Q5ZlqRiEX1_wQ8WW3qxhbODbHrt620QLXzFKQkVqh31lLSmrl1hlmdSVUTy170qY4mI5C2L
    *   https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFAjVDnmt5xz8xTbpx577Nbr6a7S05-8YA1IY5d_if7HiomtIcpFVZYzzHpEedHHlqVSauip7wZF0qBlU5Z93fcSkOrkkJz8NCrvMUdB9taqLLbAgwuzQ1wWQ==