diff -ur ./src/doc/PdfFontMetricsFreetype.cpp ../podofo-svn-change/src/doc/PdfFontMetricsFreetype.cpp
--- ./src/doc/PdfFontMetricsFreetype.cpp	2011-01-17 22:28:51.000000000 +0100
+++ ../podofo-svn-change/src/doc/PdfFontMetricsFreetype.cpp	2011-03-11 13:18:14.527009200 +0100
@@ -219,8 +219,12 @@
     ftErr = FT_Set_Char_Size( m_pFace, static_cast<int>(fSize*64.0), 0, 72, 72 );
 
     // calculate the line spacing now, as it changes only with the font size
+#if 0    
     m_dLineSpacing        = (static_cast<double>(m_pFace->ascender + abs(m_pFace->descender)) 
                              / m_pFace->units_per_EM);
+#else    
+    m_dLineSpacing        = (static_cast<double>(m_pFace->height) / m_pFace->units_per_EM);
+#endif    
     m_dUnderlineThickness = (static_cast<double>(m_pFace->underline_thickness) / m_pFace->units_per_EM);
     m_dUnderlinePosition  = (static_cast<double>(m_pFace->underline_position)  / m_pFace->units_per_EM);
     m_dAscent  = static_cast<double>(m_pFace->ascender) / m_pFace->units_per_EM;
diff -ur ./src/doc/PdfFontCID.cpp ../podofo-svn-change/src/doc/PdfFontCID.cpp
--- ./src/doc/PdfFontCID.cpp	2010-10-21 19:09:00.000000000 +0200
+++ ../podofo-svn-change/src/doc/PdfFontCID.cpp	2011-03-11 13:17:40.448229900 +0100
@@ -268,6 +268,11 @@
             dCurWidth  = pdWidth[i];
         }
     }
+    if (array.size() == 0) {
+	    array.push_back( lCurIndex = nMin );
+	    array.push_back( lCurIndex = nMax );
+	    array.push_back( dCurWidth ); 
+    }
 
     pFontDict->GetDictionary().AddKey( PdfName("W"), array ); 
 
