Loading common/footprint_info.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -273,8 +273,8 @@ FOOTPRINT_INFO* FOOTPRINT_LIST::GetModuleInfo( const wxString& aFootprintName ) wxString::Format( wxT( "'%s' is not a valid FPID." ), wxString::Format( wxT( "'%s' is not a valid FPID." ), GetChars( aFootprintName ) ) ); GetChars( aFootprintName ) ) ); wxString libNickname = FROM_UTF8( fpid.GetLibNickname().c_str() ); wxString libNickname = fpid.GetLibNickname(); wxString footprintName = FROM_UTF8( fpid.GetFootprintName().c_str() ); wxString footprintName = fpid.GetFootprintName(); if( libNickname == fp.GetNickname() && footprintName == fp.GetFootprintName() ) if( libNickname == fp.GetNickname() && footprintName == fp.GetFootprintName() ) return &fp; return &fp; Loading common/fp_lib_table.cpp +18 −18 Original line number Original line Diff line number Diff line Loading @@ -173,7 +173,7 @@ MODULE* FP_LIB_TABLE::FootprintLoad( const wxString& aNickname, const wxString& FPID& fpid = (FPID&) ret->GetFPID(); FPID& fpid = (FPID&) ret->GetFPID(); // Catch any misbehaving plugin, which should be setting internal footprint name properly: // Catch any misbehaving plugin, which should be setting internal footprint name properly: wxASSERT( aFootprintName == FROM_UTF8( fpid.GetFootprintName().c_str() ) ); wxASSERT( aFootprintName == (wxString) fpid.GetFootprintName() ); // and clearing nickname // and clearing nickname wxASSERT( !fpid.GetLibNickname().size() ); wxASSERT( !fpid.GetLibNickname().size() ); Loading @@ -195,7 +195,7 @@ FP_LIB_TABLE::SAVE_T FP_LIB_TABLE::FootprintSave( const wxString& aNickname, con // Try loading the footprint to see if it already exists, caller wants overwrite // Try loading the footprint to see if it already exists, caller wants overwrite // protection, which is atypical, not the default. // protection, which is atypical, not the default. wxString fpname = FROM_UTF8( aFootprint->GetFPID().GetFootprintName().c_str() ); wxString fpname = aFootprint->GetFPID().GetFootprintName(); std::auto_ptr<MODULE> m( row->plugin->FootprintLoad( row->GetFullURI( true ), fpname, row->GetProperties() ) ); std::auto_ptr<MODULE> m( row->plugin->FootprintLoad( row->GetFullURI( true ), fpname, row->GetProperties() ) ); Loading Loading @@ -480,16 +480,17 @@ PROPERTIES* FP_LIB_TABLE::ParseOptions( const std::string& aOptionsList ) } } std::string FP_LIB_TABLE::FormatOptions( const PROPERTIES* aProperties ) UTF8 FP_LIB_TABLE::FormatOptions( const PROPERTIES* aProperties ) { { std::string ret; UTF8 ret; if( aProperties ) if( aProperties ) { { for( PROPERTIES::const_iterator it = aProperties->begin(); it != aProperties->end(); ++it ) for( PROPERTIES::const_iterator it = aProperties->begin(); it != aProperties->end(); ++it ) { { const std::string& name = it->first; const std::string& name = it->first; const std::string& value = it->second; const UTF8& value = it->second; if( ret.size() ) if( ret.size() ) ret += OPT_SEP; ret += OPT_SEP; Loading Loading @@ -741,7 +742,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Cannot find footprint library file \"%s\" in any of the " msg.Printf( _( "Cannot find footprint library file '%s' in any of the " "KiCad legacy library search paths.\n" ), "KiCad legacy library search paths.\n" ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); aReporter->Report( msg ); aReporter->Report( msg ); Loading @@ -751,8 +752,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL continue; continue; } } module = pi->FootprintLoad( libPath, module = pi->FootprintLoad( libPath, component->GetFPID().GetFootprintName() ); FROM_UTF8( component->GetFPID().GetFootprintName().c_str() ) ); if( module ) if( module ) { { Loading @@ -766,10 +766,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` footprint <%s> was not found in any legacy " msg.Printf( _( "Component `%s` footprint '%s' was not found in any legacy " "library.\n" ), "library.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); GetChars( component->GetFPID().Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading Loading @@ -811,10 +811,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` footprint <%s> legacy library path <%s > " msg.Printf( _( "Component `%s` footprint '%s' legacy library path <%s > " "was not found in the footprint library table.\n" ), "was not found in the footprint library table.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); GetChars( component->GetFPID().Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading @@ -830,9 +830,9 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` FPID <%s> is not valid.\n" ), msg.Printf( _( "Component `%s` FPID '%s' is not valid.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( newFPID.Format().c_str() ) ) ); GetChars( newFPID.Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading Loading @@ -860,7 +860,7 @@ void FP_LIB_TABLE::SetProjectPathEnvVariable( const wxFileName& aPath ) else else path = aPath.GetPath(); path = aPath.GetPath(); wxLogTrace( traceFpLibTable, wxT( "Setting env %s to <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Setting env %s to '%s'." ), GetChars( ProjectPathEnvVariableName() ), GetChars( path ) ); GetChars( ProjectPathEnvVariableName() ), GetChars( path ) ); wxSetEnv( ProjectPathEnvVariableName(), path ); wxSetEnv( ProjectPathEnvVariableName(), path ); } } Loading Loading @@ -899,7 +899,7 @@ wxString FP_LIB_TABLE::GetProjectFileName( const wxFileName& aPath ) fn.SetName( defaultFileName ); fn.SetName( defaultFileName ); } } wxLogTrace( traceFpLibTable, wxT( "Project specific footprint library table file <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Project specific footprint library table file '%s'." ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); return fn.GetFullPath(); return fn.GetFullPath(); Loading @@ -917,7 +917,7 @@ bool FP_LIB_TABLE::LoadGlobalTable( FP_LIB_TABLE& aTable ) throw (IO_ERROR, PARS if( !fn.DirExists() && !fn.Mkdir( 0x777, wxPATH_MKDIR_FULL ) ) if( !fn.DirExists() && !fn.Mkdir( 0x777, wxPATH_MKDIR_FULL ) ) { { THROW_IO_ERROR( wxString::Format( _( "Cannot create global library table path <%s>." ), THROW_IO_ERROR( wxString::Format( _( "Cannot create global library table path '%s'." ), GetChars( fn.GetPath() ) ) ); GetChars( fn.GetPath() ) ) ); } } Loading Loading @@ -954,7 +954,7 @@ wxString FP_LIB_TABLE::GetGlobalTableFileName() fn.SetName( GetFileName() ); fn.SetName( GetFileName() ); wxLogTrace( traceFpLibTable, wxT( "Global footprint library table file <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Global footprint library table file '%s'." ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); return fn.GetFullPath(); return fn.GetFullPath(); Loading common/fpid.cpp +6 −6 Original line number Original line Diff line number Diff line Loading @@ -265,9 +265,9 @@ int FPID::SetRevision( const std::string& aRevision ) } } std::string FPID::Format() const UTF8 FPID::Format() const { { std::string ret; UTF8 ret; if( nickname.size() ) if( nickname.size() ) { { Loading @@ -287,9 +287,9 @@ std::string FPID::Format() const } } std::string FPID::GetFootprintNameAndRev() const UTF8 FPID::GetFootprintNameAndRev() const { { std::string ret; UTF8 ret; if( revision.size() ) if( revision.size() ) { { Loading @@ -301,11 +301,11 @@ std::string FPID::GetFootprintNameAndRev() const } } std::string FPID::Format( const std::string& aLogicalLib, const std::string& aFootprintName, UTF8 FPID::Format( const std::string& aLogicalLib, const std::string& aFootprintName, const std::string& aRevision ) const std::string& aRevision ) throw( PARSE_ERROR ) throw( PARSE_ERROR ) { { std::string ret; UTF8 ret; int offset; int offset; if( aLogicalLib.size() ) if( aLogicalLib.size() ) Loading common/gal/stroke_font.cpp +17 −16 Original line number Original line Diff line number Diff line Loading @@ -147,7 +147,7 @@ BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLY } } void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double aRotationAngle ) void STROKE_FONT::Draw( const UTF8& aText, const VECTOR2D& aPosition, double aRotationAngle ) { { // Context needs to be saved before any transformations // Context needs to be saved before any transformations m_gal->Save(); m_gal->Save(); Loading Loading @@ -192,7 +192,7 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double { { size_t length = newlinePos - begin; size_t length = newlinePos - begin; drawSingleLineText( aText.Mid( begin, length ) ); drawSingleLineText( aText.substr( begin, length ) ); m_gal->Translate( VECTOR2D( 0.0, lineHeight ) ); m_gal->Translate( VECTOR2D( 0.0, lineHeight ) ); begin = newlinePos + 1; begin = newlinePos + 1; Loading @@ -200,14 +200,14 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double } } // Draw the last (or the only one) line // Draw the last (or the only one) line if( !aText.IsEmpty() ) if( !aText.empty() ) drawSingleLineText( aText.Mid( begin ) ); drawSingleLineText( aText.substr( begin ) ); m_gal->Restore(); m_gal->Restore(); } } void STROKE_FONT::drawSingleLineText( const wxString& aText ) void STROKE_FONT::drawSingleLineText( const UTF8& aText ) { { // By default the overbar is turned off // By default the overbar is turned off m_overbar = false; m_overbar = false; Loading Loading @@ -254,12 +254,12 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) xOffset = 0.0; xOffset = 0.0; } } for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); ++chIt ) for( UTF8::uni_iter chIt = aText.ubegin(), end = aText.uend(); chIt < end; ++chIt ) { { // Toggle overbar // Toggle overbar if( *chIt == '~' ) if( *chIt == '~' ) { { if( ++chIt == aText.end() ) if( ++chIt >= end ) break; break; if( *chIt != '~' ) // It was a single tilda, it toggles overbar if( *chIt != '~' ) // It was a single tilda, it toggles overbar Loading @@ -281,6 +281,7 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) VECTOR2D startOverbar( xOffset, -getInterline() * OVERBAR_HEIGHT ); VECTOR2D startOverbar( xOffset, -getInterline() * OVERBAR_HEIGHT ); VECTOR2D endOverbar( xOffset + glyphSize.x * bbox.GetEnd().x, VECTOR2D endOverbar( xOffset + glyphSize.x * bbox.GetEnd().x, -getInterline() * OVERBAR_HEIGHT ); -getInterline() * OVERBAR_HEIGHT ); m_gal->DrawLine( startOverbar, endOverbar ); m_gal->DrawLine( startOverbar, endOverbar ); } } Loading Loading @@ -317,25 +318,25 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) } } VECTOR2D STROKE_FONT::computeTextSize( const wxString& aText ) const VECTOR2D STROKE_FONT::computeTextSize( const UTF8& aText ) const { { VECTOR2D result = VECTOR2D( 0.0, m_glyphSize.y ); VECTOR2D result = VECTOR2D( 0.0, m_glyphSize.y ); for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); ++chIt ) for( UTF8::uni_iter it = aText.ubegin(), end = aText.uend(); it < end; ++it ) { { wxASSERT_MSG( *chIt != '\n', wxASSERT_MSG( *it != '\n', wxT( "This function is intended to work with single line strings" ) ); wxT( "This function is intended to work with single line strings" ) ); // If it is double tilda, then it is displayed as a single tilda // If it is double tilda, then it is displayed as a single tilda // If it is single tilda, then it is toggling overbar, so we need to skip it // If it is single tilda, then it is toggling overbar, so we need to skip it if( *chIt == '~' ) if( *it == '~' ) { { if( ++chIt == aText.end() ) if( ++it >= end ) break; break; } } // Index in the bounding boxes table // Index in the bounding boxes table unsigned dd = *chIt - ' '; unsigned dd = *it - ' '; if( dd >= m_glyphBoundingBoxes.size() || dd < 0 ) if( dd >= m_glyphBoundingBoxes.size() || dd < 0 ) dd = '?' - ' '; dd = '?' - ' '; Loading common/utf8.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ #include <utf8.h> #include <utf8.h> /* THROW_IO_ERROR needs this, but it will soon be including this file, so until some /* THROW_IO_ERROR needs this, but it includes this file, so until some factoring of THROW_IO_ERROR into a separate header, defer and use the asserts. factoring of THROW_IO_ERROR into a separate header, defer and use the asserts. #include <richio.h> #include <richio.h> */ */ Loading @@ -33,7 +33,7 @@ /* /* These are not inlined so that code space is saved by encapsulating the These are not inlined so that code space is saved by encapsulating the creation of intermediate objects and referencing wxConvUTF8. creation of intermediate objects and the referencing of wxConvUTF8. */ */ Loading Loading
common/footprint_info.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -273,8 +273,8 @@ FOOTPRINT_INFO* FOOTPRINT_LIST::GetModuleInfo( const wxString& aFootprintName ) wxString::Format( wxT( "'%s' is not a valid FPID." ), wxString::Format( wxT( "'%s' is not a valid FPID." ), GetChars( aFootprintName ) ) ); GetChars( aFootprintName ) ) ); wxString libNickname = FROM_UTF8( fpid.GetLibNickname().c_str() ); wxString libNickname = fpid.GetLibNickname(); wxString footprintName = FROM_UTF8( fpid.GetFootprintName().c_str() ); wxString footprintName = fpid.GetFootprintName(); if( libNickname == fp.GetNickname() && footprintName == fp.GetFootprintName() ) if( libNickname == fp.GetNickname() && footprintName == fp.GetFootprintName() ) return &fp; return &fp; Loading
common/fp_lib_table.cpp +18 −18 Original line number Original line Diff line number Diff line Loading @@ -173,7 +173,7 @@ MODULE* FP_LIB_TABLE::FootprintLoad( const wxString& aNickname, const wxString& FPID& fpid = (FPID&) ret->GetFPID(); FPID& fpid = (FPID&) ret->GetFPID(); // Catch any misbehaving plugin, which should be setting internal footprint name properly: // Catch any misbehaving plugin, which should be setting internal footprint name properly: wxASSERT( aFootprintName == FROM_UTF8( fpid.GetFootprintName().c_str() ) ); wxASSERT( aFootprintName == (wxString) fpid.GetFootprintName() ); // and clearing nickname // and clearing nickname wxASSERT( !fpid.GetLibNickname().size() ); wxASSERT( !fpid.GetLibNickname().size() ); Loading @@ -195,7 +195,7 @@ FP_LIB_TABLE::SAVE_T FP_LIB_TABLE::FootprintSave( const wxString& aNickname, con // Try loading the footprint to see if it already exists, caller wants overwrite // Try loading the footprint to see if it already exists, caller wants overwrite // protection, which is atypical, not the default. // protection, which is atypical, not the default. wxString fpname = FROM_UTF8( aFootprint->GetFPID().GetFootprintName().c_str() ); wxString fpname = aFootprint->GetFPID().GetFootprintName(); std::auto_ptr<MODULE> m( row->plugin->FootprintLoad( row->GetFullURI( true ), fpname, row->GetProperties() ) ); std::auto_ptr<MODULE> m( row->plugin->FootprintLoad( row->GetFullURI( true ), fpname, row->GetProperties() ) ); Loading Loading @@ -480,16 +480,17 @@ PROPERTIES* FP_LIB_TABLE::ParseOptions( const std::string& aOptionsList ) } } std::string FP_LIB_TABLE::FormatOptions( const PROPERTIES* aProperties ) UTF8 FP_LIB_TABLE::FormatOptions( const PROPERTIES* aProperties ) { { std::string ret; UTF8 ret; if( aProperties ) if( aProperties ) { { for( PROPERTIES::const_iterator it = aProperties->begin(); it != aProperties->end(); ++it ) for( PROPERTIES::const_iterator it = aProperties->begin(); it != aProperties->end(); ++it ) { { const std::string& name = it->first; const std::string& name = it->first; const std::string& value = it->second; const UTF8& value = it->second; if( ret.size() ) if( ret.size() ) ret += OPT_SEP; ret += OPT_SEP; Loading Loading @@ -741,7 +742,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Cannot find footprint library file \"%s\" in any of the " msg.Printf( _( "Cannot find footprint library file '%s' in any of the " "KiCad legacy library search paths.\n" ), "KiCad legacy library search paths.\n" ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); aReporter->Report( msg ); aReporter->Report( msg ); Loading @@ -751,8 +752,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL continue; continue; } } module = pi->FootprintLoad( libPath, module = pi->FootprintLoad( libPath, component->GetFPID().GetFootprintName() ); FROM_UTF8( component->GetFPID().GetFootprintName().c_str() ) ); if( module ) if( module ) { { Loading @@ -766,10 +766,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` footprint <%s> was not found in any legacy " msg.Printf( _( "Component `%s` footprint '%s' was not found in any legacy " "library.\n" ), "library.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); GetChars( component->GetFPID().Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading Loading @@ -811,10 +811,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` footprint <%s> legacy library path <%s > " msg.Printf( _( "Component `%s` footprint '%s' legacy library path <%s > " "was not found in the footprint library table.\n" ), "was not found in the footprint library table.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); GetChars( component->GetFPID().Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading @@ -830,9 +830,9 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL { { if( aReporter ) if( aReporter ) { { msg.Printf( _( "Component `%s` FPID <%s> is not valid.\n" ), msg.Printf( _( "Component `%s` FPID '%s' is not valid.\n" ), GetChars( component->GetReference() ), GetChars( component->GetReference() ), GetChars( FROM_UTF8( newFPID.Format().c_str() ) ) ); GetChars( newFPID.Format() ) ); aReporter->Report( msg ); aReporter->Report( msg ); } } Loading Loading @@ -860,7 +860,7 @@ void FP_LIB_TABLE::SetProjectPathEnvVariable( const wxFileName& aPath ) else else path = aPath.GetPath(); path = aPath.GetPath(); wxLogTrace( traceFpLibTable, wxT( "Setting env %s to <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Setting env %s to '%s'." ), GetChars( ProjectPathEnvVariableName() ), GetChars( path ) ); GetChars( ProjectPathEnvVariableName() ), GetChars( path ) ); wxSetEnv( ProjectPathEnvVariableName(), path ); wxSetEnv( ProjectPathEnvVariableName(), path ); } } Loading Loading @@ -899,7 +899,7 @@ wxString FP_LIB_TABLE::GetProjectFileName( const wxFileName& aPath ) fn.SetName( defaultFileName ); fn.SetName( defaultFileName ); } } wxLogTrace( traceFpLibTable, wxT( "Project specific footprint library table file <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Project specific footprint library table file '%s'." ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); return fn.GetFullPath(); return fn.GetFullPath(); Loading @@ -917,7 +917,7 @@ bool FP_LIB_TABLE::LoadGlobalTable( FP_LIB_TABLE& aTable ) throw (IO_ERROR, PARS if( !fn.DirExists() && !fn.Mkdir( 0x777, wxPATH_MKDIR_FULL ) ) if( !fn.DirExists() && !fn.Mkdir( 0x777, wxPATH_MKDIR_FULL ) ) { { THROW_IO_ERROR( wxString::Format( _( "Cannot create global library table path <%s>." ), THROW_IO_ERROR( wxString::Format( _( "Cannot create global library table path '%s'." ), GetChars( fn.GetPath() ) ) ); GetChars( fn.GetPath() ) ) ); } } Loading Loading @@ -954,7 +954,7 @@ wxString FP_LIB_TABLE::GetGlobalTableFileName() fn.SetName( GetFileName() ); fn.SetName( GetFileName() ); wxLogTrace( traceFpLibTable, wxT( "Global footprint library table file <%s>." ), wxLogTrace( traceFpLibTable, wxT( "Global footprint library table file '%s'." ), GetChars( fn.GetFullPath() ) ); GetChars( fn.GetFullPath() ) ); return fn.GetFullPath(); return fn.GetFullPath(); Loading
common/fpid.cpp +6 −6 Original line number Original line Diff line number Diff line Loading @@ -265,9 +265,9 @@ int FPID::SetRevision( const std::string& aRevision ) } } std::string FPID::Format() const UTF8 FPID::Format() const { { std::string ret; UTF8 ret; if( nickname.size() ) if( nickname.size() ) { { Loading @@ -287,9 +287,9 @@ std::string FPID::Format() const } } std::string FPID::GetFootprintNameAndRev() const UTF8 FPID::GetFootprintNameAndRev() const { { std::string ret; UTF8 ret; if( revision.size() ) if( revision.size() ) { { Loading @@ -301,11 +301,11 @@ std::string FPID::GetFootprintNameAndRev() const } } std::string FPID::Format( const std::string& aLogicalLib, const std::string& aFootprintName, UTF8 FPID::Format( const std::string& aLogicalLib, const std::string& aFootprintName, const std::string& aRevision ) const std::string& aRevision ) throw( PARSE_ERROR ) throw( PARSE_ERROR ) { { std::string ret; UTF8 ret; int offset; int offset; if( aLogicalLib.size() ) if( aLogicalLib.size() ) Loading
common/gal/stroke_font.cpp +17 −16 Original line number Original line Diff line number Diff line Loading @@ -147,7 +147,7 @@ BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLY } } void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double aRotationAngle ) void STROKE_FONT::Draw( const UTF8& aText, const VECTOR2D& aPosition, double aRotationAngle ) { { // Context needs to be saved before any transformations // Context needs to be saved before any transformations m_gal->Save(); m_gal->Save(); Loading Loading @@ -192,7 +192,7 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double { { size_t length = newlinePos - begin; size_t length = newlinePos - begin; drawSingleLineText( aText.Mid( begin, length ) ); drawSingleLineText( aText.substr( begin, length ) ); m_gal->Translate( VECTOR2D( 0.0, lineHeight ) ); m_gal->Translate( VECTOR2D( 0.0, lineHeight ) ); begin = newlinePos + 1; begin = newlinePos + 1; Loading @@ -200,14 +200,14 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double } } // Draw the last (or the only one) line // Draw the last (or the only one) line if( !aText.IsEmpty() ) if( !aText.empty() ) drawSingleLineText( aText.Mid( begin ) ); drawSingleLineText( aText.substr( begin ) ); m_gal->Restore(); m_gal->Restore(); } } void STROKE_FONT::drawSingleLineText( const wxString& aText ) void STROKE_FONT::drawSingleLineText( const UTF8& aText ) { { // By default the overbar is turned off // By default the overbar is turned off m_overbar = false; m_overbar = false; Loading Loading @@ -254,12 +254,12 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) xOffset = 0.0; xOffset = 0.0; } } for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); ++chIt ) for( UTF8::uni_iter chIt = aText.ubegin(), end = aText.uend(); chIt < end; ++chIt ) { { // Toggle overbar // Toggle overbar if( *chIt == '~' ) if( *chIt == '~' ) { { if( ++chIt == aText.end() ) if( ++chIt >= end ) break; break; if( *chIt != '~' ) // It was a single tilda, it toggles overbar if( *chIt != '~' ) // It was a single tilda, it toggles overbar Loading @@ -281,6 +281,7 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) VECTOR2D startOverbar( xOffset, -getInterline() * OVERBAR_HEIGHT ); VECTOR2D startOverbar( xOffset, -getInterline() * OVERBAR_HEIGHT ); VECTOR2D endOverbar( xOffset + glyphSize.x * bbox.GetEnd().x, VECTOR2D endOverbar( xOffset + glyphSize.x * bbox.GetEnd().x, -getInterline() * OVERBAR_HEIGHT ); -getInterline() * OVERBAR_HEIGHT ); m_gal->DrawLine( startOverbar, endOverbar ); m_gal->DrawLine( startOverbar, endOverbar ); } } Loading Loading @@ -317,25 +318,25 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText ) } } VECTOR2D STROKE_FONT::computeTextSize( const wxString& aText ) const VECTOR2D STROKE_FONT::computeTextSize( const UTF8& aText ) const { { VECTOR2D result = VECTOR2D( 0.0, m_glyphSize.y ); VECTOR2D result = VECTOR2D( 0.0, m_glyphSize.y ); for( wxString::const_iterator chIt = aText.begin(); chIt != aText.end(); ++chIt ) for( UTF8::uni_iter it = aText.ubegin(), end = aText.uend(); it < end; ++it ) { { wxASSERT_MSG( *chIt != '\n', wxASSERT_MSG( *it != '\n', wxT( "This function is intended to work with single line strings" ) ); wxT( "This function is intended to work with single line strings" ) ); // If it is double tilda, then it is displayed as a single tilda // If it is double tilda, then it is displayed as a single tilda // If it is single tilda, then it is toggling overbar, so we need to skip it // If it is single tilda, then it is toggling overbar, so we need to skip it if( *chIt == '~' ) if( *it == '~' ) { { if( ++chIt == aText.end() ) if( ++it >= end ) break; break; } } // Index in the bounding boxes table // Index in the bounding boxes table unsigned dd = *chIt - ' '; unsigned dd = *it - ' '; if( dd >= m_glyphBoundingBoxes.size() || dd < 0 ) if( dd >= m_glyphBoundingBoxes.size() || dd < 0 ) dd = '?' - ' '; dd = '?' - ' '; Loading
common/utf8.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ #include <utf8.h> #include <utf8.h> /* THROW_IO_ERROR needs this, but it will soon be including this file, so until some /* THROW_IO_ERROR needs this, but it includes this file, so until some factoring of THROW_IO_ERROR into a separate header, defer and use the asserts. factoring of THROW_IO_ERROR into a separate header, defer and use the asserts. #include <richio.h> #include <richio.h> */ */ Loading @@ -33,7 +33,7 @@ /* /* These are not inlined so that code space is saved by encapsulating the These are not inlined so that code space is saved by encapsulating the creation of intermediate objects and referencing wxConvUTF8. creation of intermediate objects and the referencing of wxConvUTF8. */ */ Loading