pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r2480 - in trunk: data/data src


From: David Philippi at BerliOS
Subject: [Pingus-CVS] r2480 - in trunk: data/data src
Date: Thu, 3 Nov 2005 13:18:58 +0100

Author: torangan
Date: 2005-11-03 13:18:53 +0100 (Thu, 03 Nov 2005)
New Revision: 2480

Modified:
   trunk/data/data/fonts.xml
   trunk/src/fonts.cxx
   trunk/src/fonts.hxx
   trunk/src/pingus_main.cxx
Log:
patch to support translations into other encodings

Modified: trunk/data/data/fonts.xml
===================================================================
--- trunk/data/data/fonts.xml   2005-11-03 12:00:25 UTC (rev 2479)
+++ trunk/data/data/fonts.xml   2005-11-03 12:18:53 UTC (rev 2480)
@@ -23,13 +23,51 @@
           <image file="../images/fonts/pingus_small-iso-8859-1.png"><alpha 
trans_limit="0.0" /></image>
         </sprite>
       </section>
+      <section name="iso-8859-2">
+
+        <sprite name="chalk_small">
+          <image file="../images/fonts/chalk_small-iso-8859-2.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="chalk_normal">
+          <image file="../images/fonts/chalk_normal-iso-8859-2.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="chalk_large">
+          <image file="../images/fonts/chalk_large-iso-8859-2.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="verdana11">
+          <image file="../images/fonts/verdana11_latin2.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+      </section>
+      <section name="iso-8859-9">
+
+        <sprite name="chalk_small">
+          <image file="../images/fonts/chalk_small-iso-8859-9.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="chalk_normal">
+          <image file="../images/fonts/chalk_normal-iso-8859-9.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="chalk_large">
+          <image file="../images/fonts/chalk_large-iso-8859-9.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+        <sprite name="verdana11">
+          <image file="../images/fonts/verdana11_latin1.png"><alpha 
trans_limit="0.0" /></image>
+        </sprite>
+
+      </section>
     </section>
 
     <sprite name="courier_small_glyphs">
       <image file="../images/fonts/verdana11_bold_latin1.png"><alpha 
trans_limit="0.25" /></image>
     </sprite>
 
-    <font name="courier_small">
+    <font name="courier_small.ISO-8859-1">
       <bitmap
         glyphs="fonts/courier_small_glyphs"
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
@@ -37,6 +75,20 @@
         subtract_width="0" />
     </font>
 
+    <font name="courier_small.ISO-8859-2">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="courier_small.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
     <!--
     <sprite name="../images/fonts/xterm.png">
     <image file=""><alpha/></image>
@@ -74,46 +126,130 @@
     </sprite>
 
 
-    <font name="pingus_small">
+    <font name="pingus_small.ISO-8859-1">
       <bitmap 
         glyphs="fonts/glyphs/iso-8859-1/pingus_small"
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
         spacelen="8" subtract_width="0" />
     </font>
 
-    <font name="chalk_normal">
+    <font name="pingus_small.ISO-8859-2">
       <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="pingus_small.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_normal.ISO-8859-1">
+      <bitmap 
         glyphs="fonts/glyphs/iso-8859-1/chalk_normal"
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
         spacelen="8" subtract_width="0" />
     </font>
 
-    <font name="chalk_large">
+    <font name="chalk_normal.ISO-8859-2">
       <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/chalk_normal"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_normal.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/chalk_normal"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_large.ISO-8859-1">
+      <bitmap 
         glyphs="fonts/glyphs/iso-8859-1/chalk_large"
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
         spacelen="8" subtract_width="1" />
     </font>
 
-    <font name="chalk_small">
+    <font name="chalk_large.ISO-8859-2">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/chalk_large"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_large.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/chalk_large"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_small.ISO-8859-1">
       <bitmap
         glyphs="fonts/glyphs/iso-8859-1/chalk_small"
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
         spacelen="8" subtract_width="0 " />
     </font>
 
-    <font name="pingus">
+    <font name="chalk_small.ISO-8859-2">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/chalk_small"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="chalk_small.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/chalk_small"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="pingus.ISO-8859-1">
       <bitmap
         glyphs="fonts/glyphs/iso-8859-1/pingus" 
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~���������������������������������������������������������������������������������������������"
         spacelen="8" />
     </font>
 
-    <font name="pingus_small_fix_num">
+    <font name="pingus.ISO-8859-2">
       <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="pingus.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="pingus_small_fix_num.ISO-8859-1">
+      <bitmap 
         glyphs="fonts/pingus_small_fix_num_glyphs" 
         
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~��������������"
         spacelen="13" subtract_width="0"  />
     </font>
+
+    <font name="pingus_small_fix_num.ISO-8859-2">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-2/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
+
+    <font name="pingus_small_fix_num.ISO-8859-9">
+      <bitmap 
+        glyphs="fonts/glyphs/iso-8859-9/verdana11"
+        
letters="!&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;address@hidden|}~�����������������������������������������������������������������������������������������������"
+        spacelen="8" subtract_width="0" />
+    </font>
   </section>
 </resources>

