{"size": 2671, "ext": "scrbl", "max_stars_repo_path": "elle-doc/scribblings/core-data/character.scrbl", "max_stars_repo_name": "tail-reversion/elle", "max_stars_repo_stars_event_min_datetime": "2021-01-07T04:34:50.000Z", "max_stars_repo_stars_event_max_datetime": "2021-03-08T01:07:58.000Z", "max_issues_repo_path": "elle-doc/scribblings/core-data/character.scrbl", "max_issues_repo_name": "tail-reversion/elle", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "elle-doc/scribblings/core-data/character.scrbl", "max_forks_repo_name": "tail-reversion/elle", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 7, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 28.1157894737, "max_line_length": 148, "alphanum_fraction": 0.680269562}
#lang scribble/manual

@(require "../util.rkt")


@title{Characters}

@defproc[(char? [v any/c]) boolean?]{
 Returns @racket[#true], if @racket[v] is a character; @racket[#false], otherwise.
}

@defproc[(unicode-scalar-value? [v any/c]) boolean?]{
 Returns @racket[#true], if @racket[v] is a Unicode Scalar Value; @racket[#false], otherwise.
}

@defproc[(char→unicode-scalar-value [c char?]) unicode-scalar-value?]{
 Returns a Unicode Scalar Value that represents @racket[c].
}

@defproc[(unicode-scalar-value→char [n unicode-scalar-value?]) char?]{
 Returns the character represented by @racket[n].
}


@section{Comparison}

@defproc[(char=? [c char?] ...+) boolean?]{
 Returns @racket[#true], if the @racket[c]s are equivalent; @racket[#false], otherwise.
}

@defproc[(char<? [c char?] ...+) boolean?]{
 Returns @racket[#true], if the @racket[c]s are ordered by increasing Scalar Values; @racket[#false], otherwise.
}

@defproc[(char>? [c char?] ...+) boolean?]{
 Returns @racket[#true], if the @racket[c]s are ordered by decreasing Scalar Values; @racket[#false], otherwise.
}

@defproc[(char≤? [c char?] ...+) boolean?]{
 Returns @racket[#true], if the @racket[c]s are ordered by nondecreasing Scalar Values; @racket[#false], otherwise.
}

@defproc[(char≥? [c char?] ...+) boolean?]{
 Returns @racket[#true], if the @racket[c]s are ordered by nonincreasing Scalar Values; @racket[#false], otherwise.
}


@subsection{Case-Insensitive Comparison}

@defproc[(char-ci=? [c char?] ...+) boolean?]{
 Like @racket[char=?], but case-insensitive.
}

@defproc[(char-ci<? [c char?] ...+) boolean?]{
 Like @racket[char<?], but case-insensitive.
}

@defproc[(char-ci>? [c char?] ...+) boolean?]{
 Like @racket[char>?], but case-insensitive.
}

@defproc[(char-ci≤? [c char?] ...+) boolean?]{
 Like @racket[char≤?], but case-insensitive.
}

@defproc[(char-ci≥? [c char?] ...+) boolean?]{
 Like @racket[char≥?], but case-insensitive.
}


@section{Contracts}

@defproc[(char-in [c1 char?] [c2 char?]) flat-contract?]{
 Returns a flat contract that recognizes a character with a code point between that of @racket[c1] and @racket[c2], inclusive.
}


@section{Conversions}

@defproc[(char-uppercase [c char?]) char?]{
 Returns the uppercase character associated with @racket[c], as defined by Unicode. In the case that no such mapping is defined, returns @racket[c].
}

@defproc[(char-lowercase [c char?]) char?]{
 Like @racket[char-uppercase], but for lowercase mapping.
}

@defproc[(char-titlecase [c char?]) char?]{
 Like @racket[char-uppercase], but for titlecase mapping.
}

@defproc[(char-foldcase [c char?]) char?]{
 Like @racket[char-uppercase], but for case-folding mapping.
}
