Convert smart quotes and dashes in reports to ASCII quotes and dashes.
Fixes https://gitlab.com/kicad/code/kicad/issues/1861
This commit is contained in:
parent
c1849f7e00
commit
621bfe36a8
|
@ -26,6 +26,7 @@
|
|||
#include <wildcards_and_files_ext.h>
|
||||
#include <gal/color4d.h>
|
||||
#include <wx/clipbrd.h>
|
||||
#include <kicad_string.h>
|
||||
|
||||
WX_HTML_REPORT_PANEL::WX_HTML_REPORT_PANEL( wxWindow* parent,
|
||||
wxWindowID id,
|
||||
|
@ -402,7 +403,10 @@ void WX_HTML_REPORT_PANEL::onBtnSaveToFile( wxCommandEvent& event )
|
|||
|
||||
for( const REPORT_LINE& l : m_report )
|
||||
{
|
||||
f.Write( generatePlainText( l ) );
|
||||
wxString s = generatePlainText( l );
|
||||
|
||||
ConvertSmartQuotesAndDashes( &s );
|
||||
f.Write( s );
|
||||
}
|
||||
|
||||
f.Close();
|
||||
|
|
|
@ -40,6 +40,40 @@
|
|||
static const char illegalFileNameChars[] = "\\/:\"<>|";
|
||||
|
||||
|
||||
bool ConvertSmartQuotesAndDashes( wxString* aString )
|
||||
{
|
||||
bool retVal = false;
|
||||
|
||||
for( wxString::iterator ii = aString->begin(); ii != aString->end(); ++ii )
|
||||
{
|
||||
if( *ii == L'\u0060' || *ii == L'\u00B4' || *ii == L'\u2018' || *ii == L'\u2019' )
|
||||
{
|
||||
*ii = '\'';
|
||||
retVal = true;
|
||||
}
|
||||
if( *ii == L'\u201C' || *ii == L'\u201D' )
|
||||
{
|
||||
*ii = '"';
|
||||
retVal = true;
|
||||
}
|
||||
if( *ii == L'\u2013' || *ii == L'\u2014' )
|
||||
{
|
||||
*ii = '-';
|
||||
retVal = true;
|
||||
}
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* These Escape/Unescape routines use HTML-entity-reference-style encoding to handle
|
||||
* characters which are:
|
||||
* (a) not legal in filenames
|
||||
* (b) used as control characters in LIB_IDs
|
||||
* (c) used to delineate hierarchical paths
|
||||
*/
|
||||
wxString EscapeString( const wxString& aSource )
|
||||
{
|
||||
#if 1
|
||||
|
|
|
@ -36,6 +36,13 @@
|
|||
#include <wx/filename.h>
|
||||
|
||||
|
||||
/**
|
||||
* Converts curly quotes and em/en dashes to straight quotes and dashes.
|
||||
* @param aString
|
||||
* @return true if any characters required conversion.
|
||||
*/
|
||||
bool ConvertSmartQuotesAndDashes( wxString* aString );
|
||||
|
||||
/**
|
||||
* These Escape/Unescape routines use HTML-entity-reference-style encoding to handle
|
||||
* characters which are:
|
||||
|
|
Loading…
Reference in New Issue