Files
ack af29bbf7ac Unicode sequences, @typeface, and the font/typeface distinction
A run of Unicode code points now needs one pair of carets, not one pair
each: ^9053 53EF 9053^ renders the characters adjacently, and a single
character inside such a run stands for itself.  An invalid code point is
an error naming the position that wrote it, rather than an apology
rendered into the finished document; noncharacters are refused alongside
surrogates; and a code point that lands on a Klammertext special is safe
through the re-reads that assemble a document.  The character tables now
produce the precomposed form, so a diacritic written as ^a" and one typed
directly are the same text to a search or a copy-paste.

"kdesc -u" describes how to write a Unicode character, with tables of
glyphs beside the codes that produce them.  It is new and not yet
complete: it predates the sequence form and the typeface klammer below.

A typeface and a style are no longer both called "font".  A typeface is a
family resolved by name; a style code is the one letter naming a type
style.  So @document takes :serif_typeface and its siblings, a table takes
:style, captions take :caption_style and :caption_size, the uniform scale
is :text_scale, and the command is "kdesc --typeface".  This renames
arguments a document may already use; an old name is a located error
rather than a silent omission.

@typeface sets a passage in another typeface for the length of that
passage:

    @typeface Noto Sans Egyptian Hieroglyphs | ^132AA 133CF^ :scale 1.5 @

Writing the klammer is the whole declaration -- the document resolves the
typeface, embeds it in what it produces, and carries its license along.
Two typefaces for scripts no text font covers now ship with Klammertext:
Noto Sans Egyptian Hieroglyphs and Noto Sans Cuneiform.  Every typeface in
the distribution now carries its license file.

(from dev 61e598698891)
2026-08-25 23:30:55 +02:00

251 lines
16 KiB
C++

