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):

Australia

Belgium

Borduria (Fictional)

Brazil

Britain

Bulgaria

Bulgaria (Late war)

Canada

China

Croatia

Czech

Egypt

Finland

France

Germany

Greece

Hungary

Iraq

Israel

Italy

Italy ANR

Italy ICAF

Japan

Netherlands

New Zealand

Poland

Romania

Russia/Soviet Union

Russian Liberation Army (ROA)

Slovakia

South Africa

Spain

Switzerland

Syldavia (Fictional)

Syria

Thailand

USA

Vichy France

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.