This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki AdvancedUcdCowan version 3
author
cowan
comment
ipnr
67.158.178.7
name
AdvancedUcdCowan
readonly
0
text
See UcdCowan for basic UCD procedures.
It is an error to mutate any objects returned by these procedures.
== Blocks ==
''Blocks'' are disjoint objects that represent the allocation blocks into which the Unicode code point space is divided for administrative purposes. Typically most of a block is allocated at once and contains characters from a single script, but there is often more than one block per script, some blocks contain characters from multiple scripts, and some characters in a block are allocated much later than the rest. The list of blocks provided is implementation-dependent. Since it is not possible to create new ones, `eqv?` may be used to compare them.
`(blocks)`
Returns a list of all blocks known to the implementation.
`(block-name `''block''`)`
Returns a string naming ''block''.
`(block-first `''block''`)`
Returns an exact integer representing the first (smallest) code point in the block.
`(block-last `''block''`)`
Returns an exact integer representing the last (largest) code point in the block.
== Named Sequences ==
Named sequences are disjoint objects which represent a sequence of Unicode code points that has a name specified by the Unicode Standard. Named sequences may be provisional in one version of the UCD and then non-provisional in later versions. The list of named sequences provided is implementation-dependent. Since it is not possible to create new ones, `eqv?` may be used to compare them.
`(named-sequences)`
Returns a list of all named sequence objects known to the implementation.
`(named-sequence-name `''named-sequence''`)`
Returns a string naming ''named-sequence''.
`(named-sequence-code-points `''named-sequence''`)`
Returns a list of exact integers representing the code points of the ''named-sequence''.
`(named-sequence-provisional? `''named-sequence''`)`
Returns `#t` if the ''named-sequence'' is provisional, or `#f` if not.
== Normalization corrections ==
''Normalization-corrections'' are disjoint objects that represent official corrections to the UCD normalization tables. The list of normalization-corrections provided is implementation-dependent. Since it is not possible to create new ones, `eqv?` may be used to compare them.
`(normalization-corrections)`
Returns a list of all normalization-corrections known to the implementation.
`(normalization-correction-description `''normalization-correction''`)`
Returns a string describing ''normalization-correction''. Note that normalization-corrections don't have names.
`(normalization-correction-codepoint `''normalization-correction''`)`
Returns an exact integer specifying the code point of the character whose normalization is being corrected.
`(normalization-correction-old `''normalization-correction''`)`
Returns a list of exact integers specifying the normalization of `(normalization-correction-codepoint `''block''`)` before ''normalization correction'' is applied.
`(normalization-correction-new `''normalization-correction''`)`
Returns a list of exact integers specifying the normalization of `(normalization-correction-codepoint `''block''`)` after ''normalization correction'' is applied.
`(normalization-correction-version `''normalization-correction''`)`
Returns a list of three exact integers specifying the version of the UCD (in the format of `ucd-version`) in which ''normalization-correction'' was applied.
== Standardized variants ==
''Standardized-variants'' are disjoint objects that represent standardized variants of base charactesr. The list of standardized-variants provided is implementation-dependent. Since it is not possible to create new ones, `eqv?` may be used to compare them.
`(standardized-variants)`
Returns a list of all standardized-variants known to the implementation.
`(standardized-variants-description `''standardized-variant''`)`
Returns a string describing ''standardized-variant''. Note that standardized-variants don't have names.
`(standardized-variants-when `''standardized-variant''`)`
Returns a string specifying the shaping environment under which ''standardized-variant'' is applied.
`(standardized-variant-base-codepoint `''standardized-variant''`)`
Returns an exact integer specifying the code point of the base character of the standardized variant.
`(standardized-variant-variant-codepoint `''standardized-variant''`)`
Returns an exact integer specifying the code point of the base character of the standardized variant.
'''Issue: this name is regrettable.'''
=== CJK radicals ===
''CJK-radicals'' are disjoint objects that represent the mapping between a radical (which in turn represents the semantic portion of a CJK character) and the ideographic character identical to that radical. The list of cjk-radicals provided is implementation-dependent. Since it is not possible to create new ones, `eqv?` may be used to compare them.
`(cjk-radicals)`
Returns a list of all CJK-radicals known to the implementation.
`(cjk-radical-number `''cjk-radical''`)`
Returns an exact integer identifying ''cjk-radical''.
`(cjk-radical-codepoint `''cjk-radical''`)`
Returns an exact integer representing the codepoint of ''cjk-radical''.
`(cjk-radical-ideograph `''cjk-radical''`)`
Returns an exact integer representing the codepoint of the ideograph equivalent of ''cjk-radical''.
== Undigested stuff from UAX #42 ==
=== Emoji sources ===
The emoji-sources child of the ucd describes the emoji sources.
[datatype for code points, 51] =
jis-code-point = xsd:string { pattern = "[0-9A-F]{4}" }
[emoji sources, 52] =
ucd.content &=
element emoji-sources {
element emoji-source {
attribute unicode { one-or-more-code-points },
attribute docomo { jis-code-point? },
attribute kddi { jis-code-point? },
attribute softbank { jis-code-point? } } + }?
time
2012-04-22 09:46:02
version
3