summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-08-12 23:35:07 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-08-15 09:20:40 +0100
commit9892df24a508dcc33cd82ffa6bb664ab82cb0c70 (patch)
treedc9a336ea0b0cc363f151d2c1eca3ef8ded3a2e5
parent28f5e1b27c4150847cc4c2654c55d2881574a81a (diff)
turn on cairo rendering of vertical text
-rw-r--r--qadevOOo/testdocs/vertical-testcase.odtbin0 -> 18060 bytes
-rw-r--r--vcl/unx/generic/fontmanager/fontconfig.cxx4
-rw-r--r--vcl/unx/generic/gdi/salgdi3.cxx10
3 files changed, 7 insertions, 7 deletions
diff --git a/qadevOOo/testdocs/vertical-testcase.odt b/qadevOOo/testdocs/vertical-testcase.odt
new file mode 100644
index 000000000000..cd279c8115ad
--- /dev/null
+++ b/qadevOOo/testdocs/vertical-testcase.odt
Binary files differ
diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 6bf7edee2489..be91349eadc4 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -870,7 +870,7 @@ public:
{
FcPatternDestroy(mpPattern);
}
- virtual void *GetPattern(void * face, bool bEmbolden, bool bVerticalLayout) const
+ virtual void *GetPattern(void * face, bool bEmbolden, bool /*bVerticalLayout*/) const
{
FcValue value;
value.type = FcTypeFTFace;
@@ -879,8 +879,10 @@ public:
FcPatternAdd (mpPattern, FC_FT_FACE, value, FcTrue);
FcPatternDel(mpPattern, FC_EMBOLDEN);
FcPatternAddBool(mpPattern, FC_EMBOLDEN, bEmbolden ? FcTrue : FcFalse);
+#if 0
FcPatternDel(mpPattern, FC_VERTICAL_LAYOUT);
FcPatternAddBool(mpPattern, FC_VERTICAL_LAYOUT, bVerticalLayout ? FcTrue : FcFalse);
+#endif
return mpPattern;
}
FcPattern* mpPattern;
diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx
index f03bc353a740..023f64bb5e7c 100644
--- a/vcl/unx/generic/gdi/salgdi3.cxx
+++ b/vcl/unx/generic/gdi/salgdi3.cxx
@@ -454,9 +454,9 @@ void X11SalGraphics::DrawCairoAAFontString( const ServerFontLayout& rLayout )
&text_extents);
xdiff = -text_extents.x_advance/nHeight;
- //deliberate bug here for temp render-like-X11-impl,
- //nWidth should be nHeight below
- xdiff += font_extents.descent/nWidth;
+ //to restore an apparent bug in the original X11 impl, replace
+ //nHeight with nWidth below
+ xdiff += font_extents.descent/nHeight;
}
cairo_matrix_translate(&m, xdiff, ydiff);
}
@@ -834,9 +834,7 @@ void X11SalGraphics::DrawServerFontLayout( const ServerFontLayout& rLayout )
{
// draw complex text
ServerFont& rFont = rLayout.GetServerFont();
- const bool bVertical = rFont.GetFontSelData().mbVertical;
-
- if( !bVertical && isCairoRenderable(rFont) )
+ if( isCairoRenderable(rFont) )
DrawCairoAAFontString( rLayout );
else
{