diff --git utils/HtmlFonts.cc utils/HtmlFonts.cc index a12992e..4b551b2 100644 --- utils/HtmlFonts.cc +++ utils/HtmlFonts.cc @@ -323,7 +323,14 @@ GooString* HtmlFontAccu::CSStyle(int i, int j){ GooString *colorStr=font.getColor().toString(); GooString *fontName=(fontFullName ? font.getFullName() : font.getFontName()); GooString *lSize; - + + const double * const text_mat = font.getRotMat(); + GooString matrix_str("matrix("); + if (font.isRotOrSkewed()) { + matrix_str.appendf("{0:10.10g}, {1:10.10g}, {2:10.10g}, {3:10.10g}, 0, 0)", + text_mat[0], text_mat[1], text_mat[2], text_mat[3]); + } + if(!xml){ tmp->append(".ft"); tmp->append(jStr); @@ -343,17 +350,13 @@ GooString* HtmlFontAccu::CSStyle(int i, int j){ tmp->append(colorStr); // if there is rotation or skew, include the matrix if (font.isRotOrSkewed()) { - const double * const text_mat = font.getRotMat(); - GooString matrix_str(" matrix("); - matrix_str.appendf("{0:10.10g}, {1:10.10g}, {2:10.10g}, {3:10.10g}, 0, 0)", - text_mat[0], text_mat[1], text_mat[2], text_mat[3]); - tmp->append(";-moz-transform:"); + tmp->append(";-moz-transform: "); tmp->append(&matrix_str); - tmp->append(";-webkit-transform:"); + tmp->append(";-webkit-transform: "); tmp->append(&matrix_str); - tmp->append(";-o-transform:"); + tmp->append(";-o-transform: "); tmp->append(&matrix_str); - tmp->append(";-ms-transform:"); + tmp->append(";-ms-transform: "); tmp->append(&matrix_str); // Todo: 75% is a wild guess that seems to work pretty well; // We probably need to calculate the real percentage @@ -375,6 +378,10 @@ GooString* HtmlFontAccu::CSStyle(int i, int j){ tmp->append(fontName); //font.getFontName()); tmp->append("\" color=\""); tmp->append(colorStr); + if (font.isRotOrSkewed()) { + tmp->append("\" transform=\""); + tmp->append(&matrix_str); + } tmp->append("\"/>"); }