#pragma once
// GENERATED by doc/make_precomposed_table.py -- do not edit.
// (base letter + combining code point) -> precomposed UTF-8.
#include <map>
#include <string>
inline
const std::map<std::string, std::string> precomposed {
{"a0300", "\xc3\xa0"}, // LATIN SMALL LETTER A WITH GRAVE
{"a0301", "\xc3\xa1"}, // LATIN SMALL LETTER A WITH ACUTE
{"a0302", "\xc3\xa2"}, // LATIN SMALL LETTER A WITH CIRCUMFLEX
{"a0303", "\xc3\xa3"}, // LATIN SMALL LETTER A WITH TILDE
{"a0304", "\xc4\x81"}, // LATIN SMALL LETTER A WITH MACRON
{"a0308", "\xc3\xa4"}, // LATIN SMALL LETTER A WITH DIAERESIS
{"a0306", "\xc4\x83"}, // LATIN SMALL LETTER A WITH BREVE
{"a0307", "\xc8\xa7"}, // LATIN SMALL LETTER A WITH DOT ABOVE
{"a030A", "\xc3\xa5"}, // LATIN SMALL LETTER A WITH RING ABOVE
{"a030C", "\xc7\x8e"}, // LATIN SMALL LETTER A WITH CARON
{"b0307", "\xe1\xb8\x83"}, // LATIN SMALL LETTER B WITH DOT ABOVE
{"c0301", "\xc4\x87"}, // LATIN SMALL LETTER C WITH ACUTE
{"c0302", "\xc4\x89"}, // LATIN SMALL LETTER C WITH CIRCUMFLEX
{"c0307", "\xc4\x8b"}, // LATIN SMALL LETTER C WITH DOT ABOVE
{"c030C", "\xc4\x8d"}, // LATIN SMALL LETTER C WITH CARON
{"c0327", "\xc3\xa7"}, // LATIN SMALL LETTER C WITH CEDILLA
{"d0307", "\xe1\xb8\x8b"}, // LATIN SMALL LETTER D WITH DOT ABOVE
{"d030C", "\xc4\x8f"}, // LATIN SMALL LETTER D WITH CARON
{"d0327", "\xe1\xb8\x91"}, // LATIN SMALL LETTER D WITH CEDILLA
{"e0300", "\xc3\xa8"}, // LATIN SMALL LETTER E WITH GRAVE
{"e0301", "\xc3\xa9"}, // LATIN SMALL LETTER E WITH ACUTE
{"e0302", "\xc3\xaa"}, // LATIN SMALL LETTER E WITH CIRCUMFLEX
{"e0303", "\xe1\xba\xbd"}, // LATIN SMALL LETTER E WITH TILDE
{"e0304", "\xc4\x93"}, // LATIN SMALL LETTER E WITH MACRON
{"e0308", "\xc3\xab"}, // LATIN SMALL LETTER E WITH DIAERESIS
{"e0306", "\xc4\x95"}, // LATIN SMALL LETTER E WITH BREVE
{"e0307", "\xc4\x97"}, // LATIN SMALL LETTER E WITH DOT ABOVE
{"e030C", "\xc4\x9b"}, // LATIN SMALL LETTER E WITH CARON
{"e0327", "\xc8\xa9"}, // LATIN SMALL LETTER E WITH CEDILLA
{"f0307", "\xe1\xb8\x9f"}, // LATIN SMALL LETTER F WITH DOT ABOVE
{"g0301", "\xc7\xb5"}, // LATIN SMALL LETTER G WITH ACUTE
{"g0302", "\xc4\x9d"}, // LATIN SMALL LETTER G WITH CIRCUMFLEX
{"g0304", "\xe1\xb8\xa1"}, // LATIN SMALL LETTER G WITH MACRON
{"g0306", "\xc4\x9f"}, // LATIN SMALL LETTER G WITH BREVE
{"g0307", "\xc4\xa1"}, // LATIN SMALL LETTER G WITH DOT ABOVE
{"g030C", "\xc7\xa7"}, // LATIN SMALL LETTER G WITH CARON
{"g0327", "\xc4\xa3"}, // LATIN SMALL LETTER G WITH CEDILLA
{"h0302", "\xc4\xa5"}, // LATIN SMALL LETTER H WITH CIRCUMFLEX
{"h0308", "\xe1\xb8\xa7"}, // LATIN SMALL LETTER H WITH DIAERESIS
{"h0307", "\xe1\xb8\xa3"}, // LATIN SMALL LETTER H WITH DOT ABOVE
{"h030C", "\xc8\x9f"}, // LATIN SMALL LETTER H WITH CARON
{"h0327", "\xe1\xb8\xa9"}, // LATIN SMALL LETTER H WITH CEDILLA
{"i0300", "\xc3\xac"}, // LATIN SMALL LETTER I WITH GRAVE
{"i0301", "\xc3\xad"}, // LATIN SMALL LETTER I WITH ACUTE
{"i0302", "\xc3\xae"}, // LATIN SMALL LETTER I WITH CIRCUMFLEX
{"i0303", "\xc4\xa9"}, // LATIN SMALL LETTER I WITH TILDE
{"i0304", "\xc4\xab"}, // LATIN SMALL LETTER I WITH MACRON
{"i0308", "\xc3\xaf"}, // LATIN SMALL LETTER I WITH DIAERESIS
{"i0306", "\xc4\xad"}, // LATIN SMALL LETTER I WITH BREVE
{"i030C", "\xc7\x90"}, // LATIN SMALL LETTER I WITH CARON
{"j0302", "\xc4\xb5"}, // LATIN SMALL LETTER J WITH CIRCUMFLEX
{"j030C", "\xc7\xb0"}, // LATIN SMALL LETTER J WITH CARON
{"k0301", "\xe1\xb8\xb1"}, // LATIN SMALL LETTER K WITH ACUTE
{"k030C", "\xc7\xa9"}, // LATIN SMALL LETTER K WITH CARON
{"k0327", "\xc4\xb7"}, // LATIN SMALL LETTER K WITH CEDILLA
{"l0301", "\xc4\xba"}, // LATIN SMALL LETTER L WITH ACUTE
{"l030C", "\xc4\xbe"}, // LATIN SMALL LETTER L WITH CARON
{"l0327", "\xc4\xbc"}, // LATIN SMALL LETTER L WITH CEDILLA
{"m0301", "\xe1\xb8\xbf"}, // LATIN SMALL LETTER M WITH ACUTE
{"m0307", "\xe1\xb9\x81"}, // LATIN SMALL LETTER M WITH DOT ABOVE
{"n0300", "\xc7\xb9"}, // LATIN SMALL LETTER N WITH GRAVE
{"n0301", "\xc5\x84"}, // LATIN SMALL LETTER N WITH ACUTE
{"n0303", "\xc3\xb1"}, // LATIN SMALL LETTER N WITH TILDE
{"n0307", "\xe1\xb9\x85"}, // LATIN SMALL LETTER N WITH DOT ABOVE
{"n030C", "\xc5\x88"}, // LATIN SMALL LETTER N WITH CARON
{"n0327", "\xc5\x86"}, // LATIN SMALL LETTER N WITH CEDILLA
{"o0300", "\xc3\xb2"}, // LATIN SMALL LETTER O WITH GRAVE
{"o0301", "\xc3\xb3"}, // LATIN SMALL LETTER O WITH ACUTE
{"o0302", "\xc3\xb4"}, // LATIN SMALL LETTER O WITH CIRCUMFLEX
{"o0303", "\xc3\xb5"}, // LATIN SMALL LETTER O WITH TILDE
{"o0304", "\xc5\x8d"}, // LATIN SMALL LETTER O WITH MACRON
{"o0308", "\xc3\xb6"}, // LATIN SMALL LETTER O WITH DIAERESIS
{"o0306", "\xc5\x8f"}, // LATIN SMALL LETTER O WITH BREVE
{"o0307", "\xc8\xaf"}, // LATIN SMALL LETTER O WITH DOT ABOVE
{"o030C", "\xc7\x92"}, // LATIN SMALL LETTER O WITH CARON
{"o030B", "\xc5\x91"}, // LATIN SMALL LETTER O WITH DOUBLE ACUTE
{"p0301", "\xe1\xb9\x95"}, // LATIN SMALL LETTER P WITH ACUTE
{"p0307", "\xe1\xb9\x97"}, // LATIN SMALL LETTER P WITH DOT ABOVE
{"r0301", "\xc5\x95"}, // LATIN SMALL LETTER R WITH ACUTE
{"r0307", "\xe1\xb9\x99"}, // LATIN SMALL LETTER R WITH DOT ABOVE
{"r030C", "\xc5\x99"}, // LATIN SMALL LETTER R WITH CARON
{"r0327", "\xc5\x97"}, // LATIN SMALL LETTER R WITH CEDILLA
{"s0301", "\xc5\x9b"}, // LATIN SMALL LETTER S WITH ACUTE
{"s0302", "\xc5\x9d"}, // LATIN SMALL LETTER S WITH CIRCUMFLEX
{"s0307", "\xe1\xb9\xa1"}, // LATIN SMALL LETTER S WITH DOT ABOVE
{"s030C", "\xc5\xa1"}, // LATIN SMALL LETTER S WITH CARON
{"s0327", "\xc5\x9f"}, // LATIN SMALL LETTER S WITH CEDILLA
{"t0308", "\xe1\xba\x97"}, // LATIN SMALL LETTER T WITH DIAERESIS
{"t0307", "\xe1\xb9\xab"}, // LATIN SMALL LETTER T WITH DOT ABOVE
{"t030C", "\xc5\xa5"}, // LATIN SMALL LETTER T WITH CARON
{"t0327", "\xc5\xa3"}, // LATIN SMALL LETTER T WITH CEDILLA
{"u0300", "\xc3\xb9"}, // LATIN SMALL LETTER U WITH GRAVE
{"u0301", "\xc3\xba"}, // LATIN SMALL LETTER U WITH ACUTE
{"u0302", "\xc3\xbb"}, // LATIN SMALL LETTER U WITH CIRCUMFLEX
{"u0303", "\xc5\xa9"}, // LATIN SMALL LETTER U WITH TILDE
{"u0304", "\xc5\xab"}, // LATIN SMALL LETTER U WITH MACRON
{"u0308", "\xc3\xbc"}, // LATIN SMALL LETTER U WITH DIAERESIS
{"u0306", "\xc5\xad"}, // LATIN SMALL LETTER U WITH BREVE
{"u030A", "\xc5\xaf"}, // LATIN SMALL LETTER U WITH RING ABOVE
{"u030C", "\xc7\x94"}, // LATIN SMALL LETTER U WITH CARON
{"u030B", "\xc5\xb1"}, // LATIN SMALL LETTER U WITH DOUBLE ACUTE
{"v0303", "\xe1\xb9\xbd"}, // LATIN SMALL LETTER V WITH TILDE
{"w0300", "\xe1\xba\x81"}, // LATIN SMALL LETTER W WITH GRAVE
{"w0301", "\xe1\xba\x83"}, // LATIN SMALL LETTER W WITH ACUTE
{"w0302", "\xc5\xb5"}, // LATIN SMALL LETTER W WITH CIRCUMFLEX
{"w0308", "\xe1\xba\x85"}, // LATIN SMALL LETTER W WITH DIAERESIS
{"w0307", "\xe1\xba\x87"}, // LATIN SMALL LETTER W WITH DOT ABOVE
{"w030A", "\xe1\xba\x98"}, // LATIN SMALL LETTER W WITH RING ABOVE
{"x0308", "\xe1\xba\x8d"}, // LATIN SMALL LETTER X WITH DIAERESIS
{"x0307", "\xe1\xba\x8b"}, // LATIN SMALL LETTER X WITH DOT ABOVE
{"y0300", "\xe1\xbb\xb3"}, // LATIN SMALL LETTER Y WITH GRAVE
{"y0301", "\xc3\xbd"}, // LATIN SMALL LETTER Y WITH ACUTE
{"y0302", "\xc5\xb7"}, // LATIN SMALL LETTER Y WITH CIRCUMFLEX
{"y0303", "\xe1\xbb\xb9"}, // LATIN SMALL LETTER Y WITH TILDE
{"y0304", "\xc8\xb3"}, // LATIN SMALL LETTER Y WITH MACRON
{"y0308", "\xc3\xbf"}, // LATIN SMALL LETTER Y WITH DIAERESIS
{"y0307", "\xe1\xba\x8f"}, // LATIN SMALL LETTER Y WITH DOT ABOVE
{"y030A", "\xe1\xba\x99"}, // LATIN SMALL LETTER Y WITH RING ABOVE
{"z0301", "\xc5\xba"}, // LATIN SMALL LETTER Z WITH ACUTE
{"z0302", "\xe1\xba\x91"}, // LATIN SMALL LETTER Z WITH CIRCUMFLEX
{"z0307", "\xc5\xbc"}, // LATIN SMALL LETTER Z WITH DOT ABOVE
{"z030C", "\xc5\xbe"}, // LATIN SMALL LETTER Z WITH CARON
{"A0300", "\xc3\x80"}, // LATIN CAPITAL LETTER A WITH GRAVE
{"A0301", "\xc3\x81"}, // LATIN CAPITAL LETTER A WITH ACUTE
{"A0302", "\xc3\x82"}, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
{"A0303", "\xc3\x83"}, // LATIN CAPITAL LETTER A WITH TILDE
{"A0304", "\xc4\x80"}, // LATIN CAPITAL LETTER A WITH MACRON
{"A0308", "\xc3\x84"}, // LATIN CAPITAL LETTER A WITH DIAERESIS
{"A0306", "\xc4\x82"}, // LATIN CAPITAL LETTER A WITH BREVE
{"A0307", "\xc8\xa6"}, // LATIN CAPITAL LETTER A WITH DOT ABOVE
{"A030A", "\xc3\x85"}, // LATIN CAPITAL LETTER A WITH RING ABOVE
{"A030C", "\xc7\x8d"}, // LATIN CAPITAL LETTER A WITH CARON
{"B0307", "\xe1\xb8\x82"}, // LATIN CAPITAL LETTER B WITH DOT ABOVE
{"C0301", "\xc4\x86"}, // LATIN CAPITAL LETTER C WITH ACUTE
{"C0302", "\xc4\x88"}, // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
{"C0307", "\xc4\x8a"}, // LATIN CAPITAL LETTER C WITH DOT ABOVE
{"C030C", "\xc4\x8c"}, // LATIN CAPITAL LETTER C WITH CARON
{"C0327", "\xc3\x87"}, // LATIN CAPITAL LETTER C WITH CEDILLA
{"D0307", "\xe1\xb8\x8a"}, // LATIN CAPITAL LETTER D WITH DOT ABOVE
{"D030C", "\xc4\x8e"}, // LATIN CAPITAL LETTER D WITH CARON
{"D0327", "\xe1\xb8\x90"}, // LATIN CAPITAL LETTER D WITH CEDILLA
{"E0300", "\xc3\x88"}, // LATIN CAPITAL LETTER E WITH GRAVE
{"E0301", "\xc3\x89"}, // LATIN CAPITAL LETTER E WITH ACUTE
{"E0302", "\xc3\x8a"}, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
{"E0303", "\xe1\xba\xbc"}, // LATIN CAPITAL LETTER E WITH TILDE
{"E0304", "\xc4\x92"}, // LATIN CAPITAL LETTER E WITH MACRON
{"E0308", "\xc3\x8b"}, // LATIN CAPITAL LETTER E WITH DIAERESIS
{"E0306", "\xc4\x94"}, // LATIN CAPITAL LETTER E WITH BREVE
{"E0307", "\xc4\x96"}, // LATIN CAPITAL LETTER E WITH DOT ABOVE
{"E030C", "\xc4\x9a"}, // LATIN CAPITAL LETTER E WITH CARON
{"E0327", "\xc8\xa8"}, // LATIN CAPITAL LETTER E WITH CEDILLA
{"F0307", "\xe1\xb8\x9e"}, // LATIN CAPITAL LETTER F WITH DOT ABOVE
{"G0301", "\xc7\xb4"}, // LATIN CAPITAL LETTER G WITH ACUTE
{"G0302", "\xc4\x9c"}, // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
{"G0304", "\xe1\xb8\xa0"}, // LATIN CAPITAL LETTER G WITH MACRON
{"G0306", "\xc4\x9e"}, // LATIN CAPITAL LETTER G WITH BREVE
{"G0307", "\xc4\xa0"}, // LATIN CAPITAL LETTER G WITH DOT ABOVE
{"G030C", "\xc7\xa6"}, // LATIN CAPITAL LETTER G WITH CARON
{"G0327", "\xc4\xa2"}, // LATIN CAPITAL LETTER G WITH CEDILLA
{"H0302", "\xc4\xa4"}, // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
{"H0308", "\xe1\xb8\xa6"}, // LATIN CAPITAL LETTER H WITH DIAERESIS
{"H0307", "\xe1\xb8\xa2"}, // LATIN CAPITAL LETTER H WITH DOT ABOVE
{"H030C", "\xc8\x9e"}, // LATIN CAPITAL LETTER H WITH CARON
{"H0327", "\xe1\xb8\xa8"}, // LATIN CAPITAL LETTER H WITH CEDILLA
{"I0300", "\xc3\x8c"}, // LATIN CAPITAL LETTER I WITH GRAVE
{"I0301", "\xc3\x8d"}, // LATIN CAPITAL LETTER I WITH ACUTE
{"I0302", "\xc3\x8e"}, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
{"I0303", "\xc4\xa8"}, // LATIN CAPITAL LETTER I WITH TILDE
{"I0304", "\xc4\xaa"}, // LATIN CAPITAL LETTER I WITH MACRON
{"I0308", "\xc3\x8f"}, // LATIN CAPITAL LETTER I WITH DIAERESIS
{"I0306", "\xc4\xac"}, // LATIN CAPITAL LETTER I WITH BREVE
{"I0307", "\xc4\xb0"}, // LATIN CAPITAL LETTER I WITH DOT ABOVE
{"I030C", "\xc7\x8f"}, // LATIN CAPITAL LETTER I WITH CARON
{"J0302", "\xc4\xb4"}, // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
{"K0301", "\xe1\xb8\xb0"}, // LATIN CAPITAL LETTER K WITH ACUTE
{"K030C", "\xc7\xa8"}, // LATIN CAPITAL LETTER K WITH CARON
{"K0327", "\xc4\xb6"}, // LATIN CAPITAL LETTER K WITH CEDILLA
{"L0301", "\xc4\xb9"}, // LATIN CAPITAL LETTER L WITH ACUTE
{"L030C", "\xc4\xbd"}, // LATIN CAPITAL LETTER L WITH CARON
{"L0327", "\xc4\xbb"}, // LATIN CAPITAL LETTER L WITH CEDILLA
{"M0301", "\xe1\xb8\xbe"}, // LATIN CAPITAL LETTER M WITH ACUTE
{"M0307", "\xe1\xb9\x80"}, // LATIN CAPITAL LETTER M WITH DOT ABOVE
{"N0300", "\xc7\xb8"}, // LATIN CAPITAL LETTER N WITH GRAVE
{"N0301", "\xc5\x83"}, // LATIN CAPITAL LETTER N WITH ACUTE
{"N0303", "\xc3\x91"}, // LATIN CAPITAL LETTER N WITH TILDE
{"N0307", "\xe1\xb9\x84"}, // LATIN CAPITAL LETTER N WITH DOT ABOVE
{"N030C", "\xc5\x87"}, // LATIN CAPITAL LETTER N WITH CARON
{"N0327", "\xc5\x85"}, // LATIN CAPITAL LETTER N WITH CEDILLA
{"O0300", "\xc3\x92"}, // LATIN CAPITAL LETTER O WITH GRAVE
{"O0301", "\xc3\x93"}, // LATIN CAPITAL LETTER O WITH ACUTE
{"O0302", "\xc3\x94"}, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
{"O0303", "\xc3\x95"}, // LATIN CAPITAL LETTER O WITH TILDE
{"O0304", "\xc5\x8c"}, // LATIN CAPITAL LETTER O WITH MACRON
{"O0308", "\xc3\x96"}, // LATIN CAPITAL LETTER O WITH DIAERESIS
{"O0306", "\xc5\x8e"}, // LATIN CAPITAL LETTER O WITH BREVE
{"O0307", "\xc8\xae"}, // LATIN CAPITAL LETTER O WITH DOT ABOVE
{"O030C", "\xc7\x91"}, // LATIN CAPITAL LETTER O WITH CARON
{"O030B", "\xc5\x90"}, // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
{"P0301", "\xe1\xb9\x94"}, // LATIN CAPITAL LETTER P WITH ACUTE
{"P0307", "\xe1\xb9\x96"}, // LATIN CAPITAL LETTER P WITH DOT ABOVE
{"R0301", "\xc5\x94"}, // LATIN CAPITAL LETTER R WITH ACUTE
{"R0307", "\xe1\xb9\x98"}, // LATIN CAPITAL LETTER R WITH DOT ABOVE
{"R030C", "\xc5\x98"}, // LATIN CAPITAL LETTER R WITH CARON
{"R0327", "\xc5\x96"}, // LATIN CAPITAL LETTER R WITH CEDILLA
{"S0301", "\xc5\x9a"}, // LATIN CAPITAL LETTER S WITH ACUTE
{"S0302", "\xc5\x9c"}, // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
{"S0307", "\xe1\xb9\xa0"}, // LATIN CAPITAL LETTER S WITH DOT ABOVE
{"S030C", "\xc5\xa0"}, // LATIN CAPITAL LETTER S WITH CARON
{"S0327", "\xc5\x9e"}, // LATIN CAPITAL LETTER S WITH CEDILLA
{"T0307", "\xe1\xb9\xaa"}, // LATIN CAPITAL LETTER T WITH DOT ABOVE
{"T030C", "\xc5\xa4"}, // LATIN CAPITAL LETTER T WITH CARON
{"T0327", "\xc5\xa2"}, // LATIN CAPITAL LETTER T WITH CEDILLA
{"U0300", "\xc3\x99"}, // LATIN CAPITAL LETTER U WITH GRAVE
{"U0301", "\xc3\x9a"}, // LATIN CAPITAL LETTER U WITH ACUTE
{"U0302", "\xc3\x9b"}, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
{"U0303", "\xc5\xa8"}, // LATIN CAPITAL LETTER U WITH TILDE
{"U0304", "\xc5\xaa"}, // LATIN CAPITAL LETTER U WITH MACRON
{"U0308", "\xc3\x9c"}, // LATIN CAPITAL LETTER U WITH DIAERESIS
{"U0306", "\xc5\xac"}, // LATIN CAPITAL LETTER U WITH BREVE
{"U030A", "\xc5\xae"}, // LATIN CAPITAL LETTER U WITH RING ABOVE
{"U030C", "\xc7\x93"}, // LATIN CAPITAL LETTER U WITH CARON
{"U030B", "\xc5\xb0"}, // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
{"V0303", "\xe1\xb9\xbc"}, // LATIN CAPITAL LETTER V WITH TILDE
{"W0300", "\xe1\xba\x80"}, // LATIN CAPITAL LETTER W WITH GRAVE
{"W0301", "\xe1\xba\x82"}, // LATIN CAPITAL LETTER W WITH ACUTE
{"W0302", "\xc5\xb4"}, // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
{"W0308", "\xe1\xba\x84"}, // LATIN CAPITAL LETTER W WITH DIAERESIS
{"W0307", "\xe1\xba\x86"}, // LATIN CAPITAL LETTER W WITH DOT ABOVE
{"X0308", "\xe1\xba\x8c"}, // LATIN CAPITAL LETTER X WITH DIAERESIS
{"X0307", "\xe1\xba\x8a"}, // LATIN CAPITAL LETTER X WITH DOT ABOVE
{"Y0300", "\xe1\xbb\xb2"}, // LATIN CAPITAL LETTER Y WITH GRAVE
{"Y0301", "\xc3\x9d"}, // LATIN CAPITAL LETTER Y WITH ACUTE
{"Y0302", "\xc5\xb6"}, // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
{"Y0303", "\xe1\xbb\xb8"}, // LATIN CAPITAL LETTER Y WITH TILDE
{"Y0304", "\xc8\xb2"}, // LATIN CAPITAL LETTER Y WITH MACRON
{"Y0308", "\xc5\xb8"}, // LATIN CAPITAL LETTER Y WITH DIAERESIS
{"Y0307", "\xe1\xba\x8e"}, // LATIN CAPITAL LETTER Y WITH DOT ABOVE
{"Z0301", "\xc5\xb9"}, // LATIN CAPITAL LETTER Z WITH ACUTE
{"Z0302", "\xe1\xba\x90"}, // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
{"Z0307", "\xc5\xbb"}, // LATIN CAPITAL LETTER Z WITH DOT ABOVE
{"Z030C", "\xc5\xbd"}, // LATIN CAPITAL LETTER Z WITH CARON
};