diff options
| -rw-r--r-- | doc/ScintillaHistory.html | 12 | ||||
| -rw-r--r-- | win32/PlatWin.cxx | 11 | 
2 files changed, 18 insertions, 5 deletions
| diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 24b2ead5a..a63ac8fc3 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -572,6 +572,18 @@      </ul>      <h2>Releases</h2>      <h3> +       <a href="https://www.scintilla.org/scintilla502.zip">Release 5.0.2</a> +    </h3> +    <ul> +	<li> +	Released 9 April 2021. +	</li> +	<li> +	On Windows, fix encoding used for text display with DirectWrite. +	<a href="https://sourceforge.net/p/scintilla/bugs/2246/">Bug #2246</a>. +	</li> +    </ul> +    <h3>         <a href="https://www.scintilla.org/scintilla501.zip">Release 5.0.1</a>      </h3>      <ul> diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index 30d72dd4b..99c92434b 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -1354,7 +1354,7 @@ public:  	std::unique_ptr<IScreenLineLayout> Layout(const IScreenLine *screenLine) override; -	void DrawTextCommon(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, int codePageDraw, UINT fuOptions); +	void DrawTextCommon(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, int codePageOverride, UINT fuOptions);  	void DrawTextNoClip(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, ColourAlpha fore, ColourAlpha back) override;  	void DrawTextClipped(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, ColourAlpha fore, ColourAlpha back) override; @@ -2303,10 +2303,11 @@ std::unique_ptr<IScreenLineLayout> SurfaceD2D::Layout(const IScreenLine *screenL  	return std::make_unique<ScreenLineLayout>(screenLine);  } -void SurfaceD2D::DrawTextCommon(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, int codePageDraw, UINT fuOptions) { +void SurfaceD2D::DrawTextCommon(PRectangle rc, const Font *font_, XYPOSITION ybase, std::string_view text, int codePageOverride, UINT fuOptions) {  	SetFont(font_);  	// Use Unicode calls +	const int codePageDraw = codePageOverride ? codePageOverride : codePageText;  	const TextWide tbuf(text, codePageDraw);  	if (pRenderTarget && pTextFormat && pBrush) {  		if (fuOptions & ETO_CLIPPED) { @@ -2340,7 +2341,7 @@ void SurfaceD2D::DrawTextNoClip(PRectangle rc, const Font *font_, XYPOSITION yba  	if (pRenderTarget) {  		FillRectangleAligned(rc, back);  		D2DPenColourAlpha(fore); -		DrawTextCommon(rc, font_, ybase, text, codePageText, ETO_OPAQUE); +		DrawTextCommon(rc, font_, ybase, text, 0, ETO_OPAQUE);  	}  } @@ -2349,7 +2350,7 @@ void SurfaceD2D::DrawTextClipped(PRectangle rc, const Font *font_, XYPOSITION yb  	if (pRenderTarget) {  		FillRectangleAligned(rc, back);  		D2DPenColourAlpha(fore); -		DrawTextCommon(rc, font_, ybase, text, codePageText, ETO_OPAQUE | ETO_CLIPPED); +		DrawTextCommon(rc, font_, ybase, text, 0, ETO_OPAQUE | ETO_CLIPPED);  	}  } @@ -2360,7 +2361,7 @@ void SurfaceD2D::DrawTextTransparent(PRectangle rc, const Font *font_, XYPOSITIO  		if (ch != ' ') {  			if (pRenderTarget) {  				D2DPenColourAlpha(fore); -				DrawTextCommon(rc, font_, ybase, text, codePageText, 0); +				DrawTextCommon(rc, font_, ybase, text, 0, 0);  			}  			return;  		} | 
