# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g. crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "ucd-util"
version = "0.1.3"
authors = ["Andrew Gallant <jamslam@gmail.com>"]
description = "A small utility library for working with the Unicode character database.\n"
homepage = "https://github.com/BurntSushi/ucd-generate"
documentation = "https://docs.rs/ucd-util"
readme = "README.md"
keywords = ["unicode", "database", "character", "property"]
license = "MIT/Apache-2.0"
repository = "https://github.com/BurntSushi/ucd-generate"
