View | Details | Raw Unified | Return to issue 66922
Collapse All | Expand All

(-)cppcanvas/source/mtfrenderer/implrenderer.cxx (-1 / +9 lines)
Lines 52-57 Link Here
52
#include <com/sun/star/rendering/XParametricPolyPolygon2DFactory.hpp>
52
#include <com/sun/star/rendering/XParametricPolyPolygon2DFactory.hpp>
53
#include <com/sun/star/uno/Sequence.hxx>
53
#include <com/sun/star/uno/Sequence.hxx>
54
#include <com/sun/star/geometry/RealPoint2D.hpp>
54
#include <com/sun/star/geometry/RealPoint2D.hpp>
55
#include <com/sun/star/rendering/PanoseProportion.hpp>
55
#include <com/sun/star/rendering/ViewState.hpp>
56
#include <com/sun/star/rendering/ViewState.hpp>
56
#include <com/sun/star/rendering/RenderState.hpp>
57
#include <com/sun/star/rendering/RenderState.hpp>
57
#include <com/sun/star/rendering/XCanvasFont.hpp>
58
#include <com/sun/star/rendering/XCanvasFont.hpp>
Lines 956-961 Link Here
956
                rParms.mrParms.maFontLetterForm.isValid() ?
957
                rParms.mrParms.maFontLetterForm.isValid() ?
957
                rParms.mrParms.maFontLetterForm.getValue() :
958
                rParms.mrParms.maFontLetterForm.getValue() :
958
                (rFont.GetItalic() == ITALIC_NONE) ? 0 : 9;
959
                (rFont.GetItalic() == ITALIC_NONE) ? 0 : 9;
960
            aFontRequest.FontDescription.FontDescription.Proportion = 
961
                rParms.mrParms.maFontProportion.isValid() ?
962
                rParms.mrParms.maFontProportion.getValue() :
963
                (rFont.GetPitch() == PITCH_FIXED)
964
                    ? rendering::PanoseProportion::MONO_SPACED
965
                    : rendering::PanoseProportion::ANYTHING;
959
966
960
            LanguageType aLang = rFont.GetLanguage();
967
            LanguageType aLang = rFont.GetLanguage();
961
            aFontRequest.Locale = MsLangId::convertLanguageToLocale(aLang, false);
968
            aFontRequest.Locale = MsLangId::convertLanguageToLocale(aLang, false);
Lines 3073-3079 Link Here
3073
            if( rParams.maFontName.isValid() ||
3080
            if( rParams.maFontName.isValid() ||
3074
                rParams.maFontWeight.isValid() ||
3081
                rParams.maFontWeight.isValid() ||
3075
                rParams.maFontLetterForm.isValid() ||
3082
                rParams.maFontLetterForm.isValid() ||
3076
                rParams.maFontUnderline.isValid() )
3083
                rParams.maFontUnderline.isValid() ||
3084
                rParams.maFontProportion.isValid() )
3077
            {
3085
            {
3078
                ::cppcanvas::internal::OutDevState& rState = getState( aStateStack );
3086
                ::cppcanvas::internal::OutDevState& rState = getState( aStateStack );
3079
                    
3087
                    
(-)cppcanvas/inc/cppcanvas/renderer.hxx (+3 lines)
Lines 139-144 Link Here
139
            /// Optionally forces the given font letter form (italics etc.) for all text actions
139
            /// Optionally forces the given font letter form (italics etc.) for all text actions
140
            ::comphelper::OptionalValue< sal_Int8 >					maFontLetterForm;
140
            ::comphelper::OptionalValue< sal_Int8 >					maFontLetterForm;
141
141
142
            /// Optionally forces the given font proportion (condensed, monospaced etc.) for all text actions
143
            ::comphelper::OptionalValue< sal_Int8 >					maFontProportion;
144
142
            /// Optionally forces underlining for all text actions
145
            /// Optionally forces underlining for all text actions
143
            ::comphelper::OptionalValue< bool >						maFontUnderline;
146
            ::comphelper::OptionalValue< bool >						maFontUnderline;
144
        };
147
        };
(-)canvas/source/directx/dx_textlayout_drawhelper.cxx (+6 lines)
Lines 135-140 Link Here
135
            aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
135
            aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
136
            aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
136
            aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
137
            aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
137
            aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
138
            aFont.SetPitch(
139
                    rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
140
                    ? PITCH_FIXED : PITCH_VARIABLE);
138
141
139
            aFont.SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
142
            aFont.SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
140
143
Lines 267-272 Link Here
267
        aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
270
        aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
268
        aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
271
        aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
269
        aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
272
        aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
273
        aFont.SetPitch(
274
                rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
275
                ? PITCH_FIXED : PITCH_VARIABLE);
270
276
271
        // adjust to stretched font
