Extended MP Font Support and National Insignias

From SEOW Wiki
Jump to navigation Jump to search

Extended MP Font Support

As of SEOW v3.2, the Mission Planner supports an extended range of international characters (Unicode). This is most obvious in the new verbose flight names. In SEOW v7.0 there are now 3773 different air regiments defined in SEDB71 (including 381 made available through the HSFX Mod), each with its own (editable) historical name. Some examples are:


  • 4. Letecký pluk stíhací (Praha) (11.28-05.39)
  • III. Gruppe des Kampfgeschwaders 27 "Bölcke"
  • 2. Lovačko jato ZNDH
  • USN VF-32 "Outlaw's Bandits", USS Langley CVL-27
  • 97ª Squadriglia, 9° Gruppo CT, 4° Stormo, ICAF


A range of other data tables in SEOW also support extended character sets (see list below). The Mission Planner and Statistics engine reproduce the character sets faithfully in HTML, so there is significantly improved scope for added realism in developing your orders of battle. The DCS will perform reverse translations from HTML into Unicode for display in the in-game briefings.

The Statistics pages are rendered in the UTF-8 character set. If you find that your Statistics pages are not decoding escaped character sequences properly, then the chances are that your Statistics pages might need some extra help. The function LL in the file Scripts/MP-SpecialCharacters.php might need to have some extra character mappings added (see Unicode 4.0 Definitions for assistance). The current definition of this function is:

 function LL($string) {
   $s = preg_replace("/\\\\u([0-9abcdef]{4})/", "&#x$1;", $string);
   $s = str_replace("<","<",$s);
   $s = str_replace(">",">",$s);
   $s = str_replace(""",'"',$s);
   $s = str_replace("&",'&',$s);
   return utf8_decode($s);
 }


This function maps explicit Unicode character forms into hex HTML forms. Typically, non-Latin characters requiring Unicode support may appear in the following tables:

  • Airbases (Airbase_Name field)
  • AircraftLoadout (Description field)
  • Airforce_Units (Verbose field)
  • Air_Regiment_Structure (any of the *_Long and *_Short fields)
  • Army_Structure (any of the *_Long and *_Short fields)
  • Army_Units (Division_Name field)
  • Industrial_Installations (City, Sector and Location fields)
  • Navy_Units (Navy field)
  • Object_Specifications (Verbose_Names_Allies and Verbose_Names_Axis fields)
  • ObjMissionData (Unit_Name field)
  • Railway_Stations (Station_Name field)
  • Railway_Units (Railway field)
  • Resupply_Points (Supply_Point field)


You are free to add Unicode characters into any of these fields, according to your campaign needs. Recommendations for using extended characters in SEOW include:

  • Use decimal HTML entities where possible. See [1] for a detailed listing of all available Unicode characters and associated HTML entities. For example the ü character (u-umlaut) has Unicode form \u00fc and the equivalent decimal HTML form &#252; . Use the decimal HTML forms preferentially. Hex HTML entities should be avoided.
  • Explicit Unicode forms are now being deprecated and will progressively be removed from tables in SEDB.


National Insignias

SEOW v3.2 also includes extra national insignias, so designers can include more diverse orders of battles in their campaigns. Recent inclusions are: Belgium,Brazil,Bulgaria,China,Croatia,Czech,Egypt,Greece,Iraq,Israel,Spain,Switzerland,Syria,Thailand,Vichy France,Yugoslavia

(Borduria, Syldavia and ROA have just been contributed by Warg)

One of the really nice features is that from SEOW v3.2, the national insignia will be displayed on individual platoon tooltips. Previously, the dominant Axis or Allied insignia was displayed. Now, for example, Romanian and Italian ground units will be clearly identifiable from their insignia in the Stalingrad sector, even though they are fighting for the dominant German forces.

Here is the full list of insignia provided by default with SEOW v3.2 (in the MP4/uniticons folder):

Error creating thumbnail: Unable to save thumbnail to destination

Australia

Error creating thumbnail: Unable to save thumbnail to destination

Belgium

Error creating thumbnail: Unable to save thumbnail to destination

Borduria (Fictional)

Error creating thumbnail: Unable to save thumbnail to destination

Brazil

Error creating thumbnail: Unable to save thumbnail to destination

Britain

Error creating thumbnail: Unable to save thumbnail to destination

Bulgaria

Error creating thumbnail: Unable to save thumbnail to destination

Bulgaria (Late War)

Error creating thumbnail: Unable to save thumbnail to destination

Canada(MP4 v4.556)

Error creating thumbnail: Unable to save thumbnail to destination

China

Error creating thumbnail: Unable to save thumbnail to destination

Croatia

Error creating thumbnail: Unable to save thumbnail to destination

Czech

Error creating thumbnail: Unable to save thumbnail to destination

Egypt

Error creating thumbnail: Unable to save thumbnail to destination

Finland

Error creating thumbnail: Unable to save thumbnail to destination

France

Error creating thumbnail: Unable to save thumbnail to destination

Germany

Error creating thumbnail: Unable to save thumbnail to destination

Greece

Error creating thumbnail: Unable to save thumbnail to destination

Hungary

Error creating thumbnail: Unable to save thumbnail to destination

Iraq

Error creating thumbnail: Unable to save thumbnail to destination

Israel

Error creating thumbnail: Unable to save thumbnail to destination

Italy

Error creating thumbnail: Unable to save thumbnail to destination

Italy ANR

Error creating thumbnail: Unable to save thumbnail to destination

Italy ICAF

Error creating thumbnail: Unable to save thumbnail to destination

Japan

Error creating thumbnail: Unable to save thumbnail to destination

Netherlands

Error creating thumbnail: Unable to save thumbnail to destination

New Zealand

Error creating thumbnail: Unable to save thumbnail to destination

Poland

Error creating thumbnail: Unable to save thumbnail to destination

Romania

Error creating thumbnail: Unable to save thumbnail to destination

Russia/Soviet Union

Error creating thumbnail: Unable to save thumbnail to destination

Russian Liberation Army (ROA)

Error creating thumbnail: Unable to save thumbnail to destination

Slovakia

Error creating thumbnail: Unable to save thumbnail to destination

South Africa

Error creating thumbnail: Unable to save thumbnail to destination

Spain

Error creating thumbnail: Unable to save thumbnail to destination

Switzerland

Error creating thumbnail: Unable to save thumbnail to destination

Syldavia (Fictional)

Error creating thumbnail: Unable to save thumbnail to destination

Syria

Error creating thumbnail: Unable to save thumbnail to destination

Thailand

Error creating thumbnail: Unable to save thumbnail to destination

USA

Error creating thumbnail: Unable to save thumbnail to destination

Vichy France

Error creating thumbnail: Unable to save thumbnail to destination

Yugoslavia


Adding New National Insignias to SEOW

If you want to add support for new nationalities, here is how to do it.

Each nationality needs to have three separate GIF files created for it in the uniticons folder. These are called "Europe-*.gif" or "Pacific-*.gif", depending on whether the nation will be active in Europe or Pacific/Asia (or both!). As an example, let's see how to add two new national insignias: Walt (Axis) and Joe (Allied).

Assume that Walt and Joe will only be active in Europe. We will therefore need to build the following GIFs:


Europe-Walt.gif (large icon for airbases etc)

Europe-WaltSB.gif (large icon for seaplane bases)

Europe-Walt_small.gif (small icon for stats, unit listing inside airbase tooltips etc)


Europe-Joe.gif (large icon for airbases etc)

Europe-JoeSB.gif (large icon for seaplane bases)

Europe-Joe_small.gif (small icon for stats, unit listing inside airbase tooltips etc)


We should use the Germany GIFs as templates for Walt, and USA GIFs as templates for Joe. Then we will get the correct background colours for Axis and Allied in Europe. The pixel dimensions of the images should not be changed. Put the new GIFs in the MP4/uniticons folder.

Now, in your campaign database, all references to relevant divisions/regiments in the Army_Units and Airforce_Units tables should use "Walt" and "Joe" as the respective Country value. Edit the AirRegimentStructure table to include your lines for the new "Walt" and "Joe" nationalities. Do the same for the Railway_Units and Navy_Units tables. The identities "Walt" and "Joe" are now functional and may even be used in the Sector_Dominance table.