// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.

// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// unicode holds packages with implementations of Unicode standards that are
// mostly used as building blocks for other packages in internal/x/text,
// layout engines, or are otherwise more low-level in nature.
package unicode