Modified: trunk/src/fonts.cxx
===================================================================
--- trunk/src/fonts.cxx 2005-11-03 12:00:25 UTC (rev 2479)
+++ trunk/src/fonts.cxx 2005-11-03 12:18:53 UTC (rev 2480)
@@ -23,6 +23,8 @@
 namespace Pingus {
 namespace Fonts {
 
+std::string encoding("ISO-8859-1");
+
 CL_Font chalk_large;
 CL_Font chalk_normal;
 CL_Font chalk_small;
@@ -41,20 +43,20 @@
 void
 init ()
 {
-  chalk_large  = Resource::load_font("fonts/chalk_large"); 
-  chalk_normal = Resource::load_font("fonts/chalk_normal");
-  chalk_small  = Resource::load_font("fonts/chalk_small");
+  chalk_large  = Resource::load_font("fonts/chalk_large" + std::string(".") + 
encoding); 
+  chalk_normal = Resource::load_font("fonts/chalk_normal" + std::string(".") + 
encoding);
+  chalk_small  = Resource::load_font("fonts/chalk_small" + std::string(".") + 
encoding);
 
-  pingus_small = Resource::load_font("fonts/pingus_small");
-  pingus_small_fix_num = Resource::load_font("fonts/pingus_small_fix_num");
-  pingus_large = Resource::load_font("fonts/pingus");
+  pingus_small = Resource::load_font("fonts/pingus_small" + std::string(".") + 
encoding);
+  pingus_small_fix_num = Resource::load_font("fonts/pingus_small_fix_num" + 
std::string(".") + encoding);
+  pingus_large = Resource::load_font("fonts/pingus" + std::string(".") + 
encoding);
 
-  courier_small = Resource::load_font("fonts/courier_small");
-  xterm        = Resource::load_font("fonts/courier_small");
-  smallfont    = Resource::load_font("fonts/courier_small"); 
//PingusResource::load_font("Fonts/smallfont","fonts");
-  smallfont_h  = Resource::load_font("fonts/courier_small"); // 
PingusResource::load_font("Fonts/smallfont_h","fonts");
+  courier_small = Resource::load_font("fonts/courier_small" + std::string(".") 
+ encoding);
+  xterm        = Resource::load_font("fonts/courier_small" + std::string(".") 
+ encoding);
+  smallfont    = Resource::load_font("fonts/courier_small" + std::string(".") 
+ encoding); //PingusResource::load_font("Fonts/smallfont","fonts");
+  smallfont_h  = Resource::load_font("fonts/courier_small" + std::string(".") 
+ encoding); // PingusResource::load_font("Fonts/smallfont_h","fonts");
 
-  lcd          = Resource::load_font("fonts/courier_small"); // 
PingusResource::load_font("Fonts/numbers", "fonts");
+  lcd          = Resource::load_font("fonts/courier_small" + std::string(".") 
+ encoding); // PingusResource::load_font("Fonts/numbers", "fonts");
 }
 
 void deinit () {}

Modified: trunk/src/fonts.hxx
===================================================================
--- trunk/src/fonts.hxx 2005-11-03 12:00:25 UTC (rev 2479)
+++ trunk/src/fonts.hxx 2005-11-03 12:18:53 UTC (rev 2480)
@@ -26,6 +26,8 @@
 namespace Pingus {
 namespace Fonts {
 
+extern std::string encoding;
+
 extern CL_Font chalk_large;
 extern CL_Font chalk_normal;
 extern CL_Font chalk_small;

Modified: trunk/src/pingus_main.cxx
===================================================================
--- trunk/src/pingus_main.cxx   2005-11-03 12:00:25 UTC (rev 2479)
+++ trunk/src/pingus_main.cxx   2005-11-03 12:18:53 UTC (rev 2480)
@@ -561,8 +561,31 @@
   dictionary_manager.add_directory(path_manager.complete("po/"));
   // Language is automatically picked from env variable
   // dictionary_manager.set_language("de"); 
-  dictionary_manager.set_charset("ISO-8859-1");
 
+  const char* lang = getenv("LC_ALL");
+  if(!lang) lang = getenv("LC_MESSAGES");
+  if(!lang) lang = getenv("LANG");
+  if(lang)
+  {
+    std::string language(lang);
+    language.resize(2);
+    if(language == "cs" || language == "sr")
+    {
+      dictionary_manager.set_charset("ISO-8859-2");
+      Pingus::Fonts::encoding = "ISO-8859-2";
+    }
+    else if(language == "tr")
+    {
+      dictionary_manager.set_charset("ISO-8859-9");
+      Pingus::Fonts::encoding = "ISO-8859-9";
+    }
+    else
+    {
+      dictionary_manager.set_charset("ISO-8859-1");
+      Pingus::Fonts::encoding = "ISO-8859-1";
+    }
+  }
+
   if (maintainer_mode)
     std::cout << "BasePath: " << path_manager.get_base_path () << std::endl;
 }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]