docs: fix article typos

a -> an

Change-Id: Ia55603f09303598a1b0051606e83f018b3525c24
Reviewed-on: https://go-review.googlesource.com/63993
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/collate/build/contract.go b/collate/build/contract.go
index d96af78..a6a7e01 100644
--- a/collate/build/contract.go
+++ b/collate/build/contract.go
@@ -26,7 +26,7 @@
 //                in a given contraction.
 //   non-initial: a rune that appears in a suffix.
 //
-// A rune may be both a initial and a non-initial and may be so in
+// A rune may be both an initial and a non-initial and may be so in
 // many contractions.  An initial may typically also appear by itself.
 // In case of ambiguities, the UCA requires we match the longest
 // contraction.
diff --git a/internal/export/idna/idna.go b/internal/export/idna/idna.go
index 1d775fa..e2d06e6 100644
--- a/internal/export/idna/idna.go
+++ b/internal/export/idna/idna.go
@@ -167,7 +167,7 @@
 	bidirule func(s string) bool
 }
 
-// A Profile defines the configuration of a IDNA mapper.
+// A Profile defines the configuration of an IDNA mapper.
 type Profile struct {
 	options
 }
diff --git a/language/match.go b/language/match.go
index 5c7674b..15b74d1 100644
--- a/language/match.go
+++ b/language/match.go
@@ -144,7 +144,7 @@
 
 // addLikelySubtags sets subtags to their most likely value, given the locale.
 // In most cases this means setting fields for unknown values, but in some
-// cases it may alter a value.  It returns a ErrMissingLikelyTagsData error
+// cases it may alter a value.  It returns an ErrMissingLikelyTagsData error
 // if the given locale cannot be expanded.
 func (t Tag) addLikelySubtags() (Tag, error) {
 	id, err := addTags(t)
diff --git a/language/parse.go b/language/parse.go
index cfa28f5..fca2d30 100644
--- a/language/parse.go
+++ b/language/parse.go
@@ -765,7 +765,7 @@
 
 var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight")
 
-// ParseAcceptLanguage parses the contents of a Accept-Language header as
+// ParseAcceptLanguage parses the contents of an Accept-Language header as
 // defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and
 // a list of corresponding quality weights. It is more permissive than RFC 2616
 // and may return non-nil slices even if the input is not valid.
diff --git a/unicode/norm/transform.go b/unicode/norm/transform.go
index 8589067..9f47efb 100644
--- a/unicode/norm/transform.go
+++ b/unicode/norm/transform.go
@@ -40,7 +40,7 @@
 }
 
 func flushTransform(rb *reorderBuffer) bool {
-	// Write out (must fully fit in dst, or else it is a ErrShortDst).
+	// Write out (must fully fit in dst, or else it is an ErrShortDst).
 	if len(rb.out) < rb.nrune*utf8.UTFMax {
 		return false
 	}