<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Geep</id>
	<title>The DarkMod Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thedarkmod.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Geep"/>
	<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Special:Contributions/Geep"/>
	<updated>2026-07-31T20:05:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34566</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34566"/>
		<updated>2026-06-28T20:00:06Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Priority Early-On: the &amp;quot;Top 50&amp;quot; */ Add Show/Hide to table, hide by default&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
Be aware that among these languages, there is considerable variation in the actual depth of support. See [[I18N Status]] for more about that.&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character. In addition, printable characters in the range 0x80-0x9f, shown in light or dark green, are also TDM characters, replacing ISO-8859 control characters (not shown).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Access to TDM Characters from Various Languages ====&lt;br /&gt;
See [[Multilanguage Display]], which includes an itemized table of characters across TDM/ISO codemaps. This discusses which characters (assuming the font implements them) the translator can...&lt;br /&gt;
* enter directly&lt;br /&gt;
* enter by tricks&lt;br /&gt;
* not currently access.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On: the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters, exclusive of ASCII (e.g., a-z, 0-9) and Russian characters:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2 data-expandtext=&amp;quot;Show&amp;quot; data-collapsetext=&amp;quot;Hide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks    .&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Possible Future Extensions ==&lt;br /&gt;
=== To Additional Latin and Cyrillic Languages? ===&lt;br /&gt;
TDM&#039;s core all.lang file has #str_ for the names of a few additional languages, not yet supported or exposed in the game interface, that could be built out:&lt;br /&gt;
&lt;br /&gt;
==== Latin Alphabet ====&lt;br /&gt;
* Croatian / Hrvatski&lt;br /&gt;
* Norse / Norsk&lt;br /&gt;
* Finnish / Suomi&lt;br /&gt;
* Slovenian (differs from Slovak; for southern Slovenia) / Slovenšcina&lt;br /&gt;
&lt;br /&gt;
==== Cyrillic Alphabet ====&lt;br /&gt;
* Bulgarian / Bugarian / Български&lt;br /&gt;
* Serbian / Srpski / Српски&lt;br /&gt;
* Ukrainian (regional) / Українська&lt;br /&gt;
&lt;br /&gt;
There are no doubt other languages that could be supported by TDM&#039;s existing suite of 8-bit encodings.&lt;br /&gt;
=== To Unicode? ===&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
=== To Asian Languages (Korean, Chinese, Japanese)? ===&lt;br /&gt;
The original D3 had support for Asian languages, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34565</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34565"/>
		<updated>2026-06-28T19:34:55Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* All other language files */ note variation in depth of support, with link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
Be aware that among these languages, there is considerable variation in the actual depth of support. See [[I18N Status]] for more about that.&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character. In addition, printable characters in the range 0x80-0x9f, shown in light or dark green, are also TDM characters, replacing ISO-8859 control characters (not shown).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Access to TDM Characters from Various Languages ====&lt;br /&gt;
See [[Multilanguage Display]], which includes an itemized table of characters across TDM/ISO codemaps. This discusses which characters (assuming the font implements them) the translator can...&lt;br /&gt;
* enter directly&lt;br /&gt;
* enter by tricks&lt;br /&gt;
* not currently access.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Possible Future Extensions ==&lt;br /&gt;
=== To Additional Latin and Cyrillic Languages? ===&lt;br /&gt;
TDM&#039;s core all.lang file has #str_ for the names of a few additional languages, not yet supported or exposed in the game interface, that could be built out:&lt;br /&gt;
&lt;br /&gt;
==== Latin Alphabet ====&lt;br /&gt;
* Croatian / Hrvatski&lt;br /&gt;
* Norse / Norsk&lt;br /&gt;
* Finnish / Suomi&lt;br /&gt;
* Slovenian (differs from Slovak; for southern Slovenia) / Slovenšcina&lt;br /&gt;
&lt;br /&gt;
==== Cyrillic Alphabet ====&lt;br /&gt;
* Bulgarian / Bugarian / Български&lt;br /&gt;
* Serbian / Srpski / Српски&lt;br /&gt;
* Ukrainian (regional) / Українська&lt;br /&gt;
&lt;br /&gt;
There are no doubt other languages that could be supported by TDM&#039;s existing suite of 8-bit encodings.&lt;br /&gt;
=== To Unicode? ===&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
=== To Asian Languages (Korean, Chinese, Japanese)? ===&lt;br /&gt;
The original D3 had support for Asian languages, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34564</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34564"/>
		<updated>2026-06-28T19:24:32Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? */ Restructure, list other languages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character. In addition, printable characters in the range 0x80-0x9f, shown in light or dark green, are also TDM characters, replacing ISO-8859 control characters (not shown).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Access to TDM Characters from Various Languages ====&lt;br /&gt;
See [[Multilanguage Display]], which includes an itemized table of characters across TDM/ISO codemaps. This discusses which characters (assuming the font implements them) the translator can...&lt;br /&gt;
* enter directly&lt;br /&gt;
* enter by tricks&lt;br /&gt;
* not currently access.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Possible Future Extensions ==&lt;br /&gt;
=== To Additional Latin and Cyrillic Languages? ===&lt;br /&gt;
TDM&#039;s core all.lang file has #str_ for the names of a few additional languages, not yet supported or exposed in the game interface, that could be built out:&lt;br /&gt;
&lt;br /&gt;
==== Latin Alphabet ====&lt;br /&gt;
* Croatian / Hrvatski&lt;br /&gt;
* Norse / Norsk&lt;br /&gt;
* Finnish / Suomi&lt;br /&gt;
* Slovenian (differs from Slovak; for southern Slovenia) / Slovenšcina&lt;br /&gt;
&lt;br /&gt;
==== Cyrillic Alphabet ====&lt;br /&gt;
* Bulgarian / Bugarian / Български&lt;br /&gt;
* Serbian / Srpski / Српски&lt;br /&gt;
* Ukrainian (regional) / Українська&lt;br /&gt;
&lt;br /&gt;
There are no doubt other languages that could be supported by TDM&#039;s existing suite of 8-bit encodings.&lt;br /&gt;
=== To Unicode? ===&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
=== To Asian Languages (Korean, Chinese, Japanese)? ===&lt;br /&gt;
The original D3 had support for Asian languages, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34563</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34563"/>
		<updated>2026-06-23T20:36:49Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */ Add I18N_-_Translator&amp;#039;s_Guide link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Core Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called upon to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** English words burned into textures of shared assets, e.g., old broadsides &amp;amp; newspapers; a few decals&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (those common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;TDM Core&amp;quot;.&lt;br /&gt;
* [[I18N - Translator&#039;s Guide]], with implications for the &amp;quot;// stays the same&amp;quot; tag.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Translating_Fan_Missions&amp;diff=34562</id>
		<title>I18N - Translating Fan Missions</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Translating_Fan_Missions&amp;diff=34562"/>
		<updated>2026-06-23T19:37:14Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* FM Specific Dictionaries */ Add warnings about encodings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
{{infobox|&#039;&#039;Important:&#039;&#039; Use [[I18N.pl]] to prepare an FM before you attempt to translate it!}}&lt;br /&gt;
&lt;br /&gt;
== Translation ==&lt;br /&gt;
&lt;br /&gt;
=== darkmod.txt ===&lt;br /&gt;
&lt;br /&gt;
{{infobox|&#039;&#039;Important:&#039;&#039; Due to bug #3012 it is not yet possible to translate darkmod.txt no README.txt - so please ignore this section for now.}}&lt;br /&gt;
&lt;br /&gt;
If you translate strings in &#039;&#039;&#039;darkmod.txt&#039;&#039;&#039;, &#039;&#039;&#039;DO NOT&#039;&#039;&#039; translate the field names like &#039;&#039;Author:&#039;&#039;, &#039;&#039;Required TDM Version:&#039;&#039; etc. These must stay in English, or TDM will not be able to interpret them. Only translate the text that comes after them! If you use [[I18N.pl]], this will be automatically done for you, you should not edit &#039;&#039;darkmod.txt&#039;&#039; in this case!&lt;br /&gt;
&lt;br /&gt;
If you want to add your name as translator to the credits, include it in a README.txt file inside &#039;&#039;YOURFM_l10n.pk4&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
=== FM Specific Dictionaries ===&lt;br /&gt;
&lt;br /&gt;
{{infobox|&#039;&#039;Caution:&#039;&#039; Every language-specific *.lang file described next must be in the proper 8-bit encoding for its language, NOT utf8. The best way to ensure this to edit your FM&#039;s all.lang (which IS utf8), then use one of the [[Gen Lang Programs]] to generate the set of properly-encoded files. Be aware that some text editors will cause problems by auto-converting 8-bit (aka ANSI) encodings to utf8 upon save.}}&lt;br /&gt;
&lt;br /&gt;
These dictionaries live in the directory &#039;&#039;&#039;strings/fm/&#039;&#039;&#039; and must follow a specific format, explained below. The name for such a dictionary is always &#039;&#039;&#039;LANGUAGE.lang&#039;&#039;&#039;, f.i. &amp;quot;english.lang&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The string IDs for FMs are 20000 … 89999, using these ensures that they do not conflict with strings from the TDM core. Note that if you have a string that matches one of the other core strings (like &amp;quot;Silver Key&amp;quot;, &amp;quot;#str_10000&amp;quot;), then you should use just the core string ID. This saves the translators from having to translate the string again.&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;MUST&#039;&#039;&#039; also separate them from the rest of your FM into their own package called &amp;quot;YOURFM_l10n.pk4&amp;quot; where YOURFM is the name of your original PK4 file. This ensures that TDM can install/update the I18N package properly.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s see how this looks for the FM named &#039;&#039;Outpost&#039;&#039;, which provides two translations (English and French):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 outpost.pk4:&lt;br /&gt;
&lt;br /&gt;
  xdata/outpost.xd&lt;br /&gt;
  maps/outpost.map&lt;br /&gt;
  maps/outpost.cm&lt;br /&gt;
  maps/outpost.proc&lt;br /&gt;
  maps/outpost.script&lt;br /&gt;
  maps/outpost.aas32&lt;br /&gt;
  strings/fm/english.lang         // include a copy of this, so the FM package&lt;br /&gt;
                                  // also works stand-alone&lt;br /&gt;
&lt;br /&gt;
 outpost_l10n.pk4:&lt;br /&gt;
&lt;br /&gt;
  strings/fm/english.lang&lt;br /&gt;
  strings/fm/french.lang&lt;br /&gt;
  README.txt                      // f.i. with credits for translators&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that all files names should be in lowercase, otherwise there can be problems under Linux.&lt;br /&gt;
&lt;br /&gt;
Example dictionary, note the entire content is wrapped in &amp;quot;{ }&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: 83%&amp;quot;&amp;gt;&lt;br /&gt;
// String table english (iso-8859-1) for: The Outpost&lt;br /&gt;
&lt;br /&gt;
// This file was generated automatically on 2011-08-20 13:56 UTC by i18n.pl v0.02&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;#str_20000&amp;quot;  &amp;quot;The Outpost&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20001&amp;quot;  &amp;quot;Break into a builder outpost to retrieve a gold ingot.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20002&amp;quot;  &amp;quot;Gold Ingot&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20003&amp;quot;  &amp;quot;Leave the outpost after your main objectives are done and get back to the front gates.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20004&amp;quot;  &amp;quot;You won&#039;t find bags full of money in a builder outpost, but take away any valuables you can get hold of. Find valuables worth at least 600.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20005&amp;quot;  &amp;quot;You won&#039;t find bags full of money in a builder outpost, but take away any valuables you can get hold of. Find valuables worth at least 700.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20006&amp;quot;  &amp;quot;No knock outs too.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20007&amp;quot;  &amp;quot;Killing is not your style. No corpses tonight.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20008&amp;quot;  &amp;quot;You won&#039;t find bags full of money in a builder outpost, but take away any valuables you can get hold of. Find valuables worth at least 800.&amp;quot;&lt;br /&gt;
  &amp;quot;#str_20009&amp;quot;  &amp;quot;The massive gold ingot should be worth a fair amount of money. Find out where the ingot is kept and change its ownership.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setup makes it easier to translate the FM, because a translator needs only to copy &#039;&#039;english.lang&#039;&#039; to &#039;&#039;german.lang&#039;&#039;, change the strings, repackage the &#039;&#039;outpost_l10n.pk4&#039;&#039; file, and it works! &#039;&#039;[Well, as long as the target language, like German, also uses an iso-8859-1 encoding, and the text editor (+ op sys) preserves that. Not the safest method.]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Images with Text ===&lt;br /&gt;
&lt;br /&gt;
If the text is painted on the image itself, you first need to paint a different image with the text in the foreign language. If you cannot do this yourself, ask one of the [[I18N_-_List_of_TDM_translators|translators]].&lt;br /&gt;
&lt;br /&gt;
Then it depends on where the image is used. If it is used inside a GUI, you can set it up so that different material shaders are used depending on the language, and each material shader can use the right image for the appropriate language. &lt;br /&gt;
&lt;br /&gt;
{{infobox|Note: If the image is used as f.i. wall texture, then you need to use a similiar technique.}}&lt;br /&gt;
&lt;br /&gt;
First, create a file named &amp;lt;tt&amp;gt;materials/yourfmname.mtr&amp;lt;/tt&amp;gt;. Here is an example from Thief&#039;s Den used for the ingame map in the inventory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// blends in-game map details onto background parchment&lt;br /&gt;
thiefsdenmap&lt;br /&gt;
{&lt;br /&gt;
        {&lt;br /&gt;
                blend filter&lt;br /&gt;
                map guis/assets/maps/thiefsdenmap&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// italien map&lt;br /&gt;
thiefsdenmap_it&lt;br /&gt;
{&lt;br /&gt;
        {&lt;br /&gt;
                blend filter&lt;br /&gt;
                map guis/assets/maps/thiefsdenmap_it&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Only English and Italian are shown here, you need one version for each language.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You also need the actual images, in this case:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;dds/guis/assets/maps/thiefsdenmap_it.dds&amp;lt;/tt&amp;gt; (Italian version, should go into &amp;quot;yourfm_l10n.pk4&amp;quot; as the other languages)&lt;br /&gt;
* &amp;lt;tt&amp;gt;dds/guis/assets/maps/thiefsdenmap.dds&amp;lt;/tt&amp;gt; (English original, should go into &amp;quot;yourfm.pk4&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Then modify the GUI file (in this case &amp;lt;tt&amp;gt;guis/thiefsdenmap.gui&amp;lt;/tt&amp;gt;) where the map is used to say:&lt;br /&gt;
&lt;br /&gt;
 windowDef Desktop {&lt;br /&gt;
     rect      0, 0, 640, 480&lt;br /&gt;
     nocursor 1&lt;br /&gt;
     windowDef background_map {&lt;br /&gt;
         rect      100, -10, 440, 480&lt;br /&gt;
         background &amp;quot;guis/assets/readables/oldparchment_landscape&amp;quot;&lt;br /&gt;
         visible 1&lt;br /&gt;
         windowDef actual_map {&lt;br /&gt;
             rect      33, 70, 400, 340&lt;br /&gt;
             {{red|background &amp;quot;thiefsdenmap&amp;quot; // shader of the map}}&lt;br /&gt;
             visible 1&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
and replace the red line with:&lt;br /&gt;
&lt;br /&gt;
            {{red|background &amp;quot;#str_20100&amp;quot; // shader of the map}}&lt;br /&gt;
&lt;br /&gt;
The number (20100) here is an example, use a free number that is not already used in your &amp;lt;tt&amp;gt;fm/strings/english.lang&amp;lt;/tt&amp;gt; file!&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;tt&amp;gt;fm/strings/english.lang&amp;lt;/tt&amp;gt; file, add the following line:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;#str_20100&amp;quot; &amp;quot;thiefsdenmap&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will use this shader to display the map. Then, in the &#039;&#039;&#039;&amp;lt;tt&amp;gt;fm/strings/italian.lang&amp;lt;/tt&amp;gt;&#039;&#039;&#039; file, add&lt;br /&gt;
this line:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;#str_20100&amp;quot; &amp;quot;thiefsdenmap_it&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This means in Italian, the other shader is used.&lt;br /&gt;
&lt;br /&gt;
The map should now display correctly in both languages.&lt;br /&gt;
&lt;br /&gt;
{{infobox|Please note that non-existing strings will default to English. So in any other language, the English map will be used as fallback.}}&lt;br /&gt;
&lt;br /&gt;
In case this still all unclear, use these files as an example:&lt;br /&gt;
&lt;br /&gt;
# http://www.bloodgate.com/mirrors/tdm/pub/pk4/i18n/thiefs_den.pk4&lt;br /&gt;
# http://www.bloodgate.com/mirrors/tdm/pub/pk4/i18n/thiefs_den_l10n.pk4&lt;br /&gt;
&lt;br /&gt;
== Publishing the FM ==&lt;br /&gt;
&lt;br /&gt;
If you upload your FM somewhere, you need to upload both files, the &#039;&#039;&#039;.PK4&#039;&#039;&#039; and the &#039;&#039;&#039;*_l10n.pk4&#039;&#039;&#039;. The interface for publishing an FM on [http://www.thedarkmod.com/admin/fms.php thedarkmod.com] has a special field where you can enter the URL for the &#039;&#039;&#039;*_l10n.pk4&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34561</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34561"/>
		<updated>2026-06-23T16:52:40Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Phrases Considered &amp;quot;Translated&amp;quot; */ Add &amp;quot;Core&amp;quot; to heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Core Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called upon to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** English words burned into textures of shared assets, e.g., old broadsides &amp;amp; newspapers; a few decals&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (those common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;TDM Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34560</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34560"/>
		<updated>2026-06-23T16:51:33Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called upon to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** English words burned into textures of shared assets, e.g., old broadsides &amp;amp; newspapers; a few decals&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (those common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;TDM Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34559</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34559"/>
		<updated>2026-06-23T16:43:22Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Caveats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called upon to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** English words burned into textures of shared assets, e.g., old broadsides &amp;amp; newspapers; a few decals&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (those common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34558</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34558"/>
		<updated>2026-06-23T12:41:40Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Commentary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called upon to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34557</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34557"/>
		<updated>2026-06-23T12:40:02Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Methodology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line. The count of these is then subtracted from 1347 to give the &amp;quot;translated&amp;quot; count shown.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34556</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34556"/>
		<updated>2026-06-23T12:35:47Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */ again&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[I18N Status]], particularly &amp;quot;Core&amp;quot;.&lt;br /&gt;
* [[I18N - Charset]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34555</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34555"/>
		<updated>2026-06-23T12:35:09Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */ fix links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [I18N Status], particularly &amp;quot;Core&amp;quot;.&lt;br /&gt;
* [I18N - Charset]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34554</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34554"/>
		<updated>2026-06-23T12:30:15Z</updated>

		<summary type="html">&lt;p&gt;Geep: Restructure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
&lt;br /&gt;
==Phrases Considered &amp;quot;Translated&amp;quot;==&lt;br /&gt;
Shown in declining count order, for TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
* Catalan - 1265 (94%) &lt;br /&gt;
* Russian - 1232 (92%)&lt;br /&gt;
* French - 1197 (89%)&lt;br /&gt;
* German - 1195 (89%)&lt;br /&gt;
* Turkish - 1193 (89%)&lt;br /&gt;
* Hungarian - 1190 (88%)&lt;br /&gt;
* Polish - 1183 (88%)&lt;br /&gt;
* Slovak - 1164 (86%)&lt;br /&gt;
* Italian - 1142 (85%)&lt;br /&gt;
* Romanian - 1137 (84%)&lt;br /&gt;
* Spanish - 1102 (82%)&lt;br /&gt;
* Danish - 1095 (82%)&lt;br /&gt;
* Portuguese - 1034 (77%)&lt;br /&gt;
* Czech - 998 (74%)&lt;br /&gt;
* Dutch - 142 (11%)&lt;br /&gt;
* Swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
=== Commentary ===&lt;br /&gt;
First-ranked Catalan is the newest entry. As for other languages, presumably they have suffered some slippage of coverage due to the minor accumulations of new English phrases over the last decade, without translation updates.&lt;br /&gt;
&lt;br /&gt;
Bottom-ranked Dutch and Swedish remain as stubs, awaiting full translation. Not shown: Other possible future-candidate Latin and Cyrillic languages, with similar stubs in all.lang, but no .lang files generated at this time.&lt;br /&gt;
&lt;br /&gt;
Translation with AI may be called to help with these shortcomings.&lt;br /&gt;
&lt;br /&gt;
=== Methodology===&lt;br /&gt;
As of TDM 2.14, english.lang defines &#039;&#039;&#039;1347&#039;&#039;&#039; #str_ phrases (and presumably a similar number in the [english] section of all.lang). This value is the denominator of percentage calculations.&lt;br /&gt;
&lt;br /&gt;
The numerators come from counting the number of lines in various &amp;quot;missing.txt&amp;quot; files that result from running gen_lang_plus with its &amp;quot;-missing&amp;quot; option. Here&#039;s how it does its categorization for each [language]...&lt;br /&gt;
&lt;br /&gt;
If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the special translator comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is output as a &amp;quot;missing&amp;quot; (untranslated) line.&lt;br /&gt;
&lt;br /&gt;
===Caveats===&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are merely very good estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;. In particular, translation away from English may be difficult for some technical and/or abbreviated terms in Settings. Perhaps a more concerted effort to apply the &amp;quot;// stays the same&amp;quot; tag is warranted.&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_. Hopefully there&#039;s little to none of that left.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;br /&gt;
** TDM&#039;s website, installer, wiki, forums, etc.&lt;br /&gt;
* The quality of the translations are not assessed. In particular, improvements to Stone and Carleton fonts in support of certain accented characters will not likely roll out to individual strings until TDM 2.15. A few menu strings remain in the unimproved, deprecated Carleton_Condensed font.&lt;br /&gt;
==See Also==&lt;br /&gt;
* [i18n - Core Translation]&lt;br /&gt;
* [i18n - Charset]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_Status&amp;diff=34553</id>
		<title>I18N Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_Status&amp;diff=34553"/>
		<updated>2026-06-23T11:26:00Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* TDM Core */ Add legend to 99% bar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article deals with the localisation/translation of both TDM itself, as well as [[Fan Missions]].&lt;br /&gt;
&lt;br /&gt;
{{infobox|{{red|The I18N support in TDM will only work with v1.07 or newer.}}}}&lt;br /&gt;
&lt;br /&gt;
== FM List ==&lt;br /&gt;
===Translations Developed Under or Available through Language-Specific Third-Party Sites===&lt;br /&gt;
These translations may in some cases go beyond I18N-text translations, to include images and vocals.&lt;br /&gt;
&lt;br /&gt;
An example is DarkFate.org, which has Russian language translation of Thief-family games, including on the order of 100 TDM FMs. A current list may be found [https://darkfate.org/view/details/files/fan-missions/translates/tdm here]. See also an earlier TDM forum post about [https://forums.thedarkmod.com/index.php?/topic/16416-russian-translation-of-fm/page/2/&amp;amp;tab=comments#comment-380965 Dark Fate resources for Russian-speaking translators of TDM FMs].&lt;br /&gt;
&lt;br /&gt;
===I18N-Text Translations Available Within TheDarkMod.com FMs===&lt;br /&gt;
Click on a column header to sort the list, or toggle ascending/descending order.&lt;br /&gt;
&lt;br /&gt;
{{infobox|{{red|&#039;&#039;&#039;This list may be incomplete!&#039;&#039;&#039;}}}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 80%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:#e0e0f0&amp;quot;|Name&lt;br /&gt;
!style=&amp;quot;background:#e0e0f0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Converted to the I18N system&amp;quot;&amp;gt;I18N?&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Czech&amp;quot;&amp;gt;cs&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Danish&amp;quot;&amp;gt;da&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Dutch&amp;quot;&amp;gt;nl&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;English&amp;quot;&amp;gt;en&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;French&amp;quot;&amp;gt;fr&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;German&amp;quot;&amp;gt;de&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Hungarian&amp;quot;&amp;gt;hu&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Italian&amp;quot;&amp;gt;it&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Spanish&amp;quot;&amp;gt;es&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Russian&amp;quot;&amp;gt;ru&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Portuguese&amp;quot;&amp;gt;pt&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Polish&amp;quot;&amp;gt;pl&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Special Delivery&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Awaiting the Storm&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Business as Usual&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Chalice of the Kings&lt;br /&gt;
|{{I18N-yn|bg=#f08020|text=50%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Vengeance for a Thief Part 1&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Closemouthed Shadows&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Deceptive Shadows&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!House in Blackbog Hollow&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!House Of Theo&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Living Expenses&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Mad&#039;s Mountain&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Pandora&#039;s Box&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Rake Off&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Somewhere Above the City&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Swing&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Crown of Penitence&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Illusionist&#039;s Tower&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Outpost&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Parcel&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Rift&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Sons of Baltona 1&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Tears of Saint Lucia&lt;br /&gt;
|{{I18N-yn|bg=#80c010|text=90%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yn|bg=#80c010|text=90%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Thieves&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Thief&#039;s Den&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Too Late&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Training Mission&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Trapped!&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Winter Harvest v2.4&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A Night to Remember &lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A Score to Settle&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Alberic&#039;s Curse&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Betrayal&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Dragon&#039;s Claw&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Fiasco at Fauchard Street&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!In Remembrance of Him&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Krysztalowy Grob (Crystal Grave)&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Let Sleeping Thieves Lie&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Lockdown&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Lord Dufford&#039;s&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Mandrasola&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!No Honor Among Thieves&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Patently Dangerous&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Reap as you sow&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Return to the City&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Rightful Property&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Samhain Night on Bone Hill&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Siege Shop&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Sneak and Destroy&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Sound Alert &amp;amp; Blackjack Trainer&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!St. Alban&#039;s Cathedral&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Alchemist&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Beleaguered Fence&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Builder&#039;s Influence&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Caduceus of St. Alban&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Creeps&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Glenham Tower&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Heart of Lone Salvation&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Knighton Manor&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Phrase Book&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Transaction&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Flakebridge Monastery&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Old Habits&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!In the North&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to help translating these missions into other languages, you can download them [http://www.bloodgate.com/mirrors/tdm/pub/pk4/i18n/ here].&lt;br /&gt;
&lt;br /&gt;
== TDM Core ==&lt;br /&gt;
&lt;br /&gt;
=== As of 2017 ===&lt;br /&gt;
&lt;br /&gt;
:Conversion into i18n-ready form: &lt;br /&gt;
:{{percent|99}}&lt;br /&gt;
&lt;br /&gt;
* All the strings in the menu, the HUD, the in-game messages, the different menus as well as inventory item names and categories have been made translatable.&lt;br /&gt;
* A [[I18N - Charset|charset]] has been defined and made supported by the code.&lt;br /&gt;
* Both the menu font (Carleton) and the HUD font (Stone) have been patched to include the foreign characters. (&#039;&#039;Stone misses a few, esp. uppercase ones. Some Carleton characters are unattractive.&#039;&#039;)&lt;br /&gt;
* The bitmaps in the various menus where converted to text, including the huge headers&lt;br /&gt;
* The default Doom3 &#039;&#039;english.lang&#039;&#039; has been slimmed down (from &amp;gt;5400 to 200 entries), then all the nec. strings for TDM have been added, including a lot of sensible default strings that are either useful or used in FMs (like names for inventory items, speaker names and so on), resulting over &#039;&#039;&#039;1130 entries&#039;&#039;&#039;.&lt;br /&gt;
* There is a &#039;&#039;&#039;[[I18N.pl|script]]&#039;&#039;&#039; which can convert old FMs into I18N capable FMs, even matching different translations.&lt;br /&gt;
* Both the 0xff character bug, as well as the problem that &#039;&#039;&#039;choiceDef&#039;&#039;&#039;s do not work have been resolved&lt;br /&gt;
* Menu and inventory name translations are complete for {{green|&#039;&#039;&#039;English&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Danish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Italian&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Czech&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Polish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Portuguese&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Russian&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;French&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Spanish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;German&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Romanian&#039;&#039;&#039;}}, and {{green|&#039;&#039;&#039;Hungarian&#039;&#039;&#039;}}. &lt;br /&gt;
* {{red|&#039;&#039;&#039;Swedish&#039;&#039;&#039;}}, {{red|&#039;&#039;&#039;Slovak&#039;&#039;&#039;}} and {{red|&#039;&#039;&#039;Dutch&#039;&#039;&#039;}} can be selected in the menu, but as of February 2017 still have substantially incomplete translations. Anyone capable of providing said translations, even in part, please post in the TDM forum under the &amp;quot;I want to Help&amp;quot; section.&lt;br /&gt;
* {{green|&#039;&#039;&#039;Turkish&#039;&#039;&#039;}} has been added to the menu translation list and will be available in 2.05&lt;br /&gt;
==== TODO ====&lt;br /&gt;
&lt;br /&gt;
# The Download and Load/Save menu still need to be converted so their headlines can be translated.&lt;br /&gt;
# Adding accented and Umlaut characters the other fonts (only the 24px variant needs still to be done). To make this easier, a [[Font Patcher]] utility has been written.&lt;br /&gt;
# When an l10n.pk4 file is updated, the entire mission is redownloaded. That should be avoided somehow.&lt;br /&gt;
# Find more people who can contribute translations – maybe make it easier by creating a website where anyone can contribute translations for individual strings, ala [https://translations.launchpad.net/ launchpad]?&lt;br /&gt;
&lt;br /&gt;
=== As of 2026 ===&lt;br /&gt;
...and TDM 2.14.&lt;br /&gt;
* See [[Translations of Main Menus]] for a numeric estimation of core string completion by language.&lt;br /&gt;
&lt;br /&gt;
* Great progress has been made on {{green|&#039;&#039;&#039;Slovak&#039;&#039;&#039;}}, and {{green|&#039;&#039;&#039;Catalan&#039;&#039;&#039;}} is newly available.&lt;br /&gt;
* {{red|&#039;&#039;&#039;Swedish&#039;&#039;&#039;}} and {{red|&#039;&#039;&#039;Dutch&#039;&#039;&#039;}} remain substantially incomplete.&lt;br /&gt;
* Both Stone and Carleton fonts in 24pt, the basis for almost all core strings, now cover all 256 TDM-defined codepoints. Having a full complement of accented characters makes translation easier. Unattractive Carleton characters were replaced.&lt;br /&gt;
* Font improvements are driven by familiar tools, like GIMP, and new tools like [[Refont]], [[datBounds]], and gen_lang_plus (among [[Gen Lang Programs]]).&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_Status&amp;diff=34552</id>
		<title>I18N Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_Status&amp;diff=34552"/>
		<updated>2026-06-23T02:03:35Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* TDM Core */ Add 2017 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article deals with the localisation/translation of both TDM itself, as well as [[Fan Missions]].&lt;br /&gt;
&lt;br /&gt;
{{infobox|{{red|The I18N support in TDM will only work with v1.07 or newer.}}}}&lt;br /&gt;
&lt;br /&gt;
== FM List ==&lt;br /&gt;
===Translations Developed Under or Available through Language-Specific Third-Party Sites===&lt;br /&gt;
These translations may in some cases go beyond I18N-text translations, to include images and vocals.&lt;br /&gt;
&lt;br /&gt;
An example is DarkFate.org, which has Russian language translation of Thief-family games, including on the order of 100 TDM FMs. A current list may be found [https://darkfate.org/view/details/files/fan-missions/translates/tdm here]. See also an earlier TDM forum post about [https://forums.thedarkmod.com/index.php?/topic/16416-russian-translation-of-fm/page/2/&amp;amp;tab=comments#comment-380965 Dark Fate resources for Russian-speaking translators of TDM FMs].&lt;br /&gt;
&lt;br /&gt;
===I18N-Text Translations Available Within TheDarkMod.com FMs===&lt;br /&gt;
Click on a column header to sort the list, or toggle ascending/descending order.&lt;br /&gt;
&lt;br /&gt;
{{infobox|{{red|&#039;&#039;&#039;This list may be incomplete!&#039;&#039;&#039;}}}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 80%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;background:#e0e0f0&amp;quot;|Name&lt;br /&gt;
!style=&amp;quot;background:#e0e0f0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Converted to the I18N system&amp;quot;&amp;gt;I18N?&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Czech&amp;quot;&amp;gt;cs&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Danish&amp;quot;&amp;gt;da&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Dutch&amp;quot;&amp;gt;nl&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;English&amp;quot;&amp;gt;en&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;French&amp;quot;&amp;gt;fr&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;German&amp;quot;&amp;gt;de&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Hungarian&amp;quot;&amp;gt;hu&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Italian&amp;quot;&amp;gt;it&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Spanish&amp;quot;&amp;gt;es&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Russian&amp;quot;&amp;gt;ru&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Portuguese&amp;quot;&amp;gt;pt&amp;lt;/abbr&amp;gt;&lt;br /&gt;
!style=&amp;quot;background:#d0d0e0&amp;quot;|&amp;lt;abbr style=&amp;quot;font-size:80%&amp;quot; title=&amp;quot;Polish&amp;quot;&amp;gt;pl&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Special Delivery&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Awaiting the Storm&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Business as Usual&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Chalice of the Kings&lt;br /&gt;
|{{I18N-yn|bg=#f08020|text=50%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Vengeance for a Thief Part 1&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Closemouthed Shadows&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Deceptive Shadows&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!House in Blackbog Hollow&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!House Of Theo&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Living Expenses&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Mad&#039;s Mountain&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Pandora&#039;s Box&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Rake Off&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Somewhere Above the City&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Swing&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Crown of Penitence&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Illusionist&#039;s Tower&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Outpost&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Parcel&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Rift&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Sons of Baltona 1&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Tears of Saint Lucia&lt;br /&gt;
|{{I18N-yn|bg=#80c010|text=90%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yn|bg=#80c010|text=90%}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Thieves&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Thief&#039;s Den&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Too Late&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Training Mission&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Trapped!&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Winter Harvest v2.4&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A Night to Remember &lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A Score to Settle&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Alberic&#039;s Curse&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Betrayal&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Dragon&#039;s Claw&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Fiasco at Fauchard Street&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!In Remembrance of Him&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Krysztalowy Grob (Crystal Grave)&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Let Sleeping Thieves Lie&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Lockdown&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Lord Dufford&#039;s&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Mandrasola&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!No Honor Among Thieves&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Patently Dangerous&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Reap as you sow&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Return to the City&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Rightful Property&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Samhain Night on Bone Hill&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Siege Shop&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Sneak and Destroy&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Sound Alert &amp;amp; Blackjack Trainer&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!St. Alban&#039;s Cathedral&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Alchemist&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Beleaguered Fence&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Builder&#039;s Influence&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Caduceus of St. Alban&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Creeps&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Glenham Tower&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Heart of Lone Salvation&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Knighton Manor&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Phrase Book&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!The Transaction&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Flakebridge Monastery&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Old Habits&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!In the North&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-yes}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
|{{I18N-no}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to help translating these missions into other languages, you can download them [http://www.bloodgate.com/mirrors/tdm/pub/pk4/i18n/ here].&lt;br /&gt;
&lt;br /&gt;
== TDM Core ==&lt;br /&gt;
&lt;br /&gt;
=== As of 2017 ===&lt;br /&gt;
:{{percent|99}}&lt;br /&gt;
&lt;br /&gt;
* All the strings in the menu, the HUD, the in-game messages, the different menus as well as inventory item names and categories have been made translatable.&lt;br /&gt;
* A [[I18N - Charset|charset]] has been defined and made supported by the code.&lt;br /&gt;
* Both the menu font (Carleton) and the HUD font (Stone) have been patched to include the foreign characters. (&#039;&#039;Stone misses a few, esp. uppercase ones. Some Carleton characters are unattractive.&#039;&#039;)&lt;br /&gt;
* The bitmaps in the various menus where converted to text, including the huge headers&lt;br /&gt;
* The default Doom3 &#039;&#039;english.lang&#039;&#039; has been slimmed down (from &amp;gt;5400 to 200 entries), then all the nec. strings for TDM have been added, including a lot of sensible default strings that are either useful or used in FMs (like names for inventory items, speaker names and so on), resulting over &#039;&#039;&#039;1130 entries&#039;&#039;&#039;.&lt;br /&gt;
* There is a &#039;&#039;&#039;[[I18N.pl|script]]&#039;&#039;&#039; which can convert old FMs into I18N capable FMs, even matching different translations.&lt;br /&gt;
* Both the 0xff character bug, as well as the problem that &#039;&#039;&#039;choiceDef&#039;&#039;&#039;s do not work have been resolved&lt;br /&gt;
* Menu and inventory name translations are complete for {{green|&#039;&#039;&#039;English&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Danish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Italian&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Czech&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Polish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Portuguese&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Russian&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;French&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Spanish&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;German&#039;&#039;&#039;}}, {{green|&#039;&#039;&#039;Romanian&#039;&#039;&#039;}}, and {{green|&#039;&#039;&#039;Hungarian&#039;&#039;&#039;}}. &lt;br /&gt;
* {{red|&#039;&#039;&#039;Swedish&#039;&#039;&#039;}}, {{red|&#039;&#039;&#039;Slovak&#039;&#039;&#039;}} and {{red|&#039;&#039;&#039;Dutch&#039;&#039;&#039;}} can be selected in the menu, but as of February 2017 still have substantially incomplete translations. Anyone capable of providing said translations, even in part, please post in the TDM forum under the &amp;quot;I want to Help&amp;quot; section.&lt;br /&gt;
* {{green|&#039;&#039;&#039;Turkish&#039;&#039;&#039;}} has been added to the menu translation list and will be available in 2.05&lt;br /&gt;
==== TODO ====&lt;br /&gt;
&lt;br /&gt;
# The Download and Load/Save menu still need to be converted so their headlines can be translated.&lt;br /&gt;
# Adding accented and Umlaut characters the other fonts (only the 24px variant needs still to be done). To make this easier, a [[Font Patcher]] utility has been written.&lt;br /&gt;
# When an l10n.pk4 file is updated, the entire mission is redownloaded. That should be avoided somehow.&lt;br /&gt;
# Find more people who can contribute translations – maybe make it easier by creating a website where anyone can contribute translations for individual strings, ala [https://translations.launchpad.net/ launchpad]?&lt;br /&gt;
&lt;br /&gt;
=== As of 2026 ===&lt;br /&gt;
See [[Translations of Main Menus]] for a numeric estimation of core string completion by language.&lt;br /&gt;
&lt;br /&gt;
* Great progress has been made on {{green|&#039;&#039;&#039;Slovak&#039;&#039;&#039;}}, and {{green|&#039;&#039;&#039;Catalan&#039;&#039;&#039;}} is newly available.&lt;br /&gt;
* {{red|&#039;&#039;&#039;Swedish&#039;&#039;&#039;}} and {{red|&#039;&#039;&#039;Dutch&#039;&#039;&#039;}} remain substantially incomplete.&lt;br /&gt;
* Both Stone and Carleton fonts in 24pt, the basis for almost all core strings, now cover all 256 TDM-defined codepoints. Having a full complement of accented characters makes translation easier. Unattractive Carleton characters were replaced.&lt;br /&gt;
* Font improvements are driven by familiar tools, like GIMP, and new tools like [[Refont]], [[datBounds]], and gen_lang_plus (among [[Gen Lang Programs]]).&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34551</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34551"/>
		<updated>2026-06-23T01:13:14Z</updated>

		<summary type="html">&lt;p&gt;Geep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
Estimates of percent translated are derived primarily from results from gen_lang_plus with its -missing option.&lt;br /&gt;
&lt;br /&gt;
As of TDM 2.14, english.lang defines 1347 #str_ phrases (and presumably a similar number in the [english] section of all.lang). If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is counted as &amp;quot;untranslated&amp;quot; (i.e., missing).&lt;br /&gt;
&lt;br /&gt;
Phrases considered &amp;quot;translated&amp;quot;, shown in declining count order:&lt;br /&gt;
&lt;br /&gt;
* catalan - 1265 (94%) &lt;br /&gt;
* russian - 1232 (92%)&lt;br /&gt;
* french - 1197 (89%)&lt;br /&gt;
* german - 1195 (89%)&lt;br /&gt;
* turkish - 1193 (89%)&lt;br /&gt;
* hungarian - 1190 (88%)&lt;br /&gt;
* polish - 1183 (88%)&lt;br /&gt;
* slovak - 1164 (86%)&lt;br /&gt;
* italian - 1142 (85%)&lt;br /&gt;
* romanian - 1137 (84%)&lt;br /&gt;
* spanish - 1102 (82%)&lt;br /&gt;
* danish - 1095 (82%)&lt;br /&gt;
* portuguese - 1034 (77%)&lt;br /&gt;
* czech - 998 (74%)&lt;br /&gt;
* dutch - 142 (11%)&lt;br /&gt;
* swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Caveats:&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;.)&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34550</id>
		<title>Translations of Main Menus</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Translations_of_Main_Menus&amp;diff=34550"/>
		<updated>2026-06-23T01:11:54Z</updated>

		<summary type="html">&lt;p&gt;Geep: create article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;... and other I18N TDM-platform strings that are not FM-specific.&lt;br /&gt;
Estimates of percent translated are derived primarily on results from gen_lang_plus with -missing option.&lt;br /&gt;
&lt;br /&gt;
As of TDM 2.14, english.lang defines 1347 #str_ phrases (and presumably a similar number in the [english] section of all.lang). If, for a given [english] #str_ ID in all.lang, either:&lt;br /&gt;
# there&#039;s no matching [language] #str_ ID; or&lt;br /&gt;
# there&#039;s a matching [language] #str_ID, but with the same phrase as [english], and it&#039;s not marked with the comment  &amp;quot;// stays the same&amp;quot;&lt;br /&gt;
&lt;br /&gt;
then that is counted as &amp;quot;untranslated&amp;quot; (i.e., missing).&lt;br /&gt;
&lt;br /&gt;
Phrases considered &amp;quot;translated&amp;quot;, shown in declining count order:&lt;br /&gt;
&lt;br /&gt;
* catalan - 1265 (94%) &lt;br /&gt;
* russian - 1232 (92%)&lt;br /&gt;
* french - 1197 (89%)&lt;br /&gt;
* german - 1195 (89%)&lt;br /&gt;
* turkish - 1193 (89%)&lt;br /&gt;
* hungarian - 1190 (88%)&lt;br /&gt;
* polish - 1183 (88%)&lt;br /&gt;
* slovak - 1164 (86%)&lt;br /&gt;
* italian - 1142 (85%)&lt;br /&gt;
* romanian - 1137 (84%)&lt;br /&gt;
* spanish - 1102 (82%)&lt;br /&gt;
* danish - 1095 (82%)&lt;br /&gt;
* portuguese - 1034 (77%)&lt;br /&gt;
* czech - 998 (74%)&lt;br /&gt;
* dutch - 142 (11%)&lt;br /&gt;
* swedish - 136 (10%)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Caveats:&lt;br /&gt;
* Because of certain problems (multiline comments, duplicate entries), these numbers are estimates, not definitive.&lt;br /&gt;
* Some phrases shouldn&#039;t or can&#039;t be translated (e.g., PC function keys), or are the same in English and the other language, even if not marked with &amp;quot;// stays the same&amp;quot;.)&lt;br /&gt;
* These estimates do not account of any possible platform text left hard-coded in English text, so not represented by a #str_.&lt;br /&gt;
* These estimates do not account for platform aspects with no translation mechanism, e.g.:&lt;br /&gt;
** Readme&#039;s about potential games to select&lt;br /&gt;
** Barks and subtitles (common to all FMs)&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34547</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34547"/>
		<updated>2026-06-19T17:44:18Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* TDM &amp;amp; ISO Char Sets - Details, Potential Tricks, Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if provided) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== TDM &amp;amp; ISO Char Sets - Details, Potential Tricks, Limitations ==&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combination of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, after Excel import, the TDM and Comments columns were filled in by Geep, and color coding added. Language mappings were independently color coded, then verified against existing language maps. Finally converted to wikitable format.&lt;br /&gt;
									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE5 || latin small letter c with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCF || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEF || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCA || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEA || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEC || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD0 || || || latin capital letter g with breve || As of TDM 2.13 (TDM codemap), 2.15 (turkish.map)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || || || latin small letter g with breve || As of TDM 2.13 (TDM codemap), 2.15 (turkish.map)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#9ab4e3&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#9ab4e3&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAC || || || style=&amp;quot;background:#ebbb54;&amp;quot; |  | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBC || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || 0xBD || || || double acute accent ||&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* [[I18N - Character mapping]] sketches the format and location of &amp;lt;language&amp;gt;.map files.&lt;br /&gt;
* [[I18N - Charset]] is the main article about TDM language use and various encodings.&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34546</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34546"/>
		<updated>2026-06-19T17:35:13Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if provided) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== TDM &amp;amp; ISO Char Sets - Details, Potential Tricks, Limitations ==&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combination of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, after Excel import, the TDM and Comments columns were filled in by Geep, and color coding added. Language mappings were independently color coded, then verified against existing language maps. Finally converted to wikitable format.&lt;br /&gt;
									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE5 || latin small letter c with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCF || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEF || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCA || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEA || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEC || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#9ab4e3&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#9ab4e3&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAC || || || style=&amp;quot;background:#ebbb54;&amp;quot; |  | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBC || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || 0xBD || || || double acute accent ||&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* [[I18N - Character mapping]] sketches the format and location of &amp;lt;language&amp;gt;.map files.&lt;br /&gt;
* [[I18N - Charset]] is the main article about TDM language use and various encodings.&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34545</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34545"/>
		<updated>2026-06-19T17:30:54Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* For More */ adds section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== TDM &amp;amp; ISO Char Sets - Details, Potential Tricks, Limitations ==&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combination of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, after Excel import, the TDM and Comments columns were filled in by Geep, and color coding added. Language mappings were independently color coded, then verified against existing language maps. Finally converted to wikitable format.&lt;br /&gt;
									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE5 || latin small letter c with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCF || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEF || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCA || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEA || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEC || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#9ab4e3&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#9ab4e3&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAC || || || style=&amp;quot;background:#ebbb54;&amp;quot; |  | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBC || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || 0xBD || || || double acute accent ||&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* [[I18N - Character mapping]] sketches the format and location of &amp;lt;language&amp;gt;.map files.&lt;br /&gt;
* [[I18N - Charset]] is the main article about TDM language use and various encodings.&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Character_mapping&amp;diff=34544</id>
		<title>I18N - Character mapping</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Character_mapping&amp;diff=34544"/>
		<updated>2026-06-19T17:21:26Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Remapping */ link to Multilanguage Display, minor tweaks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, a special font is used (Carleton for the menu f.i.). These fonts are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
Whether used to define translation dictionaries that are system-wide (in tdm_base01.pk4/strings/) or FM-specific (in &amp;lt;FM&amp;gt;/strings/), language files (f.i. german.lang), derived from Unicode all.lang, are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Polish, Hungarian, Slovak:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; ISO-8859-16&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; ISO-8859-15&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; ISO-8859-9&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
=== Remapping ===&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable from their source encoding (e.g. ISO 8859-2) to the special character map TDM uses. Responsible for this are mapping files, f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead. (Note: a default map is no longer shipped, at least since TDM 2.10 and probably much earlier. Generally, ISO-8859-1 languages don&#039;t need remapping.) This remapping is font-agnostic.&lt;br /&gt;
&lt;br /&gt;
More about current regular and &amp;quot;trick&amp;quot; mappings, including a per-character table, is discussed in [[Multilanguage Display]].&lt;br /&gt;
&lt;br /&gt;
The game only looks for remapping files in the tdm_base01.pk4/strings directory. So they cannot be overridden by any .map file placed in an FM&#039;s string directory.&lt;br /&gt;
&lt;br /&gt;
The content of a map file is wrapped in &#039;&#039;&#039;{&#039;&#039;&#039; and &#039;&#039;&#039;}&#039;&#039;&#039;, and each mapping consists of two hexadecimal numbers, the source and the target character number.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
For russian:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        0xFF    0xB6            // я&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For European languages in ISO 8859-2 charset (f.i. Czech):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// a comment&lt;br /&gt;
{&lt;br /&gt;
        0xF2    0xA1            // ň&lt;br /&gt;
        0xDB    0xA2            // Ű (similiar to Ü, used in Hungarian)&lt;br /&gt;
        0xFB    0xA4            // ű&lt;br /&gt;
        0xA9    0xA6            // Š&lt;br /&gt;
        0xB9    0xA8            // š&lt;br /&gt;
        0xA1    0xAA            // Ą&lt;br /&gt;
        0xC8    0xAC            // Č&lt;br /&gt;
        0xCA    0xAB            // Ę&lt;br /&gt;
        0xE8    0xAE            // č&lt;br /&gt;
        0xD5    0xB0            // Ő (similiar to Ö, used in Hungarian)&lt;br /&gt;
        0xA3    0xB1            // Ł&lt;br /&gt;
        0xAb    0xB2            // Ť&lt;br /&gt;
        0xCF    0xB3            // Ď&lt;br /&gt;
        0xAC    0xB4            // Ž&lt;br /&gt;
        0xB3    0xB5            // ł&lt;br /&gt;
        0xBf    0xB6            // ż&lt;br /&gt;
        0xEF    0xB7            // ď&lt;br /&gt;
        0xBE    0xB8            // ž&lt;br /&gt;
        0xF5    0xB9            // ő (similiar to ö, used in Hungarian)&lt;br /&gt;
        0xB1    0xBA            // ą&lt;br /&gt;
        0xEA    0xBB            // ę&lt;br /&gt;
        0xF8    0xF7            // ř&lt;br /&gt;
        0xD8    0xD7            // Ř&lt;br /&gt;
        0xEC    0xA3            // ě&lt;br /&gt;
        0xCC    0xA5            // Ě&lt;br /&gt;
        0xD9    0xA9            // Ů&lt;br /&gt;
        0xF9    0xAF            // ů&lt;br /&gt;
        0xBB    0xB6            // ť&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{i18n}}* [[Font Patcher]]&lt;br /&gt;
&lt;br /&gt;
[[Category:fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34543</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34543"/>
		<updated>2026-06-19T16:07:45Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Access to TDM Characters from Various Languages */ add section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character. In addition, printable characters in the range 0x80-0x9f, shown in light or dark green, are also TDM characters, replacing ISO-8859 control characters (not shown).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Access to TDM Characters from Various Languages ====&lt;br /&gt;
See [[Multilanguage Display]], which includes an itemized table of characters across TDM/ISO codemaps. This discusses which characters (assuming the font implements them) the translator can...&lt;br /&gt;
* enter directly&lt;br /&gt;
* enter by tricks&lt;br /&gt;
* not currently access.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? ==&lt;br /&gt;
&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
&lt;br /&gt;
As for Asian languages, the original D3 had support for them, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34542</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34542"/>
		<updated>2026-06-19T15:50:36Z</updated>

		<summary type="html">&lt;p&gt;Geep: finalize for now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== TDM &amp;amp; ISO Char Sets - Details, Potential Tricks, Limitations ==&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combination of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, after Excel import, the TDM and Comments columns were filled in by Geep, and color coding added. Language mappings were independently color coded, then verified against existing language maps. Finally converted to wikitable format.&lt;br /&gt;
									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE5 || latin small letter c with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCF || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEF || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCA || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEA || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEC || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#9ab4e3&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#9ab4e3&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAC || || || style=&amp;quot;background:#ebbb54;&amp;quot; |  | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBC || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || 0xBD || || || double acute accent ||&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34541</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34541"/>
		<updated>2026-06-19T15:18:23Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Details of TDM and ISO Char Sets and Potential Tricks and Limitations */ fixup colors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[WORK IN PROGRESS][COLOR CODING NOT RIGHT YET]&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combine of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, the TDM and Comments columns were filled in by Geep, and color coding added.									&lt;br /&gt;
Language mappings were independently color coded, then verified against existing language maps.									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#9ab4e3&amp;quot; | ª || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#9ab4e3&amp;quot; | º || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE5 || latin small letter c with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¬ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#9ab4e3&amp;quot; | ® || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCF || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || style=&amp;quot;background:#9ab4e3&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEF || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || style=&amp;quot;background:#9ab4e3; font-weight:bold&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCA || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#9ab4e3&amp;quot; | « || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEA || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#9ab4e3&amp;quot; | » || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xCC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xEC || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || style=&amp;quot;background:#9ab4e3&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#9ab4e3&amp;quot; | ± || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#9ab4e3&amp;quot; | µ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#9ab4e3&amp;quot; | ° || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¹ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || style=&amp;quot;background:#9ab4e3&amp;quot; | × || style=&amp;quot;background:#9ab4e3&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || style=&amp;quot;background:#9ab4e3&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB6 || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xB9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAB || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || style=&amp;quot;background:#9ab4e3&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD9 || style=&amp;quot;background:#9ab4e3&amp;quot; | © || style=&amp;quot;background:#9ab4e3&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF9 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¢ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFB || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#9ab4e3&amp;quot; | ¤ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || || style=&amp;quot;background:#9ab4e3&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAC || || || style=&amp;quot;background:#ebbb54;&amp;quot; |  | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBC || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAE || style=&amp;quot;background:#9ab4e3&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBE || style=&amp;quot;background:#9ab4e3&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ebbb54;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || 0xBD || || || double acute accent ||&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;background:#dbab8a;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34540</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34540"/>
		<updated>2026-06-19T13:32:31Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Background */ link I18n - Charset page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation to detail this was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM&#039;s main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding file, e.g., french.lang, german.lang, etc., in a language-specific 8-bit encoding. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Cyrillic Russian, these files use encodings within the ISO-8859 family (as detailed in [[I18N_-_Charset]]). Any specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[WORK IN PROGRESS][COLOR CODING NOT RIGHT YET]&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combine of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, the TDM and Comments columns were filled in by Geep, and color coding added.									&lt;br /&gt;
Language mappings were independently color coded, then verified against existing language maps.									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || 0xC6 || || || 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || 0xE6 || || || 0xE5 || latin small letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xC8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xE8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || 0xCF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || 0xEF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || 0xF0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xCA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xEA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || 0xCC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || 0xEC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || 0xD1 || || || 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || 0xF1 || || || 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || 0xF2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || 0xA6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || 0xB6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || 0xAA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || 0xBA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || 0xD9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || 0xF9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || 0xDB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || 0xFB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || 0xAC || || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || 0xBC || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || 0xAF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || 0xBF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || || || double acute accent ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34539</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34539"/>
		<updated>2026-06-19T13:17:56Z</updated>

		<summary type="html">&lt;p&gt;Geep: Correct colors in table key&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding language-specific file, e.g., french.lang, german.lang, etc. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Russian, these files use a specific 8-bit encoding within the ISO-8859 family. (The i18n – Char page has specifics here.) This specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[WORK IN PROGRESS][COLOR CODING NOT RIGHT YET]&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combine of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, the TDM and Comments columns were filled in by Geep, and color coding added.									&lt;br /&gt;
Language mappings were independently color coded, then verified against existing language maps.									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ebbb54;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#9ab4e3;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#43a8cc;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#dbab8a;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || 0xC6 || || || 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || 0xE6 || || || 0xE5 || latin small letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xC8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xE8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || 0xCF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || 0xEF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || 0xF0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xCA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xEA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || 0xCC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || 0xEC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || 0xD1 || || || 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || 0xF1 || || || 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || 0xF2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || 0xA6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || 0xB6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || 0xAA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || 0xBA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || 0xD9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || 0xF9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || 0xDB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || 0xFB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || 0xAC || || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || 0xBC || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || 0xAF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || 0xBF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || || || double acute accent ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34536</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34536"/>
		<updated>2026-06-18T20:23:22Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Details of TDM and ISO Char Sets and Potential Tricks and Limitations */ start to fix colors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding language-specific file, e.g., french.lang, german.lang, etc. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Russian, these files use a specific 8-bit encoding within the ISO-8859 family. (The i18n – Char page has specifics here.) This specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[WORK IN PROGRESS][COLOR CODING NOT RIGHT YET]&lt;br /&gt;
&lt;br /&gt;
The main table below (after the Key) was drafted by Google AI, from a prompt that defined the header and an example row, and specified:&lt;br /&gt;
									&lt;br /&gt;
 &amp;quot;Rows are a combine of all the printable 8-bit codepoints in the range 0x80-0xff defined in ISO-8859-1, -2, -9, -15, and -16. The rows are ordered by Unicode number. If a particular ISO standard does not include the character, leave that cell blank.&amp;quot;&lt;br /&gt;
									&lt;br /&gt;
Subsequently, the TDM and Comments columns were filled in by Geep, and color coding added.									&lt;br /&gt;
Language mappings were independently color coded, then verified against existing language maps.									&lt;br /&gt;
This table skips codepoints in the range 0x00-0x7f, because they are the same for all ISO-8859 standards. No mapping required.								&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Color Key&lt;br /&gt;
! Cell !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#8c8c8c;&amp;quot; | Light Gray Text Row || Symbol not included in TDM custom character set (so TDM column blank). Can use for char substitution tricks.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| 0xNN on white || Type desired utf8 char (in Symbol column) in all.lang. Generation goes directly to TDM codepoint given.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xNN, amber hilite || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint via codepoint shown.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;color:#606060;&amp;quot; | 0xNN in gray || Type desired utf8 char in all.lang. Generation + mapping (in &amp;lt;language&amp;gt;.map file) goes to TDM codepoint OF SUBSTITUTE CHARACTER via codepoint shown.					&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;color:#ff0000;&amp;quot; | 0xNN in red || Character not part of this ISO. &amp;quot;0xnn&amp;quot; shown is not ISO, but for trick mapping (in &amp;lt;language.map), to support main menu&#039;s multilingual &amp;quot;Languages&amp;quot; page.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;&amp;quot; | Substitute Char || Character not part of this ISO. But as trick, you can stuff in this substitute char at the needed TDM codepoint.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;&amp;quot; | n/a || Not available to use substitute character, due to trick mapping (in &amp;lt;language&amp;gt;.map) elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Empty Cell || In ISO column, means character not part of this ISO (so may be candidate for future trick mapping; or simply not fully analyzed viz substitute char.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#ffe4b5;&amp;quot; | Tan Row || Orphaned character in TDM set, not part of 5 ISO-8859 standards for current TDM-supported languages.	&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || 0xC6 || || || 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || 0xE6 || || || 0xE5 || latin small letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xC8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xE8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || 0xCF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || 0xEF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || 0xF0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xCA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xEA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || 0xCC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || 0xEC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || 0xD1 || || || 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || 0xF1 || || || 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || 0xF2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || 0xA6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || 0xB6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || 0xAA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || 0xBA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || 0xD9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || 0xF9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || 0xDB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || 0xFB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || 0xAC || || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || 0xBC || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || 0xAF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || 0xBF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || || || double acute accent ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34535</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34535"/>
		<updated>2026-06-18T19:38:55Z</updated>

		<summary type="html">&lt;p&gt;Geep: Add spreadsheet, fix columns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding language-specific file, e.g., french.lang, german.lang, etc. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Russian, these files use a specific 8-bit encoding within the ISO-8859 family. (The i18n – Char page has specifics here.) This specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[WORK IN PROGRESS][COLOR CODING NOT RIGHT YET]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; line-height: 1.3em;&amp;quot;&lt;br /&gt;
|+ Unicode Coverage for TDM&lt;br /&gt;
! Unicode !! Symbol !! TDM !! 1 !! 2 !! 9 !! 15 !! 16 !! Unicode Name !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A0 || &amp;amp;nbsp; || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || 0xA0 || no-break space || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A1 || ¡ || || 0xA1 || || 0xA1 || 0xA1 || || inverted exclamation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A2 || ¢ || || 0xA2 || || 0xA2 || 0xA2 || || cent sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A3 || £ || || 0xA3 || || 0xA3 || 0xA3 || || pound sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A4 || ¤ || || 0xA4 || 0xA4 || 0xA4 || || || currency sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A5 || ¥ || || 0xA5 || || 0xA5 || 0xA5 || || yen sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A6 || ¦ || || 0xA6 || || 0xA6 || || || broken bar || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00A7 || § || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || 0xA7 || section sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A8 || ¨ || || 0xA8 || 0xA8 || 0xA8 || || || diaeresis || See also hack use for ñ&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00A9 || © || || 0xA9 || || 0xA9 || 0xA9 || 0xA9 || copyright sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AA || ª || || 0xAA || || 0xAA || 0xAA || || feminine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AB || « || || 0xAB || || 0xAB || 0xAB || 0xAB || left-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AC || ¬ || || 0xAC || || 0xAC || 0xAC || || not sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00AD ||  || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || 0xAD || soft hyphen || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AE || ® || || 0xAE || || 0xAE || 0xAE || || registered sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00AF || ¯ || || 0xAF || || 0xAF || 0xAF || || macron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B0 || ° || || 0xB0 || 0xB0 || 0xB0 || 0xB0 || 0xB0 || degree sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B1 || ± || || 0xB1 || || 0xB1 || 0xB1 || 0xB1 || plus-minus sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B2 || ² || || 0xB2 || || 0xB2 || 0xB2 || || superscript two || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B3 || ³ || || 0xB3 || || 0xB3 || 0xB3 || || superscript three || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B4 || ´ || || 0xB4 || 0xB4 || 0xB4 || || || acute accent || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B5 || µ || || 0xB5 || || 0xB5 || 0xB5 || || micro sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B6 || ¶ || || 0xB6 || || 0xB6 || 0xB6 || 0xB6 || pilcrow sign || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B7 || · || || 0xB7 || || 0xB7 || 0xB7 || 0xB7 || middle dot || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B8 || ¸ || || 0xB8 || 0xB8 || 0xB8 || || || cedilla || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00B9 || ¹ || || 0xB9 || || 0xB9 || 0xB9 || || superscript one || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BA || º || || 0xBA || || 0xBA || 0xBA || || masculine ordinal indicator || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BB || » || || 0xBB || || 0xBB || 0xBB || 0xBB || right-pointing double angle quotation mark || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BC || ¼ || || 0xBC || || 0xBC || || || vulgar fraction one quarter || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BD || ½ || || 0xBD || || 0xBD || || || vulgar fraction one half || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00BE || ¾ || || 0xBE || || 0xBE || || || vulgar fraction three quarters || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00BF || ¿ || 0xBF || 0xBF || || 0xBF || 0xBF || || inverted question mark || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C0 || À || 0xC0 || 0xC0 || || 0xC0 || 0xC0 || 0xC0 || latin capital letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C1 || Á || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || 0xC1 || latin capital letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C2 || Â || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || 0xC2 || latin capital letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C3 || Ã || 0xC3 || 0xC3 || || 0xC3 || 0xC3 || || latin capital letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C4 || Ä || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || 0xC4 || latin capital letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C5 || Å || 0xC5 || 0xC5 || || 0xC5 || 0xC5 || || latin capital letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C6 || Æ || 0xC6 || 0xC6 || || 0xC6 || 0xC6 || 0xC6 || latin capital letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C7 || Ç || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || 0xC7 || latin capital letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C8 || È || 0xC8 || 0xC8 || || 0xC8 || 0xC8 || 0xC8 || latin capital letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00C9 || É || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || 0xC9 || latin capital letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CA || Ê || 0xCA || 0xCA || || 0xCA || 0xCA || 0xCA || latin capital letter e with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CB || Ë || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || 0xCB || latin capital letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CC || Ì || 0xCC || 0xCC || || 0xCC || 0xCC || 0xCC || latin capital letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CD || Í || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || 0xCD || latin capital letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CE || Î || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || 0xCE || latin capital letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00CF || Ï || 0xCF || 0xCF || || 0xCF || 0xCF || 0xCF || latin capital letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D0 || Ð || 0xD0 || 0xD0 || || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || 0xD0 || || latin capital letter eth || Same glyph as U+0110 latin capital letter d with stroke&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D1 || Ñ || 0xD1 || 0xD1 || || 0xD1 || 0xD1 || || latin capital letter n with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D2 || Ò || 0xD2 || 0xD2 || || 0xD2 || 0xD2 || 0xD2 || latin capital letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D3 || Ó || 0xD3 || 0xD3 || 0xC1 || 0xD3 || 0xD3 || 0xD3 || latin capital letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D4 || Ô || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || 0xD4 || latin capital letter o with circumflex || Formerly also mapped from 0x88; redundant, Ğ has 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D5 || Õ || 0xD5 || 0xD5 || || 0xD5 || 0xD5 || || latin capital letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D6 || Ö || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || 0xD6 || latin capital letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00D7 || × || || 0xD7 || 0xD7 || 0xD7 || 0xD7 || || multiplication sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D8 || Ø || 0xD8 || 0xD8 || || 0xD8 || 0xD8 || || latin capital letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00D9 || Ù || 0xD9 || 0xD9 || || 0xD9 || 0xD9 || 0xD9 || latin capital letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DA || Ú || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || 0xDA || latin capital letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DB || Û || 0xDB || 0xDB || || 0xDB || 0xDB || 0xDB || latin capital letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DC || Ü || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || 0xDC || latin capital letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DD || Ý || 0xDD || 0xDD || 0xDD || || 0xDD || || latin capital letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DE || Þ || 0xDE || 0xDE || || || 0xDE || || latin capital letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00DF || ß || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || 0xDF || latin small letter sharp s || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E0 || à || 0xE0 || 0xE0 || || 0xE0 || 0xE0 || 0xE0 || latin small letter a with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E1 || á || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || 0xE1 || latin small letter a with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E2 || â || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || 0xE2 || latin small letter a with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E3 || ã || 0xE3 || 0xE3 || || 0xE3 || 0xE3 || || latin small letter a with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E4 || ä || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || 0xE4 || latin small letter a with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E5 || å || 0xE5 || 0xE5 || || 0xE5 || 0xE5 || || latin small letter a with ring above || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E6 || æ || 0xE6 || 0xE6 || || 0xE6 || 0xE6 || 0xE6 || latin small letter ae || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E7 || ç || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || 0xE7 || latin small letter c with cedilla || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E8 || è || 0xE8 || 0xE8 || || 0xE8 || 0xE8 || 0xE8 || latin small letter e with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00E9 || é || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || 0xE9 || latin small letter e with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EA || ê || 0xEA || 0xEA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || 0xEA || 0xEA || 0xEA || latin small letter e with circumflex || Hack for iso 2: Put ´ (acute accent, 0xBD) to get ê for &amp;quot;Português&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EB || ë || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || 0xEB || latin small letter e with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EC || ì || 0xEC || 0xEC || || 0xEC || 0xEC || 0xEC || latin small letter i with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00ED || í || 0xED || 0xED || 0xED || 0xED || 0xED || 0xED || latin small letter i with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EE || î || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || 0xEE || latin small letter i with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00EF || ï || 0xEF || 0xEF || || 0xEF || 0xEF || 0xEF || latin small letter i with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F0 || ð || 0xF0 || 0xF0 || || || 0xF0 || || latin small letter eth || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F1 || ñ || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA8 || 0xF1 || 0xF1 || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB6 || latin small letter n with tilde || Hacks to get ñ for &amp;quot;Español&amp;quot;: for iso 2, put ¨ (diaeresis 0xA8); for iso 16, put ¶ (0xB6) &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F2 || ò || 0xF2 || 0xF2 || || 0xF2 || 0xF2 || 0xF2 || latin small letter o with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F3 || ó || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || 0xF3 || latin small letter o with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F4 || ô || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || 0xF4 || latin small letter o with circumflex || Formerly also mapped from 0x88; redundant, ğ has TDM 0x88 codepoint now&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F5 || õ || 0xF5 || 0xF5 || || 0xF5 || 0xF5 || || latin small letter o with tilde || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F6 || ö || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || 0xF6 || latin small letter o with diaeresis || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+00F7 || ÷ || || 0xF7 || 0xF7 || 0xF7 || 0xF7 || || division sign || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F8 || ø || 0xF8 || 0xF8 || || 0xF8 || 0xF8 || || latin small letter o with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00F9 || ù || 0xF9 || 0xF9 || || 0xF9 || 0xF9 || 0xF9 || latin small letter u with grave || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FA || ú || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || 0xFA || latin small letter u with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FB || û || 0xFB || 0xFB || || 0xFB || 0xFB || 0xFB || latin small letter u with circumflex || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FC || ü || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || 0xFC || latin small letter u with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FD || ý || 0xFD || 0xFD || 0xFD || || 0xFD || || latin small letter y with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FE || þ || 0xFE || 0xFE || || || 0xFE || || latin small letter thorn || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+00FF || ÿ || 0xFF || 0xFF || || 0xFF || 0xFF || 0xFF || latin small letter y with diaeresis || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0102 || Ă || 0x8B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xC3 || latin capital letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0103 || ă || 0x9B || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xE3 || latin small letter a with breve || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0104 || Ą || 0xAA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ª || 0xA1 || latin capital letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0105 || ą || 0xBA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | º || 0xA2 || latin small letter a with ogonek || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0106 || Ć || 0x82 || || 0xC6 || || || 0xC5 || latin capital letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0107 || ć || 0x92 || || 0xE6 || || || 0xE5 || latin small letter c with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0108 || Ĉ || 0x86 || || || || || || latin capital c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xC6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0109 || ĉ || 0x96 || || || || || || latin small c with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xE6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010C || Č || 0xAC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xC8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¬ || 0xB2 || latin capital letter c with caron || Substitute char &amp;quot;not sign&amp;quot; at 0xAC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010D || č || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xE8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ® || 0xB9 || latin small letter c with caron || Substitute char &amp;quot;registration sign&amp;quot; at 0xAE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010E || Ď || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || 0xCF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ³ || || latin capital letter d with caron || Substitute char &amp;quot;superscript three&amp;quot; at 0xB3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+010F || ď || 0xB7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || 0xEF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | · || || latin small letter d with caron || Substitute char &amp;quot;middle dot&amp;quot; at 0xB7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0110 || Đ || 0xD0 || 0xD0 || 0xD0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xD0 || latin capital letter d with stroke || Same glyph as U+00D0 latin capital letter eth&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0111 || đ || 0x90 || || 0xF0 || style=&amp;quot;color:#ff0000; font-weight:bold;&amp;quot; | n/a || || 0xF0 || latin small letter d with stroke || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0118 || Ę || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xCA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | « || 0xDD || latin capital letter e with ogonek || Substitute char &amp;quot;left-pointing double angle quotation mark&amp;quot; at 0xAB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0119 || ę || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xEA || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | » || 0xFD || latin small letter e with ogonek || Substitute char &amp;quot;right-pointing double angle quotation mark&amp;quot; at 0xBB&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011A || Ě || 0xA5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || 0xCC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¥ || || latin capital letter e with caron || Substitute char &amp;quot;yen sign&amp;quot; at 0xA5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011B || ě || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || 0xEC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | £ || || latin small letter e with caron || Substitute char &amp;quot;pound sign&amp;quot; at 0xA3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011E || Ğ || 0x88 || || || 0xD0 || || || latin capital letter g with breve || As of TDM 2.13&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+011F || ğ || 0x98 || || || 0xF0 || || || latin small letter g with breve || As of TDM 2.13&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0130 || İ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDD || || || latin capital letter i with dot above || Turkish: utf8 &amp;quot;İ&amp;quot; will be mapped to &amp;quot;Î&amp;quot; (0xCE)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0131 || ı || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFD || || || latin small letter dotless i || Turkish: utf8 &amp;quot;ı&amp;quot; will be mapped to ASCII &amp;quot;i&amp;quot; (0x69)&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+0139 || Ĺ || || || 0xC5 || || || || latin capital letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013A || ĺ || || || 0xE5 || || || || latin small letter l with acute || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013D || Ľ || || || 0xA5 || || || || latin capital letter l with caron || &lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+013E || ľ || || || 0xB5 || || || || latin small letter l with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0141 || Ł || 0xB1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ± || 0xA3 || latin capital letter l with stroke || Substitute char &amp;quot;plus-minus sign&amp;quot; at 0xB1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0142 || ł || 0xB5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | µ || 0xB3 || latin small letter l with stroke || Substitute char &amp;quot;micro sign&amp;quot; at 0xB5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0143 || Ń || 0x8C || || 0xD1 || || || 0xD1 || latin capital letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0144 || ń || 0x9C || || 0xF1 || || || 0xF1 || latin small letter n with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0147 || Ň || 0x80 || || 0xD2 || || || || latin capital letter n with caron || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0148 || ň || 0xA1 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || 0xF2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¡ || || latin small letter n with caron || Substitute char &amp;quot;inverted exclamation mark&amp;quot; at 0xA1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0150 || Ő || 0xB0 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ° || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD5 || latin capital letter o with double acute || Similiar to Ö, used in Hungarian. Substitute char &amp;quot;degree sign&amp;quot; at 0xB0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0151 || ő || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¹ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF5 || latin small letter o with double acute || Similiar to ö, used in Hungarian. Substitute char &amp;quot;superscript 1&amp;quot; at 0xB9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0152 || Œ || 0xBC || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¼ || 0xBC || 0xBC || latin capital ligature oe || Substitute char &amp;quot;vulgar fraction one quarter&amp;quot; at 0xBC&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0153 || œ || 0xBD || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ½ || 0xBD || 0xBD || latin small ligature oe || Substitute char &amp;quot;vulgar fraction one half&amp;quot; at 0xBD&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0154 || Ŕ || 0x89 || || 0xC0 || || || || latin capital letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0155 || ŕ || 0x99 || || 0xE0 || || || || latin small letter r with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0158 || Ř || 0xD7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | × || || latin capital letter r with caron || Substitute char &amp;quot;multiple sign&amp;quot; at 0xD7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0159 || ř || 0xF7 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ÷ || || latin small letter r with caron || Substitute char &amp;quot;divide sign&amp;quot; at 0xF7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015A || Ś || 0x81 || || 0xA6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD7 || latin capital letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015B || ś || 0x91 || || 0xB6 || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF7 || latin small letter s with acute || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015C || Ŝ || 0x85 || || || || || || latin capital letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xDE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015D || ŝ || 0x95 || || || || || || latin small letter s with circumflex || Only in ISO-8859-3 (for Esperanto) at 0xFE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015E || Ş || 0x8D || || 0xAA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || latin capital letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+015F || ş || 0x9D || || 0xBA || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || latin small letter s with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0160 || Š || 0xA6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¦ || 0xA6 || 0xA6 || latin capital letter s with caron || Substitute char &amp;quot;broken bar&amp;quot; at 0xA6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0161 || š || 0xA8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xB9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¨ || 0xA8 || 0xA8 || latin small letter s with caron || Substitute char &amp;quot;diaeresis&amp;quot; at 0xA8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0162 || Ţ || 0x8E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || || || || latin capital letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0163 || ţ || 0x9E || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || || || || latin small letter t with cedilla || Can stand in for &amp;quot;...comma under&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0164 || Ť || 0xB2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || 0xAB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ² || || latin capital letter t with caron || Substitute char &amp;quot;superscript two&amp;quot; at 0xB2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0165 || ť || 0xB6 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || 0xBB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¶ || || latin small letter t with caron || Substitute char &amp;quot;pilcrow sign&amp;quot; at 0xB6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016E || Ů || 0xA9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || 0xD9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | © || || latin capital letter u with ring above || Substitute char &amp;quot;copyright sign&amp;quot; at 0xA9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+016F || ů || 0xAF || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || 0xF9 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¯ || || latin small letter u with ring above || Substitute char &amp;quot;macron&amp;quot; at 0xAF&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0170 || Ű || 0xA2 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || 0xDB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¢ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xD8 || latin capital letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;cent sign&amp;quot; at 0xA2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0171 || ű || 0xA4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || 0xFB || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¤ || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xF8 || latin small letter u with double acute || Similiar to Ü, used in Hungarian. Substitute char &amp;quot;currency sign&amp;quot; at 0xA4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0178 || Ÿ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¾ || 0xBE || 0xBE || latin capital letter y with diaeresis || Substitute char &amp;quot;vulgar fraction three quarters&amp;quot; at 0xBE&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0179 || Ź || 0x84 || || 0xAC || || || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | 0xAC || latin capital letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017A || ź || 0x94 || || 0xBC || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAE || latin small letter z with acute ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017B || Ż || 0x83 || || 0xAF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAF || latin capital letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017C || ż || 0x93 || || 0xBF || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBF || latin small letter z with dot above ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017D || Ž || 0xB4 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xAE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ´ || 0xB4 || 0xB4 || latin capital letter z with caron || Substitute char &amp;quot;accute accent&amp;quot; at 0xB4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+017E || ž || 0xB8 || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xBE || style=&amp;quot;color:#7a7a7a; font-style:italic;&amp;quot; | ¸ || 0xB8 || 0xB8 || latin small letter z with caron || Substitute char &amp;quot;cedilla&amp;quot; at 0xB8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D3 || Ǔ || 0x8A || || || || || || latin capital u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+01D4 || ǔ || 0x9A || || || || || || latin small u with caron || Not found in ISO-8859. Pinyin tone marking&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0218 || Ș || 0x8D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xAA || latin capital letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+0219 || ș || 0x9D || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBA || latin small letter s with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021A || Ț || 0x8E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xDE || latin capital letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+021B || ț || 0x9E || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFE || latin small letter t with comma below || See also &amp;quot;...with cedilla&amp;quot;&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02C7 || ˇ || || || || 0xB7 || || || caron ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D8 || ˘ || || || || 0xA2 || || || breve ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02D9 || ˙ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xFF || || || dot above ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DB || ˛ || || || || 0xB2 || || || ogonek ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+02DD || ˝ || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xBD || || || double acute accent ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E90 || Ẑ || 0x87 || || || || || || latin capital z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| U+1E91 || ẑ || 0x97 || || || || || || latin small z with circumflex || Not found in ISO-8859. Rare use in Cyrillic-to-Latin transliteration, or Pinyin&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201D || ” || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xB5 || right double quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+201E || „ || || || || || || style=&amp;quot;background:#ffe4b5;&amp;quot; | 0xA5 || double low-9 quotation mark ||&lt;br /&gt;
|- style=&amp;quot;color:#8c8c8c;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| U+20AC || € || || || || || 0xA4 || 0xA4 || euro sign ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34534</id>
		<title>Multilanguage Display</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Multilanguage_Display&amp;diff=34534"/>
		<updated>2026-06-18T19:18:13Z</updated>

		<summary type="html">&lt;p&gt;Geep: create article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Title: Multilanguage Display&lt;br /&gt;
[PAGE IN PROGRESS]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&#039;&#039;This describes a particular challenging use case of a TDM methodology that has been around for some time. The motivation was a 2026 update by Geep to the language map files, following a revision of Carleton 24pt font used throughout the Main Menu.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In TDM main menu, the Settings/Video/Language page attempts to list all the supported languages in their native form with respect to character set, that is, untranslated. Showing multiple language strings together is difficult, but some tricks are available. The result has been a reasonable near-term workaround for this particular page, applicable to comparable cases. (Comprehensive support for multilanguage display likely involves a major restructuring, for instance, moving to a native Unicode architecture with combined Latin and Cyrillic bitmaps.)&lt;br /&gt;
&lt;br /&gt;
Recall that strings for the main menu are found in the utf8 file tdm_base01.pk4/strings/all.lang, where there is are sections for [English], [German], etc. A particular section is used to generate for distribution the corresponding language-specific file, e.g., french.lang, german.lang, etc. When you play TDM, and select a given language, the corresponding .lang file (if needed) is read.&lt;br /&gt;
&lt;br /&gt;
Except for Russian, these files use a specific 8-bit encoding within the ISO-8859 family. (The i18n – Char page has specifics here.) This specific encoding is a bottleneck... by design, not all characters in any one member of the ISO-8859 family will be accessible by some other members.&lt;br /&gt;
&lt;br /&gt;
== Language Names in Idealized UTF8 Form ==&lt;br /&gt;
Only the TDM-exposed languages are shown here. The all.lang file has additional strings for other potential Latin and Cyrillic languages. For reference, the generated encoding for the &amp;lt;language&amp;gt;.lang file is shown in the comment.&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Español&amp;quot;		// Spanish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Français&amp;quot;		// French	[ISO-8859-15]&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Português&amp;quot;		// Portuguese	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Česky&amp;quot;			// Czech	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian	[WIN-1251]&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Català&amp;quot;		// Catalan	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian	[ISO-8859-2]&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish	[ISO-8859-1]&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Türkçe&amp;quot;		// Turkish	[ISO-8859-9]&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Română&amp;quot;		// Romanian	[ISO-8859-16]&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovenčina&amp;quot;		// Slovak	[ISO-8859-2]&lt;br /&gt;
&lt;br /&gt;
== First Compromise – Cyrillic vs. Latin Font ==&lt;br /&gt;
While there is some overlap in characters between Cyrillic and Latin encodings, it is insufficient for our purposes. So, for [English] and other European sections, a Latin transliteration from Cyrillic is used:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Russkiy&amp;quot;		// Russian&lt;br /&gt;
&lt;br /&gt;
Going the other way, for [Russian], the current treatment is not to do a Cyrillic transliteration from Latin, but instead to drop accents, rendering just in ASCII (except of course “Russian”), e.g.:&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02460&amp;quot;	&amp;quot;English&amp;quot;		// English&lt;br /&gt;
 	&amp;quot;#str_02461&amp;quot;	&amp;quot;Deutsch&amp;quot;		// German&lt;br /&gt;
 	&amp;quot;#str_02462&amp;quot;	&amp;quot;Espanol&amp;quot;		// Spanish&lt;br /&gt;
 	&amp;quot;#str_02463&amp;quot;	&amp;quot;Francais&amp;quot;		// French&lt;br /&gt;
 	&amp;quot;#str_02464&amp;quot;	&amp;quot;Portugues&amp;quot;		// Portuguese&lt;br /&gt;
 	&amp;quot;#str_02465&amp;quot;	&amp;quot;Polski&amp;quot;			// Polish&lt;br /&gt;
 	&amp;quot;#str_02466&amp;quot;	&amp;quot;Italiano&amp;quot;		// Italian&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;Cesky&amp;quot;			// Czech&lt;br /&gt;
 	&amp;quot;#str_02468&amp;quot;	&amp;quot;Русский&amp;quot;		// Russian&lt;br /&gt;
 	&amp;quot;#str_02469&amp;quot;	&amp;quot;Catala&amp;quot;		// Catalan&lt;br /&gt;
 	&amp;quot;#str_02470&amp;quot;	&amp;quot;Dansk&amp;quot;			// Danish&lt;br /&gt;
 	&amp;quot;#str_02472&amp;quot;	&amp;quot;Nederlands&amp;quot;		// Dutch&lt;br /&gt;
 	&amp;quot;#str_02474&amp;quot;	&amp;quot;Magyar&amp;quot;		// Hungarian&lt;br /&gt;
 	&amp;quot;#str_02476&amp;quot;	&amp;quot;Svenska&amp;quot;		// Swedish&lt;br /&gt;
 	&amp;quot;#str_02477&amp;quot;	&amp;quot;Turkce&amp;quot;		// Turkish&lt;br /&gt;
 	&amp;quot;#str_02479&amp;quot;	&amp;quot;Romana&amp;quot;		// Romanian&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Slovencina&amp;quot;		// Slovak&lt;br /&gt;
&lt;br /&gt;
== Moving between ISO-8859 Members ==&lt;br /&gt;
In the discussion here, let “L1” be the current language (from the player’s perspective) or the [language] section of interest in all.lang (from the translator’s perspective). Let “L2” be the language of the foreign word, i.e., L1 and L2 differ.&lt;br /&gt;
&lt;br /&gt;
=== Type and Go ===&lt;br /&gt;
In several cases, the translator merely puts the ideal character in the all.lang strings. After &amp;lt;language&amp;gt;.lang generation, everything works. Cases are:&lt;br /&gt;
&lt;br /&gt;
# L1 and L2 are both use the same ISO-8859 encoding. (Specifically, they are either both ISO-8859-1, which doesn’t need &amp;lt;language&amp;gt;.map files, or both ISO-8859-2, and have &amp;lt;language&amp;gt;.map files with, by convention, identical contents.) NOTE: For TDM’s purposes, ISO-8859-15 (French) can be considered part of the ISO-8859-1 family.&lt;br /&gt;
# L2 character is ASCII (i.e., in ISO range 0x00-0x7f). This is always the case if L2 = English. Characters in this range have identical codepoints in all five TDM-supported ISO-8859 and in the TDM target encoding.&lt;br /&gt;
# L2 character is in the ISO range 0xA0-0xFF, with additional constraints.&lt;br /&gt;
&lt;br /&gt;
For the last case, the L2 character must be either:&lt;br /&gt;
* present at the same codepoint in all five TDM-supported ISO-8859 encodings, and in the TDM target encoding. For our Latin language names, these accented characters are like that:&lt;br /&gt;
 		ç in &amp;quot;Français&amp;quot; and &amp;quot;Türkçe&amp;quot; at 0xE7&lt;br /&gt;
 		à in &amp;quot;Català&amp;quot; at 0xEA&lt;br /&gt;
 		â in &amp;quot;Română&amp;quot; at 0xE2&lt;br /&gt;
 		ü in &amp;quot;Türkçe&amp;quot; at 0xFC&lt;br /&gt;
* present at the same codepoint in ISO-8859 encodings for L1 and L2, and in the TDM target encoding.&lt;br /&gt;
* present in different codepoints in ISO-8859 encodings for L1 and L2, but with each being either the same as the TDM target encoding, or mapped to the TDM target encoding by the &amp;lt;language&amp;gt;.map file.&lt;br /&gt;
&lt;br /&gt;
=== Tricks ===&lt;br /&gt;
If the L2 character is not represented in the ISO encoding for L1, then at &amp;lt;L1&amp;gt;.lang generation time, it will be replaced by a “?”. To work around this, the translator has two methods:&lt;br /&gt;
&lt;br /&gt;
====Trick Method 1 – Direct Stuffing====&lt;br /&gt;
When L1 encoding is ISO-8859-1 (or -9 or -15, which all have identical encodings for the 0xA0-BF ranges) and L2 character is in TDM’s 0xA0-0xBF range (or D7, F7), then you can lookup the ISO character associated with that codepoint (shown in parentheses in cells of the i18n- charmap table), and type it. Examples:&lt;br /&gt;
&lt;br /&gt;
 [English] // and other ISO-8859-1, -9, or -15&lt;br /&gt;
 	&amp;quot;#str_02467&amp;quot;	&amp;quot;¬esky&amp;quot;		// our default mapping is ISO 8859-1, so ¬ is shown as Č (¬)&lt;br /&gt;
 	&amp;quot;#str_02480&amp;quot;	&amp;quot;Sloven®ina&amp;quot;		// Slovak (® in ISO-8859-1 is č in our font)&lt;br /&gt;
&lt;br /&gt;
Here’s another example of that last stuffing from a TDM-unexposed language, showing also a diaresis (0xA8):&lt;br /&gt;
&lt;br /&gt;
 	&amp;quot;#str_02481&amp;quot;	&amp;quot;Sloven¨®ina&amp;quot;		// Slovenian (southern slovenia) (¨ =&amp;gt; š)&lt;br /&gt;
&lt;br /&gt;
In this case, ISO-8859-1 would need to use the diaresis, but ISO-8859-15 (French) would not, i.e., could type and go with š.&lt;br /&gt;
The spreadsheet shows all available substitutions in light blue.&lt;br /&gt;
&lt;br /&gt;
====Trick Method 2 – Special Mapping with Repurposed Character====&lt;br /&gt;
If all else fails, a little-used character in L1 can be redirected to the L2 codepoint TDM wants, by an extra mapping command in the &amp;lt;L1&amp;gt;.map file. Current such tricks are...&lt;br /&gt;
&lt;br /&gt;
To get ñ for &amp;quot;Español&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* for iso 2, put ¨ (diaeresis 0xA8)&lt;br /&gt;
* for iso 16, put ¶ (pilcrow 0xB6)&lt;br /&gt;
&lt;br /&gt;
To get ê for &amp;quot;Português&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
*for iso 2: Put ´ (acute accent 0xBD)&lt;br /&gt;
&lt;br /&gt;
== Details of TDM and ISO Char Sets and Potential Tricks and Limitations ==&lt;br /&gt;
[TO DO – Insert big table]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34520</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34520"/>
		<updated>2026-06-11T19:59:49Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Font Encoding for European Languages */ Note at top about 0x80-0x9f range&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character. In addition, printable characters in the range 0x80-0x9f, shown in light or dark green, are also TDM characters, replacing ISO-8859 control characters (not shown).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? ==&lt;br /&gt;
&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
&lt;br /&gt;
As for Asian languages, the original D3 had support for them, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34508</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34508"/>
		<updated>2026-05-31T21:35:16Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Character Remapping */ mention ISO-8859-2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping. The map files for the four ISO-8859-2 languages have identical content.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? ==&lt;br /&gt;
&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
&lt;br /&gt;
As for Asian languages, the original D3 had support for them, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34507</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34507"/>
		<updated>2026-05-31T20:54:10Z</updated>

		<summary type="html">&lt;p&gt;Geep: Rearrange sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== LANG File Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian. This encoding controls the ordering within a font&#039;s binary DAT file.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
== Font Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
=== Cyrillic Character Implementation ===&lt;br /&gt;
Within any given font, character coverage may be incomplete.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
== Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? ==&lt;br /&gt;
&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
&lt;br /&gt;
As for Asian languages, the original D3 had support for them, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34506</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34506"/>
		<updated>2026-05-31T20:29:59Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Character remapping */ Rewrite intro &amp;amp; future extensions, change heading nesting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character Remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the two special ones (respectively for Latin and Cyrillic) that TDM uses and that are described next.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found in &amp;quot;tdm_base01.pk4/strings&amp;quot; (and there is no &amp;quot;default.map&amp;quot; there, which is the case these days), then no remapping takes place. Generally, ISO-8859-1 languages do not require remapping.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
== Encoding for European Languages ==&lt;br /&gt;
&lt;br /&gt;
This TDM-specific 8-bit encoding applies to all TDM fonts for English/European languages, that is, everything except the Cyrillic-based Russian.&lt;br /&gt;
&lt;br /&gt;
Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Encoding for Russian Cyrillic ==&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
Within any given font, character coverage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
== Future Extensions to Unicode and/or Asian Languages (Korean, Chinese, Japanese)? ==&lt;br /&gt;
&lt;br /&gt;
It is possible to visualize a transition to a DAT format (and engine code) that supported UCS (16-bit) Unicode, allowing the existing fonts to then be expanded to cover more characters. Then perhaps all.lang would be the only .lang needed.&lt;br /&gt;
&lt;br /&gt;
As for Asian languages, the original D3 had support for them, so it might be possible to add them to TDM, too, but with a heavy burden on font development and translation. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34505</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34505"/>
		<updated>2026-05-31T19:42:25Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* All other language files */ Update/correct language list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Language-specific files (f.i. &#039;&#039;&#039;german.lang&#039;&#039;&#039;) provide string dictionaries. A system-wide set is provided in tdm_base01.pk4/strings/. A deployed FM may offer similar files in its /strings/ folder... at the very least &#039;&#039;&#039;english.lang&#039;&#039;&#039;. All such files are expected to be in the following 8-bit encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Hungarian, Slovak, Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16]&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-9 ISO-8859-9]&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers TDM-supported languages English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Character_mapping&amp;diff=34504</id>
		<title>I18N - Character mapping</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Character_mapping&amp;diff=34504"/>
		<updated>2026-05-31T18:08:57Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Encodings */ Update/correct language encodings, default file info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, a special font is used (Carleton for the menu f.i.). These fonts are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
Whether used to define translation dictionaries that are system-wide (in tdm_base01.pk4/strings/) or FM-specific (in &amp;lt;FM&amp;gt;/strings/), language files (f.i. german.lang), derived from Unicode all.lang, are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech, Polish, Hungarian, Slovak:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; ISO-8859-16&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; ISO-8859-15&lt;br /&gt;
* &#039;&#039;&#039;Turkish:&#039;&#039;&#039; ISO-8859-9&lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1]. This covers English, German, Italian, Spanish, Portuguese, Swedish, Danish, Dutch, and Catalan.&lt;br /&gt;
&lt;br /&gt;
=== Remapping ===&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable from their source encoding (e.g. ISO 8859-2) to the special character map TDM uses. Responsible for this are mapping files, f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead. (Note: a default map is no longer shipped, at least since TDM 2.10 and probably much earlier. Generally, ISO-8859-1 languages don&#039;t need remapping.)&lt;br /&gt;
&lt;br /&gt;
Remapping files are only looked for in the tdm_base01.pk4/strings directory. So they cannot be overwritten in any .map file placed in an FM&#039;s string directory.&lt;br /&gt;
&lt;br /&gt;
The content of a map file is wrapped in &#039;&#039;&#039;{&#039;&#039;&#039; and &#039;&#039;&#039;}&#039;&#039;&#039;, and each mapping consists of two hexadecimal numbers, the source and the target character number.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
For russian:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        0xFF    0xB6            // я&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For European languages in ISO 8859-2 charset (f.i. Czech):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// a comment&lt;br /&gt;
{&lt;br /&gt;
        0xF2    0xA1            // ň&lt;br /&gt;
        0xDB    0xA2            // Ű (similiar to Ü, used in Hungarian)&lt;br /&gt;
        0xFB    0xA4            // ű&lt;br /&gt;
        0xA9    0xA6            // Š&lt;br /&gt;
        0xB9    0xA8            // š&lt;br /&gt;
        0xA1    0xAA            // Ą&lt;br /&gt;
        0xC8    0xAC            // Č&lt;br /&gt;
        0xCA    0xAB            // Ę&lt;br /&gt;
        0xE8    0xAE            // č&lt;br /&gt;
        0xD5    0xB0            // Ő (similiar to Ö, used in Hungarian)&lt;br /&gt;
        0xA3    0xB1            // Ł&lt;br /&gt;
        0xAb    0xB2            // Ť&lt;br /&gt;
        0xCF    0xB3            // Ď&lt;br /&gt;
        0xAC    0xB4            // Ž&lt;br /&gt;
        0xB3    0xB5            // ł&lt;br /&gt;
        0xBf    0xB6            // ż&lt;br /&gt;
        0xEF    0xB7            // ď&lt;br /&gt;
        0xBE    0xB8            // ž&lt;br /&gt;
        0xF5    0xB9            // ő (similiar to ö, used in Hungarian)&lt;br /&gt;
        0xB1    0xBA            // ą&lt;br /&gt;
        0xEA    0xBB            // ę&lt;br /&gt;
        0xF8    0xF7            // ř&lt;br /&gt;
        0xD8    0xD7            // Ř&lt;br /&gt;
        0xEC    0xA3            // ě&lt;br /&gt;
        0xCC    0xA5            // Ě&lt;br /&gt;
        0xD9    0xA9            // Ů&lt;br /&gt;
        0xF9    0xAF            // ů&lt;br /&gt;
        0xBB    0xB6            // ť&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{i18n}}* [[Font Patcher]]&lt;br /&gt;
&lt;br /&gt;
[[Category:fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34503</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34503"/>
		<updated>2026-05-31T16:42:46Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Russian */ explain remapping, link to bug report&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Note that the language files (f.i. &#039;&#039;&#039;strings/german.lang&#039;&#039;&#039;) as well as the readables and the FM dictionariaries are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;Hungarian&#039;&#039;&#039;, &#039;&#039;&#039;Slovak&#039;&#039;&#039;, &#039;&#039;&#039;Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16] &lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1] (German, Dutch, Danish, Swedish, Portuguese, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6. (This was to overcome a historical Doom3 bug that is now fixed. But to date &amp;quot;the remapping for Russian is still in place, tho, to avoid having to patch all the russian fonts&amp;quot;, says bug report [https://bugs.thedarkmod.com/view.php?id=2812 &amp;quot;0002812: Character 0xFF does not work in fonts&amp;quot;]).&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Gen_Lang_Programs&amp;diff=34502</id>
		<title>Gen Lang Programs</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Gen_Lang_Programs&amp;diff=34502"/>
		<updated>2026-05-31T03:00:50Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Introduction to Gen_lang.pl (&amp;quot;PL&amp;quot;) and Gen_lang_plus (&amp;quot;PLUS&amp;quot;) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;By Geep, from February 2025&lt;br /&gt;
== Introduction to Gen_lang.pl (&amp;quot;PL&amp;quot;) and Gen_lang_plus (&amp;quot;PLUS&amp;quot;) ==&lt;br /&gt;
This describes two software implementations of command-line programs that essentially do the same thing;&lt;br /&gt;
# The Perl program &amp;quot;gen_lang.pl&amp;quot; (dubbed here PL), created by Tels in the 2010-14 timeframe. This is easily deployed under Linux that has Perl capabilities. Version 17 Is current.&lt;br /&gt;
# The C++ program &amp;quot;gen_lang_plus&amp;quot; (dubbed here PLUS), a re-implementation with minor improvements created by Geep in 2025. This is lightly Windows-specific at this time. (Please volunteer if you want to make it run under Linux.) For the current version, see &amp;quot;Downloads&amp;quot; at this article&#039;s end.&lt;br /&gt;
&lt;br /&gt;
The purpose of both is as follows.&lt;br /&gt;
* Read and write files in child folder &amp;quot;strings&amp;quot;. (Caution: &amp;quot;not strings/fm&amp;quot;, even if you specify the &amp;quot;fm&amp;quot; option.)&lt;br /&gt;
* Read an &amp;quot;all.lang&amp;quot; file, either that associated with the main-menu-system, or with a specific FM under development. This UTF-8 input file has translations of strings for all TDM-supported languages (currently 17). There are individual sections for each target language. Each string is of form&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;#str_&amp;lt;id&amp;gt;&amp;quot; &amp;quot;&amp;lt;string content&amp;gt;&amp;quot; // optional comment.&lt;br /&gt;
* Generate a set of individual &amp;quot;&amp;lt;language&amp;gt;.lang&amp;quot; files, with the appropriate translated strings. Each file is generated in a standard 8-bit encoding (e.g., defined by one of the iso-8859 standards) designated for the target language. If a translator did not provide a given string in the target language, the master English string is automatically substituted.&lt;br /&gt;
* Finally, as requested by command-line options, various analyses can be performed. For example, a set of &amp;quot;missing_&amp;lt;language&amp;gt;.txt&amp;quot; files can be generated, to suggest where translation efforts are still needed.&lt;br /&gt;
This article details both programs, with important differences noted. Running this functionality is intended to be done, infrequently, by the person overseeing translation improvements to all.lang.&lt;br /&gt;
&lt;br /&gt;
For more quick overviews of this process, see&lt;br /&gt;
* the wiki article [[Internationalization]]. This also covers the i18n.pl program, which is beyond the scope here.&lt;br /&gt;
* the preamble of the all.lang file, found in tdm_base01.pk4&#039;s \strings\.&lt;br /&gt;
&lt;br /&gt;
It is helpful to mention what these two programs do &#039;&#039;&#039;not&#039;&#039;&#039; take into account:&lt;br /&gt;
* the &amp;lt;language&amp;gt;.map file that reroutes European codepoints from a standardized encoding to the TDM-specific custom 8-bit encoding discussed in [[I18N_-_Charset]].&lt;br /&gt;
* what UTF8 characters are allowed by that TDM-specific coding (as opposed to the ISO-8859 encoding).&lt;br /&gt;
* the font and fontsize a specific string will use, and what limitations that entails, and what within-DAT glyph-substitutions may be in effect.&lt;br /&gt;
&lt;br /&gt;
== Runtime Environment for PLUS ==&lt;br /&gt;
To function in all aspects, PLUS requires Windows with certain UTF8 capabilities, introduced in later versions of Windows 10. Because the PLUS build is told explicitly to use UTF8, in theory what your &amp;quot;system locale&amp;quot; is set to should not matter. In particular, you are not required you set the system locale to the Windows 11 beta UTF8 codepage. (PLUS was developed on a dev box with the English (US) locale.)&lt;br /&gt;
&lt;br /&gt;
You may run it under the traditional Windows console. However, that will not display UTF8 characters correctly on screen, which is mainly an issue with the -charstats and -charpunts options. Instead, use Windows Terminal (or Powershell with UTF8 encoding). Or pipe the console output to a file (i.e., &amp;quot;&amp;gt; myfile.txt&amp;quot;), that can be viewed as UTF8 with Notepad and other text editors.&lt;br /&gt;
&lt;br /&gt;
== Overview of Command-Line Options ==&lt;br /&gt;
&lt;br /&gt;
===For both PL and PLUS===&lt;br /&gt;
 --csv		Generate CSV file&lt;br /&gt;
 --missing	Generate files with lists of missing strings for each language.&lt;br /&gt;
 --charstats	Generate statistics about foreign characters.&lt;br /&gt;
 --show-ranges	Show occupied string index ranges.&lt;br /&gt;
 --show-holes	Show holes in the string index ranges.&lt;br /&gt;
&lt;br /&gt;
With PLUS, one may use a single &amp;quot;-&amp;quot; before an option, instead of &amp;quot;--&amp;quot;, and/or leave off the &amp;quot;show-&amp;quot; prefix. (Regarding &amp;quot;charstats&amp;quot;, for consistency, since this option outputs to screen, PL should have used the &amp;quot;show-&amp;quot; prefix, but didn&#039;t. PLUS does, optionally.)&lt;br /&gt;
&lt;br /&gt;
===For PLUS Only===&lt;br /&gt;
 -old-preamble					Keep &amp;lt;language&amp;gt;.lang preamble just like that of gen_lang.pl. Don&#039;t include file generation date or PLUS version number.&lt;br /&gt;
 -charpunts &#039;&#039;or&#039;&#039; --show-charpunts			Reports lines in which &amp;quot;?&amp;quot; was substituted for any character.&lt;br /&gt;
 -charpunts-extra &#039;&#039;or&#039;&#039; --show-charpunts-extra	Like charpunt, but includes &amp;quot;// comment&amp;quot; characters.&lt;br /&gt;
 -fm						Program used for an fm, not main menu; affects what&#039;s considered a valid numeric #str_&amp;lt;id&amp;gt; range.&lt;br /&gt;
 -cvs-unsorted					Like -csv, but row order stays like that of all.lang [English].&lt;br /&gt;
&lt;br /&gt;
== Charpunts and Charpunts-Extra Options [PLUS Only] ==&lt;br /&gt;
During generation of a particular &amp;lt;language&amp;gt;.lang file, if a valid data line contains 1 or more characters that can&#039;t be rendered in the target encoding, then a 3-line report is issued to console. Specifically:&lt;br /&gt;
 -charpunts		Considers characters within the line&#039;s content (excluding comments).&lt;br /&gt;
 -charpunts-extra	Same as charpunts, but also considers characters within the line&#039;s &amp;quot;// comment&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When entering these options, you may use the &amp;quot;show-&amp;quot; prefix if you&#039;d like, with 1 or 2 leading dashes.&lt;br /&gt;
&lt;br /&gt;
By &amp;quot;// comment&amp;quot;, is meant the optional comment that starts with &amp;quot;//&amp;quot; at the end of a #str_&amp;lt;id&amp;gt; line (but still excluding any other comment forms; these latter won&#039;t be present in &amp;lt;language&amp;gt;.lang).&lt;br /&gt;
&lt;br /&gt;
Note – it is assumed that #str_&amp;lt;id&amp;gt; contains only 0-9, A-Z, a-z, or underline... so is not inspected by these options.&lt;br /&gt;
&lt;br /&gt;
An example report for [Hungarian] encoded as iso-8859-2:&lt;br /&gt;
&lt;br /&gt;
 Output line 177...&lt;br /&gt;
 from:   &amp;quot;#str_02208&amp;quot;    &amp;quot;Küldetési idõ&amp;quot;&lt;br /&gt;
   to:   &amp;quot;#str_02208&amp;quot;    &amp;quot;K�ldet�si id?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Important: in this example, only õ, the last character in the &amp;quot;from:&amp;quot; line, could not be encoded in iso-8859-2 and so is replaced by &amp;quot;?&amp;quot; in the &amp;quot;to:&amp;quot; line. The &amp;quot;to:&amp;quot; line characters indicated by � were successfully encoded, but now are not valid UTF8, so can no longer be shown as such. That is, the &amp;quot;to:&amp;quot; line has the identical string placed into the hungarian.lang file.&lt;br /&gt;
&lt;br /&gt;
Here is an -charpunts-extra example where only the comment has characters that don&#039;t encode, in this case into iso-8859-1 for [English]:&lt;br /&gt;
&lt;br /&gt;
 Output line 396...&lt;br /&gt;
 from:   &amp;quot;#str_02482&amp;quot;    &amp;quot;Srpski&amp;quot;// Serbian (Српски - same exception as Russian)&lt;br /&gt;
   to:   &amp;quot;#str_02482&amp;quot;    &amp;quot;Srpski&amp;quot;// Serbian (?????? - same exception as Russian)&lt;br /&gt;
&lt;br /&gt;
TIP: If the results of this option is too voluminous, recall that output from a console app can be directed into a file using &amp;quot;... &amp;gt; filename.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These reports give the output line number within &amp;lt;language&amp;gt;.lang, rather than the input line in all.lang, because of difficulties getting the latter value to be correct in the face of, for instance, multiline comments. (Any line numbers that PL reports are usually off.)&lt;br /&gt;
&lt;br /&gt;
== Old Preamble Option [PLUS Only] ==&lt;br /&gt;
Each &amp;lt;language&amp;gt;.lang file gets a standard preamble. For PL, the first line looks like this example:&lt;br /&gt;
 // String table - english (iso-8859-1)&lt;br /&gt;
&lt;br /&gt;
For PLUS, the first line by default also has UTC time and program version, like this example:&lt;br /&gt;
 // String table - english (iso-8859-1) - created on 2025-02-15T04:00:21Z  with gen_lang_plus v. 1.0&lt;br /&gt;
&lt;br /&gt;
But you can ask PLUS to use PL&#039;s format, with the &amp;quot;-old-preamble&amp;quot; option. Why? To simplify comparing a particular &amp;lt;language&amp;gt;.lang file generated with both programs.&lt;br /&gt;
Since this is more a debugging option, it&#039;s not listed in the help, just here.&lt;br /&gt;
&lt;br /&gt;
== Missing Option ==&lt;br /&gt;
This option alerts translators to untranslated strings. For each language (other than English, the master) it generates a file named &amp;quot;missing_&amp;lt;language&amp;gt;.txt, with lists of missing UTF8 strings. Each line has the quoted #str_&amp;lt;id&amp;gt; and quoted content, but not comments.&lt;br /&gt;
&lt;br /&gt;
===What&#039;s Considered &amp;quot;Missing&amp;quot;?===&lt;br /&gt;
This categorization was established in PL and now mimicked in PLUS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If for a given master [English] #str_&amp;lt;id&amp;gt;, there&#039;s no matching #str_&amp;lt;id&amp;gt; in the target language.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It&#039;s &amp;quot;missing&amp;quot;, unless there&#039;s a (hard-coded) exception:&lt;br /&gt;
&lt;br /&gt;
* The master string&#039;s content is in the &amp;quot;master_non_translatable&amp;quot; group, namely:&lt;br /&gt;
** An empty or whitespaces-only string.&lt;br /&gt;
** &amp;quot;TDM&amp;quot; or &amp;quot;The Dark Mod&amp;quot;.&lt;br /&gt;
** A prefix designating a function key (&amp;quot;F&amp;quot;) or port (&amp;quot;AUX&amp;quot; or &amp;quot;JOY&amp;quot;) followed by 1 or 2 digits.&lt;br /&gt;
** A special numeric format like &amp;quot;320x400;640x480&amp;quot; or &amp;quot;123;345&amp;quot; or &amp;quot;1x;2x&amp;quot;.&lt;br /&gt;
* The master string&#039;s content is a font selector, i.e., beginning with &amp;quot;fonts/&amp;quot;.&lt;br /&gt;
* The #str_&amp;lt;id&amp;gt; has a numeric &amp;lt;id&amp;gt; within a &amp;quot;master_id_non_translatable&amp;quot; range. Just one range, 02460 – 02490, is so reserved, for language names.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the #str_&amp;lt;id&amp;gt; in English and the target language have identical content (not counting comments)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It&#039;s &amp;quot;missing&amp;quot;, unless there&#039;s an exception:&lt;br /&gt;
&lt;br /&gt;
* The target line has a &amp;quot;//&amp;quot; comment indicating &amp;quot;stays the same&amp;quot;&lt;br /&gt;
* The &amp;quot;master_non_translatable&amp;quot;, font selector, or &amp;quot;master_id_non_translatable&amp;quot; exclusions apply.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Otherwise, it&#039;s not missing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
That covers this additional case, where for the matching #str_&amp;lt;id&amp;gt; in English and the target language, there&#039;s different content (ignoring comments). Surprisingly, this is considered &amp;quot;not missing&amp;quot; even when the English content exists and the target language content is an empty string.&lt;br /&gt;
&lt;br /&gt;
Rarely, the master content can be empty, but the translated string may or may not be. An example is #str_02313, representing an optional second line needed for some languages.&lt;br /&gt;
&lt;br /&gt;
== CSV Options ==&lt;br /&gt;
These options read the contents of all.lang and rearrange them for export as a comma-separated-values &amp;quot;tdm_all_lang.csv&amp;quot; UTF8 file in the &amp;quot;strings&amp;quot; folder. The options have different generated row order:&lt;br /&gt;
&lt;br /&gt;
 -csv		Rows sorted by #str_&amp;lt;id&amp;gt;; seriously buggy ordering in PL, works in PLUS.&lt;br /&gt;
 -csv-unsorted	PLUS only. Keeps row order of [English] in all.lang&lt;br /&gt;
&lt;br /&gt;
The exported CSV file can then be imported into other tools for translators, e.g., Excel spreadsheets. Be aware as you process this data further: maintaining the UTF8 (or other Unicode) encoding ensures character integrity.&lt;br /&gt;
&lt;br /&gt;
=== Generated CVS File Format ===&lt;br /&gt;
The first line of the file has the field (aka column) headers, with languages in alphabetic order:&lt;br /&gt;
&lt;br /&gt;
 ID,catalan,czech,danish,dutch,english,french,german,hungarian,italian,polish,portuguese,romanian,russian,slovak,spanish,swedish,turkish,comment&lt;br /&gt;
There are 19 comma-separated fields here, so the results is very wide. (Recall in a spreadsheet, you can hide columns not of current interest.)&lt;br /&gt;
&lt;br /&gt;
Broadly, the .csv format comes in different variants. Traditionally, as here, comma is the separator. If a field contains a comma, the field overall is wrapped in double quotes. PL also so wraps if there&#039;s a contained double-quote, colon, or semi-colon. PLUS mimics that policy. PL unfortunately only considers the language fields for wrapping. PLUS goes a bit further, to consider the &amp;quot;comment&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
So, after the header each subsequent line has fields separated by commas, where:&lt;br /&gt;
&lt;br /&gt;
* The first field, &amp;quot;ID&amp;quot;, has #str_&amp;lt;id&amp;gt;. Unlike in all.lang, there are no enclosing double quotes.&lt;br /&gt;
* Remaining fields have translations. As expected, language fields are in the alphabetic header order shown, not necessarily the [language] section order in all.lang. English is in field 5. A field might be empty, have translation text, or have a copy of the master [English] text. (see &amp;quot;What&#039;s in Each Language Field&amp;quot; below). There are enclosing double quotes as needed.&lt;br /&gt;
* The last field has any comment from the master {English], beginning with &amp;quot;//&amp;quot;. If there was no comment, a trailing comma ends the line.&lt;br /&gt;
&lt;br /&gt;
An example row with some empty fields, for the English word &amp;quot;Error&amp;quot;, with no comment:&lt;br /&gt;
&lt;br /&gt;
 #str_02000,Error.,,Fejl,,Error,Erreur,Fehler,Hiba,Errore,Błąd,Erro,Eroare,Ошибка,Chyba,,,Hata,&lt;br /&gt;
Comments on source lines in sections other than [english] are not included.&lt;br /&gt;
&lt;br /&gt;
=== Sorted and Unsorted Row Orders ===&lt;br /&gt;
&lt;br /&gt;
With the -csv option:&lt;br /&gt;
&lt;br /&gt;
* For PLUS, the row order is sorted by #str_&amp;lt;id&amp;gt;.&lt;br /&gt;
* While PL intended the row order to be sorted by #str_&amp;lt;id&amp;gt;, the actual sorting is scattershot. (A cause may be the more-recent presence of numerous non-numeric IDs. The sort uses a custom comparator, which knows only about numeric IDs. Other IDs are &amp;quot;tied&amp;quot; in order, not good for many sort algorithms. The Perl code that writes the &amp;lt;language&amp;gt;.lang files uses a better comparator.) The workaround is to import the data into your spreadsheet (keeping UTF8 encoding) and do row sorting there.&lt;br /&gt;
&lt;br /&gt;
With the -csv-unsorted option [PLUS only]:&lt;br /&gt;
&lt;br /&gt;
* Sometimes, it is more helpful to have rows in the same order as in the master [english] section of all.lang, e.g., not necessarily sorted; so perhaps meaningfully grouped. (Caution: in all.lang, there is sometimes a preceding full-line comment that describes a given grouping. That will not be present in the .csv file.)&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s in Each Language Field ===&lt;br /&gt;
As discussed above, a field will have enclosing double quotes as needed.&lt;br /&gt;
&lt;br /&gt;
The master &amp;quot;english&amp;quot; field, will simply have the [English] content (which could in rare cases be empty).&lt;br /&gt;
&lt;br /&gt;
The situation for other languages is more complex. PL appears, in its separate csv implementation, to be following a middle course, between:&lt;br /&gt;
* the &amp;quot;always use translation if available; otherwise English&amp;quot; policy for &amp;lt;language&amp;gt;.lang generation.&lt;br /&gt;
* the categorization of the Missing Option.&lt;br /&gt;
&lt;br /&gt;
To make clear the difference, we repeat the Missing Options description, but with &#039;&#039;&#039;lines crossed out&#039;&#039;&#039; below. (PLUS follows what PL does here, but FYI, there is commented-out code that could implement the crossed-out conditions.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A field considered &amp;quot;missing&amp;quot; will be empty (e.g., between 2 commas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If for a given master [English] #str_&amp;lt;id&amp;gt;, there&#039;s no matching #str_&amp;lt;id&amp;gt; in the target language.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It&#039;s &amp;quot;missing&amp;quot;, unless there&#039;s a (hard-coded) exception:&lt;br /&gt;
* The master string&#039;s content is in the &amp;quot;master_non_translatable&amp;quot; group, namely:&lt;br /&gt;
** An empty or whitespaces-only string.&lt;br /&gt;
** &amp;quot;TDM&amp;quot; or &amp;quot;The Dark Mod&amp;quot;.&lt;br /&gt;
** A prefix designating a function key (&amp;quot;F&amp;quot;) or port (&amp;quot;AUX&amp;quot; or &amp;quot;JOY&amp;quot;) followed by 1 or 2 digits.&lt;br /&gt;
** A special numeric format like &amp;quot;320x400;640x480&amp;quot; or &amp;quot;123;345&amp;quot; or &amp;quot;1x;2x&amp;quot;.&lt;br /&gt;
* &amp;lt;s&amp;gt;The master string&#039;s content is a font selector, i.e., beginning with &amp;quot;fonts/&amp;quot;.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;The #str_&amp;lt;id&amp;gt; has a numeric &amp;lt;id&amp;gt; within a &amp;quot;master_id_non_translatable&amp;quot; range. Just one range, 2460 – 2490, is so reserved, for language names.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, if it&#039;s not missing, the &#039;&#039;&#039;master string&#039;s content&#039;&#039;&#039; will be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If the #str_&amp;lt;id&amp;gt; in English and the target language have identical content (not counting comments)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It&#039;s &amp;quot;missing&amp;quot;, unless there&#039;s an exception:&lt;br /&gt;
* &amp;lt;s&amp;gt;The target line has a &amp;quot;// comment&amp;quot; indicating &amp;quot;stays the same&amp;quot;.&amp;lt;/s&amp;gt;&lt;br /&gt;
* The &amp;quot;master_non_translatable&amp;quot;, &amp;lt;s&amp;gt;font selector, or &amp;quot;master_id_non_translatable&amp;quot;&amp;lt;/s&amp;gt; exclusions apply.&lt;br /&gt;
&lt;br /&gt;
In this case, if it&#039;s not missing, the &#039;&#039;&#039;translated string content (same as master string&#039;s content)&#039;&#039;&#039; will be used. As indicated, any &amp;quot;stays the same&amp;quot; phrase in the line&#039;s comment within the [language] section is ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Otherwise, it&#039;s not missing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;translated string&#039;s content&#039;&#039;&#039; will be used. This is the normal &amp;quot;translation provided&amp;quot; case, where for the matching #str_&amp;lt;id&amp;gt; in English and the target language, there&#039;s different content (ignoring comments). Note that if English content exists but the target language content is an empty string, while this categorization would call it &amp;quot;not missing&amp;quot;, it still has the same result: nothing between the commmas.&lt;br /&gt;
&lt;br /&gt;
=== Differences in Comments between PL and PLUS ===&lt;br /&gt;
As noted above , PLUS will enclose the comment field in double quotes if needed. Also, if the comment field contains any unescaped double-quotes, they are backslash-escaped.&lt;br /&gt;
PL will do none of that. This is a bug. When the .csv file is imported into a spreadsheet, extra spurious columns may result, requiring manual fix-up.&lt;br /&gt;
Also, there is a difference in handling of how characters appear in comments. PLUS will preserve UTF8 characters. PL will replace characters not in ISO-8859-1 with &amp;quot;?&amp;quot; (resulting in the same appearance as in english.lang).&lt;br /&gt;
&lt;br /&gt;
== Charstats Option ==&lt;br /&gt;
Creating bitmap font glyphs can be a time-consuming process. This option provides information to suggest, among European (i.e., non-ASCII, non-Cyrillic) characters, which ones should take priority in that process, based on what translators have provided to all.lang.&lt;br /&gt;
&lt;br /&gt;
The results go to the console. PL and PLUS formats differ. PL groups compactly by &amp;quot;Top 5&amp;quot;, &amp;quot;Top 10&amp;quot;, and so on, and is not particularly Unicode-aware.&lt;br /&gt;
PLUS gives each character its own line, with rank and additional data. (And the output here is in utf8 form, better viewed in Windows Terminal than the traditional console. Or pipe to a text file that, e.g., Notepad can treat as UTF8.) Example output:&lt;br /&gt;
&lt;br /&gt;
 Non-ASCII UTF8 characters in &#039;all.lang&#039; across all languages except [Russian],&lt;br /&gt;
 by descending frequency. (Excludes characters in comments.)&lt;br /&gt;
 &lt;br /&gt;
 Rank, unicode codepoint, utf8 char, frequency (i.e., count out of 13563 total listed)&lt;br /&gt;
 &lt;br /&gt;
  1 U+00e1 á 1504&lt;br /&gt;
  2 U+00e9 é 1420&lt;br /&gt;
  3 U+00ed í 1099&lt;br /&gt;
  4 U+0131 ı 1075&lt;br /&gt;
  5 U+00fc ü 755&lt;br /&gt;
  6 U+010d č 644&lt;br /&gt;
  7 U+00f3 ó 498&lt;br /&gt;
  8 U+00f6 ö 418&lt;br /&gt;
  9 U+00fa ú 407&lt;br /&gt;
  ....&lt;br /&gt;
  93 U+0152 Œ 1&lt;br /&gt;
  94 U+0158 Ř 1&lt;br /&gt;
  95 U+0179 Ź 1&lt;br /&gt;
&lt;br /&gt;
== Ranges Option and Holes Option ==&lt;br /&gt;
Traditionally, #str_&amp;lt;id&amp;gt;s had only 5-digit numeric values. When a new string needed to be added (i.e., to the [English] master), it was helpful to know what numeric ranges were already fully in use, and conversely, what ranges are unoccupied, dubbed &amp;quot;holes&amp;quot;. With these options, that info gets reported to the console. Note that for PL, &amp;quot;holes&amp;quot; reports only if &amp;quot;ranges&amp;quot; is not given as an option. PLUS removes that restriction.&lt;br /&gt;
PL processes and reports &amp;lt;id&amp;gt;s in [English] listing order; if that is non-monotonic, this can cause anomalies for the &amp;quot;holes&amp;quot; output. To fix that, PLUS does a pre-sort into monotonic order.&lt;br /&gt;
PL and PLUS formats differ slightly. An example PLUS output for &amp;quot;-ranges&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 There are 48 occupied numeric #str_ ranges in [English]:&lt;br /&gt;
 &lt;br /&gt;
   1000-1019 (with 20 entries)&lt;br /&gt;
   1050-1062 (with 13 entries)&lt;br /&gt;
   1500-1503 (with 4 entries)&lt;br /&gt;
   2000-2016 (with 17 entries)&lt;br /&gt;
   ...&lt;br /&gt;
   8980-8988 (with 9 entries)&lt;br /&gt;
   10000-10162 (with 163 entries)&lt;br /&gt;
   10180-10185 (with 6 entries)&lt;br /&gt;
 &lt;br /&gt;
 Also, there are 54 non-numeric #str_ entries.&lt;br /&gt;
&lt;br /&gt;
In the last line, you see that, unlike PL, PLUS is aware of non-numeric &amp;lt;id&amp;gt;s, but just reports them as a total.&lt;br /&gt;
An example PLUS output for &amp;quot;-holes&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 There are 44 unoccupied numeric #str_ ranges (aka holes) in [English]:&lt;br /&gt;
 &lt;br /&gt;
   0-999 (with 1000 openings)&lt;br /&gt;
   1020-1049 (with 30 openings)&lt;br /&gt;
   1063-1499 (with 437 openings)&lt;br /&gt;
   1504-1999 (with 496 openings)&lt;br /&gt;
   ....&lt;br /&gt;
   8989-9999 (with 1011 openings)&lt;br /&gt;
   10163-10179 (with 17 openings)&lt;br /&gt;
   10185-19999 (with 9814 openings)&lt;br /&gt;
&lt;br /&gt;
The range from 20000-99999 is reserved for FMs. Using #str_&amp;lt;id&amp;gt; in that range in all.lang will trigger a fatal error (with the –range or –hole option). (See also the FM Option.)&lt;br /&gt;
&lt;br /&gt;
== FM Option [PLUS only] ==&lt;br /&gt;
By default, when either the -ranges or -holes option is in effect, the valid range for #str_&amp;lt;id&amp;gt; numeric values is enforced by PLUS as 0-19999. If you are using this for FM strings, select this option to make the valid range 20000-99999.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;These days, many but not all main menu #str_&amp;lt;id&amp;gt;s contain a substring &amp;quot;_menu_&amp;quot;. There could be future enforcement of alphanumeric substrings.&#039;&#039;&lt;br /&gt;
== Details about Main File Formats and Processing ==&lt;br /&gt;
&lt;br /&gt;
=== All.lang File Input Format ===&lt;br /&gt;
The file begins with a preamble (in C-style comment form) of notes for translators, some of which we restate here. Then an opening &amp;quot;{&amp;quot; by itself, followed by a series of language sections. Each starts with a line with one of these headers (shown in the order currently seen in the main menu all.lang file):&lt;br /&gt;
&lt;br /&gt;
 	[English]&lt;br /&gt;
 	[German]&lt;br /&gt;
 	[French]&lt;br /&gt;
 	[Italian]&lt;br /&gt;
 	[Spanish&lt;br /&gt;
 	[Polish]&lt;br /&gt;
 	[Romanian]&lt;br /&gt;
 	[Russian]&lt;br /&gt;
 	[Portuguese}&lt;br /&gt;
 	[Czech]&lt;br /&gt;
 	[Hungarian]&lt;br /&gt;
 	[Slovak]&lt;br /&gt;
 	[Swedish]&lt;br /&gt;
 	[Danish]&lt;br /&gt;
 	[Dutch]&lt;br /&gt;
 	[Turkish]&lt;br /&gt;
 	[Catalan]&lt;br /&gt;
&lt;br /&gt;
Case of the language name doesn&#039;t matter, nor does order in which sections are listed. But it is a convention to list English first. After the header comes a series of convertible lines and comment lines, as discussed in next sections. The last line of the file has the closing &amp;quot;}&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Converting Each Line ===&lt;br /&gt;
Within any particular language section of all.lang, a convertible line will have in this order:&lt;br /&gt;
&lt;br /&gt;
# A #str_&amp;lt;id&amp;gt;, in double quotes, where &amp;lt;id&amp;gt; is an unsigned integer, or a string composed of ASCII characters a-z, A-Z, 0-9, or underscore. Preferred for the latter are all lower case with underscores as word separators. Camel-case is tolerated, but not spaces or dashes. Ignoring the &amp;quot;#str_&amp;quot; prefix, the &amp;lt;id&amp;gt; must be no less than 5 and no more than 63 characters long. Leading zeros should be used to pad a numeric &amp;lt;id&amp;gt; to 5 digits. [Note: program i18n.pl possibly deals only with numeric &amp;lt;id&amp;gt;s.]&lt;br /&gt;
# The language-specific UTF8 &amp;lt;string content&amp;gt;, in double quotes&lt;br /&gt;
# An optional comment beginning with &amp;quot;//&amp;quot;. The next section covers overall treatment of comments.&lt;br /&gt;
&lt;br /&gt;
These are led and separated by whitespace. A leading tab is normal, with tab separators.&lt;br /&gt;
&lt;br /&gt;
No particular ordering of #str_&amp;lt;id&amp;gt;s is required, though ordering numeric &amp;lt;id&amp;gt;s (at least within sub-groups) is desirable.&lt;br /&gt;
==== Duplicates Across Lines Within a Section ====&lt;br /&gt;
If a particular &amp;lt;id&amp;gt; value appears more than once in a section, the last value is the effective one. A console warning will generally occur during parsing, in the case of PLUS like:&lt;br /&gt;
 Warning - #str_02518 redefined within [english]...&lt;br /&gt;
  from: malformed&lt;br /&gt;
  to:   100&lt;br /&gt;
&lt;br /&gt;
In the [English] section, there might be separate &amp;lt;id&amp;gt;s with the same content. This will generally cause a warning, in the case of PLUS like:&lt;br /&gt;
 Caution - These strings have the same content (&#039;Master&#039;): #str_08206, #str_03008&lt;br /&gt;
&lt;br /&gt;
To avoid the latter warning, a group of duplicates can be assigned a group number and hard-coded in the &amp;quot;master_double_exceptions&amp;quot; list. Only one group of ten members is so defined currently, those with a required empty string as content. More generally (says a PL comment):  &amp;quot;Sometimes it can make sense to have two different strings as when they are translated into different strings in another language. A [theoretical] example would be &amp;quot;Saw&amp;quot; (I saw something, ich hab etwas gesehen) and &amp;quot;Saw&amp;quot; (Saw, Säge).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Substituting English when No Translation ====&lt;br /&gt;
Ideally, a #str_&amp;lt;id&amp;gt; in the master [English] section has a match in a target language&#039;s section. Then the translated content will always be used for encoding and listing in the &amp;lt;language&amp;gt;.lang file. If no match, the English content is substituted. (Note that only a subset of these substituted strings will categorized as &amp;quot;Missing&amp;quot; if the -missing option is used. Also note that the substitution policy is slightly different with the -csv option.)&lt;br /&gt;
&lt;br /&gt;
==== Conversion Differences between PL and PLUS ====&lt;br /&gt;
* To do encoding, PL uses the Perl Encode module, that can autoload language-specific encode/decode tables.&lt;br /&gt;
* In the C++ implementation, source file &amp;quot;UTF8_8859_convert.cpp&amp;quot; includes similar (albeit custom) tables for the codepages TDM supports. The overall approach is convert from UTF8 to UTF16, then to the target ISO encoding.  That process does not use &amp;lt;locale&amp;gt; facets (which are problematic for our purposes), but standard C++ library &amp;quot;codecvt_utf8_utf16&amp;quot; and &amp;quot;wstring_convert&amp;quot; capabilities.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;language&amp;gt;.Lang File Output Format ===&lt;br /&gt;
* A preamble states the language name and specific ISO encoding.&lt;br /&gt;
* This is followed by the &amp;quot;#str_&amp;lt;id&amp;gt; ...&amp;quot; lines; sorted in alphabetic order; &amp;lt;id&amp;gt; in numeric form will be listed before those in alphabetic form.  Among the latter, an upper case letter will sort before all lower case letters.&lt;br /&gt;
* Trailing &amp;quot;//&amp;quot; comments  on &amp;quot;#str_&amp;lt;id&amp;gt;&amp;quot; lines from all.lang are preserved.&lt;br /&gt;
* Comments of the form /*...*/ in all.lang are skipped, whether spanning multiple lines or part of a single line.&lt;br /&gt;
* Blank lines, or lines with only whitespace or a &amp;quot;//&amp;quot; comment, are likewise skipped. The latter comments typically contain headers to organize groups of items in all.lang, but that organization is not retained, replaced by alphanumeric ordering as mentioned.&lt;br /&gt;
&lt;br /&gt;
==== Output File Differences between PL and PLUS ====&lt;br /&gt;
These differences are not thought to have functional implications:&lt;br /&gt;
&lt;br /&gt;
* The first line of the preamble will differ unless PLUS&#039;s -old_preamble option is used.&lt;br /&gt;
* Between a string content and any comment, PLUS preserves tabs and spaces found in all.lang, while PL substitutes two tabs. This is means that simple file comparison programs (like Windows &amp;quot;fc&amp;quot;, even with /T or /W options) will find lots of trivial differences. It is suggested you use a more sophisticated comparison tool, for instance, Notepad++ with the ComparePlus plugin and &amp;quot;Ignore changed spaces&amp;quot; selected.&lt;br /&gt;
&lt;br /&gt;
== Notes on PLUS Internals ==&lt;br /&gt;
A hand-crafted conversion from a static analysis of PL, PLUS preserves many variable names, some reimagined as functions. Befitting a straightforward conversion, it offers a procedural, C-like style, without much in the way of a class hierarchy, overarching object-oriented design pattern, or advanced C++ features. (This may be of benefit if part or all of its functionality is ever integrated into the TDM engine and/or DR.)&lt;br /&gt;
Not much effort was spent on performance optimization. However, as a compiled language, it will of course run much faster than PL. Also, the C++ implementation avoids use of regular expressions, which are heavily featured in PL and are notoriously slow and also hard for most coders to read.&lt;br /&gt;
&lt;br /&gt;
Platform-independent C++ standard-library structures like vectors, (ordered) sets, maps, and multimaps are employed. However, to do the UTF8 to ISO conversions, a Windows-specific approach is taken, to convert via unencoding from utf8 to wide characters and then re-encoding to target ISOs. (While it is possible to do such conversions entirely within 8-bit characters, the resulting code is a puzzle box, best left to third-party libraries.) Instead of using a third-party library, the encode/decode implementation here includes use of the &amp;quot;deprecated&amp;quot; C++ standard &amp;quot;codecvt&amp;quot; feature; while deprecated, the C++ standard committee has not (as of 2025) come up with a viable replacement.&lt;br /&gt;
&lt;br /&gt;
Like PL, PLUS has some DEBUG statements defined (requiring recompile for C++). These reflect specific concerns during development and testing and are of limited general interest.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
For PLUS v1.1 of 2025, July 16 (mainly adds Catalan as a supported language)&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1R_qajkfq5_drIGEMYQ8ahpJwfN1LdkiT/view?usp=sharing gen_lang_plus_source_v1.1.zip]. This is a Visual Studio project. Includes open-source license.&lt;br /&gt;
* [https://drive.google.com/file/d/1kj_zE9VN7l1DMztnOHx-UaNbIAECIE6M/view?usp=sharing gen_lang_plus.exe]&lt;br /&gt;
&lt;br /&gt;
For PLUS v1.0 of 2025, Feb 28:&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1V_FSMEBYsinXPMKlH3_OmzcS8f1zjVeL/view?usp=sharing gen_lang_plus_source_v1.0.zip]. This is a Visual Studio project.&lt;br /&gt;
* [https://drive.google.com/file/d/1xsas9kZ-6tRdNdFhKHS736xYK5-aYGMg/view?usp=sharing gen_lang_plus.exe]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
The Perl program &amp;quot;i18n.pl&amp;quot; contains similar functionality for FM-specific strings, but also parses and edits the FM .map file, so is considerably more complicated.&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=34501</id>
		<title>Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Inventory&amp;diff=34501"/>
		<updated>2026-05-30T22:24:42Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Length of Inventory Display Names */ New section added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up inventory items and how they can be given to an entity. An entity&#039;s inventory can be seen as some sort of &amp;quot;container&amp;quot; for various items. Inventory items are distinguished by their category, such as &#039;&#039;Tools&#039;&#039;, &#039;&#039;Maps&#039;&#039;, &#039;&#039;Potions&#039;&#039; and &#039;&#039;Weapons&#039;&#039; (yes, a weapon is also a special kind of inventory item). All entities can have an inventory, even though it may only make sense for AI and the player to actually have one. Also included is a script interface, so that a mapper can interact with the inventory in a more sophisticated way, if the default behaviour is not sufficient.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
The spawnargs can be either set in the def file as a default, or in the map file to override settings for specific entities. Naturaly this also means that they can be manipulated by scripts as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT!&#039;&#039;&#039; When items are put into inventory they remain in the map in their original location, but are hidden and will therefore &#039;disappear&#039;. If this doesn&#039;t work, then the item will stay visible. This is a intentionally so, to make the mapper aware of the problem. Check the console and/or enable the inventory logclass in the darkmod.log file to see what went wrong.&lt;br /&gt;
&lt;br /&gt;
There are several terms and types of items that can be used in the inventory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Anonymous items&#039;&#039;&#039;  An anonymous object means that it will not show up as an item in the inventory. Examples are gold coins and all the other (mostly loot) items that are collected but not being used individually. In this case they only count for the total of loot and are discarded afterwards. Anonymous items also can not be dropped after they are placed into the inventory because they essentially no longer exist. For the loot count it obviously doesn&#039;t matter wether an item is anonymous or not, as all are added up into the loot categories. The same holds for ammonition (arrows). These get added to the weapon&#039;s ammo and are removed from the map.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Stackable items&#039;&#039;&#039;  These are items that can be stacked in the inventory. This means that the player can acquire multiple instances of such items, but only one entry is shown in the inventory with a counter of how many currently are available. An example would be a health potion. The player can possess more than one health potion at a time and this would be indicated by the counter on the HUD. Stackable items are identified by setting the stackable property. They also must always use the same name and category. If this doesn&#039;t match, they are considered to be different. This also allows for dealing out i.e. fake health potions which have no effect or deal damage instead (as an example).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Category&#039;&#039;&#039; Each item has a Category, which is used to group items. This allows the player to faster scroll through the inventory because he doesn&#039;t have to cycle through all the individual items. For example a category would be &#039;Readables&#039; where books and scrolls are stored, and another Category would be &#039;Tools&#039; where lockpicks and other items can be stored. Note that the actual category names are entirely up to the mapper. It doesn&#039;t have any consequence as to the playability and is only a convenience for the player. The inventory category is briefly displayed on the player HUD when cycling through the items.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cursor&#039;&#039;&#039; &#039;&#039;(This is coding-related information)&#039;&#039; An inventory can have multiple cursors. Each cursor can point to a different place in the same inventory, and can restrict the movement to certain categories. This way, you can implement different HUDs or GUIs which can show different parts of the inventory in different places even though all the items are in one single inventory. Weapons are handled this way; a separate cursor is used which is only allowed to cycle through the weapon category.&lt;br /&gt;
&lt;br /&gt;
== Spawnargs ==&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string &#039;&#039;&#039;[required]&#039;&#039;&#039;&lt;br /&gt;
:Specifies the name the object should display when it is activated in the inventory. Keep in mind that the display name and the category together are used to determine whether two items are of the same type. This is important to determine whether items can be &amp;quot;stacked&amp;quot;. Both &#039;&#039;&#039;inv_name&#039;&#039;&#039; and &#039;&#039;&#039;inv_category&#039;&#039;&#039; must match.&lt;br /&gt;
:Example: &amp;lt;tt&amp;gt;&amp;quot;inv_name&amp;quot; &amp;quot;Health Potion&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_category&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string &#039;&#039;&#039;[required]&#039;&#039;&#039;&lt;br /&gt;
: Specifies the category that the object should be filed under. &lt;br /&gt;
:Example: &amp;lt;tt&amp;gt;&amp;quot;inv_category&amp;quot; &amp;quot;Potions&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_icon&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string (D3 path to icon file)&lt;br /&gt;
:Points to an icon that is to be displayed on the player HUD when the object is selected in the inventory. (This can also point to a shader name.) Note that you don&#039;t need to specify the file extension. &lt;br /&gt;
:Example: &amp;lt;tt&amp;gt;&amp;quot;inv_icon&amp;quot; &amp;quot;guis/assets/hud/inventory_icons/icon_health_potion&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_stackable&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0/1]&lt;br /&gt;
: Determines whether an item can be stacked on top of other items of the same type. An example would be the health potion item. The player can pick up more than one health potion, but in the inventory he will only get one item with a counter. Note that loot items need not to be stackable, they are handled separately by special code.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_item_id&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string&lt;br /&gt;
:This key can be set by the mapper to a value of his or her choice. This is needed if the mapper wants to address specific items or groups of items in order to implement custom behaviour, even if the &amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt; is the same for this group of items. For example, a mapper can create a fake health potion which shows up in the inventory just like a regular one. If the mapper desired, he could set up a script to check for this exact potion and trigger custom behaviour when the item is used.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_count&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | integer number&lt;br /&gt;
: Defines how many instances of an item is to be added to the inventory. Applies only to items with &amp;lt;tt&amp;gt;inv_stackable&amp;lt;/tt&amp;gt; set to 1. Non-stackable items have always an item count of 1 and this argument is ignored. As an example, the mapper could set up a stack of health potions as single entity (some sort of quiver) which immediately adds 5 potions to the player&#039;s inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_droppable&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:If set to 1 the item can be dropped into the map by the player. This will not work for anonymous items (loot, ammo), since their entity will be removed from the map after they had been put into the inventory.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;drop_to_hands&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:If set to 1 (default) the item drops to the hands (grabber manipulator) of the player instead of to the ground. Set to 0 and the item drops directly to the floor when dropped.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_loot_type&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [ 0 | 1 | 2 | 3 ]&lt;br /&gt;
::* 0 = No lootitem (default)&lt;br /&gt;
::* 1 = Jewelry/Gems&lt;br /&gt;
::* 2 = Gold&lt;br /&gt;
::* 3 = Goods&lt;br /&gt;
:This has to be set in order to define what kind of item it is and if it is a loot item, which category of loot it should account for. Note: it&#039;s not possible to choose other values (e.g. loot type = 4), the code will probably crash.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_loot_value&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | integer&lt;br /&gt;
:Determines the amount of loot this item accounts for. This spawnarg is only applicable for items with a non-zero &amp;lt;tt&amp;gt;inv_loot_type&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_ammo_amount&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | integer (default is 0)&lt;br /&gt;
: Determines whether this item is an ammo item and how much ammonition this item represents. When this argument is 0, the item is not recognised as ammo. Ordinary ammonition items like [[atdm:ammo_broadhead]] have &amp;lt;tt&amp;gt;inv_ammo_amount&amp;lt;/tt&amp;gt; set to 1, but it&#039;s perfectly valid to set it to higher values for items like quivers. Don&#039;t forget to add the &amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt; spawnarg, which is needed by the code to determine which weapon this ammo belongs to.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string&lt;br /&gt;
: This spawnarg applies to weapon and ammo items. Each weapon must have a unique &amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt;, like &amp;quot;broadhead&amp;quot; or &amp;quot;blackjack&amp;quot;. This weapon name is used to determine which weapon an ammonition item is belonging to. If the &amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt; is missing on ammonition, it cannot be recognised as loot (a warning is emitted to the console and the log). &lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_use_on_frob&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1] (default is 0)&lt;br /&gt;
: When this spawnarg is set to 1, it can be used just by hitting the &amp;quot;frob&amp;quot; button (of course it must be selected in the inventory). The code then attempts to &amp;quot;use&amp;quot; this item on the highlighted entity in front of the player. The system is still in the works, so this information might not be fully accurate.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_map_start&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1]&lt;br /&gt;
:Determines wether this object should be automatically moved to the inventory at map start.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_target&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string (entityname, optional, defaults to &amp;quot;player1&amp;quot;)&lt;br /&gt;
:If the &amp;lt;tt&amp;gt;inv_map_start&amp;lt;/tt&amp;gt; argument is set to &amp;quot;1&amp;quot;, this defines the name of the entity that should receive it, otherwise the value is ignored. To give an item to the player, you would use &amp;lt;tt&amp;gt;player1&amp;lt;/tt&amp;gt; as the name (which is the default value anyway).&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_hud&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string (D3 path to .gui file)&lt;br /&gt;
: If this key is set it should point to a GUI file, which defines the hud for this particular item. As an example, you can look at the file tdm_loot.hud, which implements a custom hud that does not use the regular inventory item HUD. The mapper is responsible to maintain the state for such an item on his own. In order to do this, there is an initialization message sent to the specified script and other messages as well like selecting or deselecting an item. In order to make this work, the mapper must set up the correct scriptobject and add a few events to it. An example description of how to operate a custom HUD will be described in the scripting section on this article.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_hud_layer&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | integer (layernumber)&lt;br /&gt;
: If a custom hud is used for an item by setting the key &amp;lt;tt&amp;gt;inv_hud&amp;lt;/tt&amp;gt;, this key can be set to specify a layer number the custom hud should be displayed on. Normally this value can be set to 0 or left blank when using the default screen for the player, but for huds on other objects in the map, this might be needed.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_persistent&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1] (default is 0)&lt;br /&gt;
: If this is set to &amp;quot;1&amp;quot;, the item can be taken to the next map. This is useful for designing campaigns, where important items or weapons can be taken to the next level.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_lgmodifier&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | int (default is 0, maximum is DARKMOD_LG_MAX = 32)&lt;br /&gt;
: This can be used to modify the lightgem brightness when this item is selected in the inventory. Useful for weapons like the fire arrow.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_movement_modifier&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | float | default is 1, must be positive&lt;br /&gt;
: This can be used to slow down the player when this item is equipped (e.g. for weapons like the shortsword). This value is multiplied on the maximum movement speed.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;inv_no_pickup_message&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1] | default is 0&lt;br /&gt;
: Setting this to 1 disables the &amp;quot;pick up message&amp;quot; when this item is put into the player&#039;s inventory.&lt;br /&gt;
&lt;br /&gt;
== Length of Inventory Display Names ==&lt;br /&gt;
The inv_name needs to be relatively short. If it is too long, when displayed in the lower right screen corner, rightmost words will be clipped or missing. This starts to become a concern at roughly 18-20 characters (including spaces). To worse-case test this, go to the HUD Size/Opacity &amp;quot;Adjust&amp;quot; page (under Settings &amp;gt; Video &amp;gt; General), leave the &amp;quot;Icon Size&amp;quot; at the default, but maximize &amp;quot;Weapon/Item Text Size&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Fixes for this are:&lt;br /&gt;
* simply shorten the name. For instance, it may not be necessary to call an item &amp;quot;Treasure Chest Key&amp;quot;, if the icon makes it obviously a key, so &amp;quot;Treasure Chest&amp;quot; would do.&lt;br /&gt;
* Manually force the display name to two lines, by inserting a &amp;quot;\n&amp;quot; into the inv_name string (or if using #str_ translations, into the corresponding content in the all.lang file and its offspring). The engine and inventory display gui collaborate on this, but only 2 lines at most. Cautions: Don&#039;t expect automatic word-wrap from 1 to 2 lines. And either line could still be individually clipped if too long.&lt;br /&gt;
&lt;br /&gt;
If you are providing i18n translation strings, review every language&#039;s inventory name lengths. Non-English phrases are often longer than English.&lt;br /&gt;
&lt;br /&gt;
== Default equipment for map start ==&lt;br /&gt;
&lt;br /&gt;
This describes how to give items to the player at map start time, but the same mechanism can be applied to any other AI (or entity for that matter) as well.&lt;br /&gt;
&lt;br /&gt;
* First create your object in the editor, just like you would if you wanted to put it in the map. Choose Create Entity and select the inventory item of your choice (a health potion for example). Place it where you like, but not outside in the void.&lt;br /&gt;
* Set the key &amp;lt;tt&amp;gt;inv_map_start&amp;lt;/tt&amp;gt; on the object entity to the value 1.&lt;br /&gt;
* (Optional) Set the key &amp;lt;tt&amp;gt;inv_target&amp;lt;/tt&amp;gt; to the name of the entity you would like this item to go to. &lt;br /&gt;
&lt;br /&gt;
The object will be moved to the target entity&#039;s inventory right at map start (and will be hidden or removed). The player will not be  able to see the item (unless there was a mistake in the setup).&lt;br /&gt;
&lt;br /&gt;
== Inventory CVARs ==&lt;br /&gt;
The following cvars can be used to modify the behaviour of some inventory properties. Some of them are probably only of interest to modders, while others are also of interest to players and might be added to a customization menu.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_hud_file&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string | default &amp;quot;guis/tdm_inv.gui&amp;quot;&lt;br /&gt;
:Specifies the gui file that should be used for the inventory. this can be changed for mods, that wish to implement a different GUI, or provide alternative skins for the player.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_loot_item_def&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string | default &amp;quot;atdm:inv_loot_info_item&amp;quot;&lt;br /&gt;
: Specifies the entityDef that should be used for the loot info slot in the inventory. This entityDef holds the references for the loot HUD.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_hud_pickupmessages&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1] | default is 1&lt;br /&gt;
:If set to 1, the HUD is displaying the item the player has just picked up.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_loot_sound&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | string | default &amp;quot;frob_loot&amp;quot;&lt;br /&gt;
: Specifies the default path to the soundfile that is played when loot is aquired. Note that this can be overriden on a per item level, and wont have an effect for such items. &#039;&#039;(greebo: Should be removed)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_use_on_frob&amp;lt;/tt&amp;gt;&#039;&#039;&#039; | [0|1] | default is 0 (for now)&lt;br /&gt;
:When set to &#039;1&#039; the code attempts to use the currently selected inventory on frob, provided the selected item supports this action.&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_inv_use_on_frob_visual_feedback&amp;lt;/tt&amp;gt; | [0|1] | default is 1&lt;br /&gt;
:When set to &#039;1&#039; the HUD is giving visual feedback when the currently highlighted item is used.&lt;br /&gt;
&lt;br /&gt;
=== Related CVARs ===&lt;br /&gt;
;&#039;&#039;&#039;&amp;lt;tt&amp;gt;tdm_hud_opacity&amp;lt;/tt&amp;gt; | float [0..1]&lt;br /&gt;
:Defines the opacity of the HUD GUIs, also affects the lightgem and the weapon HUD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key bindings ==&lt;br /&gt;
&lt;br /&gt;
For inventory key bindings see [[Bindings_and_User_Settings#Inventory_Related]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scriptsupport ==&lt;br /&gt;
The following events are available for scripters. These events can be called on any entity (as every entity has an inventory), but I assume for 99% of the cases, you will want to use these on &amp;lt;tt&amp;gt;$player1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent float getLootAmount(float Type);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the amount of loot for the given type (e.g. LOOT_GOODS). There are a few loot constants defined in &amp;lt;tt&amp;gt;tdm_events.script&amp;lt;/tt&amp;gt; file. Pass LOOT_TOTAL to return the sum of all loot types.&lt;br /&gt;
:*LOOT_TOTAL&lt;br /&gt;
:*LOOT_JEWELRY&lt;br /&gt;
:*LOOT_GOLD&lt;br /&gt;
:*LOOT_GOODS&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent float changeLootAmount(float type, float amount);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Changes the loot amount of the given Type (e.g. GOODS) by &amp;lt;amount&amp;gt;. The new value of the changed type is returned (e.g. the new GOODS value if this has been changed). Note: The LOOT_TOTAL type can&#039;t be changed and 0 is returned.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent void addInvItem(entity inv_item);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Adds the given item to the inventory. Depending on the type, the passed entity will be removed from the game (as for loot items) or hidden. If the item couldn&#039;t be added, a warning is emitted to the console.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent float replaceInvItem(entity oldItem, entity newItem);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Replaces the entity &amp;lt;oldItem&amp;gt; with &amp;lt;newItem&amp;gt; in the inventory, while keeping &amp;lt;oldItem&amp;gt;&#039;s inventory position intact.&lt;br /&gt;
:Note: The position guarantee only applies if &amp;lt;oldItem&amp;gt; and newItem share the same category. If the categories are different, the position of &amp;lt;newItem&amp;gt; is likely to be different than the one of &amp;lt;oldItem&amp;gt;.&lt;br /&gt;
:Note that &amp;lt;oldItem&amp;gt; will be removed from the inventory. If &amp;lt;newItem&amp;gt; is the $null_entity, &amp;lt;oldItem&amp;gt; is just removed and no replacement happens.&lt;br /&gt;
:Returns: 1 if the operation was successful, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent entity getNextInvItem();&amp;lt;/tt&amp;gt;&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent entity getPrevInvItem();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Cycles the standard cursor to the next/prev inventory item.&lt;br /&gt;
:Returns: the item entity pointed to after the next/prev operation is complete.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent float setCurInvCategory(string categoryName);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Sets the inventory cursor to the first item of the named category.&lt;br /&gt;
:Returns: 1 on success, 0 on failure (e.g. wrong category name).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent entity setCurInvItem(string itemName);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Sets the inventory cursor to the named item.&lt;br /&gt;
:Returns: the item entity of the newly selected item (can be the $null_entity).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent string getCurInvCategory();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the name of the currently highlighted inventory category.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent entity getCurInvItemEntity();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the currently highlighted inventory item entity.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent string getCurInvItemName();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the name of the currently highlighted inventory item (the one defined in &amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent string getCurInvItemId();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the name of the currently highlighted inventory item (the one defined in &amp;lt;tt&amp;gt;inv_item_id&amp;lt;/tt&amp;gt;). Most items will return an empty string, unless the &amp;quot;inv_item_id&amp;quot; is set on purpose.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent string getCurInvIcon();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Returns the icon of the currently highlighted inventory item.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent void changeInvItemCount(string name, string category, float amount);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Decreases the inventory item stack count by amount. The item is addressed using the name and category of the item. These are usually defined on the inventory item entity (&amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;inv_category&amp;lt;/tt&amp;gt;). Amount can be both negative and positive.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent void changeInvLightgemModifier(string name, string category, float modifier);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Sets the lightgem modifier value of the given item. Valid arguments are between 0 and 32 (which is the maximum lightgem value).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;tt&amp;gt;scriptEvent void changeInvIcon(string name, string category, string icon);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Sets the inventory icon of the given item in the given category to &amp;lt;icon&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
A short example of the above script events in action is the lantern script:&lt;br /&gt;
 // Set the icon to the &amp;quot;on&amp;quot; icon&lt;br /&gt;
 userEntity.changeInvIcon(getKey(&amp;quot;inv_name&amp;quot;), getKey(&amp;quot;inv_category&amp;quot;), getKey(&amp;quot;inv_icon_on&amp;quot;));&lt;br /&gt;
The first call is retrieving the &amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;inv_category&amp;lt;/tt&amp;gt; spawnargs from the lantern entityDef and takes them as argument for te &amp;lt;tt&amp;gt;changeInvIcon&amp;lt;/tt&amp;gt; call. The &amp;lt;tt&amp;gt;inv_name&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;inv_category&amp;lt;/tt&amp;gt; are necessary for the code to lookup the item in the player&#039;s inventory. The third parameter defines which icon the lantern inventory item should have from now on.&lt;br /&gt;
&lt;br /&gt;
== Custom HUDs ==&lt;br /&gt;
It is possible to implement a custom HUD for each inventory item. Examples for inventory items with custom HUDs are the player compass and the loot info item. This describes how to set up a custom HUD for your item.&lt;br /&gt;
&lt;br /&gt;
# First off, you need an entityDef with your inventory item. Look at &amp;lt;tt&amp;gt;atdm:playertools_compass&amp;lt;/tt&amp;gt; for an example.&lt;br /&gt;
# Your inventory item entity needs to have its own script object, so you&#039;ll need to name that in your entityDef using the &amp;quot;scriptobject&amp;quot; spawnarg.&lt;br /&gt;
# The scriptobject (which will be defined in a .script file) needs to implement a small set of functions which are invoked by the code when the item is initialised, selected or de-selected.&lt;br /&gt;
&lt;br /&gt;
=== Set up the entityDef ===&lt;br /&gt;
Again, the compass is given as an example: &lt;br /&gt;
 entityDef atdm:playertools_compass&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;inherit&amp;quot;				&amp;quot;atdm:playertool&amp;quot;&lt;br /&gt;
     &amp;quot;spawnclass&amp;quot;			&amp;quot;idStaticEntity&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;editor_usage&amp;quot;			&amp;quot;Compass&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;model&amp;quot;				&amp;quot;models/darkmod/player_equipment/compass.ase&amp;quot;&lt;br /&gt;
     &amp;quot;scriptobject&amp;quot;			&amp;quot;playertools_compass&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;inv_name&amp;quot;				&amp;quot;Compass&amp;quot;&lt;br /&gt;
     &amp;quot;inv_category&amp;quot;			&amp;quot;Compass&amp;quot;&lt;br /&gt;
     &amp;quot;inv_map_start&amp;quot;			&amp;quot;1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;inv_hud&amp;quot;				&amp;quot;guis/playertools/compass.gui&amp;quot;&lt;br /&gt;
     &amp;quot;inv_hud_layer&amp;quot;			&amp;quot;11&amp;quot; // greebo: Readables are on layer 10&lt;br /&gt;
     &amp;quot;inv_icon&amp;quot;				&amp;quot;&amp;quot;&lt;br /&gt;
     &amp;quot;inv_droppable&amp;quot;			&amp;quot;0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
The compass is set up like any other inventory item - the important thing is to specify the &amp;lt;tt&amp;gt;inv_hud&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;inv_hud_layer&amp;lt;/tt&amp;gt; spawnargs. The &amp;lt;tt&amp;gt;inv_hud&amp;lt;/tt&amp;gt; argument is pointing to a sepcific GUI file, which will be displayed when the inventory item is selected by the player. The &amp;lt;tt&amp;gt;inv_hud_layer&amp;lt;/tt&amp;gt; defines on which layer the GUI is being drawn (GUIS with higher overlay numbers are drawn after the ones with lower numbers).&lt;br /&gt;
&lt;br /&gt;
Also note that &amp;lt;tt&amp;gt;scriptobject&amp;lt;/tt&amp;gt; spawnarg which points to the script class, in this case &amp;lt;tt&amp;gt;playertools_compass&amp;lt;/tt&amp;gt;. See the next chapter for information about how to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Set up the scriptobject ===&lt;br /&gt;
As next step, you&#039;ll need to add a custom scriptobject which defines the methods to be called by the SDK code. Create a .script file and define a scriptobject with the following methods:&lt;br /&gt;
 /*&lt;br /&gt;
  * Compass scriptobject, derives from player_tools&lt;br /&gt;
  */&lt;br /&gt;
 object playertools_compass : player_tools&lt;br /&gt;
 {&lt;br /&gt;
 	// greebo: Gets called upon addition to the inventory&lt;br /&gt;
 	void inventory_item_init(entity userEntity, float overlayHandle, string overlayName);	&lt;br /&gt;
 &lt;br /&gt;
 	// Gets called when the player switches to another inventory item &lt;br /&gt;
 	void inventory_item_unselect(entity userEntity, float overlayHandle); &lt;br /&gt;
 &lt;br /&gt;
 	// Gets called when this item is selected in the inventory&lt;br /&gt;
 	void inventory_item_select(entity userEntity, float overlayHandle);&lt;br /&gt;
 &lt;br /&gt;
 	// Gets called to update the HUD (not each frame!)&lt;br /&gt;
 	void inventory_item_update(entity userEntity, float overlayHandle);&lt;br /&gt;
 };&lt;br /&gt;
As you can gather from the comments, the various functions are called by the SDK code on certain occasions. The &amp;lt;tt&amp;gt;userEntity&amp;lt;/tt&amp;gt; argument always defines the entity which holds the inventory item, which is the $player1 entity in almost all cases. The second parameter &amp;lt;tt&amp;gt;overlayHandle&amp;lt;/tt&amp;gt; defines the GUI handle which can be used to set the GUI state variables of the custom HUD. These depend on your implementation, of course. I won&#039;t go into the details here (you can look at the actual files in the scripts/ folder), but as an example I can pick the &amp;lt;tt&amp;gt;inventory_item_select()&amp;lt;/tt&amp;gt; method of the compass scriptobject:&lt;br /&gt;
 void playertools_compass::inventory_item_select(entity userEntity, float overlayHandle)&lt;br /&gt;
 {&lt;br /&gt;
 	_overlayHandle = overlayHandle;&lt;br /&gt;
 &lt;br /&gt;
 	// Disable the default inventory&lt;br /&gt;
 	userEntity.setGuiFloat(userEntity.getInventoryOverlay(), &amp;quot;Inventory_ItemVisible&amp;quot;, 0);&lt;br /&gt;
 &lt;br /&gt;
 	// Make the compass GUI visible&lt;br /&gt;
 	userEntity.setGuiFloat(_overlayHandle, &amp;quot;CompassVisible&amp;quot;, 1);&lt;br /&gt;
 &lt;br /&gt;
 	// Start a new thread &lt;br /&gt;
 	_updateThreadNum = thread updateLoop(userEntity);&lt;br /&gt;
 }&lt;br /&gt;
The interesting part is how to set the GUI state variables, which is easy: just use the &amp;lt;tt&amp;gt;setGui***&amp;lt;/tt&amp;gt; methods on the &amp;lt;tt&amp;gt;userEntity&amp;lt;/tt&amp;gt; (usually the player), passing the overlayHandle along to specify which HUD you are addressing.&lt;br /&gt;
&lt;br /&gt;
===Set up a custom GUI if needed===&lt;br /&gt;
As mentioned above, you can define key &#039;&#039;inv_hud&#039;&#039; to point to a custom .gui file. For example, the special compass GUI is further considered in conjunction with its implementing architecture in [[GUI Scripting: RenderDef]]. Also, starting in TDM 2.06, there are a richer set of user settings that affect inventory HUD displays. If your custom item provides its own GUI, consider incorporating these (e.g., &amp;quot;gui::HUD_Opacity&amp;quot;, &amp;quot;gui::smallTextSize&amp;quot;). For examples, see the &amp;quot;Extra: Adding a Custom GUI&amp;quot; section at this article&#039;s end, or contents of files tdm_hud.gui, tdm_inv.gui, or tdm_loot.gui in tdm_gui01.pk4\guis\.&lt;br /&gt;
&lt;br /&gt;
== Setting up Weapons ==&lt;br /&gt;
Setting up weapons is not that hard actually from the entityDef point of view. The hard part is to get the models and animations right, which is mostly artwork. However, this short chapter should explain how the various entityDefs are connected to each other.&lt;br /&gt;
&lt;br /&gt;
=== Weapon ===&lt;br /&gt;
First of all, you&#039;ll need a weapon entityDef, one that is inheriting from &amp;lt;tt&amp;gt;atdm:weapon_base&amp;lt;/tt&amp;gt;. The entityDef needs a unique &amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt; serving as identifier for ammunition and scripting. The &amp;lt;tt&amp;gt;atdm:weapon_base&amp;lt;/tt&amp;gt; carries some editor_* spawnargs which explain the various options you have to &amp;quot;configure&amp;quot; your weapon (like whether ammunition is required, or whether it is a toggleable weapon, or the scriptobject, etc.).&lt;br /&gt;
&lt;br /&gt;
Let&#039;s assume you set up a weapon with ammunition (i.e. the weapon carries the spawanrg &amp;lt;tt&amp;gt;&amp;quot;ammo_required&amp;quot; &amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt;). In this case you&#039;ll need a couple of additional entityDefs, namely &#039;&#039;ammo&#039;&#039;, &#039;&#039;attachment&#039;&#039;, &#039;&#039;projectile&#039;&#039; and &#039;&#039;result&#039;&#039; entities.&lt;br /&gt;
&lt;br /&gt;
=== Ammo ===&lt;br /&gt;
For weapons requiring ammunition, you&#039;ll need to add the &amp;lt;tt&amp;gt;def_ammo&amp;lt;/tt&amp;gt; spawnarg, which should point to an entityDef inheriting from &amp;lt;tt&amp;gt;atdm:ammo_base&amp;lt;/tt&amp;gt;. This links the weapon to the correct ammunition entityDef. To link back the ammo to the weapon, add the &amp;lt;tt&amp;gt;inv_weapon_name&amp;lt;/tt&amp;gt; spawnarg to the ammo entityDef pointing back to the weapon (e.g. &amp;quot;broadhead&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The Weapon Attachment === &lt;br /&gt;
Each arrow weapon in TDM needs an attachment entity for display during the bow animations. For instance, whenever the player selects the water arrow weapon and starts to draw the bow string, the entity of type &amp;lt;tt&amp;gt;atdm:attachment_waterarrow&amp;lt;/tt&amp;gt; is attached to the bow viewmodel. The name of the attachment entityDef is defined on the weapon with the spawnarg &amp;lt;tt&amp;gt;def_attach&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== The Projectile ===&lt;br /&gt;
Once the player releases the bow string, the projectile is fired. The &amp;lt;tt&amp;gt;def_projectile&amp;lt;/tt&amp;gt; spawnarg on the weapon points to the desired projectile entityDef.&lt;br /&gt;
&lt;br /&gt;
=== The Projectile Result ===&lt;br /&gt;
The launched projectile will impact somewhere, and this is the point in space where the so-called &#039;&#039;projectile result&#039;&#039; will be spawned. The projectile entityDef holds the spawnarg &amp;lt;tt&amp;gt;def_result&amp;lt;/tt&amp;gt; pointing to the correct result entityDef. The result in turn has to implement the correct script methods which are called by the projectile collision code in the SDK. These script methods on the result&#039;s scriptobject will implement the actual behaviour of the arrow (like playing sounds, deploying ropes, etc.).&lt;br /&gt;
&lt;br /&gt;
== How to make inventory items to interact with world objects ==&lt;br /&gt;
Kingsal has reported how to use inventory items on items frob-highlighted in the game world. The report is here: http://forums.thedarkmod.com/topic/18505-script-for-placing-the-right-object-in-the-right-place/?p=397333&lt;br /&gt;
&lt;br /&gt;
Consider this scenario:&lt;br /&gt;
* The gamer knows that somewhere in the map, there&#039;s a skull that must be placed on an altar.&lt;br /&gt;
* When the skull is found, frobbing it puts it into the inventory.&lt;br /&gt;
* Later, either:&lt;br /&gt;
** frob the pedestal altar, which appears to instantly transfer the skull from inventory to atop the altar. (Behind the scene, there are 2 skulls involved: the custom entity dropped from inventory, and a hidden one prepositioned on the altar.)&lt;br /&gt;
** drop the skull into your hands (R key), move it above the altar, and drop it there (R key again). (Altar remains frobbable after this, but frobbing does nothing.)&lt;br /&gt;
&lt;br /&gt;
This requires a custom set up for an inventory item you would like the player to use_on_frob when highlighting an object in the world. (While the scenario in this example is placing a skull on a pedestal, there are many different uses/scenarios.  There are also several ways to do this. Check out http://wiki.thedarkmod.com/index.php?title=Tool,_Key,_custom_used_by_inventory_actions for another method.)&lt;br /&gt;
 &lt;br /&gt;
You will need the def files and script file below.&lt;br /&gt;
&lt;br /&gt;
This assumes you have basic knowledge of creating .def files and .scripts. If not. PM me (kingsal) for help.&lt;br /&gt;
&lt;br /&gt;
===Def File===&lt;br /&gt;
Place this in your def file.&lt;br /&gt;
&lt;br /&gt;
 //++++++++++++++++++++++++Use Inventory Item++++++++++++++++++++++++++++++&lt;br /&gt;
 // The inventory_use_item&#039;s &amp;quot;inv_name&amp;quot; spawnarg MUST match the &amp;quot;item_name&amp;quot; spawnarg on the Altar.&lt;br /&gt;
 &lt;br /&gt;
 entityDef inventory__use_item //Change the name if you&#039;d like&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;inherit&amp;quot;							&amp;quot;atdm:moveable_small_base&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 	//editor junk&lt;br /&gt;
 		&amp;quot;editor_displayFolder&amp;quot;			&amp;quot;interactables/special&amp;quot; // Change to a location you&#039;d like it to show up in DR.&lt;br /&gt;
 		&amp;quot;editor_usage&amp;quot;					&amp;quot;Custom use-on-frob item&amp;quot;&lt;br /&gt;
 		&amp;quot;editor_color&amp;quot;					&amp;quot;0.922 0.039 0.855&amp;quot; &lt;br /&gt;
 		&lt;br /&gt;
 	//Model&lt;br /&gt;
 		&amp;quot;model&amp;quot;							&amp;quot;models/darkmod/graveyard/bones/skull2.ase&amp;quot; // Change to appropriate model. Should have a collision mesh.&lt;br /&gt;
 		&amp;quot;mass&amp;quot;							&amp;quot;10&amp;quot; // If item can be dropped, Set this higher to avoid the player from lobbing it too far.&lt;br /&gt;
 		&amp;quot;friction&amp;quot;						&amp;quot;0.7&amp;quot;&lt;br /&gt;
 		&amp;quot;solid&amp;quot;							&amp;quot;0&amp;quot;&lt;br /&gt;
 	&lt;br /&gt;
 	//Inventory stuff&lt;br /&gt;
 		&amp;quot;inv_name&amp;quot;            			                &amp;quot;custom item name&amp;quot; //Rename it something fun! MUST match the name on the Altar.&lt;br /&gt;
 		&amp;quot;inv_icon&amp;quot;			                        &amp;quot;guis\assets\hud\inventory_icons\skull_inv_icon&amp;quot; // GUI icon.&lt;br /&gt;
 		&amp;quot;inv_droppable&amp;quot;         		                &amp;quot;1&amp;quot; //Allows the player to drop this. Beware they might drop it someplace where it can&#039;t be retrieved. &lt;br /&gt;
 		&amp;quot;inv_category&amp;quot;					        &amp;quot;Custom Items&amp;quot; //Rename this to the appropiate category.&lt;br /&gt;
 		&amp;quot;inv_stackable&amp;quot;						&amp;quot;1&amp;quot; //This is only needed if their are multiple of these items that you want to stack in the inventory.&lt;br /&gt;
 		&lt;br /&gt;
 	//sound&lt;br /&gt;
 		&amp;quot;snd_acquire&amp;quot;					&amp;quot;tool_pickup&amp;quot;&lt;br /&gt;
 		&amp;quot;snd_bounce&amp;quot;					&amp;quot;tdm_impact_metal_med_lesser&amp;quot;&lt;br /&gt;
 		&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //++++++++++++++++++++++++Altar++++++++++++++++++++++++++++++&lt;br /&gt;
 &lt;br /&gt;
 entityDef use_item_altar //Change the name if you&#039;d like&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;inherit&amp;quot;					        &amp;quot;atdm:entity_base&amp;quot;&lt;br /&gt;
 	&amp;quot;spawnclass&amp;quot;						&amp;quot;idStaticEntity&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 	//editor junk&lt;br /&gt;
 		&amp;quot;editor_displayFolder&amp;quot;			        &amp;quot;interactables/special&amp;quot; // Change to a location you&#039;d like it to show up in DR.&lt;br /&gt;
 		&amp;quot;editor_usage&amp;quot;					&amp;quot;Altar for placing inventory_use_items&amp;quot;&lt;br /&gt;
 		&amp;quot;editor_color&amp;quot;					&amp;quot;0.922 0.039 0.855&amp;quot;&lt;br /&gt;
 		&lt;br /&gt;
 	//Model&lt;br /&gt;
 		&amp;quot;model&amp;quot;							&amp;quot;models/darkmod/furniture/tables/builder_pedestal01.lwo&amp;quot; //Change to appropriate model&lt;br /&gt;
 		&amp;quot;solid&amp;quot;							&amp;quot;1&amp;quot; //Must be solid&lt;br /&gt;
 &lt;br /&gt;
 	//Interaction&lt;br /&gt;
 		&amp;quot;frobable&amp;quot;						&amp;quot;1&amp;quot;&lt;br /&gt;
 		&amp;quot;frob_action_script&amp;quot;			                &amp;quot;use_altar&amp;quot;	&lt;br /&gt;
 		&amp;quot;item_name&amp;quot;						&amp;quot;custom item name&amp;quot; //This must match the inv_name spawnarg of the custom item&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Script===&lt;br /&gt;
This is the script that goes in your mymap.script. Or fms/scripts which requires adding the script name to your tdm_custom_script file.&lt;br /&gt;
&lt;br /&gt;
 /////////// EVENT SCRIPTS //////////////&lt;br /&gt;
 //Place this in your fms/maps/ as a mymapname.script.&lt;br /&gt;
 void use_altar(entity altar)&lt;br /&gt;
 {&lt;br /&gt;
 		&lt;br /&gt;
     entity curr_item = $player1.getCurInvItemEntity();&lt;br /&gt;
     if ($player1.getCurInvItemName() == altar.getKey(&amp;quot;item_name&amp;quot;))&lt;br /&gt;
 		{&lt;br /&gt;
 			$player1.changeInvItemCount(curr_item.getKey(&amp;quot;inv_name&amp;quot;), curr_item.getKey(&amp;quot;inv_category&amp;quot;), -1); //Removes item count by one.&lt;br /&gt;
 			altar.activateTargets( $player1 ); //Activates the altar&#039;s targets. &lt;br /&gt;
 			altar.setFrobable( 0 ); //Sets to none frobable. One time use. REMOVE THIS TO MAKE RE-USABLE.&lt;br /&gt;
 			altar.startSoundShader (&amp;quot;mage_fireball_impact&amp;quot;, SND_CHANNEL_VOICE ); //Play a sound you like!&lt;br /&gt;
 			sys.wait( 1 );&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Set-up===&lt;br /&gt;
&lt;br /&gt;
By default the custom items can be found in DR under yourfms/interactables/special. Unless you changed the path&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Add the inventory_use_item and use_item_altar to your map. &lt;br /&gt;
&lt;br /&gt;
2. Be sure to change the &amp;quot;inv_name&amp;quot; spawnarg on the custom item and the &amp;quot;item_name&amp;quot; spawnarg on the altar. They must match to work.&lt;br /&gt;
&lt;br /&gt;
3. Place a func_static of the item&#039;s model on the altar and set spawnarg &amp;quot;hide 1&amp;quot;. Have the altar target the func_static and it will appear, giving the illusion it was placed there.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If you want skull-on-altar to satisfy an objective, additional coding and/or location-detection will need to be added.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Extra: Adding a Custom GUI===&lt;br /&gt;
Suppose you wanted to extend this example, to make the skull inventory icon pulse with color? You could do this with a custom GUI, explained in [[GUI Scripting: Inventory Icon Example]]. This also provides a inventory script object, that could serve as a template for use in other projects; it may be of more general use that the compass script object. Plus, more about using global and local GUI::Parameters in this context.&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34498</id>
		<title>Carleton Fonts</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34498"/>
		<updated>2026-05-26T16:15:33Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Improvements to English Carleton 24pt in 2026 */ mention ExportUnicodeFontToDoom3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep, 2025. The analysis here as of TDM 2.12 and for &amp;quot;english&amp;quot; (including European) unless indicated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== The Carleton Family in a Nutshell ==&lt;br /&gt;
Carleton is a squarish print-style serif font. The lower case letters look like smaller versions of the upper case letters, so this font can also be referred to as &amp;quot;Carleton Caps&amp;quot;, [[Fonts_Screenshots#Carleton_Caps_only | as in this screenshot]]. Within TDM, there are four members of the Carleton family:&lt;br /&gt;
* carleton&lt;br /&gt;
* carleton_bold&lt;br /&gt;
* carleton_condensed (i.e., more tightly spaced in the horizontal dimension)&lt;br /&gt;
* carleton_glow&lt;br /&gt;
&lt;br /&gt;
Base-font carleton is used extensively throughout the main menu system. It may appear by itself, in black, for non-interactive subheadings and descriptions. (In a few places, like the &amp;quot;Downloadable Missions&amp;quot; title, a &amp;quot;headline&amp;quot; style using carleton_bold is deployed.)&lt;br /&gt;
&lt;br /&gt;
Or it may participate in dynamic text highlighting for user interactions, using overlay combinations like:&lt;br /&gt;
* carleton and carleton_glow&lt;br /&gt;
* carleton_bold and carleton_glow, for titles and headlines&lt;br /&gt;
* carleton, carleton_bold and carleton_glow, for certain &amp;quot;new game&amp;quot; buttons&lt;br /&gt;
&lt;br /&gt;
For FMs, there are standard readable sheet and scroll prefabs and sign text decals that use carleton, just by itself. The style of this font makes it a good choices for notices; between title and body, and upper and lower case, there can appear to be four different sizes of &amp;quot;capital&amp;quot; letters.&lt;br /&gt;
&lt;br /&gt;
All these usages predominately involve mid-sized and large text (e.g., GUI textscale 0.24 and up), that draws on the 24pt and 48pt size bitmaps. The &amp;quot;english&amp;quot; form of 24pt and 48pt both offer TDM’s full European glyph set. Glyphs are stylishly done for 48pt and not bad for ASCII characters of 24pt; the accented characters of 24pt are rough-hewn and merely adequate.&lt;br /&gt;
&lt;br /&gt;
While 48pt carleton_bold actually has bold (thickened) glyphs, 24pt carleton_bold glyphs are merely copies of regular 24pt carleton, so not bold.&lt;br /&gt;
&lt;br /&gt;
== File Naming and Content Sharing across the Carleton Family ==&lt;br /&gt;
The four members share bitmap naming. For instance, if you examine any of the 4 derived fontimage_24.ref files, you see references like:&lt;br /&gt;
&lt;br /&gt;
 shaderName fonts/Carleton_0_24.tga&lt;br /&gt;
&lt;br /&gt;
and it will say &amp;quot;Carleton_...&amp;quot; in all cases, not for instance &amp;quot;Carleton_condensed_...&amp;quot;. (As is typically the case in TDM, a shader filetype of .tga actually resolves to .dds, and shaderName is case-insensitive; the actual filenames are all lower-case.)&lt;br /&gt;
&lt;br /&gt;
There is also file content sharing (i.e., duplication). As shown in the tables below, the sharing pattern is more complex, and arguably incoherent. This may reflect errors in distribution, or perhaps some member/size combinations not really being used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DAT Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_12.dat || SAME || SAME || SAME || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_24.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_48.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The fontimage_24.dat files shown as SAME were updated for 2.15.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 &amp;amp; 2.15 English Carleton Family DDS Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_12.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_24.dds [Added 2.15] || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || n/a || &#039;&#039;&#039;SAME&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_3_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_4_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_5_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_6_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_7_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The carleton_*_24 DDS files were updated for 2.15 (except for carleton_condensed).&lt;br /&gt;
&lt;br /&gt;
== Bitmap File Sizes across the Carleton Family ==&lt;br /&gt;
The english 24pt DDS files &#039;&#039;&#039;shown in bold above&#039;&#039;&#039; have 512x512 bitmaps. All other files (including those for Russian, not in the table) have the default 256x256 bitmaps. This includes carleton_glow unless bolded. Observe that it is not required that the base &amp;amp; glow have identical bitmap sizes (although that is helpful to allow GIMP layering).&lt;br /&gt;
&lt;br /&gt;
See also [[Refont#Carleton_Family]] for corresponding refont commands.&lt;br /&gt;
&lt;br /&gt;
== Anomalies of Carleton and Carleton Bold 24pt Glyphs ==&lt;br /&gt;
As mentioned above, 24pt Carleton Bold is identical to 24pt Carleton; so not really bold. The remaining discussion applies equally to 24pt Carleton and Carleton Bold.&lt;br /&gt;
&lt;br /&gt;
Evidently, the original generation of the 24pt size, into two 256x256 bitmaps &amp;quot;carleton_0_24.dds&amp;quot; and &amp;quot;carleton_1_24.dds&amp;quot;, contained only ASCII alphanumeric characters and limited punctuation, with no accented/Latin-1 glyphs. Later, these bitmaps were scaled up to 512x512 bitmaps, to ease drawing in the missing characters by hand. The resulting new characters are coarser than the generated and scaled ASCII characters.&lt;br /&gt;
&lt;br /&gt;
You can see this aspects in the main menu, under Settings/Video/Language, where, in the list of 16 languages, accented letters are thicker.&lt;br /&gt;
&lt;br /&gt;
Also, if viewed in GIMP, the white characters have a faint black border, not seen elsewhere (e.g., in the 48pt bitmaps). This is true of both scaled-up ASCII and drawn Latin-1 characters, though far more prominent in the latter. However, TDM&#039;s monochrome, usually black rendering (defined by forecolor in the GUI) obscures the presence of this border effect. The purpose for it is discussed next.&lt;br /&gt;
&lt;br /&gt;
== Carleton When Toggling Choices Within a Submenu ==&lt;br /&gt;
Throughout Setting submenus, the Carleton 24pt font is used within option lists. More generally, this presentation style is used for row items within lists.&lt;br /&gt;
&lt;br /&gt;
For example, under Settings/Audio/, there is a row with &amp;quot;Main Menu Music&amp;quot; and a choice of &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot;. This is implemented by a standardized choiceDef.&lt;br /&gt;
* On the left, the &amp;quot;Main Menu Music&amp;quot; phrase is carleton, rendered in translucent black (with alpha 0.85) and a textscale of 0.24 (which draws from 24pt).&lt;br /&gt;
* On the right, the &amp;quot;On&amp;quot; and &amp;quot;Off&amp;quot; text by default is the same, but slightly smaller at textscale 0.22 (also from 24pt).&lt;br /&gt;
&lt;br /&gt;
When you mouse-hover, the current-value text turns momentarily white with a faint black border. The white is set, not by the GUI, but by the engine&#039;s &amp;quot;hoverColor&amp;quot;, which is opaque white (1,1,1,1). The black border improves readability against the parchment background. It is due to the &amp;quot;anomolous&amp;quot; black border baked into the font, as discussed above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside: There is a GUI scripting text attribute &amp;quot;shadow&amp;quot;, to draw black drop shadows (offset equally down and right) under font characters. This is not used in the main menu system. Within the engine, &amp;quot;shadow&amp;quot; invokes a &amp;quot;textShadow&amp;quot; boolean, false by default.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improvements to English Carleton 24pt in 2026 ==&lt;br /&gt;
&#039;&#039;This summarizes what is described in more detail  [https://forums.thedarkmod.com/index.php?/topic/23109-improvements-to-carleton-24pt-font here]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A number of problems needed correcting:&lt;br /&gt;
* some missing or bad glyphs&lt;br /&gt;
* glyphs lacking their accents&lt;br /&gt;
* many &amp;quot;ugly&amp;quot; badly-drawn glyphs&lt;br /&gt;
* suboptimal vertical/horizontal placement&lt;br /&gt;
* clipping&lt;br /&gt;
&lt;br /&gt;
For TDM 2.15, all 256 of TDM&#039;s English/European codepoints, including accents, were implemented,. Ugly glyphs were replaced by fresh ones regenerated from TTF; dev tools were updated to facilitate that (e.g., hirez, bolding, and inPlace options added to [[ExportUnicodeFontToDoom3]]). Placement/spacing, and clipping were generally improved, involving both bitmap and DAT tweaks.&lt;br /&gt;
&lt;br /&gt;
The new system (after a false start) uses three 512x512 bitmaps instead of two.&lt;br /&gt;
&lt;br /&gt;
The previous custom carleton_glow 24pt set of bitmaps with smudged glyphs is no longer used. Instead, a copy of carleton 24pt bitmaps is used for carleton_glow (as well as carleton_bold per previous). Thus, the &amp;quot;glow&amp;quot; relies &#039;&#039;solely&#039;&#039; on the main-menu&#039;s simulated &amp;quot;drop shadow&amp;quot; effect (due to overlapped offset GUI defWindows).&lt;br /&gt;
&lt;br /&gt;
Carleton_condensed 24pt font was considered deprecated and not touched by this redo.&lt;br /&gt;
&lt;br /&gt;
== Carleton &amp;amp; Carleton Glow in the Main Menu System ==&lt;br /&gt;
This pairing occurs basically everywhere thorough the main menu system. In a typical presentation, against a parchment background, major menu-page-selection keywords are by default rendered in black with no glow. But they will turn white with blood-red glow highlighting when either selected (as if a tab for the current page) or moused-over. This will also play a sound and often show a text hint.&lt;br /&gt;
&lt;br /&gt;
=== Example Implementation ===&lt;br /&gt;
TDM uses a number of different &amp;quot;button&amp;quot; (i.e., selectable text) styles, driven by #defines in \tdm_gui01\guis\mainmenu_defs.gui. For example, those of the main menu home page use:&lt;br /&gt;
 #define MM_NORMAL_FONT		&amp;quot;fonts/carleton&amp;quot;&lt;br /&gt;
 #define MM_GLOW_FONT		&amp;quot;fonts/carleton_glow&amp;quot;&lt;br /&gt;
 #define MM_FONTSCALE		0.33&lt;br /&gt;
 #define MM_BUTTON_HEIGHT	18&lt;br /&gt;
&lt;br /&gt;
For colors, the text is black initially, with glow highlighting invisible. Upon mouse hover, the text becomes white, and the glow red. RGBA colors are defined for this, in vector and string (with S prefix) forms:&lt;br /&gt;
&lt;br /&gt;
 #define NORMAL_COLOR		0,0,0,0.90 // black, not entirely opaque&lt;br /&gt;
 #define SNORMAL_COLOR		&amp;quot;0 0 0 0.90&amp;quot;&lt;br /&gt;
 #define INVISIBLE		0, 0, 0, 0&lt;br /&gt;
 #define SINVISIBLE		&amp;quot;0 0 0 0&amp;quot;&lt;br /&gt;
 #define GLOW_WHITE_COLOR 	0.98,0.93,0.82,1&lt;br /&gt;
 #define SGLOW_WHITE_COLOR 	&amp;quot;0.98 0.93 0.82 1&amp;quot;&lt;br /&gt;
 #define GLOW_RED_COLOR		0.6,0.1,0.1,0.5 // semi-transparent&lt;br /&gt;
 #define SGLOW_RED_COLOR		&amp;quot;0.6 0.1 0.1 0.5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To be specific, consider a simplified imaginary main menu &amp;quot;button&amp;quot; we&#039;ll call &amp;quot;Simple&amp;quot;. (We&#039;re avoiding the layout calculations and other complications of a real button.) For our button, there are 3 aligned windowDefs in mainmenu_defs.gui, with these locations:&lt;br /&gt;
&lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON		rect	40, 445, 160, MM_BUTTON_HEIGHT * 1.3 &lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON_GLOW	rect	41, 446, 159, MM_BUTTON_HEIGHT * 1.3 - 1&lt;br /&gt;
 #define MM_POS_SIMPLE_ACTION		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
&lt;br /&gt;
The windowDefs positioned by these will also do the following:&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON: set the default appearance of the button text.&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON_GLOW: set the default appearance of the glow &amp;quot;highlight&amp;quot; text. Note this text is offset down and to the right by one pixel, compared to MM_POS_SIMPLE_BUTTON, to give the glow a &amp;quot;drop shadow&amp;quot; flavor. This is a frequent treatment, though in some cases only the right shift is done.&lt;br /&gt;
* MM_POS_SIMPLE_ACTION defines the mouse-over and mouse-selection dynamic behaviors. (Be aware that in some actual cases, this is combined into the first windowDef.)&lt;br /&gt;
&lt;br /&gt;
Then, besides the rects, the other attributes are defined for the two default windowDefs:&lt;br /&gt;
&lt;br /&gt;
 #define MM_FONT		font MM_NORMAL_FONT forecolor SNORMAL_COLOR textscale MM_FONTSCALE visible 1 textalign 1 // centered text&lt;br /&gt;
 #define MM_FONT_GLOW	font MM_GLOW_FONT forecolor INVISIBLE textscale MM_FONTSCALE visible 1 textalign 1&lt;br /&gt;
&lt;br /&gt;
(This is a simplification; for the main menu, MM_FONT&#039;s forecolor is #defined as INVISIBLE, then transitions to SNORMAL_COLOR in 1/2 second.)&lt;br /&gt;
&lt;br /&gt;
Within an overall page layout given by mainmenu_main.gui (but with our button shoved in), we might have nested:&lt;br /&gt;
&lt;br /&gt;
 windowDef SimpleTextH&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON_GLOW&lt;br /&gt;
 	MM_FONT_GLOW&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleText&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
 	MM_FONT&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleAction&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_ACTION&lt;br /&gt;
 	visible 	&amp;quot;gui::showSimple&amp;quot;	&lt;br /&gt;
 	float 		exit;&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseEnter&lt;br /&gt;
 	{&lt;br /&gt;
 		set &amp;quot;exit&amp;quot; 0;&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SNORMAL_COLOR SGLOW_WHITE_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SINVISIBLE SGLOW_RED_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_hover&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseExit&lt;br /&gt;
 	{&lt;br /&gt;
 		if (&amp;quot;exit&amp;quot; == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 			transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	onAction&lt;br /&gt;
 	{&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 &lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_select;&amp;quot;;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;onSimpleClicked&amp;quot;; // tell engine&lt;br /&gt;
 		&lt;br /&gt;
 		// And any additional commands here to switch states, resetTime, etc.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;H&amp;quot; (highlighted) windowDef is shown first, to draw behind the main text. onMouseEnter turns the text color from black to white in 50 milliseconds, and the glow from invisible to red. onMouseExit reverses that. onAction, when the button is mouse-selected, does the visual transition as mouse exit, but plays a different sound... and then does whatever &amp;quot;Simple&amp;quot; is supposed to do.&lt;br /&gt;
&lt;br /&gt;
== Carleton in Assets for FMs ==&lt;br /&gt;
In the tables below, most content has a textscale above 0.30, so draws from the 48pt size, &#039;&#039;&#039;indicated in bold&#039;&#039;&#039;. Otherwise, with a textscale of 0.16 to 0.30, from 24pt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Standard Readable Prefabs.&#039;&#039;&#039;&lt;br /&gt;
Within \tdm_prefabs01\xdata\prefabs.xd, &amp;quot;gui_page&amp;lt;n&amp;gt;&amp;quot; : &amp;quot;guis/readables/...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefab !! Title textscale !! Body textscale&lt;br /&gt;
|-&lt;br /&gt;
| .../books/...  none ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| .../scrolls/scroll_print_carleton.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || 0.28&lt;br /&gt;
|-&lt;br /&gt;
| .../sheets/sheet_paper_print_carleton_caps.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || &#039;&#039;&#039;0.31&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Sign Text.&#039;&#039;&#039; Within  \sign_text_decals\&lt;br /&gt;
|-&lt;br /&gt;
! Decal !! Textscale&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton.gui || &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton_small.gui || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carleton_condensed ==&lt;br /&gt;
As indicated above, Carleton_condensed DDS files are all 256x256.&lt;br /&gt;
&lt;br /&gt;
=== 12pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 12pt carleton_condensed (i.e., by specifying a GUI textscale of 0.15 or less). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Although 12pt carleton_condensed exists, its DAT file and single DDS file are mere placeholders that are identical to those of carleton 12pt.&lt;br /&gt;
&lt;br /&gt;
=== 48pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 48pt carleton_condensed (i.e., by specifying a GUI textscale of above 0.30). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The set of eight DDS files for 48pt carleton_condensed are identical to those for 48pt carleton. However, the DAT file has different content, though the difference is not due to horizontal &amp;quot;condensation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A one time, Tels drafted a Font Patcher command file for 48pt carleton_condensed, to reduce the width and xSkip of a selected subset of the carleton’s ASCII alphanumeric characters, presumably those most generously spaced to begin with. Evidently this was not finalized and deployed. Instead, inspection of the current 48pt DAT file for carleton_condensed suggests it was based on an early version of carleton, at a time when only some of the accented characters were implemented. (In particular, the DAT lacks re-implemented metrics for chars 128-139 and 145-155.)&lt;br /&gt;
&lt;br /&gt;
=== 24pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system uses this, but sparingly. Since a &amp;quot;glow&amp;quot; form of carleton_condensed was never developed, only regular non-glow uses are applicable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The contents of the DAT file and the set of two DDS files for 48pt carleton_condensed DIFFER from those for 48pt carleton.&lt;br /&gt;
&lt;br /&gt;
For the main menu system, where carleton was used for English-language players, the more-compact carleton_condensed was briefly considered as a method of accommodating European language translations. However, this would require dynamic language switching, and was found to be a hill too far, compared to just reducing Carleton’s textscale value.&lt;br /&gt;
&lt;br /&gt;
The actual limited uses in the main menu systems are seen as you survey the downloadable missions. Specifically, when looking at a candidate mission, the Mission Details page has a Description section, whose body text is carleton_condensed with textscale 0.17. Compared to other similar text section here (that use regular carleton with textscale 0.18), this is slightly smaller and condensed. Also, the Next &amp;gt;&amp;gt; and &amp;lt;&amp;lt; Prev buttons for cycling through screenshots have their button captions in this font (with textscale 0.23).&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* Character-set coverage of Carleton family is included in the the [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ summary analysis of 2.12 TDM fonts], based on applying &#039;refont -stats ...&#039; to all &#039;english&#039; DAT files.&lt;br /&gt;
&lt;br /&gt;
{{tutorial}} [[Category:Fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34497</id>
		<title>Carleton Fonts</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34497"/>
		<updated>2026-05-26T15:58:48Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* File Naming and Content Sharing across the Carleton Family */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep, 2025. The analysis here as of TDM 2.12 and for &amp;quot;english&amp;quot; (including European) unless indicated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== The Carleton Family in a Nutshell ==&lt;br /&gt;
Carleton is a squarish print-style serif font. The lower case letters look like smaller versions of the upper case letters, so this font can also be referred to as &amp;quot;Carleton Caps&amp;quot;, [[Fonts_Screenshots#Carleton_Caps_only | as in this screenshot]]. Within TDM, there are four members of the Carleton family:&lt;br /&gt;
* carleton&lt;br /&gt;
* carleton_bold&lt;br /&gt;
* carleton_condensed (i.e., more tightly spaced in the horizontal dimension)&lt;br /&gt;
* carleton_glow&lt;br /&gt;
&lt;br /&gt;
Base-font carleton is used extensively throughout the main menu system. It may appear by itself, in black, for non-interactive subheadings and descriptions. (In a few places, like the &amp;quot;Downloadable Missions&amp;quot; title, a &amp;quot;headline&amp;quot; style using carleton_bold is deployed.)&lt;br /&gt;
&lt;br /&gt;
Or it may participate in dynamic text highlighting for user interactions, using overlay combinations like:&lt;br /&gt;
* carleton and carleton_glow&lt;br /&gt;
* carleton_bold and carleton_glow, for titles and headlines&lt;br /&gt;
* carleton, carleton_bold and carleton_glow, for certain &amp;quot;new game&amp;quot; buttons&lt;br /&gt;
&lt;br /&gt;
For FMs, there are standard readable sheet and scroll prefabs and sign text decals that use carleton, just by itself. The style of this font makes it a good choices for notices; between title and body, and upper and lower case, there can appear to be four different sizes of &amp;quot;capital&amp;quot; letters.&lt;br /&gt;
&lt;br /&gt;
All these usages predominately involve mid-sized and large text (e.g., GUI textscale 0.24 and up), that draws on the 24pt and 48pt size bitmaps. The &amp;quot;english&amp;quot; form of 24pt and 48pt both offer TDM’s full European glyph set. Glyphs are stylishly done for 48pt and not bad for ASCII characters of 24pt; the accented characters of 24pt are rough-hewn and merely adequate.&lt;br /&gt;
&lt;br /&gt;
While 48pt carleton_bold actually has bold (thickened) glyphs, 24pt carleton_bold glyphs are merely copies of regular 24pt carleton, so not bold.&lt;br /&gt;
&lt;br /&gt;
== File Naming and Content Sharing across the Carleton Family ==&lt;br /&gt;
The four members share bitmap naming. For instance, if you examine any of the 4 derived fontimage_24.ref files, you see references like:&lt;br /&gt;
&lt;br /&gt;
 shaderName fonts/Carleton_0_24.tga&lt;br /&gt;
&lt;br /&gt;
and it will say &amp;quot;Carleton_...&amp;quot; in all cases, not for instance &amp;quot;Carleton_condensed_...&amp;quot;. (As is typically the case in TDM, a shader filetype of .tga actually resolves to .dds, and shaderName is case-insensitive; the actual filenames are all lower-case.)&lt;br /&gt;
&lt;br /&gt;
There is also file content sharing (i.e., duplication). As shown in the tables below, the sharing pattern is more complex, and arguably incoherent. This may reflect errors in distribution, or perhaps some member/size combinations not really being used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DAT Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_12.dat || SAME || SAME || SAME || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_24.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_48.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The fontimage_24.dat files shown as SAME were updated for 2.15.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 &amp;amp; 2.15 English Carleton Family DDS Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_12.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_24.dds [Added 2.15] || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || n/a || &#039;&#039;&#039;SAME&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_3_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_4_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_5_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_6_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_7_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The carleton_*_24 DDS files were updated for 2.15 (except for carleton_condensed).&lt;br /&gt;
&lt;br /&gt;
== Bitmap File Sizes across the Carleton Family ==&lt;br /&gt;
The english 24pt DDS files &#039;&#039;&#039;shown in bold above&#039;&#039;&#039; have 512x512 bitmaps. All other files (including those for Russian, not in the table) have the default 256x256 bitmaps. This includes carleton_glow unless bolded. Observe that it is not required that the base &amp;amp; glow have identical bitmap sizes (although that is helpful to allow GIMP layering).&lt;br /&gt;
&lt;br /&gt;
See also [[Refont#Carleton_Family]] for corresponding refont commands.&lt;br /&gt;
&lt;br /&gt;
== Anomalies of Carleton and Carleton Bold 24pt Glyphs ==&lt;br /&gt;
As mentioned above, 24pt Carleton Bold is identical to 24pt Carleton; so not really bold. The remaining discussion applies equally to 24pt Carleton and Carleton Bold.&lt;br /&gt;
&lt;br /&gt;
Evidently, the original generation of the 24pt size, into two 256x256 bitmaps &amp;quot;carleton_0_24.dds&amp;quot; and &amp;quot;carleton_1_24.dds&amp;quot;, contained only ASCII alphanumeric characters and limited punctuation, with no accented/Latin-1 glyphs. Later, these bitmaps were scaled up to 512x512 bitmaps, to ease drawing in the missing characters by hand. The resulting new characters are coarser than the generated and scaled ASCII characters.&lt;br /&gt;
&lt;br /&gt;
You can see this aspects in the main menu, under Settings/Video/Language, where, in the list of 16 languages, accented letters are thicker.&lt;br /&gt;
&lt;br /&gt;
Also, if viewed in GIMP, the white characters have a faint black border, not seen elsewhere (e.g., in the 48pt bitmaps). This is true of both scaled-up ASCII and drawn Latin-1 characters, though far more prominent in the latter. However, TDM&#039;s monochrome, usually black rendering (defined by forecolor in the GUI) obscures the presence of this border effect. The purpose for it is discussed next.&lt;br /&gt;
&lt;br /&gt;
== Carleton When Toggling Choices Within a Submenu ==&lt;br /&gt;
Throughout Setting submenus, the Carleton 24pt font is used within option lists. More generally, this presentation style is used for row items within lists.&lt;br /&gt;
&lt;br /&gt;
For example, under Settings/Audio/, there is a row with &amp;quot;Main Menu Music&amp;quot; and a choice of &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot;. This is implemented by a standardized choiceDef.&lt;br /&gt;
* On the left, the &amp;quot;Main Menu Music&amp;quot; phrase is carleton, rendered in translucent black (with alpha 0.85) and a textscale of 0.24 (which draws from 24pt).&lt;br /&gt;
* On the right, the &amp;quot;On&amp;quot; and &amp;quot;Off&amp;quot; text by default is the same, but slightly smaller at textscale 0.22 (also from 24pt).&lt;br /&gt;
&lt;br /&gt;
When you mouse-hover, the current-value text turns momentarily white with a faint black border. The white is set, not by the GUI, but by the engine&#039;s &amp;quot;hoverColor&amp;quot;, which is opaque white (1,1,1,1). The black border improves readability against the parchment background. It is due to the &amp;quot;anomolous&amp;quot; black border baked into the font, as discussed above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside: There is a GUI scripting text attribute &amp;quot;shadow&amp;quot;, to draw black drop shadows (offset equally down and right) under font characters. This is not used in the main menu system. Within the engine, &amp;quot;shadow&amp;quot; invokes a &amp;quot;textShadow&amp;quot; boolean, false by default.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improvements to English Carleton 24pt in 2026 ==&lt;br /&gt;
&#039;&#039;This summarizes what is described in more detail  [https://forums.thedarkmod.com/index.php?/topic/23109-improvements-to-carleton-24pt-font here]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A number of problems needed correcting:&lt;br /&gt;
* some missing or bad glyphs&lt;br /&gt;
* glyphs lacking their accents&lt;br /&gt;
* many &amp;quot;ugly&amp;quot; badly-drawn glyphs&lt;br /&gt;
* suboptimal vertical/horizontal placement&lt;br /&gt;
* clipping&lt;br /&gt;
&lt;br /&gt;
For TDM 2.15, all 256 of TDM&#039;s English/European codepoints, including accents, were implemented,. Ugly glyphs were replaced by fresh ones regenerated from TTF; dev tools were updated to facilitate that. Placement/spacing, and clipping were generally improved, involving both bitmap and DAT tweaks.&lt;br /&gt;
&lt;br /&gt;
The new system (after a false start) uses three 512x512 bitmaps instead of two.&lt;br /&gt;
&lt;br /&gt;
The previous custom carleton_glow 24pt set of bitmaps with smudged glyphs is no longer used. Instead, a copy of carleton 24pt bitmaps is used for carleton_glow (as well as carleton_bold per previous). Thus, the &amp;quot;glow&amp;quot; relies &#039;&#039;solely&#039;&#039; on the main-menu&#039;s simulated &amp;quot;drop shadow&amp;quot; effect (due to overlapped offset GUI defWindows).&lt;br /&gt;
&lt;br /&gt;
Carleton_condensed 24pt font was considered deprecated and not touched by this redo.&lt;br /&gt;
&lt;br /&gt;
== Carleton &amp;amp; Carleton Glow in the Main Menu System ==&lt;br /&gt;
This pairing occurs basically everywhere thorough the main menu system. In a typical presentation, against a parchment background, major menu-page-selection keywords are by default rendered in black with no glow. But they will turn white with blood-red glow highlighting when either selected (as if a tab for the current page) or moused-over. This will also play a sound and often show a text hint.&lt;br /&gt;
&lt;br /&gt;
=== Example Implementation ===&lt;br /&gt;
TDM uses a number of different &amp;quot;button&amp;quot; (i.e., selectable text) styles, driven by #defines in \tdm_gui01\guis\mainmenu_defs.gui. For example, those of the main menu home page use:&lt;br /&gt;
 #define MM_NORMAL_FONT		&amp;quot;fonts/carleton&amp;quot;&lt;br /&gt;
 #define MM_GLOW_FONT		&amp;quot;fonts/carleton_glow&amp;quot;&lt;br /&gt;
 #define MM_FONTSCALE		0.33&lt;br /&gt;
 #define MM_BUTTON_HEIGHT	18&lt;br /&gt;
&lt;br /&gt;
For colors, the text is black initially, with glow highlighting invisible. Upon mouse hover, the text becomes white, and the glow red. RGBA colors are defined for this, in vector and string (with S prefix) forms:&lt;br /&gt;
&lt;br /&gt;
 #define NORMAL_COLOR		0,0,0,0.90 // black, not entirely opaque&lt;br /&gt;
 #define SNORMAL_COLOR		&amp;quot;0 0 0 0.90&amp;quot;&lt;br /&gt;
 #define INVISIBLE		0, 0, 0, 0&lt;br /&gt;
 #define SINVISIBLE		&amp;quot;0 0 0 0&amp;quot;&lt;br /&gt;
 #define GLOW_WHITE_COLOR 	0.98,0.93,0.82,1&lt;br /&gt;
 #define SGLOW_WHITE_COLOR 	&amp;quot;0.98 0.93 0.82 1&amp;quot;&lt;br /&gt;
 #define GLOW_RED_COLOR		0.6,0.1,0.1,0.5 // semi-transparent&lt;br /&gt;
 #define SGLOW_RED_COLOR		&amp;quot;0.6 0.1 0.1 0.5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To be specific, consider a simplified imaginary main menu &amp;quot;button&amp;quot; we&#039;ll call &amp;quot;Simple&amp;quot;. (We&#039;re avoiding the layout calculations and other complications of a real button.) For our button, there are 3 aligned windowDefs in mainmenu_defs.gui, with these locations:&lt;br /&gt;
&lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON		rect	40, 445, 160, MM_BUTTON_HEIGHT * 1.3 &lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON_GLOW	rect	41, 446, 159, MM_BUTTON_HEIGHT * 1.3 - 1&lt;br /&gt;
 #define MM_POS_SIMPLE_ACTION		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
&lt;br /&gt;
The windowDefs positioned by these will also do the following:&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON: set the default appearance of the button text.&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON_GLOW: set the default appearance of the glow &amp;quot;highlight&amp;quot; text. Note this text is offset down and to the right by one pixel, compared to MM_POS_SIMPLE_BUTTON, to give the glow a &amp;quot;drop shadow&amp;quot; flavor. This is a frequent treatment, though in some cases only the right shift is done.&lt;br /&gt;
* MM_POS_SIMPLE_ACTION defines the mouse-over and mouse-selection dynamic behaviors. (Be aware that in some actual cases, this is combined into the first windowDef.)&lt;br /&gt;
&lt;br /&gt;
Then, besides the rects, the other attributes are defined for the two default windowDefs:&lt;br /&gt;
&lt;br /&gt;
 #define MM_FONT		font MM_NORMAL_FONT forecolor SNORMAL_COLOR textscale MM_FONTSCALE visible 1 textalign 1 // centered text&lt;br /&gt;
 #define MM_FONT_GLOW	font MM_GLOW_FONT forecolor INVISIBLE textscale MM_FONTSCALE visible 1 textalign 1&lt;br /&gt;
&lt;br /&gt;
(This is a simplification; for the main menu, MM_FONT&#039;s forecolor is #defined as INVISIBLE, then transitions to SNORMAL_COLOR in 1/2 second.)&lt;br /&gt;
&lt;br /&gt;
Within an overall page layout given by mainmenu_main.gui (but with our button shoved in), we might have nested:&lt;br /&gt;
&lt;br /&gt;
 windowDef SimpleTextH&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON_GLOW&lt;br /&gt;
 	MM_FONT_GLOW&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleText&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
 	MM_FONT&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleAction&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_ACTION&lt;br /&gt;
 	visible 	&amp;quot;gui::showSimple&amp;quot;	&lt;br /&gt;
 	float 		exit;&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseEnter&lt;br /&gt;
 	{&lt;br /&gt;
 		set &amp;quot;exit&amp;quot; 0;&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SNORMAL_COLOR SGLOW_WHITE_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SINVISIBLE SGLOW_RED_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_hover&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseExit&lt;br /&gt;
 	{&lt;br /&gt;
 		if (&amp;quot;exit&amp;quot; == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 			transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	onAction&lt;br /&gt;
 	{&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 &lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_select;&amp;quot;;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;onSimpleClicked&amp;quot;; // tell engine&lt;br /&gt;
 		&lt;br /&gt;
 		// And any additional commands here to switch states, resetTime, etc.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;H&amp;quot; (highlighted) windowDef is shown first, to draw behind the main text. onMouseEnter turns the text color from black to white in 50 milliseconds, and the glow from invisible to red. onMouseExit reverses that. onAction, when the button is mouse-selected, does the visual transition as mouse exit, but plays a different sound... and then does whatever &amp;quot;Simple&amp;quot; is supposed to do.&lt;br /&gt;
&lt;br /&gt;
== Carleton in Assets for FMs ==&lt;br /&gt;
In the tables below, most content has a textscale above 0.30, so draws from the 48pt size, &#039;&#039;&#039;indicated in bold&#039;&#039;&#039;. Otherwise, with a textscale of 0.16 to 0.30, from 24pt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Standard Readable Prefabs.&#039;&#039;&#039;&lt;br /&gt;
Within \tdm_prefabs01\xdata\prefabs.xd, &amp;quot;gui_page&amp;lt;n&amp;gt;&amp;quot; : &amp;quot;guis/readables/...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefab !! Title textscale !! Body textscale&lt;br /&gt;
|-&lt;br /&gt;
| .../books/...  none ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| .../scrolls/scroll_print_carleton.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || 0.28&lt;br /&gt;
|-&lt;br /&gt;
| .../sheets/sheet_paper_print_carleton_caps.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || &#039;&#039;&#039;0.31&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Sign Text.&#039;&#039;&#039; Within  \sign_text_decals\&lt;br /&gt;
|-&lt;br /&gt;
! Decal !! Textscale&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton.gui || &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton_small.gui || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carleton_condensed ==&lt;br /&gt;
As indicated above, Carleton_condensed DDS files are all 256x256.&lt;br /&gt;
&lt;br /&gt;
=== 12pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 12pt carleton_condensed (i.e., by specifying a GUI textscale of 0.15 or less). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Although 12pt carleton_condensed exists, its DAT file and single DDS file are mere placeholders that are identical to those of carleton 12pt.&lt;br /&gt;
&lt;br /&gt;
=== 48pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 48pt carleton_condensed (i.e., by specifying a GUI textscale of above 0.30). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The set of eight DDS files for 48pt carleton_condensed are identical to those for 48pt carleton. However, the DAT file has different content, though the difference is not due to horizontal &amp;quot;condensation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A one time, Tels drafted a Font Patcher command file for 48pt carleton_condensed, to reduce the width and xSkip of a selected subset of the carleton’s ASCII alphanumeric characters, presumably those most generously spaced to begin with. Evidently this was not finalized and deployed. Instead, inspection of the current 48pt DAT file for carleton_condensed suggests it was based on an early version of carleton, at a time when only some of the accented characters were implemented. (In particular, the DAT lacks re-implemented metrics for chars 128-139 and 145-155.)&lt;br /&gt;
&lt;br /&gt;
=== 24pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system uses this, but sparingly. Since a &amp;quot;glow&amp;quot; form of carleton_condensed was never developed, only regular non-glow uses are applicable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The contents of the DAT file and the set of two DDS files for 48pt carleton_condensed DIFFER from those for 48pt carleton.&lt;br /&gt;
&lt;br /&gt;
For the main menu system, where carleton was used for English-language players, the more-compact carleton_condensed was briefly considered as a method of accommodating European language translations. However, this would require dynamic language switching, and was found to be a hill too far, compared to just reducing Carleton’s textscale value.&lt;br /&gt;
&lt;br /&gt;
The actual limited uses in the main menu systems are seen as you survey the downloadable missions. Specifically, when looking at a candidate mission, the Mission Details page has a Description section, whose body text is carleton_condensed with textscale 0.17. Compared to other similar text section here (that use regular carleton with textscale 0.18), this is slightly smaller and condensed. Also, the Next &amp;gt;&amp;gt; and &amp;lt;&amp;lt; Prev buttons for cycling through screenshots have their button captions in this font (with textscale 0.23).&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* Character-set coverage of Carleton family is included in the the [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ summary analysis of 2.12 TDM fonts], based on applying &#039;refont -stats ...&#039; to all &#039;english&#039; DAT files.&lt;br /&gt;
&lt;br /&gt;
{{tutorial}} [[Category:Fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34496</id>
		<title>Carleton Fonts</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34496"/>
		<updated>2026-05-26T15:25:57Z</updated>

		<summary type="html">&lt;p&gt;Geep: Changed tables, added Improvements to English Carleton 24pt in 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep, 2025. The analysis here as of TDM 2.12 and for &amp;quot;english&amp;quot; (including European) unless indicated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== The Carleton Family in a Nutshell ==&lt;br /&gt;
Carleton is a squarish print-style serif font. The lower case letters look like smaller versions of the upper case letters, so this font can also be referred to as &amp;quot;Carleton Caps&amp;quot;, [[Fonts_Screenshots#Carleton_Caps_only | as in this screenshot]]. Within TDM, there are four members of the Carleton family:&lt;br /&gt;
* carleton&lt;br /&gt;
* carleton_bold&lt;br /&gt;
* carleton_condensed (i.e., more tightly spaced in the horizontal dimension)&lt;br /&gt;
* carleton_glow&lt;br /&gt;
&lt;br /&gt;
Base-font carleton is used extensively throughout the main menu system. It may appear by itself, in black, for non-interactive subheadings and descriptions. (In a few places, like the &amp;quot;Downloadable Missions&amp;quot; title, a &amp;quot;headline&amp;quot; style using carleton_bold is deployed.)&lt;br /&gt;
&lt;br /&gt;
Or it may participate in dynamic text highlighting for user interactions, using overlay combinations like:&lt;br /&gt;
* carleton and carleton_glow&lt;br /&gt;
* carleton_bold and carleton_glow, for titles and headlines&lt;br /&gt;
* carleton, carleton_bold and carleton_glow, for certain &amp;quot;new game&amp;quot; buttons&lt;br /&gt;
&lt;br /&gt;
For FMs, there are standard readable sheet and scroll prefabs and sign text decals that use carleton, just by itself. The style of this font makes it a good choices for notices; between title and body, and upper and lower case, there can appear to be four different sizes of &amp;quot;capital&amp;quot; letters.&lt;br /&gt;
&lt;br /&gt;
All these usages predominately involve mid-sized and large text (e.g., GUI textscale 0.24 and up), that draws on the 24pt and 48pt size bitmaps. The &amp;quot;english&amp;quot; form of 24pt and 48pt both offer TDM’s full European glyph set. Glyphs are stylishly done for 48pt and not bad for ASCII characters of 24pt; the accented characters of 24pt are rough-hewn and merely adequate.&lt;br /&gt;
&lt;br /&gt;
While 48pt carleton_bold actually has bold (thickened) glyphs, 24pt carleton_bold glyphs are merely copies of regular 24pt carleton, so not bold.&lt;br /&gt;
&lt;br /&gt;
== File Naming and Content Sharing across the Carleton Family ==&lt;br /&gt;
The four members share bitmap naming. For instance, if you examine any of the 4 derived fontimage_24.ref files, you see references like:&lt;br /&gt;
&lt;br /&gt;
 shaderName fonts/Carleton_0_24.tga&lt;br /&gt;
&lt;br /&gt;
and it will say &amp;quot;Carleton_...&amp;quot; in all cases, not for instance &amp;quot;Carleton_condensed_...&amp;quot;. (As is typically the case in TDM, a shader filetype of .tga actually resolves to .dds, and shaderName is case-insensitive; the actual filenames are all lower-case.)&lt;br /&gt;
&lt;br /&gt;
There is also file content sharing (i.e., duplication). As shown in the tables below, the sharing pattern is more complex, and arguably incoherent. This may reflect errors in distribution, or perhaps some member/size combinations not really being used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DAT Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_12.dat || SAME || SAME || SAME || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_24.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_48.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The fontimage_24.dat files shown as &#039;&#039;&#039;SAME&#039;&#039;&#039; were updated for 2.15.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 &amp;amp; 2.15 English Carleton Family DDS Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_12.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || &#039;&#039;&#039;SAME&#039;&#039;&#039; [was unique before 2.15]&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_24.dds [Added 2.15] || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || n/a || &#039;&#039;&#039;SAME&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_3_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_4_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_5_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_6_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_7_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The carleton_*_24 DDS files were updated for 2.15 (except for carleton_condensed).&lt;br /&gt;
&lt;br /&gt;
== Bitmap File Sizes across the Carleton Family ==&lt;br /&gt;
The english 24pt DDS files &#039;&#039;&#039;shown in bold above&#039;&#039;&#039; have 512x512 bitmaps. All other files (including those for Russian, not in the table) have the default 256x256 bitmaps. This includes carleton_glow unless bolded. Observe that it is not required that the base &amp;amp; glow have identical bitmap sizes (although that is helpful to allow GIMP layering).&lt;br /&gt;
&lt;br /&gt;
See also [[Refont#Carleton_Family]] for corresponding refont commands.&lt;br /&gt;
&lt;br /&gt;
== Anomalies of Carleton and Carleton Bold 24pt Glyphs ==&lt;br /&gt;
As mentioned above, 24pt Carleton Bold is identical to 24pt Carleton; so not really bold. The remaining discussion applies equally to 24pt Carleton and Carleton Bold.&lt;br /&gt;
&lt;br /&gt;
Evidently, the original generation of the 24pt size, into two 256x256 bitmaps &amp;quot;carleton_0_24.dds&amp;quot; and &amp;quot;carleton_1_24.dds&amp;quot;, contained only ASCII alphanumeric characters and limited punctuation, with no accented/Latin-1 glyphs. Later, these bitmaps were scaled up to 512x512 bitmaps, to ease drawing in the missing characters by hand. The resulting new characters are coarser than the generated and scaled ASCII characters.&lt;br /&gt;
&lt;br /&gt;
You can see this aspects in the main menu, under Settings/Video/Language, where, in the list of 16 languages, accented letters are thicker.&lt;br /&gt;
&lt;br /&gt;
Also, if viewed in GIMP, the white characters have a faint black border, not seen elsewhere (e.g., in the 48pt bitmaps). This is true of both scaled-up ASCII and drawn Latin-1 characters, though far more prominent in the latter. However, TDM&#039;s monochrome, usually black rendering (defined by forecolor in the GUI) obscures the presence of this border effect. The purpose for it is discussed next.&lt;br /&gt;
&lt;br /&gt;
== Carleton When Toggling Choices Within a Submenu ==&lt;br /&gt;
Throughout Setting submenus, the Carleton 24pt font is used within option lists. More generally, this presentation style is used for row items within lists.&lt;br /&gt;
&lt;br /&gt;
For example, under Settings/Audio/, there is a row with &amp;quot;Main Menu Music&amp;quot; and a choice of &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot;. This is implemented by a standardized choiceDef.&lt;br /&gt;
* On the left, the &amp;quot;Main Menu Music&amp;quot; phrase is carleton, rendered in translucent black (with alpha 0.85) and a textscale of 0.24 (which draws from 24pt).&lt;br /&gt;
* On the right, the &amp;quot;On&amp;quot; and &amp;quot;Off&amp;quot; text by default is the same, but slightly smaller at textscale 0.22 (also from 24pt).&lt;br /&gt;
&lt;br /&gt;
When you mouse-hover, the current-value text turns momentarily white with a faint black border. The white is set, not by the GUI, but by the engine&#039;s &amp;quot;hoverColor&amp;quot;, which is opaque white (1,1,1,1). The black border improves readability against the parchment background. It is due to the &amp;quot;anomolous&amp;quot; black border baked into the font, as discussed above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside: There is a GUI scripting text attribute &amp;quot;shadow&amp;quot;, to draw black drop shadows (offset equally down and right) under font characters. This is not used in the main menu system. Within the engine, &amp;quot;shadow&amp;quot; invokes a &amp;quot;textShadow&amp;quot; boolean, false by default.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Improvements to English Carleton 24pt in 2026 ==&lt;br /&gt;
&#039;&#039;This summarizes what is described in more detail  [https://forums.thedarkmod.com/index.php?/topic/23109-improvements-to-carleton-24pt-font here]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A number of problems needed correcting:&lt;br /&gt;
* some missing or bad glyphs&lt;br /&gt;
* glyphs lacking their accents&lt;br /&gt;
* many &amp;quot;ugly&amp;quot; badly-drawn glyphs&lt;br /&gt;
* suboptimal vertical/horizontal placement&lt;br /&gt;
* clipping&lt;br /&gt;
&lt;br /&gt;
For TDM 2.15, all 256 of TDM&#039;s English/European codepoints, including accents, were implemented,. Ugly glyphs were replaced by fresh ones regenerated from TTF; dev tools were updated to facilitate that. Placement/spacing, and clipping were generally improved, involving both bitmap and DAT tweaks.&lt;br /&gt;
&lt;br /&gt;
The new system (after a false start) uses three 512x512 bitmaps instead of two.&lt;br /&gt;
&lt;br /&gt;
The previous custom carleton_glow 24pt set of bitmaps with smudged glyphs is no longer used. Instead, a copy of carleton 24pt bitmaps is used for carleton_glow (as well as carleton_bold per previous). Thus, the &amp;quot;glow&amp;quot; relies &#039;&#039;solely&#039;&#039; on the main-menu&#039;s simulated &amp;quot;drop shadow&amp;quot; effect (due to overlapped offset GUI defWindows).&lt;br /&gt;
&lt;br /&gt;
Carleton_condensed 24pt font was considered deprecated and not touched by this redo.&lt;br /&gt;
&lt;br /&gt;
== Carleton &amp;amp; Carleton Glow in the Main Menu System ==&lt;br /&gt;
This pairing occurs basically everywhere thorough the main menu system. In a typical presentation, against a parchment background, major menu-page-selection keywords are by default rendered in black with no glow. But they will turn white with blood-red glow highlighting when either selected (as if a tab for the current page) or moused-over. This will also play a sound and often show a text hint.&lt;br /&gt;
&lt;br /&gt;
=== Example Implementation ===&lt;br /&gt;
TDM uses a number of different &amp;quot;button&amp;quot; (i.e., selectable text) styles, driven by #defines in \tdm_gui01\guis\mainmenu_defs.gui. For example, those of the main menu home page use:&lt;br /&gt;
 #define MM_NORMAL_FONT		&amp;quot;fonts/carleton&amp;quot;&lt;br /&gt;
 #define MM_GLOW_FONT		&amp;quot;fonts/carleton_glow&amp;quot;&lt;br /&gt;
 #define MM_FONTSCALE		0.33&lt;br /&gt;
 #define MM_BUTTON_HEIGHT	18&lt;br /&gt;
&lt;br /&gt;
For colors, the text is black initially, with glow highlighting invisible. Upon mouse hover, the text becomes white, and the glow red. RGBA colors are defined for this, in vector and string (with S prefix) forms:&lt;br /&gt;
&lt;br /&gt;
 #define NORMAL_COLOR		0,0,0,0.90 // black, not entirely opaque&lt;br /&gt;
 #define SNORMAL_COLOR		&amp;quot;0 0 0 0.90&amp;quot;&lt;br /&gt;
 #define INVISIBLE		0, 0, 0, 0&lt;br /&gt;
 #define SINVISIBLE		&amp;quot;0 0 0 0&amp;quot;&lt;br /&gt;
 #define GLOW_WHITE_COLOR 	0.98,0.93,0.82,1&lt;br /&gt;
 #define SGLOW_WHITE_COLOR 	&amp;quot;0.98 0.93 0.82 1&amp;quot;&lt;br /&gt;
 #define GLOW_RED_COLOR		0.6,0.1,0.1,0.5 // semi-transparent&lt;br /&gt;
 #define SGLOW_RED_COLOR		&amp;quot;0.6 0.1 0.1 0.5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To be specific, consider a simplified imaginary main menu &amp;quot;button&amp;quot; we&#039;ll call &amp;quot;Simple&amp;quot;. (We&#039;re avoiding the layout calculations and other complications of a real button.) For our button, there are 3 aligned windowDefs in mainmenu_defs.gui, with these locations:&lt;br /&gt;
&lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON		rect	40, 445, 160, MM_BUTTON_HEIGHT * 1.3 &lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON_GLOW	rect	41, 446, 159, MM_BUTTON_HEIGHT * 1.3 - 1&lt;br /&gt;
 #define MM_POS_SIMPLE_ACTION		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
&lt;br /&gt;
The windowDefs positioned by these will also do the following:&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON: set the default appearance of the button text.&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON_GLOW: set the default appearance of the glow &amp;quot;highlight&amp;quot; text. Note this text is offset down and to the right by one pixel, compared to MM_POS_SIMPLE_BUTTON, to give the glow a &amp;quot;drop shadow&amp;quot; flavor. This is a frequent treatment, though in some cases only the right shift is done.&lt;br /&gt;
* MM_POS_SIMPLE_ACTION defines the mouse-over and mouse-selection dynamic behaviors. (Be aware that in some actual cases, this is combined into the first windowDef.)&lt;br /&gt;
&lt;br /&gt;
Then, besides the rects, the other attributes are defined for the two default windowDefs:&lt;br /&gt;
&lt;br /&gt;
 #define MM_FONT		font MM_NORMAL_FONT forecolor SNORMAL_COLOR textscale MM_FONTSCALE visible 1 textalign 1 // centered text&lt;br /&gt;
 #define MM_FONT_GLOW	font MM_GLOW_FONT forecolor INVISIBLE textscale MM_FONTSCALE visible 1 textalign 1&lt;br /&gt;
&lt;br /&gt;
(This is a simplification; for the main menu, MM_FONT&#039;s forecolor is #defined as INVISIBLE, then transitions to SNORMAL_COLOR in 1/2 second.)&lt;br /&gt;
&lt;br /&gt;
Within an overall page layout given by mainmenu_main.gui (but with our button shoved in), we might have nested:&lt;br /&gt;
&lt;br /&gt;
 windowDef SimpleTextH&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON_GLOW&lt;br /&gt;
 	MM_FONT_GLOW&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleText&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
 	MM_FONT&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleAction&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_ACTION&lt;br /&gt;
 	visible 	&amp;quot;gui::showSimple&amp;quot;	&lt;br /&gt;
 	float 		exit;&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseEnter&lt;br /&gt;
 	{&lt;br /&gt;
 		set &amp;quot;exit&amp;quot; 0;&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SNORMAL_COLOR SGLOW_WHITE_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SINVISIBLE SGLOW_RED_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_hover&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseExit&lt;br /&gt;
 	{&lt;br /&gt;
 		if (&amp;quot;exit&amp;quot; == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 			transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	onAction&lt;br /&gt;
 	{&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 &lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_select;&amp;quot;;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;onSimpleClicked&amp;quot;; // tell engine&lt;br /&gt;
 		&lt;br /&gt;
 		// And any additional commands here to switch states, resetTime, etc.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;H&amp;quot; (highlighted) windowDef is shown first, to draw behind the main text. onMouseEnter turns the text color from black to white in 50 milliseconds, and the glow from invisible to red. onMouseExit reverses that. onAction, when the button is mouse-selected, does the visual transition as mouse exit, but plays a different sound... and then does whatever &amp;quot;Simple&amp;quot; is supposed to do.&lt;br /&gt;
&lt;br /&gt;
== Carleton in Assets for FMs ==&lt;br /&gt;
In the tables below, most content has a textscale above 0.30, so draws from the 48pt size, &#039;&#039;&#039;indicated in bold&#039;&#039;&#039;. Otherwise, with a textscale of 0.16 to 0.30, from 24pt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Standard Readable Prefabs.&#039;&#039;&#039;&lt;br /&gt;
Within \tdm_prefabs01\xdata\prefabs.xd, &amp;quot;gui_page&amp;lt;n&amp;gt;&amp;quot; : &amp;quot;guis/readables/...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefab !! Title textscale !! Body textscale&lt;br /&gt;
|-&lt;br /&gt;
| .../books/...  none ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| .../scrolls/scroll_print_carleton.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || 0.28&lt;br /&gt;
|-&lt;br /&gt;
| .../sheets/sheet_paper_print_carleton_caps.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || &#039;&#039;&#039;0.31&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Sign Text.&#039;&#039;&#039; Within  \sign_text_decals\&lt;br /&gt;
|-&lt;br /&gt;
! Decal !! Textscale&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton.gui || &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton_small.gui || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carleton_condensed ==&lt;br /&gt;
As indicated above, Carleton_condensed DDS files are all 256x256.&lt;br /&gt;
&lt;br /&gt;
=== 12pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 12pt carleton_condensed (i.e., by specifying a GUI textscale of 0.15 or less). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Although 12pt carleton_condensed exists, its DAT file and single DDS file are mere placeholders that are identical to those of carleton 12pt.&lt;br /&gt;
&lt;br /&gt;
=== 48pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 48pt carleton_condensed (i.e., by specifying a GUI textscale of above 0.30). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The set of eight DDS files for 48pt carleton_condensed are identical to those for 48pt carleton. However, the DAT file has different content, though the difference is not due to horizontal &amp;quot;condensation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A one time, Tels drafted a Font Patcher command file for 48pt carleton_condensed, to reduce the width and xSkip of a selected subset of the carleton’s ASCII alphanumeric characters, presumably those most generously spaced to begin with. Evidently this was not finalized and deployed. Instead, inspection of the current 48pt DAT file for carleton_condensed suggests it was based on an early version of carleton, at a time when only some of the accented characters were implemented. (In particular, the DAT lacks re-implemented metrics for chars 128-139 and 145-155.)&lt;br /&gt;
&lt;br /&gt;
=== 24pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system uses this, but sparingly. Since a &amp;quot;glow&amp;quot; form of carleton_condensed was never developed, only regular non-glow uses are applicable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The contents of the DAT file and the set of two DDS files for 48pt carleton_condensed DIFFER from those for 48pt carleton.&lt;br /&gt;
&lt;br /&gt;
For the main menu system, where carleton was used for English-language players, the more-compact carleton_condensed was briefly considered as a method of accommodating European language translations. However, this would require dynamic language switching, and was found to be a hill too far, compared to just reducing Carleton’s textscale value.&lt;br /&gt;
&lt;br /&gt;
The actual limited uses in the main menu systems are seen as you survey the downloadable missions. Specifically, when looking at a candidate mission, the Mission Details page has a Description section, whose body text is carleton_condensed with textscale 0.17. Compared to other similar text section here (that use regular carleton with textscale 0.18), this is slightly smaller and condensed. Also, the Next &amp;gt;&amp;gt; and &amp;lt;&amp;lt; Prev buttons for cycling through screenshots have their button captions in this font (with textscale 0.23).&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* Character-set coverage of Carleton family is included in the the [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ summary analysis of 2.12 TDM fonts], based on applying &#039;refont -stats ...&#039; to all &#039;english&#039; DAT files.&lt;br /&gt;
&lt;br /&gt;
{{tutorial}} [[Category:Fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=The_Parts_and_Whole:_DR_Layers&amp;diff=34495</id>
		<title>The Parts and Whole: DR Layers</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=The_Parts_and_Whole:_DR_Layers&amp;diff=34495"/>
		<updated>2026-05-23T21:11:43Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */ add link to Layers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep 2022&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
In a hurry? See [https://www.darkradiant.net/userguide/#_using_layers Using Layers, in the DR User Manual].&lt;br /&gt;
&lt;br /&gt;
In what follows, LMB and RMB are abbreviations for left and right mouse buttons.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Layer&amp;quot; is any arbitrary collection of map objects; you define it by giving it a name (in the Layers viewer) and assigning each object to it (from the RMB menu). Once established, a Layer’s objects can be quickly made visible or not, or selected/deselected. An object can be assigned to multiple Layers. Unassigned objects are considered to be in the &amp;quot;Default&amp;quot; Layer. Any Layer can be set as the current &amp;quot;Active Layer&amp;quot;, to which newly-created objects are automatically assigned.&lt;br /&gt;
&lt;br /&gt;
Unlike Filters, the use of Layers requires active organizing by you, but provides powerful itemized control. Layers, once created, can persist throughout your project, available to use over and over again. Layers only affect DR, not your FM. Their data is stored in the map/&amp;lt;FM&amp;gt;.darkradiant file.&lt;br /&gt;
&lt;br /&gt;
==Typical Uses==&lt;br /&gt;
A Layer can be defined based upon any arbitrary criteria (e.g., location, machine parts, difficulty level, and so on). Thus, a Layer is not necessarily a &amp;quot;layer&amp;quot; in a spatial sense, although it can be used in that way; for example, to create a separate Layer for each floor of a mansion.&lt;br /&gt;
&lt;br /&gt;
One good use of a Layer is to hide geometric objects that are particularly &amp;quot;busy&amp;quot;, with a lot of wireframe lines that can obscure other objects in orthogonal views. Some examples:&lt;br /&gt;
* Fences and gates with brush bars&lt;br /&gt;
* Stairs&lt;br /&gt;
* Ground patches&lt;br /&gt;
&lt;br /&gt;
Another use is with complicated ensembles, like a machine with many static and moving parts. This is as an alternative - or even supplement - to putting the parts in an anonymous DR Group.&lt;br /&gt;
&lt;br /&gt;
Layer objects can be anything you can select in your map, including path corners, triggers, AI, visportals and so on. But consider: the visibility of some of these may be adequately managed by Filters alone.&lt;br /&gt;
&lt;br /&gt;
While an object can be assigned to multiple Layers, you can make it your policy to just assign each object to a single layer, if you wish.&lt;br /&gt;
&lt;br /&gt;
==Seeing Layers – the Layers Viewer==&lt;br /&gt;
You can bring up the &amp;quot;Layers&amp;quot; viewer by either:&lt;br /&gt;
* the top menu’s View/Layers&lt;br /&gt;
* keyboard shortcut Ctrl+L&lt;br /&gt;
&lt;br /&gt;
Once open, you’ll see the list of defined layers (only “Default” for a new project), where each row has the following items left to right:&lt;br /&gt;
* A button (with tooltip &amp;quot;Toggle layer visibility&amp;quot;) that show one of 4 states:&lt;br /&gt;
** Blue with checkmark icon = this Layer is currently visible&lt;br /&gt;
** Blue with star icon = this Layer is currently visible, and &amp;quot;active&amp;quot;, i.e., newly created (but not cloned) objects will be automatically assigned to it.&lt;br /&gt;
** Gray with no icon = this Layer is currently hidden&lt;br /&gt;
** Gray with star icon = this Layer is currently hidden, but will become the active Layer when &amp;quot;Show all&amp;quot; occurs.&lt;br /&gt;
* A slim color swatch. This is red for all Layers that the current selection(s) belong to; otherwise gray.  Tooltip: &amp;quot;Indicates whether anything among the current selection is part of this layer&amp;quot;.&lt;br /&gt;
* The name field, read-only. With tooltip: &amp;quot;Click to select all in layer, hold SHIFT to deselect, hold CTRL to set as active layer.&amp;quot; &lt;br /&gt;
* A button with a pencil icon (tootip: &amp;quot;Rename this layer&amp;quot;, to make the name field editable, except for &amp;quot;Default&amp;quot;.&lt;br /&gt;
* A button with a red X icon (tooltip: &amp;quot;Delete this layer&amp;quot;), except for &amp;quot;Default&amp;quot;. This just deletes the layer, not the objects. Objects that were only assigned to that deleted Layer will be reassigned to &amp;quot;Default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the bottom are 3 large buttons: &amp;quot;New&amp;quot; (with a plus sign), &amp;quot;Show all&amp;quot;, and &amp;quot;Hide all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visibility of Objects in a Layer==&lt;br /&gt;
Hiding an object by either a Filter or View’s Hide/Show will take priority over its visibility due to Layers. &lt;br /&gt;
An object can be a member of multiple Layers. Assuming it’s not hidden by Filter or Hide/Show, then if any of its Layers are visible, it is too.&lt;br /&gt;
&lt;br /&gt;
==Selecting All Objects in a Layer==&lt;br /&gt;
As just indicated, you can LMB on a Layer’s name field to select all its objects (or Shift+LMB to deselect). Alternatively, you can &amp;quot;Hide all&amp;quot; Layers, show the Layer of interest, then Edit/Invert selection (keyboard shortcut &amp;quot;I&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Thinking about Naming==&lt;br /&gt;
Before you start creating Layers, think a little about what naming convention you want to use. In the Layer viewer, the Layers will always be shown in alphabetical order, and that may be a consideration. Don’t obsess about this; you can always evolve names later. It is seldom useful to have the word &amp;quot;Layer&amp;quot; as part of a name.&lt;br /&gt;
&lt;br /&gt;
==Creating a Layer==&lt;br /&gt;
There are two ways to do this:&lt;br /&gt;
* In the Layers viewer, hit &amp;quot;New&amp;quot;&lt;br /&gt;
* In a map orthogonal view, RMB and &amp;quot;Create Layer…&amp;quot;. (Any map object selected before doing this makes no difference.)&lt;br /&gt;
&lt;br /&gt;
Either will bring up a dialog box to enter the Layer name. Subsequently, in the Layers viewer, the new row will appear in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
==Managing Layer Assignments of Existing Objects==&lt;br /&gt;
You can perform actions here with or without the Layers viewer open.&lt;br /&gt;
With one or more map objects selected, in the orthogonal view, use RMB. There are 3 menu items&lt;br /&gt;
* &amp;quot;Add to Layer   &amp;gt;&amp;quot;. Adds the object(s) to a specified layer, without affecting any of its other Layer assignments. So, if an object is already in &amp;quot;Default&amp;quot; and you assign it &amp;quot;Ground Floor&amp;quot;, it will then be in both Layers.&lt;br /&gt;
* &amp;quot;Move to Layer    &amp;gt;&amp;quot;. Adds the object(s) to a specified layer, and removes any of its assignments to other Layers (except for the one newly specified). So caution: any objects that previously were in multiple Layers are now not… if this is not what you want, take further action.&lt;br /&gt;
* &amp;quot;Remove from Layer   &amp;gt;&amp;quot;. Removes the object(s) from a specified layer, without affecting any of its other Layer assignments.&lt;br /&gt;
&lt;br /&gt;
For each of these, further mouse navigation will show the current layer names in a sub-menu. Choose one with LMB.&lt;br /&gt;
&lt;br /&gt;
==Auto-Assigning New Objects using the Active Layer==&lt;br /&gt;
When a new map object is created by copying (aka cloning) another object (e.g., with keyboard Space), it automatically gets the source object’s Layer assignment(s).&lt;br /&gt;
&lt;br /&gt;
If instead, a map object is created afresh, it is assigned to the current &amp;quot;active&amp;quot; (i.e., starred) Layer, which is usually &amp;quot;Default&amp;quot;, but not always. As discussed next, you can manipulate the star, to speed up assignment of multiple new objects to a particular layer.&lt;br /&gt;
&lt;br /&gt;
==Managing the Active (Starred) Layer==&lt;br /&gt;
In the Layers viewer, usually, the &amp;quot;Default&amp;quot; layer has the star, so that newly created map objects (except when copied) are auto-assigned to that layer.  You can move the star to a different layer. Quickest way:&lt;br /&gt;
&lt;br /&gt;
Ctrl+LMB on the name field you want to use for auto-assignment. The left button becomes starred.&lt;br /&gt;
Another easy way is by hiding all Layers except the one you want active:&lt;br /&gt;
# Press “Hide all”. Then all the layer row left buttons will be grayed out. All will be iconless, except &amp;quot;Default&amp;quot; will be starred.&lt;br /&gt;
# Hit the leftmost button in the row you want to use for auto-assignment. This Layer becomes visible, and its button will turn blue + starred.&lt;br /&gt;
# If you wish, make other rows individually visible, or hit “Show all”. The row starred in (2) remains starred.&lt;br /&gt;
&lt;br /&gt;
Choice of Active Layer is somewhat temporary, in that, if you hide it (either individually or by using &amp;quot;Hide all&amp;quot;), the star always reverts back to &amp;quot;Default&amp;quot;. However, the setting will persist across closing and opening the Layers viewer.&lt;br /&gt;
&lt;br /&gt;
==Custom DR Scripting of Layers==&lt;br /&gt;
If you need special functionality, DR offers Python scripting, and in particular for Layers exposes a GlobalLayerManager (including LayerVisitor) API with about 2 dozen function calls.  See [https://wiki.thedarkmod.com/index.php?title=DarkRadiant_Script_Reference the DarkRadiant Script Reference].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Layers]], for another take on this topic.&lt;br /&gt;
* [[The Parts and Whole: Overview]]&lt;br /&gt;
&lt;br /&gt;
{{Editing}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Layers&amp;diff=34494</id>
		<title>Layers</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Layers&amp;diff=34494"/>
		<updated>2026-05-23T21:09:57Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* See Also */ section added with link to DR Layers]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
[[Image:LayerInspector.jpg|thumb|368px|right|The layer inspector]]&lt;br /&gt;
The idea of layers to organize and simplify the users experience in editing media is not a new one. Most image editing software like Photoshop or The Gimp have this feature as well as several 3D modeling/mapping programs, including Dark Radiant, of course. If you are new to the concept of layers, just imagine them as a convenient way to hide elements that are currently in the way.&lt;br /&gt;
Please note that layers are only a tool to organize your map, they have no effect in the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Layers_enabled.jpg|368px|thumb|right|Without layers, working in this cluttered space would be a nightmare...]]&lt;br /&gt;
== The Layer Inspector ==&lt;br /&gt;
To use Dark Radiant&#039;s layer feature, open the layer inspector with the default shortcut {{Key|Ctrl+L}} or via the View-&amp;gt;Layers menu entry. If you haven&#039;t tinkered with layers yet you should see a list with exactly one entry called &#039;&#039;Default&#039;&#039; (unlike in the screenshot to the right). This is the layer that Dark Radiant automatically creates for you when you begin a new map and that every element belongs to unless you reassign it. It is in every map and can not be removed. &lt;br /&gt;
&lt;br /&gt;
In the layer inspector window you can do the following things:&lt;br /&gt;
* By clicking on the checkbox to the left of the layer name you can show/hide a layer respectively it&#039;s elements&lt;br /&gt;
* Clicking the layer name itself will select/deselect all members of that layer.&lt;br /&gt;
* The two buttons to the right of the layer name allow you to change it&#039;s name and to delete a layer (in that order). If you delete a layer, it&#039;s elements will not be removed from the map, but assigned to the Default layer instead.&lt;br /&gt;
* Click on &#039;&#039;New&#039;&#039; to create a new layer. You&#039;ll be prompted to give it a unique and - preferably - meaningful name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Layers_disabled.jpg|368px|thumb|right|...but with most of the layers hidden from view everything becomes clear again.]]&lt;br /&gt;
== How to Assign Elements to Layers ==&lt;br /&gt;
Select one or more elements and then right click anywhere in the orthogonal view. At the bottom of the context menu you should see the following items:&lt;br /&gt;
* &#039;&#039;&#039;Create Layer...&#039;&#039;&#039;: Same as &#039;&#039;New&#039;&#039; in the layer inspector.&lt;br /&gt;
* &#039;&#039;&#039;Add to Layer...&#039;&#039;&#039;: If you add something to a layer, it will become a member of this layer but also remains in the layers it already belongs to.&lt;br /&gt;
* &#039;&#039;&#039;Move to Layer...&#039;&#039;&#039;: Same as above, but the element will exclusively be a member of the newly assigned layer.&lt;br /&gt;
* &#039;&#039;&#039;Remove from Layer...&#039;&#039;&#039;: Removes an element from a layer. Note that the list shows all layers, not only those that the selected element is a member of.&lt;br /&gt;
&lt;br /&gt;
== Alternatives ==&lt;br /&gt;
There are no real alternatives to layers but three very convenient companions that you may use alongside:&lt;br /&gt;
* Select anything you don&#039;t want to see and press {{Key|H}} to hide it from view. Press {{Key|Shift+H}} to show it again. If you hide a selection then all the elements you hid previously will remain invisible.&lt;br /&gt;
* With [[Defining custom Filters in DarkRadiant|filters]] you can hide specific kinds of entities or textures by using [http://en.wikipedia.org/wiki/Regex regular expressions].&lt;br /&gt;
{{editing}}{{darkradiant}}&lt;br /&gt;
* With &amp;quot;Selection Focus&amp;quot; you can select some things, go into &amp;quot;Selection Focus&amp;quot; mode (Default key Ctrl-F, if you want to modify the key, it&#039;s named &amp;quot;ToggleSelectionFocus&amp;quot;) and then you can modify those things without being able to select and modify surrounding elements in the map, but the surroundings are still visible when &amp;quot;Selection focus&amp;quot; is active, while with filters and layers other things get hidden in order to focus on specific things.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
For another take on layers, see [[The_Parts_and_Whole:_DR_Layers]].&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34482</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34482"/>
		<updated>2026-05-11T19:14:12Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Coverage Expansion &amp;amp; Remaining Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Note that the language files (f.i. &#039;&#039;&#039;strings/german.lang&#039;&#039;&#039;) as well as the readables and the FM dictionariaries are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;Hungarian&#039;&#039;&#039;, &#039;&#039;&#039;Slovak&#039;&#039;&#039;, &#039;&#039;&#039;Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16] &lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1] (German, Dutch, Danish, Swedish, Portuguese, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6.&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints, and included in TDM 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34481</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34481"/>
		<updated>2026-05-11T19:08:28Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* all.lang */ Include gen_lang_plus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of either the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
or, more recently, the Windows C++ utility program &#039;&#039;&#039;gen_lang_plus&#039;&#039;&#039;. [[Gen_Lang_Programs]] has details of these.&lt;br /&gt;
&lt;br /&gt;
This process ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Note that the language files (f.i. &#039;&#039;&#039;strings/german.lang&#039;&#039;&#039;) as well as the readables and the FM dictionariaries are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;Hungarian&#039;&#039;&#039;, &#039;&#039;&#039;Slovak&#039;&#039;&#039;, &#039;&#039;&#039;Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16] &lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1] (German, Dutch, Danish, Swedish, Portuguese, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6.&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34480</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34480"/>
		<updated>2026-05-11T17:48:09Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Coverage Expansion &amp;amp; Remaining Limitations */ Update Mason 48pt, Carleton 24pt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
This ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Note that the language files (f.i. &#039;&#039;&#039;strings/german.lang&#039;&#039;&#039;) as well as the readables and the FM dictionariaries are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;Hungarian&#039;&#039;&#039;, &#039;&#039;&#039;Slovak&#039;&#039;&#039;, &#039;&#039;&#039;Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16] &lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1] (German, Dutch, Danish, Swedish, Portuguese, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6.&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14.&lt;br /&gt;
&lt;br /&gt;
In 2025, the Russian Mason 48pt font was improved and extended to cover all TDM Russian codepoints.&lt;br /&gt;
&lt;br /&gt;
In 2026, English/European Carleton 24pt, widely used in the main menu and also some readables, was improved to:&lt;br /&gt;
* extend coverage to all codepoints&lt;br /&gt;
* replace sloppy hand-drawn Latin-1 glyphs with fresh glyphs, most of them generated from TTF then edge-darkened&lt;br /&gt;
* for simplicity, re-implement the red &amp;quot;glow&amp;quot; effect as if a drop-shadow.&lt;br /&gt;
&lt;br /&gt;
Testing of this is planned with TDM 2.15 betas.&lt;br /&gt;
&lt;br /&gt;
Stone 48pt improvements are under consideration for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34479</id>
		<title>Carleton Fonts</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34479"/>
		<updated>2026-05-04T17:55:46Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* Carleton When Toggling Choices Within a Submenu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep, 2025. The analysis here as of TDM 2.12 and for &amp;quot;english&amp;quot; (including European) unless indicated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== The Carleton Family in a Nutshell ==&lt;br /&gt;
Carleton is a squarish print-style serif font. The lower case letters look like smaller versions of the upper case letters, so this font can also be referred to as &amp;quot;Carleton Caps&amp;quot;, [[Fonts_Screenshots#Carleton_Caps_only | as in this screenshot]]. Within TDM, there are four members of the Carleton family:&lt;br /&gt;
* carleton&lt;br /&gt;
* carleton_bold&lt;br /&gt;
* carleton_condensed (i.e., more tightly spaced in the horizontal dimension)&lt;br /&gt;
* carleton_glow&lt;br /&gt;
&lt;br /&gt;
Base-font carleton is used extensively throughout the main menu system. It may appear by itself, in black, for non-interactive subheadings and descriptions. (In a few places, like the &amp;quot;Downloadable Missions&amp;quot; title, a &amp;quot;headline&amp;quot; style using carleton_bold is deployed.)&lt;br /&gt;
&lt;br /&gt;
Or it may participate in dynamic text highlighting for user interactions, using overlay combinations like:&lt;br /&gt;
* carleton and carleton_glow&lt;br /&gt;
* carleton_bold and carleton_glow, for titles and headlines&lt;br /&gt;
* carleton, carleton_bold and carleton_glow, for certain &amp;quot;new game&amp;quot; buttons&lt;br /&gt;
&lt;br /&gt;
For FMs, there are standard readable sheet and scroll prefabs and sign text decals that use carleton, just by itself. The style of this font makes it a good choices for notices; between title and body, and upper and lower case, there can appear to be four different sizes of &amp;quot;capital&amp;quot; letters.&lt;br /&gt;
&lt;br /&gt;
All these usages predominately involve mid-sized and large text (e.g., GUI textscale 0.24 and up), that draws on the 24pt and 48pt size bitmaps. The &amp;quot;english&amp;quot; form of 24pt and 48pt both offer TDM’s full European glyph set. Glyphs are stylishly done for 48pt and not bad for ASCII characters of 24pt; the accented characters of 24pt are rough-hewn and merely adequate.&lt;br /&gt;
&lt;br /&gt;
While 48pt carleton_bold actually has bold (thickened) glyphs, 24pt carleton_bold glyphs are merely copies of regular 24pt carleton, so not bold.&lt;br /&gt;
&lt;br /&gt;
== File Naming and Content Sharing across the Carleton Family ==&lt;br /&gt;
The four members share bitmap naming. For instance, if you examine any of the 4 derived fontimage_24.ref files, you see references like:&lt;br /&gt;
&lt;br /&gt;
 shaderName fonts/Carleton_0_24.tga&lt;br /&gt;
&lt;br /&gt;
and it will say &amp;quot;Carleton_...&amp;quot; in all cases, not for instance &amp;quot;Carleton_condensed_...&amp;quot;. (As is typically the case in TDM, a shader filetype of .tga actually resolves to .dds, and shaderName is case-insensitive; the actual filenames are all lower-case.)&lt;br /&gt;
&lt;br /&gt;
There is also file content sharing (i.e., duplication). As shown in the tables below, the sharing pattern is more complex, and arguably incoherent. This may reflect errors in distribution, or perhaps some member/size combinations not really being used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DAT Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_12.dat || SAME || SAME || SAME || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_24.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_48.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DDS Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_12.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_3_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_4_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_5_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_6_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_7_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bitmap File Sizes across the Carleton Family ==&lt;br /&gt;
The english 24pt DDS files &#039;&#039;&#039;shown in bold above&#039;&#039;&#039; have 512x512 bitmaps. All other files (including those for Russian, not in the table) have the default 256x256 bitmaps. This includes carleton_glow. Observe that it is not required that the base &amp;amp; glow have identical bitmap sizes (although that is helpful to allow GIMP layering).&lt;br /&gt;
&lt;br /&gt;
See also [[Refont#Carleton_Family]] for corresponding refont commands.&lt;br /&gt;
&lt;br /&gt;
== Anomalies of Carleton and Carleton Bold 24pt Glyphs ==&lt;br /&gt;
As mentioned above, 24pt Carleton Bold is identical to 24pt Carleton; so not really bold. The remaining discussion applies equally to 24pt Carleton and Carleton Bold.&lt;br /&gt;
&lt;br /&gt;
Evidently, the original generation of the 24pt size, into two 256x256 bitmaps &amp;quot;carleton_0_24.dds&amp;quot; and &amp;quot;carleton_1_24.dds&amp;quot;, contained only ASCII alphanumeric characters and limited punctuation, with no accented/Latin-1 glyphs. Later, these bitmaps were scaled up to 512x512 bitmaps, to ease drawing in the missing characters by hand. The resulting new characters are coarser than the generated and scaled ASCII characters.&lt;br /&gt;
&lt;br /&gt;
You can see this aspects in the main menu, under Settings/Video/Language, where, in the list of 16 languages, accented letters are thicker.&lt;br /&gt;
&lt;br /&gt;
Also, if viewed in GIMP, the white characters have a faint black border, not seen elsewhere (e.g., in the 48pt bitmaps). This is true of both scaled-up ASCII and drawn Latin-1 characters, though far more prominent in the latter. However, TDM&#039;s monochrome, usually black rendering (defined by forecolor in the GUI) obscures the presence of this border effect. The purpose for it is discussed next.&lt;br /&gt;
&lt;br /&gt;
== Carleton When Toggling Choices Within a Submenu ==&lt;br /&gt;
Throughout Setting submenus, the Carleton 24pt font is used within option lists. More generally, this presentation style is used for row items within lists.&lt;br /&gt;
&lt;br /&gt;
For example, under Settings/Audio/, there is a row with &amp;quot;Main Menu Music&amp;quot; and a choice of &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot;. This is implemented by a standardized choiceDef.&lt;br /&gt;
* On the left, the &amp;quot;Main Menu Music&amp;quot; phrase is carleton, rendered in translucent black (with alpha 0.85) and a textscale of 0.24 (which draws from 24pt).&lt;br /&gt;
* On the right, the &amp;quot;On&amp;quot; and &amp;quot;Off&amp;quot; text by default is the same, but slightly smaller at textscale 0.22 (also from 24pt).&lt;br /&gt;
&lt;br /&gt;
When you mouse-hover, the current-value text turns momentarily white with a faint black border. The white is set, not by the GUI, but by the engine&#039;s &amp;quot;hoverColor&amp;quot;, which is opaque white (1,1,1,1). The black border improves readability against the parchment background. It is due to the &amp;quot;anomolous&amp;quot; black border baked into the font, as discussed above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside: There is a GUI scripting text attribute &amp;quot;shadow&amp;quot;, to draw black drop shadows (offset equally down and right) under font characters. This is not used in the main menu system. Within the engine, &amp;quot;shadow&amp;quot; invokes a &amp;quot;textShadow&amp;quot; boolean, false by default.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Carleton &amp;amp; Carleton Glow in the Main Menu System ==&lt;br /&gt;
This pairing occurs basically everywhere thorough the main menu system. In a typical presentation, against a parchment background, major menu-page-selection keywords are by default rendered in black with no glow. But they will turn white with blood-red glow highlighting when either selected (as if a tab for the current page) or moused-over. This will also play a sound and often show a text hint.&lt;br /&gt;
&lt;br /&gt;
=== Example Implementation ===&lt;br /&gt;
TDM uses a number of different &amp;quot;button&amp;quot; (i.e., selectable text) styles, driven by #defines in \tdm_gui01\guis\mainmenu_defs.gui. For example, those of the main menu home page use:&lt;br /&gt;
 #define MM_NORMAL_FONT		&amp;quot;fonts/carleton&amp;quot;&lt;br /&gt;
 #define MM_GLOW_FONT		&amp;quot;fonts/carleton_glow&amp;quot;&lt;br /&gt;
 #define MM_FONTSCALE		0.33&lt;br /&gt;
 #define MM_BUTTON_HEIGHT	18&lt;br /&gt;
&lt;br /&gt;
For colors, the text is black initially, with glow highlighting invisible. Upon mouse hover, the text becomes white, and the glow red. RGBA colors are defined for this, in vector and string (with S prefix) forms:&lt;br /&gt;
&lt;br /&gt;
 #define NORMAL_COLOR		0,0,0,0.90 // black, not entirely opaque&lt;br /&gt;
 #define SNORMAL_COLOR		&amp;quot;0 0 0 0.90&amp;quot;&lt;br /&gt;
 #define INVISIBLE		0, 0, 0, 0&lt;br /&gt;
 #define SINVISIBLE		&amp;quot;0 0 0 0&amp;quot;&lt;br /&gt;
 #define GLOW_WHITE_COLOR 	0.98,0.93,0.82,1&lt;br /&gt;
 #define SGLOW_WHITE_COLOR 	&amp;quot;0.98 0.93 0.82 1&amp;quot;&lt;br /&gt;
 #define GLOW_RED_COLOR		0.6,0.1,0.1,0.5 // semi-transparent&lt;br /&gt;
 #define SGLOW_RED_COLOR		&amp;quot;0.6 0.1 0.1 0.5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To be specific, consider a simplified imaginary main menu &amp;quot;button&amp;quot; we&#039;ll call &amp;quot;Simple&amp;quot;. (We&#039;re avoiding the layout calculations and other complications of a real button.) For our button, there are 3 aligned windowDefs in mainmenu_defs.gui, with these locations:&lt;br /&gt;
&lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON		rect	40, 445, 160, MM_BUTTON_HEIGHT * 1.3 &lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON_GLOW	rect	41, 446, 159, MM_BUTTON_HEIGHT * 1.3 - 1&lt;br /&gt;
 #define MM_POS_SIMPLE_ACTION		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
&lt;br /&gt;
The windowDefs positioned by these will also do the following:&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON: set the default appearance of the button text.&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON_GLOW: set the default appearance of the glow &amp;quot;highlight&amp;quot; text. Note this text is offset down and to the right by one pixel, compared to MM_POS_SIMPLE_BUTTON, to give the glow a &amp;quot;drop shadow&amp;quot; flavor. This is a frequent treatment, though in some cases only the right shift is done.&lt;br /&gt;
* MM_POS_SIMPLE_ACTION defines the mouse-over and mouse-selection dynamic behaviors. (Be aware that in some actual cases, this is combined into the first windowDef.)&lt;br /&gt;
&lt;br /&gt;
Then, besides the rects, the other attributes are defined for the two default windowDefs:&lt;br /&gt;
&lt;br /&gt;
 #define MM_FONT		font MM_NORMAL_FONT forecolor SNORMAL_COLOR textscale MM_FONTSCALE visible 1 textalign 1 // centered text&lt;br /&gt;
 #define MM_FONT_GLOW	font MM_GLOW_FONT forecolor INVISIBLE textscale MM_FONTSCALE visible 1 textalign 1&lt;br /&gt;
&lt;br /&gt;
(This is a simplification; for the main menu, MM_FONT&#039;s forecolor is #defined as INVISIBLE, then transitions to SNORMAL_COLOR in 1/2 second.)&lt;br /&gt;
&lt;br /&gt;
Within an overall page layout given by mainmenu_main.gui (but with our button shoved in), we might have nested:&lt;br /&gt;
&lt;br /&gt;
 windowDef SimpleTextH&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON_GLOW&lt;br /&gt;
 	MM_FONT_GLOW&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleText&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
 	MM_FONT&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleAction&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_ACTION&lt;br /&gt;
 	visible 	&amp;quot;gui::showSimple&amp;quot;	&lt;br /&gt;
 	float 		exit;&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseEnter&lt;br /&gt;
 	{&lt;br /&gt;
 		set &amp;quot;exit&amp;quot; 0;&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SNORMAL_COLOR SGLOW_WHITE_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SINVISIBLE SGLOW_RED_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_hover&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseExit&lt;br /&gt;
 	{&lt;br /&gt;
 		if (&amp;quot;exit&amp;quot; == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 			transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	onAction&lt;br /&gt;
 	{&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 &lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_select;&amp;quot;;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;onSimpleClicked&amp;quot;; // tell engine&lt;br /&gt;
 		&lt;br /&gt;
 		// And any additional commands here to switch states, resetTime, etc.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;H&amp;quot; (highlighted) windowDef is shown first, to draw behind the main text. onMouseEnter turns the text color from black to white in 50 milliseconds, and the glow from invisible to red. onMouseExit reverses that. onAction, when the button is mouse-selected, does the visual transition as mouse exit, but plays a different sound... and then does whatever &amp;quot;Simple&amp;quot; is supposed to do.&lt;br /&gt;
&lt;br /&gt;
== Carleton in Assets for FMs ==&lt;br /&gt;
In the tables below, most content has a textscale above 0.30, so draws from the 48pt size, &#039;&#039;&#039;indicated in bold&#039;&#039;&#039;. Otherwise, with a textscale of 0.16 to 0.30, from 24pt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Standard Readable Prefabs.&#039;&#039;&#039;&lt;br /&gt;
Within \tdm_prefabs01\xdata\prefabs.xd, &amp;quot;gui_page&amp;lt;n&amp;gt;&amp;quot; : &amp;quot;guis/readables/...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefab !! Title textscale !! Body textscale&lt;br /&gt;
|-&lt;br /&gt;
| .../books/...  none ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| .../scrolls/scroll_print_carleton.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || 0.28&lt;br /&gt;
|-&lt;br /&gt;
| .../sheets/sheet_paper_print_carleton_caps.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || &#039;&#039;&#039;0.31&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Sign Text.&#039;&#039;&#039; Within  \sign_text_decals\&lt;br /&gt;
|-&lt;br /&gt;
! Decal !! Textscale&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton.gui || &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton_small.gui || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carleton_condensed ==&lt;br /&gt;
As indicated above, Carleton_condensed DDS files are all 256x256.&lt;br /&gt;
&lt;br /&gt;
=== 12pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 12pt carleton_condensed (i.e., by specifying a GUI textscale of 0.15 or less). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Although 12pt carleton_condensed exists, its DAT file and single DDS file are mere placeholders that are identical to those of carleton 12pt.&lt;br /&gt;
&lt;br /&gt;
=== 48pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 48pt carleton_condensed (i.e., by specifying a GUI textscale of above 0.30). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The set of eight DDS files for 48pt carleton_condensed are identical to those for 48pt carleton. However, the DAT file has different content, though the difference is not due to horizontal &amp;quot;condensation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A one time, Tels drafted a Font Patcher command file for 48pt carleton_condensed, to reduce the width and xSkip of a selected subset of the carleton’s ASCII alphanumeric characters, presumably those most generously spaced to begin with. Evidently this was not finalized and deployed. Instead, inspection of the current 48pt DAT file for carleton_condensed suggests it was based on an early version of carleton, at a time when only some of the accented characters were implemented. (In particular, the DAT lacks re-implemented metrics for chars 128-139 and 145-155.)&lt;br /&gt;
&lt;br /&gt;
=== 24pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system uses this, but sparingly. Since a &amp;quot;glow&amp;quot; form of carleton_condensed was never developed, only regular non-glow uses are applicable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The contents of the DAT file and the set of two DDS files for 48pt carleton_condensed DIFFER from those for 48pt carleton.&lt;br /&gt;
&lt;br /&gt;
For the main menu system, where carleton was used for English-language players, the more-compact carleton_condensed was briefly considered as a method of accommodating European language translations. However, this would require dynamic language switching, and was found to be a hill too far, compared to just reducing Carleton’s textscale value.&lt;br /&gt;
&lt;br /&gt;
The actual limited uses in the main menu systems are seen as you survey the downloadable missions. Specifically, when looking at a candidate mission, the Mission Details page has a Description section, whose body text is carleton_condensed with textscale 0.17. Compared to other similar text section here (that use regular carleton with textscale 0.18), this is slightly smaller and condensed. Also, the Next &amp;gt;&amp;gt; and &amp;lt;&amp;lt; Prev buttons for cycling through screenshots have their button captions in this font (with textscale 0.23).&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* Character-set coverage of Carleton family is included in the the [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ summary analysis of 2.12 TDM fonts], based on applying &#039;refont -stats ...&#039; to all &#039;english&#039; DAT files.&lt;br /&gt;
&lt;br /&gt;
{{tutorial}} [[Category:Fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=GUI_Scripting:_Properties_in_Common&amp;diff=34478</id>
		<title>GUI Scripting: Properties in Common</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=GUI_Scripting:_Properties_in_Common&amp;diff=34478"/>
		<updated>2026-05-04T17:43:52Z</updated>

		<summary type="html">&lt;p&gt;Geep: /* shadow bool */ Indicate it may take an int&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This page is part of a series. See [[GUI Scripting Language]] for overview.&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
Here is a catalogue of Properties common to windowDefs and all other members of the &amp;quot;guiDef&amp;quot; family. (Each member&#039;s additional task-related Properties are detailed individually elsewhere.) The catalogue is arranged by:&lt;br /&gt;
&lt;br /&gt;
1) Frequency of use in TDM (widely; seldom; debug; unlikely to be useful)&lt;br /&gt;
&lt;br /&gt;
2) General purpose&lt;br /&gt;
&lt;br /&gt;
* rectangle size, location, and appearance&lt;br /&gt;
* text and font attributes&lt;br /&gt;
* cursor attributes&lt;br /&gt;
* timer and events&lt;br /&gt;
3) Alphabetically &lt;br /&gt;
&lt;br /&gt;
A Property has a predefined name, type (Boolean, float, vec2, vec4, string) and default value. Properties appear in a &amp;lt;Property List&amp;gt;, by convention at the start of a guiDef&#039;s body, after the &amp;quot;{&amp;quot;. Routinely, one Property is listed per line. Any property not explicitly listed still exists, with its default value.&lt;br /&gt;
====About &amp;quot;Registers&amp;quot;, Marked Here As ®====&lt;br /&gt;
As indicated in the listing below, properties are of two types:&lt;br /&gt;
* those that can only appear in a property list - not within event handlers - and can only be given an initial unchanging value. Informally, these are like tags.&lt;br /&gt;
* those that &#039;&#039;can&#039;&#039; be changed, called &amp;quot;Registers&amp;quot;, and indicated here by a ® symbol. These are like true variables.&lt;br /&gt;
&lt;br /&gt;
A Register can be changed by one of these two methods:&lt;br /&gt;
# By a &amp;quot;set&amp;quot; or &amp;quot;transition&amp;quot; event handler command, which updates the initial value. If the command is in a different guiDef (while still part of the same GUI), use the &amp;quot;guiDef_name::&amp;quot; prefix before the variable.&lt;br /&gt;
# By &amp;quot;binding&amp;quot; a gui:: parameter to it, as its value. This value will then be checked every frame. The value of the gui:: parameter is updated either from an associated .script file, or from a &amp;quot;set&amp;quot; or &amp;quot;transition&amp;quot; command in some guiDef of the GUI. For more, see [[GUI Scripting: GUI:: Parameters]].&lt;br /&gt;
&lt;br /&gt;
While changing a non-register value is not possible, you can probably get the desired effect by cloning the guiDef and selective hiding.&lt;br /&gt;
&lt;br /&gt;
====About Syntax &amp;amp; Usage Examples====&lt;br /&gt;
Syntax examples shown here start with how they can appear in a property list. For properties that are registers, there may be additional examples with event handler commands &amp;quot;set&amp;quot;, &amp;quot;transition&amp;quot;, or &amp;quot;if (condition)&amp;quot;. Property list and event handler commands have different syntax; don’t confuse them.&lt;br /&gt;
&lt;br /&gt;
==Used Widely in TDM==&lt;br /&gt;
===Rectangle Size, Location, and Appearance===&lt;br /&gt;
====backcolor &#039;&#039;color_vector&#039;&#039; ®====&lt;br /&gt;
Defines the guiDef’s background color. Colors are normalized RGB and alpha values. . Default: all 0 values (black but transparent).&lt;br /&gt;
 backcolor 1,1,0,1 // Yellow with no transparency.&lt;br /&gt;
====background &#039;&#039;path&#039;&#039; ®====&lt;br /&gt;
Defines the guiDef’s background image or video. Typically, this specifies the logical path to a material shader, as defined in a .mtr file. Alternatively, it could be a relative file path, e.g., to a .tga file; the file extension is left off. Default is &amp;quot;&amp;quot;.&lt;br /&gt;
 background &amp;quot;guis/assets/readables/books/book_rightpage_01&amp;quot;&lt;br /&gt;
 set &amp;quot;background&amp;quot; &amp;quot;guis/video/credits/city_sequence01&amp;quot;; // Logical path shown, defined in materials/tdm_gui.mtr, is to a roq video.&lt;br /&gt;
====bordercolor &#039;&#039;color_vector&#039;&#039; ® ====&lt;br /&gt;
Defines the color of the guiDef’s border. Colors are normalized RGB and alpha values. The bordersize property must be non-zero for a bordercolor to show. Default: all 1 values (opaque white).&lt;br /&gt;
  bordercolor 1,1,0,1 // Yellow with no transparency.&lt;br /&gt;
  bordercolor 0, 0, 0, 0.7 // Used in mainmenu_loadsave.gui. Semi-transparent black border.&lt;br /&gt;
====bordersize &#039;&#039;pixels&#039;&#039;====&lt;br /&gt;
Defines the stroke size used to draw the guiDef’s border, in [presumably logical] pixels. Default: 0. &lt;br /&gt;
 bordersize 1 // Only sizes 0 and 1 are used in core.&lt;br /&gt;
====forceaspectwidth &#039;&#039;width&#039;&#039; &amp;amp; forceaspectheight &#039;&#039;height&#039;&#039;====&lt;br /&gt;
Force a specific draw surface width and height. Used in a top-level windowDef.&lt;br /&gt;
&lt;br /&gt;
While these commands make only a single appearance in core TDM, in #include file &amp;quot;readables.guicore&amp;quot;, that’s within a macro hierarchy affecting all the readables. Default: 640w x 480h.&lt;br /&gt;
====matcolor &#039;&#039;color_vector&#039;&#039; ®====&lt;br /&gt;
Defines the color of the image displayed in the guiDef’s &amp;quot;background&amp;quot; property. While in a R,G,B,A format, each float is not an absolute color value; it is a percentage (from 0 to 1) of how much of that channel will be rendered. Usually only the A channel is changed. Default: all 1 values (100% rendered).&lt;br /&gt;
 matcolor 1,1,1,0 // In windowDef backgroundsingle, hide this background initially, then,&lt;br /&gt;
 set &amp;quot;backgroundsingle::matcolor&amp;quot; &amp;quot;1 1 1 1&amp;quot;; // in a script command, show it right away or fade in.&lt;br /&gt;
 transition &amp;quot;backgroundsingle::matcolor&amp;quot; &amp;quot;1 1 1 0&amp;quot; &amp;quot;1 1 1 1&amp;quot; READABLE_FADE_TIME;&lt;br /&gt;
====modal - see under &amp;quot;Timer and Events&amp;quot;====&lt;br /&gt;
====noclip &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Don’t clip draw operations that lie outside the guiDef rectangle? Default: 0 (false).&lt;br /&gt;
 noclip 1 // Widely set to 1 in core, e.g., for readables.&lt;br /&gt;
====rect &#039;&#039;vector_with_4_values&#039;&#039; ®====&lt;br /&gt;
Defines the location, width and height of the guiDef rectangle as x-origin, y-origin, width, height. 0, 0, 640, 480 would be a guiDef of 640 by 480 logical pixels whose top left corner is at coordinate 0,0. The first two values always represent the guiDef’s upper left corner. The rect of a child guiDef is relative to its parent&#039;s rect but within its inner border as given by bordersize. That is, if the parent x/y origin coordinates are 0,0, and the parent&#039;s bordersize is 3, then if the child x/y origin coordinates are 0,0, that&#039;s actually at the parent&#039;s 3,3 location.&lt;br /&gt;
 rect      0, 0, 640, 480 // By convention, a top-level windowDef is explicitly set to these values, to define the logical coordinate system for child guiDefs.&lt;br /&gt;
 set &amp;quot;body::rect&amp;quot; &amp;quot;20, 10, 250, 380&amp;quot;; // In guis\readables\parchment_everett_hand_2.gui&lt;br /&gt;
 transition &amp;quot;message::rect&amp;quot; &amp;quot;0, 0, 185, 1000&amp;quot; &amp;quot;10, 59, 185, 1000&amp;quot; &amp;quot;1&amp;quot; // a script event in tdm_message_no_art.gui that appropriately sizes a popup message box, in this case for 2 lines of text.&lt;br /&gt;
&lt;br /&gt;
====visible &#039;&#039;bool&#039;&#039; ®====&lt;br /&gt;
Should this guiDef be visible? Default: 1 (true).&lt;br /&gt;
 visible 0 // Default is 1 (true). In core, widely used as a toggle.&lt;br /&gt;
 if (&amp;quot;StealthScoreDetail::visible&amp;quot; == 1) { // Fragment from within mainmenu_success.gui’s&lt;br /&gt;
  set &amp;quot;StealthScoreDetail::visible&amp;quot; &amp;quot;0&amp;quot;; …}  // onAction, showing test and change of value.&lt;br /&gt;
===Text and Font Attributes===&lt;br /&gt;
====font &#039;&#039;font_path&#039;&#039;====&lt;br /&gt;
Sets the font to be used for the text, from among available TDM fonts. Default: &amp;quot;&amp;quot;.&lt;br /&gt;
 font &amp;quot;fonts/stone&amp;quot; // Property is widely used in core.&lt;br /&gt;
====forecolor &#039;&#039;color_vector&#039;&#039; ®====&lt;br /&gt;
Defines the color of the guiDef’s text. Colors are normalized RGB and alpha values. Default: all 1 values (opaque white).&lt;br /&gt;
 forecolor 1,1,1,1 // This example is opaque white, widely used.&lt;br /&gt;
 forecolor 0, 0, 0, 0.66 // Black text, semi-transparent, as used for various sign texts.&lt;br /&gt;
 transition &amp;quot;title::forecolor&amp;quot; &amp;quot;0 0 0 0&amp;quot; &amp;quot;0 0 0 0.85&amp;quot; READABLE_FADE_TIME; // As script command, here to fade in title of a readable sheet of paper.&lt;br /&gt;
====text &#039;&#039;string_literal_or_variable&#039;&#039; ®====&lt;br /&gt;
The text to be displayed in the guiDef. The character limit is 1024 [true?]. Default: &amp;quot;&amp;quot;.&lt;br /&gt;
 text &amp;quot;Heading&amp;quot; // In property list. Widely used.&lt;br /&gt;
 text &amp;quot;gui::gui_parm1&amp;quot; // Get desired sign text from spawnarg; used with sign text decals available as prefabs.&lt;br /&gt;
 set &amp;quot;leftCapital::text&amp;quot; &amp;quot;$gui::left_capital&amp;quot;; // script command used in core for readable books with illuminated drop caps.&lt;br /&gt;
&lt;br /&gt;
====textalign &#039;&#039;align_enum&#039;&#039;====&lt;br /&gt;
Defines the text’s alignment within the guiDef. Values are 0 (align left), 1 (center horizontally), or 2 (align right). Default: 0 (align left).&lt;br /&gt;
 textalign 1 // In property list. Value of 1 widely used for centering. Value of 2 rarely, e.g., in tdm_loot.gui .&lt;br /&gt;
====textalignx &#039;&#039;offset_x&#039;&#039; &amp;amp; textaligny &#039;&#039;offset_y&#039;&#039;====&lt;br /&gt;
Offset respectively the x &amp;amp; y value of the text relative to the guiDef. Defaults: 0.&lt;br /&gt;
 textalignx -3 // mainmenu_defs.gui includes these 2 properties&lt;br /&gt;
 textaligny -2 // in #defines to properly space button captions.&lt;br /&gt;
====textscale &#039;&#039;factor&#039;&#039; ®====&lt;br /&gt;
Uniformly scales the text’s font size in the guiDef. The range is generally from 0.0 to 1.0 but can exceed 1.0. Default: 1.&lt;br /&gt;
 textscale 1.5 // Widely used in readables, ranging from 0.2 to 3.&lt;br /&gt;
===Cursor Attributes===&lt;br /&gt;
====menugui &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Use on a top-level windowDef. A value of 1 marks the gui as a menu gui. This affects the look of the cursor pointer. Helpful too when debugging world guis. Default: 0 (false).&lt;br /&gt;
 menugui 1 // Value of 1 used in mainmenu.gui, which the #includes all other mainmenu… gui files.&lt;br /&gt;
====nocursor &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Use on a top-level windowDef. A value of 1 shows no cursor over the windowGui. This can be used for non-interactive GUIs such as videos and in-world monitors. Default: 0 (false).&lt;br /&gt;
 nocursor 1 // Most HUD and other overlays will set &amp;quot;nocursor 1&amp;quot;.&lt;br /&gt;
===Timer and Events===&lt;br /&gt;
====modal &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Should this guiDef eat events if active? Used for pop-up boxes. Default: 0 (false).&lt;br /&gt;
 modal 1 // Typical use in core: mainmenu_message.gui&lt;br /&gt;
====noevents &#039;&#039;bool&#039;&#039; ®====&lt;br /&gt;
Should all of the guiDef’s onAction scripts be disabled? Default: 0 (false).&lt;br /&gt;
 noevents 1&lt;br /&gt;
 set &amp;quot;noevents&amp;quot; &amp;quot;1&amp;quot; // Representative use in core: in mainmenu_loadsave.gui&lt;br /&gt;
====notime &#039;&#039;bool&#039;&#039; ®====&lt;br /&gt;
Should all of the guiDef’s onTime scripts be stopped from running? Used for guiDefs holding animation scripts. Default: 0 (false).&lt;br /&gt;
 notime 1 // Widely used in core.&lt;br /&gt;
 set &amp;quot;notime&amp;quot; &amp;quot;1&amp;quot;; // Representative use in core: in tdm_inv.gui&lt;br /&gt;
&lt;br /&gt;
==Seldom or Never Used in TDM==&lt;br /&gt;
These properties were not found to be used in the core unless otherwise noted with specific examples. Generic examples are given in some cases.&lt;br /&gt;
===Rectangle Size, Location, and Appearance===&lt;br /&gt;
====invertrect &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Correct for this guiDef being upside-down? Default: 0 (false).&lt;br /&gt;
 invertrect 1 // Not used in core.&lt;br /&gt;
====matscalex &#039;&#039;factor_x&#039;&#039; &amp;amp; matscaley &#039;&#039;factor_y&#039;&#039;====&lt;br /&gt;
Scales the background material in the x &amp;amp; y directions respectively. When set to -1, flips the guiDef’s texture along the horizontal &amp;amp; vertical axis respectively. Default: 1.&lt;br /&gt;
 matscalex -1 // Used in mainmenu_background when player failed, to flip the texture of &amp;quot;big chains&amp;quot;. Matscaley not used in core.&lt;br /&gt;
====naturalmatscale &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Use the real size of the background material? Default: 0 (false).&lt;br /&gt;
 naturalmatscale 1 // Not used in core.&lt;br /&gt;
====rotate &#039;&#039;degrees&#039;&#039; ®====&lt;br /&gt;
Defines the angle in degrees that the guiDef’s image will be rotated. This property can also be used in a &amp;quot;transition&amp;quot; statement to rotate the image over time. Default: 0 degrees.&lt;br /&gt;
 // Not used in property list in core.&lt;br /&gt;
 set &amp;quot;rotate&amp;quot; &amp;quot;0&amp;quot;; // Examples from the mainmenu_background.gui, if player fails, rotate a small&lt;br /&gt;
 transition &amp;quot;rotate&amp;quot; &amp;quot;0&amp;quot; &amp;quot;9&amp;quot; &amp;quot;5000&amp;quot; &amp;quot;0.7&amp;quot; &amp;quot;0.7&amp;quot;; // chain in the background&lt;br /&gt;
====shear &#039;&#039;vector_with_2_values&#039;&#039;====&lt;br /&gt;
&amp;quot;Shear&amp;quot; the rectangle, which turns it into a parallelogram. Range of each value is 0 to 1. Vec2 Default: 0,0.&lt;br /&gt;
  shear 0.5,0 // Not used in core.&lt;br /&gt;
===Text and Font Attributes===&lt;br /&gt;
====nowrap &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Don’t wrap text that can’t fit in the rectangle? Default: 0 (false), so wrap&lt;br /&gt;
 nowrap 1&lt;br /&gt;
====shadow &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Use a black drop-shadow when drawing the text? Default: 0 (false)&lt;br /&gt;
 shadow 1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This may actually take an integer, indicating the number of &amp;quot;pixels&amp;quot; offset the shadow is, both rightwards and downwards.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Timer and Events===&lt;br /&gt;
====wantenter &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
When the user presses enter, and there&#039;s no child guiDef that has the focus, should the guiDef’s onAction (and/or onActionRelease) event handler run? Default: 0 (false)&lt;br /&gt;
 wantenter 1&lt;br /&gt;
&lt;br /&gt;
==Debug Only==&lt;br /&gt;
====showtime &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Display the guiDef time? Default: 0 (false).&lt;br /&gt;
 showtime 1&lt;br /&gt;
====showcoords &#039;&#039;bool&#039;&#039;====&lt;br /&gt;
Display the guiDef coordinates? Default: 0 (false).&lt;br /&gt;
 showcoords 1&lt;br /&gt;
&lt;br /&gt;
==Unlikely to be Useful==&lt;br /&gt;
For more about these properties, likely more pertinent to other idTech4 games, see [[GUI Scripting: TDM vs Doom 3, Quake 4]].&lt;br /&gt;
====comment &#039;&#039;string&#039;&#039;====&lt;br /&gt;
Free form comment area. Unnecessary. Usually, just use /*…*/ or // for comments. Or if this gui is paired with an entity, add a &amp;quot;comment&amp;quot; spawnarg to the latter.&lt;br /&gt;
====name &#039;&#039;new_name_string&#039;&#039;====&lt;br /&gt;
Re-defines the guiDef’s name.. Each guiDef in a GUI file must have a unique name, which by default is initialized by the &amp;lt;guiDef Type&amp;gt; &amp;lt;name&amp;gt; {...}. But can be overwritten by using &amp;quot;name&amp;quot; property explicitly.&lt;br /&gt;
====play &#039;&#039;sound_path&#039;&#039;====&lt;br /&gt;
Prints a warning message telling you not to use it. Main menu system developers: Use &#039;set &amp;quot;cmd&amp;quot; &amp;quot;play ...&amp;quot; &#039; instead. Mappers: trigger sounds from a .script or deploy a separate entity.&lt;br /&gt;
===Unused in Doom 3 &amp;amp; TDM===&lt;br /&gt;
Says Ref 1:&lt;br /&gt;
&lt;br /&gt;
scale®, translate®, varbackground®&lt;br /&gt;
&lt;br /&gt;
runscript® Not available as property, only as script command in Doom 3 (though unused in that form in TDM.)&lt;br /&gt;
&lt;br /&gt;
Listed in Ref 3 (Quake 4), but not in Ref 1:&lt;br /&gt;
&lt;br /&gt;
dpadgui&lt;br /&gt;
&lt;br /&gt;
==For More==&lt;br /&gt;
This property listing is largely from Ref 3 of [[GUI Scripting: References &amp;amp; Resources]] as supplemented by Ref 1, but re-ordered. Examples are largely from TDM 2.10 core menus.&lt;br /&gt;
&lt;br /&gt;
{{GUI}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34477</id>
		<title>Carleton Fonts</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Carleton_Fonts&amp;diff=34477"/>
		<updated>2026-05-04T17:31:59Z</updated>

		<summary type="html">&lt;p&gt;Geep: revise remarks about black borders&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;By Geep, 2025. The analysis here as of TDM 2.12 and for &amp;quot;english&amp;quot; (including European) unless indicated otherwise.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== The Carleton Family in a Nutshell ==&lt;br /&gt;
Carleton is a squarish print-style serif font. The lower case letters look like smaller versions of the upper case letters, so this font can also be referred to as &amp;quot;Carleton Caps&amp;quot;, [[Fonts_Screenshots#Carleton_Caps_only | as in this screenshot]]. Within TDM, there are four members of the Carleton family:&lt;br /&gt;
* carleton&lt;br /&gt;
* carleton_bold&lt;br /&gt;
* carleton_condensed (i.e., more tightly spaced in the horizontal dimension)&lt;br /&gt;
* carleton_glow&lt;br /&gt;
&lt;br /&gt;
Base-font carleton is used extensively throughout the main menu system. It may appear by itself, in black, for non-interactive subheadings and descriptions. (In a few places, like the &amp;quot;Downloadable Missions&amp;quot; title, a &amp;quot;headline&amp;quot; style using carleton_bold is deployed.)&lt;br /&gt;
&lt;br /&gt;
Or it may participate in dynamic text highlighting for user interactions, using overlay combinations like:&lt;br /&gt;
* carleton and carleton_glow&lt;br /&gt;
* carleton_bold and carleton_glow, for titles and headlines&lt;br /&gt;
* carleton, carleton_bold and carleton_glow, for certain &amp;quot;new game&amp;quot; buttons&lt;br /&gt;
&lt;br /&gt;
For FMs, there are standard readable sheet and scroll prefabs and sign text decals that use carleton, just by itself. The style of this font makes it a good choices for notices; between title and body, and upper and lower case, there can appear to be four different sizes of &amp;quot;capital&amp;quot; letters.&lt;br /&gt;
&lt;br /&gt;
All these usages predominately involve mid-sized and large text (e.g., GUI textscale 0.24 and up), that draws on the 24pt and 48pt size bitmaps. The &amp;quot;english&amp;quot; form of 24pt and 48pt both offer TDM’s full European glyph set. Glyphs are stylishly done for 48pt and not bad for ASCII characters of 24pt; the accented characters of 24pt are rough-hewn and merely adequate.&lt;br /&gt;
&lt;br /&gt;
While 48pt carleton_bold actually has bold (thickened) glyphs, 24pt carleton_bold glyphs are merely copies of regular 24pt carleton, so not bold.&lt;br /&gt;
&lt;br /&gt;
== File Naming and Content Sharing across the Carleton Family ==&lt;br /&gt;
The four members share bitmap naming. For instance, if you examine any of the 4 derived fontimage_24.ref files, you see references like:&lt;br /&gt;
&lt;br /&gt;
 shaderName fonts/Carleton_0_24.tga&lt;br /&gt;
&lt;br /&gt;
and it will say &amp;quot;Carleton_...&amp;quot; in all cases, not for instance &amp;quot;Carleton_condensed_...&amp;quot;. (As is typically the case in TDM, a shader filetype of .tga actually resolves to .dds, and shaderName is case-insensitive; the actual filenames are all lower-case.)&lt;br /&gt;
&lt;br /&gt;
There is also file content sharing (i.e., duplication). As shown in the tables below, the sharing pattern is more complex, and arguably incoherent. This may reflect errors in distribution, or perhaps some member/size combinations not really being used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DAT Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_12.dat || SAME || SAME || SAME || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_24.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|-&lt;br /&gt;
| fontimage_48.dat || SAME || SAME || unique || SAME&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Table of 2.12 English Carleton Family DDS Files Sharing File Names and in Some Cases Contents.&#039;&#039;&#039; The content of each file is unique, unless shown here by &amp;quot;SAME&amp;quot;, which refers to only to matching another file’s content IN THE SAME ROW.&lt;br /&gt;
|-&lt;br /&gt;
! filename !! /carleton/ !! /carleton_bold/ !! /carleton_condensed/ !! /carleton_glow/&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_12.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_24.dds || &#039;&#039;&#039;SAME&#039;&#039;&#039; || &#039;&#039;&#039;SAME&#039;&#039;&#039; || unique || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_0_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_1_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_2_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_3_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_4_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_5_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_6_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|-&lt;br /&gt;
| carleton_7_48.dds || SAME || unique || SAME || unique&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bitmap File Sizes across the Carleton Family ==&lt;br /&gt;
The english 24pt DDS files &#039;&#039;&#039;shown in bold above&#039;&#039;&#039; have 512x512 bitmaps. All other files (including those for Russian, not in the table) have the default 256x256 bitmaps. This includes carleton_glow. Observe that it is not required that the base &amp;amp; glow have identical bitmap sizes (although that is helpful to allow GIMP layering).&lt;br /&gt;
&lt;br /&gt;
See also [[Refont#Carleton_Family]] for corresponding refont commands.&lt;br /&gt;
&lt;br /&gt;
== Anomalies of Carleton and Carleton Bold 24pt Glyphs ==&lt;br /&gt;
As mentioned above, 24pt Carleton Bold is identical to 24pt Carleton; so not really bold. The remaining discussion applies equally to 24pt Carleton and Carleton Bold.&lt;br /&gt;
&lt;br /&gt;
Evidently, the original generation of the 24pt size, into two 256x256 bitmaps &amp;quot;carleton_0_24.dds&amp;quot; and &amp;quot;carleton_1_24.dds&amp;quot;, contained only ASCII alphanumeric characters and limited punctuation, with no accented/Latin-1 glyphs. Later, these bitmaps were scaled up to 512x512 bitmaps, to ease drawing in the missing characters by hand. The resulting new characters are coarser than the generated and scaled ASCII characters.&lt;br /&gt;
&lt;br /&gt;
You can see this aspects in the main menu, under Settings/Video/Language, where, in the list of 16 languages, accented letters are thicker.&lt;br /&gt;
&lt;br /&gt;
Also, if viewed in GIMP, the white characters have a faint black border, not seen elsewhere (e.g., in the 48pt bitmaps). This is true of both scaled-up ASCII and drawn Latin-1 characters, though far more prominent in the latter. However, TDM&#039;s monochrome, usually black rendering (defined by forecolor in the GUI) obscures the presence of this border effect. The purpose for it is discussed next.&lt;br /&gt;
&lt;br /&gt;
== Carleton When Toggling Choices Within a Submenu ==&lt;br /&gt;
Throughout Setting submenus, the Carleton 24pt font is used within option lists. More generally, this presentation style is used for row items within lists.&lt;br /&gt;
&lt;br /&gt;
For example, under Settings/Audio/, there is a row with &amp;quot;Main Menu Music&amp;quot; and a choice of &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot;. This is implemented by a standardized choiceDef.&lt;br /&gt;
* On the left, the &amp;quot;Main Menu Music&amp;quot; phrase is carleton, rendered in translucent black (with alpha 0.85) and a textscale of 0.24 (which draws from 24pt).&lt;br /&gt;
* On the right, the &amp;quot;On&amp;quot; and &amp;quot;Off&amp;quot; text by default is the same, but slightly smaller at textscale 0.22 (also from 24pt).&lt;br /&gt;
&lt;br /&gt;
When you mouse-hover, the current-value text turns momentarily white with a faint black border. The white is set, not by the GUI, but by the engine&#039;s &amp;quot;hoverColor&amp;quot;, which is opaque white (1,1,1,1). The black border improves readability against the parchment background. It is due to the &amp;quot;anomolous&amp;quot; black border baked into the font, as discussed above. [Aside: the engine has a &amp;quot;textShadow&amp;quot; boolean and code which presumably could be used to draw a border around a font character. However, &amp;quot;textShadow&amp;quot; is false by default. Unused?]&lt;br /&gt;
&lt;br /&gt;
== Carleton &amp;amp; Carleton Glow in the Main Menu System ==&lt;br /&gt;
This pairing occurs basically everywhere thorough the main menu system. In a typical presentation, against a parchment background, major menu-page-selection keywords are by default rendered in black with no glow. But they will turn white with blood-red glow highlighting when either selected (as if a tab for the current page) or moused-over. This will also play a sound and often show a text hint.&lt;br /&gt;
&lt;br /&gt;
=== Example Implementation ===&lt;br /&gt;
TDM uses a number of different &amp;quot;button&amp;quot; (i.e., selectable text) styles, driven by #defines in \tdm_gui01\guis\mainmenu_defs.gui. For example, those of the main menu home page use:&lt;br /&gt;
 #define MM_NORMAL_FONT		&amp;quot;fonts/carleton&amp;quot;&lt;br /&gt;
 #define MM_GLOW_FONT		&amp;quot;fonts/carleton_glow&amp;quot;&lt;br /&gt;
 #define MM_FONTSCALE		0.33&lt;br /&gt;
 #define MM_BUTTON_HEIGHT	18&lt;br /&gt;
&lt;br /&gt;
For colors, the text is black initially, with glow highlighting invisible. Upon mouse hover, the text becomes white, and the glow red. RGBA colors are defined for this, in vector and string (with S prefix) forms:&lt;br /&gt;
&lt;br /&gt;
 #define NORMAL_COLOR		0,0,0,0.90 // black, not entirely opaque&lt;br /&gt;
 #define SNORMAL_COLOR		&amp;quot;0 0 0 0.90&amp;quot;&lt;br /&gt;
 #define INVISIBLE		0, 0, 0, 0&lt;br /&gt;
 #define SINVISIBLE		&amp;quot;0 0 0 0&amp;quot;&lt;br /&gt;
 #define GLOW_WHITE_COLOR 	0.98,0.93,0.82,1&lt;br /&gt;
 #define SGLOW_WHITE_COLOR 	&amp;quot;0.98 0.93 0.82 1&amp;quot;&lt;br /&gt;
 #define GLOW_RED_COLOR		0.6,0.1,0.1,0.5 // semi-transparent&lt;br /&gt;
 #define SGLOW_RED_COLOR		&amp;quot;0.6 0.1 0.1 0.5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To be specific, consider a simplified imaginary main menu &amp;quot;button&amp;quot; we&#039;ll call &amp;quot;Simple&amp;quot;. (We&#039;re avoiding the layout calculations and other complications of a real button.) For our button, there are 3 aligned windowDefs in mainmenu_defs.gui, with these locations:&lt;br /&gt;
&lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON		rect	40, 445, 160, MM_BUTTON_HEIGHT * 1.3 &lt;br /&gt;
 #define MM_POS_SIMPLE_BUTTON_GLOW	rect	41, 446, 159, MM_BUTTON_HEIGHT * 1.3 - 1&lt;br /&gt;
 #define MM_POS_SIMPLE_ACTION		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
&lt;br /&gt;
The windowDefs positioned by these will also do the following:&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON: set the default appearance of the button text.&lt;br /&gt;
* MM_POS_SIMPLE_BUTTON_GLOW: set the default appearance of the glow &amp;quot;highlight&amp;quot; text. Note this text is offset down and to the right by one pixel, compared to MM_POS_SIMPLE_BUTTON, to give the glow a &amp;quot;drop shadow&amp;quot; flavor. This is a frequent treatment, though in some cases only the right shift is done.&lt;br /&gt;
* MM_POS_SIMPLE_ACTION defines the mouse-over and mouse-selection dynamic behaviors. (Be aware that in some actual cases, this is combined into the first windowDef.)&lt;br /&gt;
&lt;br /&gt;
Then, besides the rects, the other attributes are defined for the two default windowDefs:&lt;br /&gt;
&lt;br /&gt;
 #define MM_FONT		font MM_NORMAL_FONT forecolor SNORMAL_COLOR textscale MM_FONTSCALE visible 1 textalign 1 // centered text&lt;br /&gt;
 #define MM_FONT_GLOW	font MM_GLOW_FONT forecolor INVISIBLE textscale MM_FONTSCALE visible 1 textalign 1&lt;br /&gt;
&lt;br /&gt;
(This is a simplification; for the main menu, MM_FONT&#039;s forecolor is #defined as INVISIBLE, then transitions to SNORMAL_COLOR in 1/2 second.)&lt;br /&gt;
&lt;br /&gt;
Within an overall page layout given by mainmenu_main.gui (but with our button shoved in), we might have nested:&lt;br /&gt;
&lt;br /&gt;
 windowDef SimpleTextH&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON_GLOW&lt;br /&gt;
 	MM_FONT_GLOW&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleText&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_BUTTON&lt;br /&gt;
 	MM_FONT&lt;br /&gt;
 	visible		&amp;quot;gui::showSimple&amp;quot;&lt;br /&gt;
 	text 		&amp;quot;#str_01234&amp;quot; // &amp;quot;Simple&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 windowDef SimpleAction&lt;br /&gt;
 {&lt;br /&gt;
 	rect 		MM_POS_SIMPLE_ACTION&lt;br /&gt;
 	visible 	&amp;quot;gui::showSimple&amp;quot;	&lt;br /&gt;
 	float 		exit;&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseEnter&lt;br /&gt;
 	{&lt;br /&gt;
 		set &amp;quot;exit&amp;quot; 0;&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SNORMAL_COLOR SGLOW_WHITE_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SINVISIBLE SGLOW_RED_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_hover&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 		&lt;br /&gt;
 	onMouseExit&lt;br /&gt;
 	{&lt;br /&gt;
 		if (&amp;quot;exit&amp;quot; == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 			transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	onAction&lt;br /&gt;
 	{&lt;br /&gt;
 		transition &amp;quot;SimpleText::forecolor&amp;quot; SGLOW_WHITE_COLOR SNORMAL_COLOR &amp;quot;50&amp;quot; ;&lt;br /&gt;
 		transition &amp;quot;SimpleTextH::forecolor&amp;quot; SGLOW_RED_COLOR SINVISIBLE &amp;quot;50&amp;quot; ;&lt;br /&gt;
 &lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;play sound/meta/menu/mnu_select;&amp;quot;;&lt;br /&gt;
 		set &amp;quot;cmd&amp;quot; &amp;quot;onSimpleClicked&amp;quot;; // tell engine&lt;br /&gt;
 		&lt;br /&gt;
 		// And any additional commands here to switch states, resetTime, etc.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;H&amp;quot; (highlighted) windowDef is shown first, to draw behind the main text. onMouseEnter turns the text color from black to white in 50 milliseconds, and the glow from invisible to red. onMouseExit reverses that. onAction, when the button is mouse-selected, does the visual transition as mouse exit, but plays a different sound... and then does whatever &amp;quot;Simple&amp;quot; is supposed to do.&lt;br /&gt;
&lt;br /&gt;
== Carleton in Assets for FMs ==&lt;br /&gt;
In the tables below, most content has a textscale above 0.30, so draws from the 48pt size, &#039;&#039;&#039;indicated in bold&#039;&#039;&#039;. Otherwise, with a textscale of 0.16 to 0.30, from 24pt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Standard Readable Prefabs.&#039;&#039;&#039;&lt;br /&gt;
Within \tdm_prefabs01\xdata\prefabs.xd, &amp;quot;gui_page&amp;lt;n&amp;gt;&amp;quot; : &amp;quot;guis/readables/...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefab !! Title textscale !! Body textscale&lt;br /&gt;
|-&lt;br /&gt;
| .../books/...  none ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| .../scrolls/scroll_print_carleton.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || 0.28&lt;br /&gt;
|-&lt;br /&gt;
| .../sheets/sheet_paper_print_carleton_caps.gui || &#039;&#039;&#039;0.40&#039;&#039;&#039; || &#039;&#039;&#039;0.31&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 0px; margin-right: auto;&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Carleton in Sign Text.&#039;&#039;&#039; Within  \sign_text_decals\&lt;br /&gt;
|-&lt;br /&gt;
! Decal !! Textscale&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton.gui || &#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| sign_text_carleton_small.gui || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Carleton_condensed ==&lt;br /&gt;
As indicated above, Carleton_condensed DDS files are all 256x256.&lt;br /&gt;
&lt;br /&gt;
=== 12pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 12pt carleton_condensed (i.e., by specifying a GUI textscale of 0.15 or less). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Although 12pt carleton_condensed exists, its DAT file and single DDS file are mere placeholders that are identical to those of carleton 12pt.&lt;br /&gt;
&lt;br /&gt;
=== 48pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system does not use this size. In your FM, it is recommended to NOT invoke 48pt carleton_condensed (i.e., by specifying a GUI textscale of above 0.30). Instead, use regular carleton, possibly with a slightly smaller textscale.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The set of eight DDS files for 48pt carleton_condensed are identical to those for 48pt carleton. However, the DAT file has different content, though the difference is not due to horizontal &amp;quot;condensation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A one time, Tels drafted a Font Patcher command file for 48pt carleton_condensed, to reduce the width and xSkip of a selected subset of the carleton’s ASCII alphanumeric characters, presumably those most generously spaced to begin with. Evidently this was not finalized and deployed. Instead, inspection of the current 48pt DAT file for carleton_condensed suggests it was based on an early version of carleton, at a time when only some of the accented characters were implemented. (In particular, the DAT lacks re-implemented metrics for chars 128-139 and 145-155.)&lt;br /&gt;
&lt;br /&gt;
=== 24pt Size ===&lt;br /&gt;
&#039;&#039;The main menu system uses this, but sparingly. Since a &amp;quot;glow&amp;quot; form of carleton_condensed was never developed, only regular non-glow uses are applicable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The contents of the DAT file and the set of two DDS files for 48pt carleton_condensed DIFFER from those for 48pt carleton.&lt;br /&gt;
&lt;br /&gt;
For the main menu system, where carleton was used for English-language players, the more-compact carleton_condensed was briefly considered as a method of accommodating European language translations. However, this would require dynamic language switching, and was found to be a hill too far, compared to just reducing Carleton’s textscale value.&lt;br /&gt;
&lt;br /&gt;
The actual limited uses in the main menu systems are seen as you survey the downloadable missions. Specifically, when looking at a candidate mission, the Mission Details page has a Description section, whose body text is carleton_condensed with textscale 0.17. Compared to other similar text section here (that use regular carleton with textscale 0.18), this is slightly smaller and condensed. Also, the Next &amp;gt;&amp;gt; and &amp;lt;&amp;lt; Prev buttons for cycling through screenshots have their button captions in this font (with textscale 0.23).&lt;br /&gt;
&lt;br /&gt;
== For More ==&lt;br /&gt;
* Character-set coverage of Carleton family is included in the the [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ summary analysis of 2.12 TDM fonts], based on applying &#039;refont -stats ...&#039; to all &#039;english&#039; DAT files.&lt;br /&gt;
&lt;br /&gt;
{{tutorial}} [[Category:Fonts]]&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34476</id>
		<title>I18N - Charset</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=I18N_-_Charset&amp;diff=34476"/>
		<updated>2026-05-02T16:19:45Z</updated>

		<summary type="html">&lt;p&gt;Geep: create &amp;quot;Fonts with Special Characters&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The D3 code that handles the GUI bitmap font can only load a specific range of bytes as characters. To get the most out of the available entries, special charsets are used. The fonts (Carleton for the menu f.i.) are build/patched so that the right characters appear in the right place.&lt;br /&gt;
&lt;br /&gt;
== Encodings ==&lt;br /&gt;
&lt;br /&gt;
=== all.lang ===&lt;br /&gt;
&lt;br /&gt;
This file is in &#039;&#039;&#039;UTF-8&#039;&#039;&#039;, and converted with the help of the script &#039;&#039;&#039;devel/gen_lang.pl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 perl devel/gen_lang.pl&lt;br /&gt;
&lt;br /&gt;
This ensures that the generated language files are in their proper encodings (see below).&lt;br /&gt;
&lt;br /&gt;
=== All other language files ===&lt;br /&gt;
&lt;br /&gt;
Note that the language files (f.i. &#039;&#039;&#039;strings/german.lang&#039;&#039;&#039;) as well as the readables and the FM dictionariaries are expected to be in the following encodings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;Hungarian&#039;&#039;&#039;, &#039;&#039;&#039;Slovak&#039;&#039;&#039;, &#039;&#039;&#039;Polish:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-2 ISO-8859-2] (&#039;&#039;&#039;not WIN-1250!)&lt;br /&gt;
* &#039;&#039;&#039;Russian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/Win-1251 WIN-1251]&lt;br /&gt;
* &#039;&#039;&#039;French:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-15 ISO-8859-15]&lt;br /&gt;
* &#039;&#039;&#039;Romanian:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-16 ISO-8859-16] &lt;br /&gt;
* &#039;&#039;&#039;All other languages:&#039;&#039;&#039; [https://secure.wikimedia.org/wikipedia/en/wiki/ISO/IEC_8859-1 ISO-8859-1] (German, Dutch, Danish, Swedish, Portuguese, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{infobox|The core dictionaries are automatically generated in the right encoding, but make sure that you use the right encoding for the FM dictionary, too!}}&lt;br /&gt;
&lt;br /&gt;
== Character remapping ==&lt;br /&gt;
&lt;br /&gt;
The characters are remapped upon loading the dictionary/readable, from their native encoding to the special one that TDM uses and that is described here.  Responsible for the remapping are [[I18N - Character mapping|mapping files]], f.i. &amp;quot;strings/czech.map&amp;quot;. If a map file for a specific language is not found, &amp;quot;strings/default.map&amp;quot; is used instead, if this is not found, no remapping takes place.&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;&#039;[[I18N - Character mapping|Character mapping]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== European Languages ===&lt;br /&gt;
&lt;br /&gt;
This mapping is used for European languages, f.i. &#039;&#039;&#039;Czech&#039;&#039;&#039;, &#039;&#039;&#039;French&#039;&#039;&#039;, &#039;&#039;&#039;German&#039;&#039;&#039;, &#039;&#039;&#039;Spanish&#039;&#039;&#039;, &#039;&#039;&#039;Portuguese&#039;&#039;&#039;, &#039;&#039;&#039;Polish&#039;&#039;&#039;. Note that the double accented characters in Hungarian &#039;&#039;&#039;Ő, ő, Ű and ű&#039;&#039;&#039; look a bit different from &#039;&#039;&#039;Ö, ö, Ü and ü&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
In the table below, the original ISO 8859-1 characters are given in &#039;&#039;()&#039;&#039; below the TDM character.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{box|#f0d0d0|Character not usable by TDM|Unusable}}{{box|#d0e0d0|Character not yet used in TDM|Unused}}{{box|#c0ffc0|Character displayed in v1.08 or newer|Usable in v1.08}}{{box|#80f080|Character displayed in v2.03 or newer|Usable in v2.03}}{{box|#d0d0f0|Changed from the ISO-8859-1 default, usable by TDM 1.0 or newer|Changed from ISO 8859-1}}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 95%&amp;quot; cellspacing=0 cellpadding=2 width=100%&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
!…0&lt;br /&gt;
!…1&lt;br /&gt;
!…2&lt;br /&gt;
!…3&lt;br /&gt;
!…4&lt;br /&gt;
!…5&lt;br /&gt;
!…6&lt;br /&gt;
!…7&lt;br /&gt;
!…8&lt;br /&gt;
!…9&lt;br /&gt;
!…A&lt;br /&gt;
!…B&lt;br /&gt;
!…C&lt;br /&gt;
!…D&lt;br /&gt;
!…E&lt;br /&gt;
!…F&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!0…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|00&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|01&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|02&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|03&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|04&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|05&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|06&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|07&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|08&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|09&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|0F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!1…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|10&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|11&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|12&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|13&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|14&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|15&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|16&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|17&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|18&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|19&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1A&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1B&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1C&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1D&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1E&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #f0d0d0&#039;|1F&amp;lt;br&amp;gt;&#039;&#039;&#039;–&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!2…&lt;br /&gt;
|align=&#039;center&#039;|20&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|21&amp;lt;br&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|22&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|23&amp;lt;br&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|24&amp;lt;br&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|25&amp;lt;br&amp;gt;&#039;&#039;&#039;%&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|26&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|27&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|28&amp;lt;br&amp;gt;&#039;&#039;&#039;(&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|29&amp;lt;br&amp;gt;&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2A&amp;lt;br&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2B&amp;lt;br&amp;gt;&#039;&#039;&#039;+&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2C&amp;lt;br&amp;gt;&#039;&#039;&#039;,&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2D&amp;lt;br&amp;gt;&#039;&#039;&#039;-&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2E&amp;lt;br&amp;gt;&#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|2F&amp;lt;br&amp;gt;&#039;&#039;&#039;/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!3…&lt;br /&gt;
|align=&#039;center&#039;|30&amp;lt;br&amp;gt;&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|31&amp;lt;br&amp;gt;&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|32&amp;lt;br&amp;gt;&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|33&amp;lt;br&amp;gt;&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|34&amp;lt;br&amp;gt;&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|35&amp;lt;br&amp;gt;&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|36&amp;lt;br&amp;gt;&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|37&amp;lt;br&amp;gt;&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|38&amp;lt;br&amp;gt;&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|39&amp;lt;br&amp;gt;&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3A&amp;lt;br&amp;gt;&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3B&amp;lt;br&amp;gt;&#039;&#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3C&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3D&amp;lt;br&amp;gt;&#039;&#039;&#039;=&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3E&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|3F&amp;lt;br&amp;gt;&#039;&#039;&#039;?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!4…&lt;br /&gt;
|align=&#039;center&#039;|40&amp;lt;br&amp;gt;&#039;&#039;&#039;@&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|41&amp;lt;br&amp;gt;&#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|42&amp;lt;br&amp;gt;&#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|43&amp;lt;br&amp;gt;&#039;&#039;&#039;C&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|44&amp;lt;br&amp;gt;&#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|45&amp;lt;br&amp;gt;&#039;&#039;&#039;E&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|46&amp;lt;br&amp;gt;&#039;&#039;&#039;F&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|47&amp;lt;br&amp;gt;&#039;&#039;&#039;G&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|48&amp;lt;br&amp;gt;&#039;&#039;&#039;H&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|49&amp;lt;br&amp;gt;&#039;&#039;&#039;I&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4A&amp;lt;br&amp;gt;&#039;&#039;&#039;J&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4B&amp;lt;br&amp;gt;&#039;&#039;&#039;K&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4C&amp;lt;br&amp;gt;&#039;&#039;&#039;L&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4D&amp;lt;br&amp;gt;&#039;&#039;&#039;M&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4E&amp;lt;br&amp;gt;&#039;&#039;&#039;N&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|4F&amp;lt;br&amp;gt;&#039;&#039;&#039;O&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!5…&lt;br /&gt;
|align=&#039;center&#039;|50&amp;lt;br&amp;gt;&#039;&#039;&#039;P&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|51&amp;lt;br&amp;gt;&#039;&#039;&#039;Q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|52&amp;lt;br&amp;gt;&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|53&amp;lt;br&amp;gt;&#039;&#039;&#039;S&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|54&amp;lt;br&amp;gt;&#039;&#039;&#039;T&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|55&amp;lt;br&amp;gt;&#039;&#039;&#039;U&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|56&amp;lt;br&amp;gt;&#039;&#039;&#039;V&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|57&amp;lt;br&amp;gt;&#039;&#039;&#039;W&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|58&amp;lt;br&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|59&amp;lt;br&amp;gt;&#039;&#039;&#039;Y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5A&amp;lt;br&amp;gt;&#039;&#039;&#039;Z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5B&amp;lt;br&amp;gt;&#039;&#039;&#039;[&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5C&amp;lt;br&amp;gt;&#039;&#039;&#039;\&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5D&amp;lt;br&amp;gt;&#039;&#039;&#039;]&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5E&amp;lt;br&amp;gt;&#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|5F&amp;lt;br&amp;gt;&#039;&#039;&#039;_&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!6…&lt;br /&gt;
|align=&#039;center&#039;|60&amp;lt;br&amp;gt;&#039;&#039;&#039;`&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|61&amp;lt;br&amp;gt;&#039;&#039;&#039;a&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|62&amp;lt;br&amp;gt;&#039;&#039;&#039;b&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|63&amp;lt;br&amp;gt;&#039;&#039;&#039;c&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|64&amp;lt;br&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|65&amp;lt;br&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|66&amp;lt;br&amp;gt;&#039;&#039;&#039;f&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|67&amp;lt;br&amp;gt;&#039;&#039;&#039;g&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|68&amp;lt;br&amp;gt;&#039;&#039;&#039;h&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|69&amp;lt;br&amp;gt;&#039;&#039;&#039;i&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6A&amp;lt;br&amp;gt;&#039;&#039;&#039;j&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6B&amp;lt;br&amp;gt;&#039;&#039;&#039;k&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6C&amp;lt;br&amp;gt;&#039;&#039;&#039;l&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6D&amp;lt;br&amp;gt;&#039;&#039;&#039;m&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6E&amp;lt;br&amp;gt;&#039;&#039;&#039;n&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|6F&amp;lt;br&amp;gt;&#039;&#039;&#039;o&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!7…&lt;br /&gt;
|align=&#039;center&#039;|70&amp;lt;br&amp;gt;&#039;&#039;&#039;p&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|71&amp;lt;br&amp;gt;&#039;&#039;&#039;q&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|72&amp;lt;br&amp;gt;&#039;&#039;&#039;r&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|73&amp;lt;br&amp;gt;&#039;&#039;&#039;s&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|74&amp;lt;br&amp;gt;&#039;&#039;&#039;t&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|75&amp;lt;br&amp;gt;&#039;&#039;&#039;u&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|76&amp;lt;br&amp;gt;&#039;&#039;&#039;v&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|77&amp;lt;br&amp;gt;&#039;&#039;&#039;w&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|78&amp;lt;br&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|79&amp;lt;br&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7A&amp;lt;br&amp;gt;&#039;&#039;&#039;z&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7B&amp;lt;br&amp;gt;&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7C&amp;lt;br&amp;gt;&#039;&#039;&#039;|&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7D&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|7E&amp;lt;br&amp;gt;&#039;&#039;&#039;~&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|7F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!8…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|80&amp;lt;br&amp;gt;&#039;&#039;&#039;Ň&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|81&amp;lt;br&amp;gt;&#039;&#039;&#039;Ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|82&amp;lt;br&amp;gt;&#039;&#039;&#039;Ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|83&amp;lt;br&amp;gt;&#039;&#039;&#039;Ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|84&amp;lt;br&amp;gt;&#039;&#039;&#039;Ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|85&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|86&amp;lt;br&amp;gt;&#039;&#039;&#039;Ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|87&amp;lt;br&amp;gt;&#039;&#039;&#039;Ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|88&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|89&amp;lt;br&amp;gt;&#039;&#039;&#039;Ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8A&amp;lt;br&amp;gt;&#039;&#039;&#039;Ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8B&amp;lt;br&amp;gt;&#039;&#039;&#039;Ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|8C&amp;lt;br&amp;gt;&#039;&#039;&#039;Ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8D&amp;lt;br&amp;gt;&#039;&#039;&#039;Ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|8E&amp;lt;br&amp;gt;&#039;&#039;&#039;Ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|8F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!9…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|90&amp;lt;br&amp;gt;&#039;&#039;&#039;đ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|91&amp;lt;br&amp;gt;&#039;&#039;&#039;ś&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|92&amp;lt;br&amp;gt;&#039;&#039;&#039;ć&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|93&amp;lt;br&amp;gt;&#039;&#039;&#039;ż&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|94&amp;lt;br&amp;gt;&#039;&#039;&#039;ź&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|95&amp;lt;br&amp;gt;&#039;&#039;&#039;ŝ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|96&amp;lt;br&amp;gt;&#039;&#039;&#039;ĉ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|97&amp;lt;br&amp;gt;&#039;&#039;&#039;ẑ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|98&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039; [1]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|99&amp;lt;br&amp;gt;&#039;&#039;&#039;ŕ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9A&amp;lt;br&amp;gt;&#039;&#039;&#039;ǔ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9B&amp;lt;br&amp;gt;&#039;&#039;&#039;ă&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #c0ffc0&#039;|9C&amp;lt;br&amp;gt;&#039;&#039;&#039;ń&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9D&amp;lt;br&amp;gt;&#039;&#039;&#039;ș&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #80f080&#039;|9E&amp;lt;br&amp;gt;&#039;&#039;&#039;ț&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0e0d0&#039;|9F&amp;lt;br&amp;gt;&#039;&#039;&#039;�&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!A…&lt;br /&gt;
|align=&#039;center&#039;|A0&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Non-breaking_space NBSP]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A1&amp;lt;br&amp;gt;&#039;&#039;&#039;ň&#039;&#039;&#039;&amp;lt;br&amp;gt;(¡)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¢)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A3&amp;lt;br&amp;gt;&#039;&#039;&#039;ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(£)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A4&amp;lt;br&amp;gt;&#039;&#039;&#039;ű&#039;&#039;&#039;&amp;lt;br&amp;gt;(¤)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A5&amp;lt;br&amp;gt;&#039;&#039;&#039;Ě&#039;&#039;&#039;&amp;lt;br&amp;gt;(¥)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A6&amp;lt;br&amp;gt;&#039;&#039;&#039;Š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¦)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|A7&amp;lt;br&amp;gt;&#039;&#039;&#039;§&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A8&amp;lt;br&amp;gt;&#039;&#039;&#039;š&#039;&#039;&#039;&amp;lt;br&amp;gt;(¨)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|A9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(©)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(ª)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(«)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AC&amp;lt;br&amp;gt;&#039;&#039;&#039;Č&#039;&#039;&#039;&amp;lt;br&amp;gt;(¬)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|AD&amp;lt;br&amp;gt;&#039;&#039;&#039;[https://secure.wikimedia.org/wikipedia/en/wiki/Soft_hyphen SHY]&#039;&#039;&#039;&amp;lt;br&amp;gt;[2]&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AE&amp;lt;br&amp;gt;&#039;&#039;&#039;č&#039;&#039;&#039;&amp;lt;br&amp;gt;(®)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|AF&amp;lt;br&amp;gt;&#039;&#039;&#039;ů&#039;&#039;&#039;&amp;lt;br&amp;gt;(¯)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!B…&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(°)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(±)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(²)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(³)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(´)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B5&amp;lt;br&amp;gt;&#039;&#039;&#039;ł&#039;&#039;&#039;&amp;lt;br&amp;gt;(µ)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B6&amp;lt;br&amp;gt;&#039;&#039;&#039;ť&#039;&#039;&#039;&amp;lt;br&amp;gt;(¶)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B7&amp;lt;br&amp;gt;&#039;&#039;&#039;ď&#039;&#039;&#039;&amp;lt;br&amp;gt;(·)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B8&amp;lt;br&amp;gt;&#039;&#039;&#039;ž&#039;&#039;&#039;&amp;lt;br&amp;gt;(¸)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|B9&amp;lt;br&amp;gt;&#039;&#039;&#039;ő&#039;&#039;&#039;&amp;lt;br&amp;gt;(¹)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BA&amp;lt;br&amp;gt;&#039;&#039;&#039;ą&#039;&#039;&#039;&amp;lt;br&amp;gt;(º)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BB&amp;lt;br&amp;gt;&#039;&#039;&#039;ę&#039;&#039;&#039;&amp;lt;br&amp;gt;(»)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BC&amp;lt;br&amp;gt;&#039;&#039;&#039;Œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¼)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BD&amp;lt;br&amp;gt;&#039;&#039;&#039;œ&#039;&#039;&#039;&amp;lt;br&amp;gt;(½)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|BE&amp;lt;br&amp;gt;&#039;&#039;&#039;Ÿ&#039;&#039;&#039;&amp;lt;br&amp;gt;(¾)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|BF&amp;lt;br&amp;gt;&#039;&#039;&#039;¿&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!C…&lt;br /&gt;
|align=&#039;center&#039;|C0&amp;lt;br&amp;gt;&#039;&#039;&#039;À&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C1&amp;lt;br&amp;gt;&#039;&#039;&#039;Á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C2&amp;lt;br&amp;gt;&#039;&#039;&#039;Â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C5&amp;lt;br&amp;gt;&#039;&#039;&#039;Å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C6&amp;lt;br&amp;gt;&#039;&#039;&#039;Æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C8&amp;lt;br&amp;gt;&#039;&#039;&#039;È&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|C9&amp;lt;br&amp;gt;&#039;&#039;&#039;É&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CB&amp;lt;br&amp;gt;&#039;&#039;&#039;Ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CD&amp;lt;br&amp;gt;&#039;&#039;&#039;Í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CE&amp;lt;br&amp;gt;&#039;&#039;&#039;Î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|CF&amp;lt;br&amp;gt;&#039;&#039;&#039;Ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!D…&lt;br /&gt;
|align=&#039;center&#039;|D0&amp;lt;br&amp;gt;&#039;&#039;&#039;Ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D1&amp;lt;br&amp;gt;&#039;&#039;&#039;Ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D2&amp;lt;br&amp;gt;&#039;&#039;&#039;Ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D3&amp;lt;br&amp;gt;&#039;&#039;&#039;Ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D4&amp;lt;br&amp;gt;&#039;&#039;&#039;Ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D5&amp;lt;br&amp;gt;&#039;&#039;&#039;Õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D6&amp;lt;br&amp;gt;&#039;&#039;&#039;Ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|D7&amp;lt;br&amp;gt;&#039;&#039;&#039;Ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(×)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D8&amp;lt;br&amp;gt;&#039;&#039;&#039;Ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|D9&amp;lt;br&amp;gt;&#039;&#039;&#039;Ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DA&amp;lt;br&amp;gt;&#039;&#039;&#039;Ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DB&amp;lt;br&amp;gt;&#039;&#039;&#039;Û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DC&amp;lt;br&amp;gt;&#039;&#039;&#039;Ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DD&amp;lt;br&amp;gt;&#039;&#039;&#039;Ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DE&amp;lt;br&amp;gt;&#039;&#039;&#039;Þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|DF&amp;lt;br&amp;gt;&#039;&#039;&#039;ß&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!E…&lt;br /&gt;
|align=&#039;center&#039;|E0&amp;lt;br&amp;gt;&#039;&#039;&#039;à&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E1&amp;lt;br&amp;gt;&#039;&#039;&#039;á&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E2&amp;lt;br&amp;gt;&#039;&#039;&#039;â&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E3&amp;lt;br&amp;gt;&#039;&#039;&#039;ã&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E4&amp;lt;br&amp;gt;&#039;&#039;&#039;ä&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E5&amp;lt;br&amp;gt;&#039;&#039;&#039;å&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E6&amp;lt;br&amp;gt;&#039;&#039;&#039;æ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E7&amp;lt;br&amp;gt;&#039;&#039;&#039;ç&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E8&amp;lt;br&amp;gt;&#039;&#039;&#039;è&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|E9&amp;lt;br&amp;gt;&#039;&#039;&#039;é&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EA&amp;lt;br&amp;gt;&#039;&#039;&#039;ê&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EB&amp;lt;br&amp;gt;&#039;&#039;&#039;ë&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EC&amp;lt;br&amp;gt;&#039;&#039;&#039;ì&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|ED&amp;lt;br&amp;gt;&#039;&#039;&#039;í&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EE&amp;lt;br&amp;gt;&#039;&#039;&#039;î&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|EF&amp;lt;br&amp;gt;&#039;&#039;&#039;ï&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!F…&lt;br /&gt;
|align=&#039;center&#039;|F0&amp;lt;br&amp;gt;&#039;&#039;&#039;ð&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F1&amp;lt;br&amp;gt;&#039;&#039;&#039;ñ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F2&amp;lt;br&amp;gt;&#039;&#039;&#039;ò&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F3&amp;lt;br&amp;gt;&#039;&#039;&#039;ó&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F4&amp;lt;br&amp;gt;&#039;&#039;&#039;ô&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F5&amp;lt;br&amp;gt;&#039;&#039;&#039;õ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F6&amp;lt;br&amp;gt;&#039;&#039;&#039;ö&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039; style=&#039;background: #d0d0f0&#039;|F7&amp;lt;br&amp;gt;&#039;&#039;&#039;ř&#039;&#039;&#039;&amp;lt;br&amp;gt;(÷)&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F8&amp;lt;br&amp;gt;&#039;&#039;&#039;ø&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|F9&amp;lt;br&amp;gt;&#039;&#039;&#039;ù&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FA&amp;lt;br&amp;gt;&#039;&#039;&#039;ú&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FB&amp;lt;br&amp;gt;&#039;&#039;&#039;û&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FC&amp;lt;br&amp;gt;&#039;&#039;&#039;ü&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FD&amp;lt;br&amp;gt;&#039;&#039;&#039;ý&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FE&amp;lt;br&amp;gt;&#039;&#039;&#039;þ&#039;&#039;&#039;&lt;br /&gt;
|align=&#039;center&#039;|FF&amp;lt;br&amp;gt;&#039;&#039;&#039;ÿ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Table Notes ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[1]&#039;&#039;&#039; As discussed [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/&amp;amp;do=findComment&amp;amp;comment=494855 here], the TDM char set has a redundant treatment of 2 characters:&lt;br /&gt;
&lt;br /&gt;
* Ô appears at 0x88 and 0xD4&lt;br /&gt;
* ô appears at 0x98 and 0xF4&lt;br /&gt;
&lt;br /&gt;
Starting with TDM 2.13, the redundancy can be removed and these new characters (from ISO-8859-3) introduced:&lt;br /&gt;
&lt;br /&gt;
* Ğ appears at 0x88&lt;br /&gt;
* ğ appears at 0x98&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[2]&#039;&#039;&#039; Avoid using the non-breaking space (NBSP, 0xA0) and the soft hyphen (SHY, 0xAD) in your strings. The TDM engine has no code to respect these during word wrap. Font maintainers: probably map NBSP to the &amp;lt;space&amp;gt; glyph, SHY to undefined/hollow box or zero-sized box.&lt;br /&gt;
&lt;br /&gt;
==== Corresponding Unicode ====&lt;br /&gt;
&lt;br /&gt;
For a mapping of these 256 codepoints to Unicode U+NNNN values and formal names, download &#039;TDM 8859-Style Font Map to Unicode-16.txt&#039;: &lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1wLEtuFvnrZ-WHK8ign8i3diIXZdriZ4F/view?usp=sharing for TDM 2.13]&lt;br /&gt;
* [https://drive.google.com/file/d/1UAz9jSZpT_j33STP3So_Re8JWa8QuAmz/view?usp=sharing for TDM 2.12 and earlier]&lt;br /&gt;
&lt;br /&gt;
Each of these files (by Geep, 2024) is in a standardized format so that it can also be imported into font design programs like FontForge as a custom 256-position map. In the comments, there is additional information about:&lt;br /&gt;
* ISO 8859-x sourcing of each character.&lt;br /&gt;
* alternative representations of some European and control characters.&lt;br /&gt;
&lt;br /&gt;
==== Fonts with Special Characters ====&lt;br /&gt;
Certain fonts have a few codepoints that purposefully diverge from the table entry.&lt;br /&gt;
&lt;br /&gt;
* Carleton font (regular, bold, glow) uses codepoint 0x23, ordinarily &amp;quot;#&amp;quot;, to represent &amp;quot;superscript #&amp;quot;, which is used in the main menu system to indicate FMs for which a translation pack is available.&lt;br /&gt;
* Treasure Map font has characters for &amp;quot;pirate skull and crossbones&amp;quot; and &amp;quot;bottle of booze (or poison)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Russian ===&lt;br /&gt;
&lt;br /&gt;
Characters conform to the [https://en.wikipedia.org/wiki/Win-1251 WIN-1251 native encoding, shown in the Wikipedia article]. Exception: the character &#039;&#039;&#039;0xFF&#039;&#039;&#039; (я) is mapped to &#039;&#039;&#039;0xB6&#039;&#039;&#039; upon loading. Therefore any Russian font must contain я at the place 0xB6.&lt;br /&gt;
&lt;br /&gt;
Within any given font, character overage may be incomplete. A 2025 effort extended the Mason 48pt font to all 256 codepoints.&lt;br /&gt;
&lt;br /&gt;
=== Asian Languages (Korean, Chinese, Japanese) ===&lt;br /&gt;
&lt;br /&gt;
The original D3 had support for these languages, so it might be possible to add them to TDM, too. At the moment, however, we lack the fonts and translators. Also, writing from right-to-left (Hebrew) or top-down (Japanese) might be tricky or outright impossible in our GUI without more work in the C++ code. Plus, these languages use more than 256 different characters, and an 8 bit table will not hold these.&lt;br /&gt;
&lt;br /&gt;
== European Character Implementation ==&lt;br /&gt;
=== Priority Early-On - the &amp;quot;Top 50&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Some of the special characters are used more often than others. Here is a statistic over the entire string set of the TDM core, from TDM v1.08, showing the top 50 most-used characters (excluding a-z, 0-9 and russian characters):&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=1 style=&amp;quot;border-collapse: collapse; font-size: 85%&amp;quot; cellspacing=0 cellpadding=2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
|Rank&lt;br /&gt;
|Occurances&lt;br /&gt;
|Letter&lt;br /&gt;
|Remarks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|í&lt;br /&gt;
|715&lt;br /&gt;
|&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|é&lt;br /&gt;
|674&lt;br /&gt;
|&lt;br /&gt;
|26&lt;br /&gt;
|è&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|á&lt;br /&gt;
|524&lt;br /&gt;
|&lt;br /&gt;
|27&lt;br /&gt;
|ú&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ø&lt;br /&gt;
|303&lt;br /&gt;
|Danish&lt;br /&gt;
|28&lt;br /&gt;
|ê&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|č&lt;br /&gt;
|288&lt;br /&gt;
|&lt;br /&gt;
|29&lt;br /&gt;
|ö&lt;br /&gt;
|48&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ó&lt;br /&gt;
|283&lt;br /&gt;
|&lt;br /&gt;
|30&lt;br /&gt;
|É&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ü&lt;br /&gt;
|270&lt;br /&gt;
|German&lt;br /&gt;
|31&lt;br /&gt;
|ñ&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ł&lt;br /&gt;
|203&lt;br /&gt;
|Polish&lt;br /&gt;
|32&lt;br /&gt;
|õ&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|æ&lt;br /&gt;
|200&lt;br /&gt;
|Danish&lt;br /&gt;
|33&lt;br /&gt;
|ń&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ě&lt;br /&gt;
|182&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|Ł&lt;br /&gt;
|24&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|ř&lt;br /&gt;
|175&lt;br /&gt;
|Czech&lt;br /&gt;
|35&lt;br /&gt;
|Š&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|ã&lt;br /&gt;
|168&lt;br /&gt;
|&lt;br /&gt;
|36&lt;br /&gt;
|â&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|ž&lt;br /&gt;
|148&lt;br /&gt;
|Czech&lt;br /&gt;
|37&lt;br /&gt;
|ź&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|ý&lt;br /&gt;
|142&lt;br /&gt;
|&lt;br /&gt;
|38&lt;br /&gt;
|ß&lt;br /&gt;
|18&lt;br /&gt;
|German&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ę&lt;br /&gt;
|141&lt;br /&gt;
|&lt;br /&gt;
|39&lt;br /&gt;
|Ó&lt;br /&gt;
|18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ą&lt;br /&gt;
|140&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|ň&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|ż&lt;br /&gt;
|119&lt;br /&gt;
|&lt;br /&gt;
|41&lt;br /&gt;
|Ú&lt;br /&gt;
|15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|å&lt;br /&gt;
|109&lt;br /&gt;
|Danish&lt;br /&gt;
|42&lt;br /&gt;
|Á&lt;br /&gt;
|13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|š&lt;br /&gt;
|99&lt;br /&gt;
|&lt;br /&gt;
|43&lt;br /&gt;
|î&lt;br /&gt;
|12&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|ś&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|44&lt;br /&gt;
|ť&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|ç&lt;br /&gt;
|91&lt;br /&gt;
|&lt;br /&gt;
|45&lt;br /&gt;
|ô&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|ä&lt;br /&gt;
|86&lt;br /&gt;
|German&lt;br /&gt;
|46&lt;br /&gt;
|Ž&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|à&lt;br /&gt;
|83&lt;br /&gt;
|&lt;br /&gt;
|47&lt;br /&gt;
|Ż&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|ů&lt;br /&gt;
|77&lt;br /&gt;
|&lt;br /&gt;
|48&lt;br /&gt;
|Č&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|ć&lt;br /&gt;
|67&lt;br /&gt;
|&lt;br /&gt;
|49&lt;br /&gt;
|ù&lt;br /&gt;
|6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Although ö, ä and ü do not appear that often, with only these and Ü, Ö, Ä and ß, the entire German language works. So adding these letters to the fonts is quite important. &lt;br /&gt;
&lt;br /&gt;
Preferably, all foreign letters would be added to the fonts (see [[Font Patcher]] or [[Refont]]). However, if time permits only adding a few, &#039;&#039;&#039;í&#039;&#039;&#039; would be more important than, say, &#039;&#039;&#039;ô&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
It is commonplace for missing accented letters to be redirected in the .dat file to the corresponding unaccented base letter.&lt;br /&gt;
&lt;br /&gt;
=== Coverage Expansion &amp;amp; Remaining Limitations ===&lt;br /&gt;
&lt;br /&gt;
By 2014, all the system (e.g., main menu) fonts (Carleton, Carleton_condensed, Stone in sizes 24pt and 48pt; Mason and Mason_glow in 48pt) had good coverage of the &amp;quot;Top 50&amp;quot; and beyond, although not all 256 codepoints. &lt;br /&gt;
This was confirmed more specifically in 2024, as part of an [https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/ Analysis of 2.12 Fonts]. This analysis indicated that, unlike the system fonts, the FM fonts generally did not provide specific glyphs beyond ASCII.&lt;br /&gt;
&lt;br /&gt;
In 2024, Stone 24pt, important for subtitles and a number of readables, was further extended to cover all 256 codepoints. This was tested with TDM 2.13[betas] and released with 2.14. Similar Stone 48pt and Carleton 24pt improvements are planned for TDM 2.15.&lt;br /&gt;
&lt;br /&gt;
[[Category:Fonts]]&lt;br /&gt;
&lt;br /&gt;
{{i18n}}&lt;/div&gt;</summary>
		<author><name>Geep</name></author>
	</entry>
</feed>