--- svtools/source/control/ctrlbox.cxx.orig	2006-11-22 10:48:42.000000000 +0800
+++ svtools/source/control/ctrlbox.cxx	2006-11-23 10:15:45.000000000 +0800
@@ -1162,9 +1162,10 @@ void FontSizeBox::ImplInit()
 
 void FontSizeBox::Reformat()
 {
-    if ( !bRelativeMode )
+    FontSizeNames aFontSizeNames( GetSettings().GetUILanguage() );
+    if ( !bRelativeMode || !aFontSizeNames.IsEmpty() )
     {
-        FontSizeNames aFontSizeNames( GetSettings().GetUILanguage() );
+        //FontSizeNames aFontSizeNames( GetSettings().GetUILanguage() );
         long nNewValue = aFontSizeNames.Name2Size( GetText() );
             if ( nNewValue)
         {
@@ -1247,10 +1248,12 @@ void FontSizeBox::Fill( const FontInfo& 
 		pAry = pList->GetStdSizeAry();
 	}
 
+    // first insert font size names (for simplified/traditional chinese)
+    FontSizeNames aFontSizeNames( GetSettings().GetUILanguage() );
     if ( pAry == pList->GetStdSizeAry() )
     {
         // for standard sizes we don't need to bother
-        if ( bStdSize && GetEntryCount() )
+        if ( bStdSize && GetEntryCount() && aFontSizeNames.IsEmpty() )
             return;
         bStdSize = TRUE;
     }
@@ -1263,8 +1266,6 @@ void FontSizeBox::Fill( const FontInfo& 
     Clear();
     USHORT nPos = 0;
 
-    // first insert font size names (for simplified/traditional chinese)
-    FontSizeNames aFontSizeNames( GetSettings().GetUILanguage() );
     if ( !aFontSizeNames.IsEmpty() )
     {
         if ( pAry == pList->GetStdSizeAry() )
@@ -1424,6 +1425,7 @@ void FontSizeBox::SetValue( long nNewVal
             SetText( aName );
             mnFieldValue = mnLastValue;
             SetEmptyFieldValueData( FALSE );
+            return;
         }
     }
 
