summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/achernar.php132
-rw-r--r--include/agbsum.php21
-rw-r--r--include/ax.php11
-rw-r--r--include/backspace.php3
-rw-r--r--include/benoit.php41
-rw-r--r--include/bowshock.php3
-rw-r--r--include/bzipper.php27
-rw-r--r--include/deltaWorld.php3
-rw-r--r--include/dux.php11
-rw-r--r--include/eas.php13
-rw-r--r--include/footer.shtml17
-rw-r--r--include/header.shtml60
-rw-r--r--include/luma.php11
-rw-r--r--include/pollex.php15
-rw-r--r--include/prelude.php60
-rw-r--r--include/u8c.php25
16 files changed, 376 insertions, 77 deletions
diff --git a/include/achernar.php b/include/achernar.php
new file mode 100644
index 0000000..3fbde25
--- /dev/null
+++ b/include/achernar.php
@@ -0,0 +1,132 @@
+<?php addHeading("The future is now", "about"); ?>
+
+<section>
+ <p><em>Achernar</em> is a European indie development studio based in the Capital Region of Denmark. &#127465;&#127472;</p>
+ <br>
+ <p>We aim to develop high-quality video games and software alike, and we believe that all technologies should be for humanity as a whole. We therefore publish all relevant source code for our products.</p>
+ <br>
+ <p class="note">See footer for contact information.</p>
+</section>
+
+<?php addHeading("Projects", "projects"); ?>
+
+<section class="fullWidth">
+ <p>The following is a list of our current and maintained projects.</p>
+ <br>
+ <p class="note">Scroll <a href="#anchor.vision">down</a> for more information about us.</p>
+ <br>
+ <div id="overview">
+ <?php
+ function addCard($page, $title) {
+ [$backgroundColour, $textColour] = pageColours($page);
+ $backgroundImage = pageBackgroundImage($page);
+ $glyphAddr = pageGlyph($page);
+
+ if (is_null($backgroundImage)) {
+ $backgroundImage = "none";
+ } else {
+ $backgroundImage = "url('" . $backgroundImage . "')";
+ }
+
+ $cardStyle = "--backgroundColour: $backgroundColour; --textColour: $textColour; background-image: $backgroundImage";
+
+ echo <<<HTML
+ <a href="?p=$page" style="$cardStyle" title="$title">
+ <img alt="$page" src="$glyphAddr">
+ </a>
+ HTML;
+ }
+
+ addCard("agbsum", "agbsum");
+ //addCard("ax", "AX");
+ //addCard("backspace", "Backspace");
+ addCard("benoit", "Benoit");
+ addCard("bowshock", "Bowshock");
+ addCard("bzipper", "Bzipper");
+ //addCard("deltaWorld", "Delta&middot;World");
+ addCard("dux", "Dux");
+ addCard("eas", "eAS");
+ addCard("luma", "Luma");
+ addCard("pollex", "Pollex");
+ addCard("u8c", "u8c");
+ ?>
+ </div>
+</section>
+
+<?php addHeading("Vision", "vision"); ?>
+
+<section>
+ <p>The goal of Achernar is to promote modern and robust software for everyone. In other words, our vision is to develop a human and clean industry and community for technology.</p>
+ <br>
+ <p>We believe in a society free of patents, and as such we release our scientific software in open-source form. For our games, we try to keep the base engine as open as possible whilst still keeping in mind that they yield our main income.</p>
+</section>
+
+<?php addHeading("Roadmap", "roadmap"); ?>
+
+<section>
+ <p>Currently, our roadmap is as follows:</p>
+ <br>
+ <ul>
+ <li>
+ <p>Complete the webservice before <strong>autumn, 2024</strong></p>
+ </li>
+ <li>
+ <p>Release our first game by <strong>2024</strong>, as well as company merchandise in some form</p>
+ </li>
+ <li>
+ <p>Release early-access for Bowshock (on Steam) by <strong>2025</strong></p>
+ </li>
+ <li>
+ <p>Restructure to a normal sole proprietorship</p>
+ </li>
+ </ul>
+ <br>
+ <p>This roadmap is, however, also subject to change, altough we do strive to live up to it.</p>
+</section>
+
+<?php addHeading("Team", "team"); ?>
+
+<section>
+ <p>As Achernar is currently registered as a PMV (lesser sole proprietorship), Gabriel Bjørnager Jensen is currently our only member.</p>
+</section>
+
+<?php addHeading("Inception", "inception"); ?>
+
+<section>
+ <p><em>Achernar</em> was incorporated on the first july of 2024 by current sole proprietor Gabriel Bjørnager Jensen.</p>
+ <br>
+ <p>Our first domain &ndash; <code>achernar.dk</code> &ndash; was already registered in the winter of 2021, at that time being used for hosting on-line source code repositories. This was, however, quickly outsourced to <code><a href="https://mandelbrot.dk">mandelbrot.dk</a></code> after I had managed to secure that domain.</p>
+ <br>
+ <p><code>achernar.dk</code> was then, in the mean time, used for hosting a few look-up references. This mostly served as my own notes for school &ndash; mainly mathematics, physics, and chemistry &ndash; but quickly grew unorganised and unmaintained, although I did have plans to expand the encyclopedia.</p>
+ <br>
+ <p>The idea of a company had started in the spring of 2020. At that time it would've been named after the binary system Sheliak (Bayer: <code>&beta;&nbsp;Lyr&#230;</code>). But it was this idea that evolved into &ldquo;Achernar.&rdquo;</p>
+ <br>
+ <p>Shortly after being incorporated, we registered the domain <code>achernar.io</code>. At that time, we also set up mail services using our domain.</p>
+</section>
+
+<?php addHeading("Credits", "credits"); ?>
+
+<section class="fullWidth">
+ <p>Thanks to <strong>Nicolas Gallagher</strong> for the <a href="https://necolas.github.io/normalize.css/"><code>normalize.css</code></a> stylesheet. Additionally thanks to the following creators for the fonts which we use on our website:</p>
+ <br>
+ <ul>
+ <li>
+ <p>Carrois Apostrophe: <a href="https://fonts.google.com/specimen/Fira+Mono/"><span style="font-family: Fira Mono;">Fira Mono</span></a></p>
+ </li>
+ <li>
+ <p>Roman Shamin & the &#8220;people&#8221; at Evil Martians &#128125;: <a href="https://fonts.google.com/specimen/Martian+Mono/"><span style="font-family: Martian Mono;">Martian Mono</span></a></p>
+ </li>
+ <li>
+ <p>Sorkin Type: <a href="https://fonts.google.com/specimen/Merriweather/"><span style="font-family: Merriweather;">Merriweather</span></a></p>
+ </li>
+ <li>
+ <p>Julieta Ulanovsky, Sol Matas, Juan Pablo del Peral, and Jacques Le Bailly: <a href="https://fonts.google.com/specimen/Montserrat/"><span style="font-family: Montserrat;">Montserrat</span></a></p>
+ </li>
+ <li>
+ <p>Claus Eggers S&#248;rensen: <a href="https://fonts.google.com/specimen/Playfair+Display/"><span style="font-family: Playfair Display;">Playfair Display</span></a></p>
+ </li>
+ <li>
+ <p>Matt McInerney, Pablo Impallari, and Rodrigo Fuenzalida: <a href="https://fonts.google.com/specimen/Raleway/"><span style="font-family: Raleway;">Raleway</span></a></p>
+ </li>
+ </ul>
+</section>
diff --git a/include/agbsum.php b/include/agbsum.php
new file mode 100644
index 0000000..afe3ebe
--- /dev/null
+++ b/include/agbsum.php
@@ -0,0 +1,21 @@
+<?php addHeading("agbsum", "about"); ?>
+
+<section>
+ <p><em>agbsum</em> is a command line utility for patching AGB images.</p>
+</section>
+
+<?php addHeading("Specs", "specs"); ?>
+
+<section>
+ <p>All AGB images have a header at offsets <code>0x00-0xE3</code> (inclusive), of which (29) bytes in <code>0xA0-0xBD</code> denote metadata.</p>
+ <br>
+ <p>The first byte after this sequence holds a checksum of the metadata, which if invalid, the device bootloader will usually reject the entire image.</p>
+</section>
+
+<?php addHeading("Compatibility", "compatibility"); ?>
+
+<section>
+ <p><em>agbsum</em> is written in <strong>C99</strong> and uses makefiles as its build system. It has been tested to compile under Clang, GCC, and the <a href="https://bellard.org/tcc/">Tiny C Compiler</a> (altough the latter may have problems with the standard library). Both GNU Make (<code>gmake</code>) and BSD Make (<code>bmake</code>).</p>
+ <br>
+ <p>In theory, all &ldquo;UNIX-like&rdquo; systems (including older ones) should be supported. Please open a bug report if you experience otherwise.</p>
+</section>
diff --git a/include/ax.php b/include/ax.php
new file mode 100644
index 0000000..bc7cdc4
--- /dev/null
+++ b/include/ax.php
@@ -0,0 +1,11 @@
+<?php addHeading("Advanced X", "about"); ?>
+
+<section>
+ <p><em>Advanced X</em> (or just <em>AX</em>) is a C library for developing apps for the <em>AGB</em> line of hardware.</p>
+</section>
+
+<?php addHeading("Status", "status"); ?>
+
+<section>
+ <p>The development of <em>AX</em> is currently on hold to prioritise <a href="?p=luma"><em>Luma</em></a> and <a href="?p=eas"><em>eAS</em></a>.</p>
+</section>
diff --git a/include/backspace.php b/include/backspace.php
new file mode 100644
index 0000000..b51e0f7
--- /dev/null
+++ b/include/backspace.php
@@ -0,0 +1,3 @@
+<section class="fullWidth">
+ <p class="note">coming soon</p>
+</section>
diff --git a/include/benoit.php b/include/benoit.php
new file mode 100644
index 0000000..9334ae8
--- /dev/null
+++ b/include/benoit.php
@@ -0,0 +1,41 @@
+<?php addHeading("Benoit", "about"); ?>
+
+<section>
+ <p><em>Benoit</em> is a Rust-written programme for visualising complex functions, e.g. <a href="https://en.wikipedia.org/wiki/Mandelbrot_set/"><em>the Mandelbrot Set</em></a> and similar fractals.</p>
+ <br>
+ <?php addImage("benoit_screenshot0", "A render of a single Minibrot on a green background. The render is coloures so that it resembles lightning coming from the Minibrot.") ?>
+ <br>
+ <p>The project consists of the core <a href="https://crates.io/crates/benoit/"><code>benoit</code></a> crate, from which the front-ends <code>benoit-cli</code> and (in the future) <code>benoit-gui</code> derive.</p>
+</section>
+
+<?php addHeading("benoit-cli", "benoitCli"); ?>
+
+<section>
+ <p>The <code>benoit-cli</code> executable can render and animate using <a href="https://en.wikipedia.org/wiki/TOML/">TOML</a> files right from the commandline.</p>
+ <br>
+ <?php addImage("benoit_screenshot1", "A Julia Set centred on a point inside the Mandelbrot Set. The resulting image resembles creeping, black vines with rainbows around.") ?>
+ <br>
+ <p>The main use of <code>benoit-cli</code> is to render still images or animations of fractals, e.g. zoom-ins. An example configuration could look like the following:</p>
+ <br>
+ <p class="codeblock"># benoit.toml<br><br>[render]<br>count = 24<br>width = 1024<br>height = 1024<br><br>fractal = "mandelbrot"<br>inverse = false<br>julia = false<br><br>[render.start]<br>frame = 0<br><br>max_iter_count = 0x100<br><br>centre = "0.0+1.0i"<br>seed = "0.0+0.0i"<br>zoom = "1.0"<br><br>colour_range = 64.0<br><br>[render.stop]<br>frame = 23<br><br>max_iter_count = 0x100<br><br>centre = "0.0+1.0i"<br>seed = "0.0+0.0i"<br>zoom = "1.0"<br><br>colour_range = 64.0<br><br>[final]<br>palette = "fire"<br><br>[output]<br>directory = "render/"</p>
+ <br>
+ <p>Just provide the path to the desired configuration:</p>
+ <br>
+ <p class="codeblock">benoit-cli "benoit.toml"</p>
+</section>
+
+<?php addHeading("benoit-gui", "benoitGui"); ?>
+
+<section>
+ <p>The <code>benoit-gui</code> executable, on the other hand, allows viewing fractals in realtime. Do note, however, that this front-end is currently unimplemented.</p>
+ <br>
+ <?php addImage("benoit_screenshot2", "An render of an inverse Julia Set of the Mandelbrot. It appears on a grey gradiant background with a warm-coloured pattern resembling smaller minibrots.") ?>
+ <br>
+ <p>Until this front-end is implemented, please use version <a href="https://mandelbrot.dk/benoit/tag/?h=2.7.1"><code>2.7.1</code></a> of Benoit instead.</p>
+</section>
+
+<?php addHeading("Docs", "docs"); ?>
+
+<section>
+ <p>Documentation is written in source. Documentation for the main library is hosted on <a href="https://docs.rs/benoit/latest/benoit/"><code>docs.rs</code></a>.</p>
+</section>
diff --git a/include/bowshock.php b/include/bowshock.php
new file mode 100644
index 0000000..0d2b9bb
--- /dev/null
+++ b/include/bowshock.php
@@ -0,0 +1,3 @@
+<section class="fullWidth">
+ <p class="note">Coming soon.</p>
+</section>
diff --git a/include/bzipper.php b/include/bzipper.php
new file mode 100644
index 0000000..8b6b677
--- /dev/null
+++ b/include/bzipper.php
@@ -0,0 +1,27 @@
+<?php addHeading("bzipper", "about"); ?>
+
+<section>
+ <p><em>bzipper</em> is a Rust crate for serialisation and deserialisation of binary streams.</p>
+ <br>
+ <p>See more at <code><a href="https://crates.io/crates/bzipper/">crates.io</a></code>.</p>
+</section>
+
+<?php addHeading("rationale", "rationale"); ?>
+
+<section>
+ <p>Contrary to <a href="https://crates.io/crates/serde/">Serde</a>/<a href="https://crates.io/crates/bincode/">Bincode</a>, the goal of this crate is to serialise data with a known size limit. Therefore, this crate may be more suited for networking or other cases where a fixed-sized buffer is needed.</p>
+</section>
+
+<?php addHeading("data model", "dataModel"); ?>
+
+<section>
+ <p>Most primitive types serialise losslessly, with the exception being <code>usize</code> and <code>isize</code>. These serialise as <code>u16</code> and <code>u32</code>, respectively, for portability reasons.</p>
+ <br>
+ <p>Unsized types, such as <code>str</code> and slices, are not supported. Instead, array should be used. For strings, the <code>FixedString</code> type is also provided.</p>
+</section>
+
+<?php addHeading("docs", "docs"); ?>
+
+<section>
+ <p>Documentation is written in-source. See <a href="https://docs.rs/pollex/latest/pollex/"><code>docs.rs</code></a> for a rendered instance.</p>
+</section>
diff --git a/include/deltaWorld.php b/include/deltaWorld.php
new file mode 100644
index 0000000..0d2b9bb
--- /dev/null
+++ b/include/deltaWorld.php
@@ -0,0 +1,3 @@
+<section class="fullWidth">
+ <p class="note">Coming soon.</p>
+</section>
diff --git a/include/dux.php b/include/dux.php
new file mode 100644
index 0000000..409ae2a
--- /dev/null
+++ b/include/dux.php
@@ -0,0 +1,11 @@
+<?php addHeading("Dux", "about"); ?>
+
+<section>
+ <p><em>Dux</em> is a cross-platform widgeting library for developing GUI applications.</p>
+</section>
+
+<?php addHeading("Status", "status"); ?>
+
+<section>
+ <p>Dux is currently on standby and therefore unmaintained.</p>
+</section>
diff --git a/include/eas.php b/include/eas.php
new file mode 100644
index 0000000..ef51325
--- /dev/null
+++ b/include/eas.php
@@ -0,0 +1,13 @@
+<?php addHeading("The Embedded Assembler", "about"); ?>
+
+<section>
+ <p>The <em>Embedded Assembler</em> (or simply <em>eAS</em>; as in <i>ease</i>) is an assembler for cross-compiling to Arm ISAs.</p>
+ <br>
+ <p>The assembler is intended as a drop-in replacement for the official <em>armasm</em> assembler by Arm Limited. It therefore imitates the same syntax.</p>
+</section>
+
+<?php addHeading("Status", "status"); ?>
+
+<section>
+ <p>Like <a href="?p=luma"><em>Luma</em></a>, the development of <em>eAS</em> is currently on hold in favour of the <a href="?p=pollex"><em>Pollex</em></a> library, which will be used as a backend.</p>
+</section> \ No newline at end of file
diff --git a/include/footer.shtml b/include/footer.shtml
deleted file mode 100644
index d79024c..0000000
--- a/include/footer.shtml
+++ /dev/null
@@ -1,17 +0,0 @@
-<footer id="footer">
- <h1>achernar</h1>
-
- <p id="cvrNumber" title="Danish VAT number.">vat: DK44936429</p>
- <br>
- <p>Communications can be done in English and Danish.</p>
- <br>
- <p>This webservice may be cloned from <a href="https://mandelbrot.dk/achernar/" rel="noopener noreferrer" target="_blank"><code>mandelbrot.dk</code></a>.</p>
- <br>
- <div class="center" id="emailAddress" title="Obfuscated email address."></div>
-
- <div id="socials">
- <a class="instagram" href="https://www.instagram.com/primuseridani/" title="Instagram: primuseridani"></a>
- <a class="linktree" href="https://linktr.ee/alphaeridani/" title="Linktree: @alphaeridani"></a>
- <a class="threads" href="https://www.threads.net/@primuseridani/" title="Threads: @primuseridani"></a>
- </div>
-</footer>
diff --git a/include/header.shtml b/include/header.shtml
deleted file mode 100644
index d6fb1e6..0000000
--- a/include/header.shtml
+++ /dev/null
@@ -1,60 +0,0 @@
-<header id="header">
- <div id="navBar">
- <section>
- <a id="home" href="/html/achernar.html" title="Home"></a>
- </section>
-
- <section>
- <a href="/html/benoit.html">BENOIT</a>
- <a href="/html/bowshock.html">BOWSHOCK</a>
- <a href="/html/deltaWorld.html">DELTA&middot;WORLD</a>
- <a href="/html/eas.html">eAS</a>
- </section>
-
- <section>
- <a id="hamburger" onclick="Ach.toggleSideMenu();" title="Side menu"></a>
- </section>
- </div>
-
- <div id="sideMenu">
- <section class="links">
- <section>
- <p>ACHERNAR</p>
-
- <a href="/html/achernar.html#about">ABOUT</a>
- <a href="/html/achernar.html#vision">VISION</a>
- <a href="/html/achernar.html#roadmap">ROADMAP</a>
- <a href="/html/achernar.html#team">TEAM</a>
- <a href="https://mandelbrot.dk" rel="noopener noreferrer" target="_blank">SOURCES</a>
- </section>
-
- <section>
- <p>GAMES</p>
-
- <a href="/html/bowshock.html">BOWSHOCK</a>
- <a href="/html/deltaWorld.html">DELTA&middot;WORLD</a>
- </section>
-
- <section>
- <p>PROJECTS</p>
-
- <a href="/html/agbsum.html">AGBSUM</a>
- <a href="/html/ax.html">AX</a>
- <a href="/html/backspace.html">BACKSPACE</a>
- <a href="/html/benoit.html">BENOIT</a>
- <a href="/html/bzipper.html">BZIPPER</a>
- <a href="/html/dux.html">DUX</a>
- <a href="/html/eas.html">eAS</a>
- <a href="/html/luma.html">LUMA</a>
- <a href="/html/pollex.html">POLLEX</a>
- <a href="/html/u8c.html">U8C</a>
- </section>
- </section>
-
- <section>
- <a id="themeToggler" onclick="Ach.toggleTheme();">TOGGLE THEME</a>
- </section>
- </div>
-
- <div id="glyph"></div>
-</header>
diff --git a/include/luma.php b/include/luma.php
new file mode 100644
index 0000000..a8192ea
--- /dev/null
+++ b/include/luma.php
@@ -0,0 +1,11 @@
+<?php addHeading("Luma", "about"); ?>
+
+<section>
+ <p><em>Luma</em> is an emulator for the <em>AGB</em> line of game consoles by Nintendo Co.</p>
+</section>
+
+<?php addHeading("Status", "status"); ?>
+
+<section>
+ <p>The development of <em>Luma</em> is currently on hold in favour of <a href="?p=pollex"><em>Pollex</em></a>, which is to be used as a backend.</p>
+</section>
diff --git a/include/pollex.php b/include/pollex.php
new file mode 100644
index 0000000..d4b9e69
--- /dev/null
+++ b/include/pollex.php
@@ -0,0 +1,15 @@
+<?php addHeading("Pollex", "about"); ?>
+
+<section>
+ <p><em>Pollex</em> is a Rust crate for manipulating Arm ISA instructions. Its goal is to be used as a backend for Arm emulators, assemblers etc.</p>
+ <br>
+ <p>Currently, only the legacy 32-bit architectures are supported (if barely), but complete support is planned in the future.</p>
+ <br>
+ <p>See more at <a href="https://crates.io/crates/pollex/"><code>crates.io</code></a>.</p>
+</section>
+
+<?php addHeading("Docs", "docs"); ?>
+
+<section>
+ <p>As per usual, documentation for <em>Pollex</em> can be found on <a href="https://docs.rs/pollex/latest/pollex/"><code>docs.rs</code></a>.</p>
+</section>
diff --git a/include/prelude.php b/include/prelude.php
new file mode 100644
index 0000000..e782a48
--- /dev/null
+++ b/include/prelude.php
@@ -0,0 +1,60 @@
+<?php
+ function readConfig($key) {
+ if (isset($_GET[$key])) {
+ return htmlspecialchars($_GET[$key], ENT_SUBSTITUTE, "UTF-8");
+ } else {
+ return null;
+ }
+ }
+
+ function pageColours($page) {
+ return match ($page) {
+ "achernar" => ["#007B34", "#FFFFFF"],
+ "agbsum" => ["#422984", "#FFFFFF"],
+ "ax" => ["#422984", "#FFFFFF"],
+ "backspace" => ["#000000", "#FFFFFF"],
+ "benoit" => ["#BA0035", "#FFFFFF"],
+ "bowshock" => ["#B61833", "#FFEEE0"],
+ "bzipper" => ["#FFFFFF", "#B4202D"],
+ "deltaWorld" => ["#000000", "#FFFFFF"],
+ "dux" => ["#131313", "#06FBB2"],
+ "eas" => ["#01CD93", "#00291B"],
+ "luma" => ["#6051B2", "#FFFFFF"],
+ "pollex" => ["#4D4084", "#FFFFFF"],
+ "u8c" => ["#444747", "#A9E13D"],
+ default => die(),
+ };
+ }
+
+ function pageBackgroundImage($page) {
+ return match ($page) {
+ "benoit" => "/svg/benoitBackground.svg",
+ "dux" => "/image/duxBackground.webp",
+ default => null,
+ };
+ }
+
+ function pageGlyph($page) {
+ return "/svg/glyph/" . $page . ".svg";
+ }
+
+ function addHeading($title, $anchor) {
+ $anchor = "anchor." . $anchor;
+
+ echo "<h1 id=\"$anchor\"><a class=\"anchor\" href=\"#$anchor\" title=\"Anchor\"></a> $title</h1>";
+ }
+
+ function addImage($image, $alt) {
+ $sourceAddr = "/image/source/" . $image . ".webp";
+ $thumbnailAddr = "/image/thumbnail/" . $image . ".avif";
+
+ echo <<<HTML
+ <div class="image">
+ <img class="blur" src="$thumbnailAddr">
+ <a href="$sourceAddr" rel="noopener noreferrer" target="_blank" title="Click to view image source.">
+ <img alt="$alt" src="$thumbnailAddr">
+ </a>
+ </div>
+ HTML;
+ }
+?>
diff --git a/include/u8c.php b/include/u8c.php
new file mode 100644
index 0000000..c0ded80
--- /dev/null
+++ b/include/u8c.php
@@ -0,0 +1,25 @@
+<?php addHeading("u8c", "about"); ?>
+
+<section>
+ <p><em>u8c</em> is a library for handling Unicode sequences in C.</p>
+</section>
+
+<?php addHeading("Features", "features"); ?>
+
+<section>
+ <p><em>u8c</em> supports the following facilities:</p>
+ <br>
+ <ul>
+ <li>
+ <p>Encoding and decoding <em>UTF-8</em></p>
+ </li>
+ <li>
+ <p>Encoding and decoding <em>UTF-16</em></p>
+ </li>
+ <li>
+ <p>Manipulation of <em>UTF-32</em> strings.</p>
+ </li>
+ </ul>
+ <br>
+ <p>Note that <em>UTF-32</em> is used as an intermediate format between conversions.</p>
+</section>