277
        // adjust to stretched font
272
        if(!::rtl::math::approxEqual(rFontMatrix.m00, rFontMatrix.m11))
278
        if(!::rtl::math::approxEqual(rFontMatrix.m00, rFontMatrix.m11))
(-)canvas/source/vcl/canvasfont.cxx (+5 lines)
Lines 33-38 Link Here
33
33
34
#include <canvas/debug.hxx>
34
#include <canvas/debug.hxx>
35
35
36
#include <com/sun/star/rendering/PanoseProportion.hpp>
37
36
#include <rtl/math.hxx>
38
#include <rtl/math.hxx>
37
#include <basegfx/numeric/ftools.hxx>
39
#include <basegfx/numeric/ftools.hxx>
38
#include <i18npool/mslangid.hxx>
40
#include <i18npool/mslangid.hxx>
Lines 66-71 Link Here
66
        // TODO(F2): improve panose->vclenum conversion
68
        // TODO(F2): improve panose->vclenum conversion
67
        maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
69
        maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
68
        maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
70
        maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
71
        maFont->SetPitch(
72
                rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
73
                    ? PITCH_FIXED : PITCH_VARIABLE);
69
74
70
		maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
75
		maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
71
76
(-)canvas/source/cairo/cairo_canvasfont.cxx (+5 lines)
Lines 36-41 Link Here
36
#include <rtl/math.hxx>
36
#include <rtl/math.hxx>
37
#include <basegfx/numeric/ftools.hxx>
37
#include <basegfx/numeric/ftools.hxx>
38
38
39
#include <com/sun/star/rendering/PanoseProportion.hpp>
40
39
#include <vcl/metric.hxx>
41
#include <vcl/metric.hxx>
40
#include <i18npool/mslangid.hxx>
42
#include <i18npool/mslangid.hxx>
41
43
Lines 86-91 Link Here
86
        // TODO(F2): improve panose->vclenum conversion
88
        // TODO(F2): improve panose->vclenum conversion
87
        maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
89
        maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
88
        maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
90
        maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
91
        maFont->SetPitch(
92
                rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
93
                    ? PITCH_FIXED : PITCH_VARIABLE);
89
94
90
        maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
95
        maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
91
96
(-)drawinglayer/source/processor2d/canvasprocessor.cxx (+5 lines)
Lines 64-69 Link Here
64
#include <drawinglayer/primitive2d/alphaprimitive2d.hxx>
64
#include <drawinglayer/primitive2d/alphaprimitive2d.hxx>
65
#include <basegfx/tuple/b2i64tuple.hxx>
65
#include <basegfx/tuple/b2i64tuple.hxx>
66
#include <basegfx/range/b2irange.hxx>
66
#include <basegfx/range/b2irange.hxx>
67
#include <com/sun/star/rendering/PanoseProportion.hpp>
67
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
68
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
68
#include <com/sun/star/rendering/CompositeOperation.hpp>
69
#include <com/sun/star/rendering/CompositeOperation.hpp>
69
#include <com/sun/star/rendering/StrokeAttributes.hpp>
70
#include <com/sun/star/rendering/StrokeAttributes.hpp>
Lines 1526-1531 Link Here
1526
                    aFontRequest.FontDescription.IsVertical = rFontAttrs.getVertical() ? util::TriState_YES : util::TriState_NO;
1527
                    aFontRequest.FontDescription.IsVertical = rFontAttrs.getVertical() ? util::TriState_YES : util::TriState_NO;
1527
                    // TODO(F2): improve vclenum->panose conversion
1528
                    // TODO(F2): improve vclenum->panose conversion
1528
                    aFontRequest.FontDescription.FontDescription.Weight = static_cast< sal_uInt8 >(rFontAttrs.getWeight());
1529
                    aFontRequest.FontDescription.FontDescription.Weight = static_cast< sal_uInt8 >(rFontAttrs.getWeight());
1530
                    aFontRequest.FontDescription.FontDescription.Proportion =
1531
                        rFontAttrs.getMonospaced()
1532
                            ? rendering::PanoseProportion::MONO_SPACED
1533
                            : rendering::PanoseProportion::ANYTHING;
1529
                    aFontRequest.FontDescription.FontDescription.Letterform = rFontAttrs.getItalic() ? 9 : 0;
1534
                    aFontRequest.FontDescription.FontDescription.Letterform = rFontAttrs.getItalic() ? 9 : 0;
1530
1535
1531
                    // init CellSize to 1.0, else a default font height will be used
1536
                    // init CellSize to 1.0, else a default font height will be used
(-)drawinglayer/source/primitive2d/textlayoutdevice.cxx (+2 lines)
Lines 346-351 Link Here
346
			aRetval.SetItalic(rFontAttributes.getItalic() ? ITALIC_NORMAL : ITALIC_NONE);
346
			aRetval.SetItalic(rFontAttributes.getItalic() ? ITALIC_NORMAL : ITALIC_NONE);
347
			aRetval.SetOutline(rFontAttributes.getOutline());
347
			aRetval.SetOutline(rFontAttributes.getOutline());
348
            aRetval.SetLanguage(MsLangId::convertLocaleToLanguage(rLocale));
348
            aRetval.SetLanguage(MsLangId::convertLocaleToLanguage(rLocale));
349
            aRetval.SetPitch(rFontAttributes.getMonospaced() ? PITCH_FIXED : PITCH_VARIABLE);
349
350
350
#ifdef WIN32
351
#ifdef WIN32
351
			// #100424# use higher precision
352
			// #100424# use higher precision
Lines 392-397 Link Here
392
                RTL_TEXTENCODING_SYMBOL == rFont.GetCharSet(),
393
                RTL_TEXTENCODING_SYMBOL == rFont.GetCharSet(),
393
			    rFont.IsVertical(),
394
			    rFont.IsVertical(),
394
			    ITALIC_NONE != rFont.GetItalic(),
395
			    ITALIC_NONE != rFont.GetItalic(),
396
                PITCH_FIXED == rFont.GetPitch(),
395
			    rFont.IsOutline(),
397
			    rFont.IsOutline(),
396
                bRTL,
398
                bRTL,
397
                bBiDiStrong);
399
                bBiDiStrong);
(-)drawinglayer/source/primitive2d/textprimitive2d.cxx (-1 / +2 lines)
Lines 63-69 Link Here
63
				&& getItalic() == rCompare.getItalic()
63
				&& getItalic() == rCompare.getItalic()
64
				&& getOutline() == rCompare.getOutline()
64
				&& getOutline() == rCompare.getOutline()
65
				&& getRTL() == rCompare.getRTL()
65
				&& getRTL() == rCompare.getRTL()
66
				&& getBiDiStrong() == rCompare.getBiDiStrong());
66
				&& getBiDiStrong() == rCompare.getBiDiStrong()
67
                && getMonospaced() == rCompare.getMonospaced());
67
		}
68
		}
68
	} // end of namespace primitive2d
69
	} // end of namespace primitive2d
69
} // end of namespace drawinglayer
70
} // end of namespace drawinglayer
(-)drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx (-1 / +5 lines)
Lines 75-80 Link Here
75
			unsigned									mbOutline : 1;      // Outline Flag
75
			unsigned									mbOutline : 1;      // Outline Flag
76
            unsigned                                    mbRTL : 1;          // RTL Flag
76
            unsigned                                    mbRTL : 1;          // RTL Flag
77
            unsigned                                    mbBiDiStrong : 1;   // BiDi Flag
77
            unsigned                                    mbBiDiStrong : 1;   // BiDi Flag
78
            unsigned mbMonospaced : 1;
78
			// TODO: pair kerning and CJK kerning
79
			// TODO: pair kerning and CJK kerning
79
80
80
        public:
81
        public:
Lines 85-90 Link Here
85
                bool bSymbol = false,
86
                bool bSymbol = false,
86
                bool bVertical = false,
87
                bool bVertical = false,
87
                bool bItalic = false,
88
                bool bItalic = false,
89
                bool bMonospaced = false,
88
                bool bOutline = false,
90
                bool bOutline = false,
89
                bool bRTL = false,
91
                bool bRTL = false,
90
                bool bBiDiStrong = false)
92
                bool bBiDiStrong = false)
Lines 96-102 Link Here
96
			    mbItalic(bItalic),
98
			    mbItalic(bItalic),
97
			    mbOutline(bOutline),
99
			    mbOutline(bOutline),
98
                mbRTL(bRTL),
100
                mbRTL(bRTL),
99
                mbBiDiStrong(bBiDiStrong)
101
                mbBiDiStrong(bBiDiStrong),
102
                mbMonospaced(bMonospaced)
100
            {
103
            {
101
            }
104
            }
102
105
Lines 113-118 Link Here
113
            bool getOutline() const { return mbOutline; }
116
            bool getOutline() const { return mbOutline; }
114
            bool getRTL() const { return mbRTL; }
117
            bool getRTL() const { return mbRTL; }
115
            bool getBiDiStrong() const { return mbBiDiStrong; }
118
            bool getBiDiStrong() const { return mbBiDiStrong; }
119
            bool getMonospaced() const { return mbMonospaced; }
116
		};
120
		};
117
	} // end of namespace primitive2d
121
	} // end of namespace primitive2d
118
} // end of namespace drawinglayer
122
} // end of namespace drawinglayer

Return to issue 66922