[mapguide-commits] r10147 - in sandbox/adsk/trunk: Common/CoordinateSystem Common/Foundation Common/Foundation/System Common/Geometry/Parse Common/MdfModel Common/Stylization Desktop/DesktopUnmanagedApi Oem/SWIGEx Oem/SWIGEx/Source/Modules Oem/SWIGEx/Win32 Server/src/Gws/GwsCommon Server/src/Gws/GwsCommon/inc Server/src/Gws/GwsQueryEngine Server/src/Gws/GwsQueryEngine/inc Server/src/Services/Feature Web/src/DotNetUnmanagedApi

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue May 27 02:53:35 PDT 2025


Author: christinebao
Date: 2025-05-27 02:53:31 -0700 (Tue, 27 May 2025)
New Revision: 10147

Added:
   sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.vcxproj
Modified:
   sandbox/adsk/trunk/Common/CoordinateSystem/CoordSysCatalog.cpp
   sandbox/adsk/trunk/Common/Foundation/FoundationDefs.h
   sandbox/adsk/trunk/Common/Foundation/System/Object.cpp
   sandbox/adsk/trunk/Common/Foundation/System/Object.h
   sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.cpp
   sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.h
   sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.cpp
   sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.h
   sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.cpp
   sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.h
   sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.cpp
   sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.y
   sandbox/adsk/trunk/Common/MdfModel/LengthConverter.cpp
   sandbox/adsk/trunk/Common/Stylization/GeometryAdapter.cpp
   sandbox/adsk/trunk/Common/Stylization/LabelRenderer.cpp
   sandbox/adsk/trunk/Common/Stylization/LabelRendererLocal.cpp
   sandbox/adsk/trunk/Common/Stylization/SE_ExpressionBase.cpp
   sandbox/adsk/trunk/Common/Stylization/Stylization.h
   sandbox/adsk/trunk/Common/Stylization/StylizationEngine.cpp
   sandbox/adsk/trunk/Common/Stylization/StylizationUtil.cpp
   sandbox/adsk/trunk/Common/Stylization/Stylizer.cpp
   sandbox/adsk/trunk/Common/Stylization/ThemeParameters.cpp
   sandbox/adsk/trunk/Common/Stylization/atom.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_environment.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_environment.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_location.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_location.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_structure.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_structure.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_style.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_style.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_transform.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_transform.h
   sandbox/adsk/trunk/Common/Stylization/atom_element_universe.cpp
   sandbox/adsk/trunk/Common/Stylization/atom_element_universe.h
   sandbox/adsk/trunk/Common/Stylization/mtext_parser.cpp
   sandbox/adsk/trunk/Common/Stylization/mtext_parser.h
   sandbox/adsk/trunk/Desktop/DesktopUnmanagedApi/getclassid.code
   sandbox/adsk/trunk/Oem/SWIGEx/Source/Modules/csharp.cxx
   sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.sln
   sandbox/adsk/trunk/Oem/SWIGEx/Win32/Swig.exe
   sandbox/adsk/trunk/Server/src/Gws/GwsCommon/GwsXmlUtils.cpp
   sandbox/adsk/trunk/Server/src/Gws/GwsCommon/inc/GwsCommonUtils.h
   sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsFlatFdoReader.cpp
   sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsQueryXml.cpp
   sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/inc/GwsQueryEngineImp.h
   sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/utf8_.cpp
   sandbox/adsk/trunk/Server/src/Services/Feature/SelectCommand.cpp
   sandbox/adsk/trunk/Web/src/DotNetUnmanagedApi/getclassid.code
Log:
This commit updates cpp std to CPP20, it is for mapguide part in gisplatform.
In this commit, I meet these errors:
1. doesn't allow assign const pointer to a pointer, temporary variable to a non-const reference, so add const keyword in to function signature.
2. Type is ambiguous.
3. namespace errors.
4. register is discarded.

Rebuild Swig.exe because the source code of swig is changed.

Modified: sandbox/adsk/trunk/Common/CoordinateSystem/CoordSysCatalog.cpp
===================================================================
--- sandbox/adsk/trunk/Common/CoordinateSystem/CoordSysCatalog.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/CoordinateSystem/CoordSysCatalog.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -15,6 +15,10 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
+#ifdef _WIN32
+#define _HAS_STD_BYTE 0 // fix error C2872: 'byte': ambiguous symbol
+#endif
+
 #include "GeometryCommon.h"
 #include "CoordSysCommon.h"
 #include "CriticalSection.h"

Modified: sandbox/adsk/trunk/Common/Foundation/FoundationDefs.h
===================================================================
--- sandbox/adsk/trunk/Common/Foundation/FoundationDefs.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Foundation/FoundationDefs.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -91,7 +91,7 @@
 #define DECLARE_CLASSNAME(className) \
 public: \
     virtual STRING GetClassName() { return WIDEN(#className) ; } \
-    virtual char* GetMultiByteClassName() { return #className ; } \
+    virtual const char* GetMultiByteClassName() { return #className ; } \
 
 #ifndef _WIN32
 //////////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/trunk/Common/Foundation/System/Object.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Foundation/System/Object.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Foundation/System/Object.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -60,7 +60,7 @@
 /// \return
 /// Returns the name of the class.
 ///
-char* MgObject::GetMultiByteClassName()
+const char* MgObject::GetMultiByteClassName()
 {
     return "MgObject";   // NOXLATE
 }
@@ -73,7 +73,7 @@
 /// \return
 /// Returns the namespace of the class.
 ///
-char* MgObject::GetNameSpace()
+const char* MgObject::GetNameSpace()
 {
     return "OSGeo.MapGuide";   // NOXLATE
 }

Modified: sandbox/adsk/trunk/Common/Foundation/System/Object.h
===================================================================
--- sandbox/adsk/trunk/Common/Foundation/System/Object.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Foundation/System/Object.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -54,7 +54,7 @@
     /// \return
     /// Returns the name of the class.
     ///
-    virtual char* GetMultiByteClassName();
+    virtual const char* GetMultiByteClassName();
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -64,7 +64,7 @@
     /// \return
     /// Returns the namespace of the class.
     ///
-    virtual char* GetNameSpace();
+    virtual const char* GetNameSpace();
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -114,7 +114,7 @@
 }
 #endif
 
-static INT32 CompareInsensitive(wchar_t* pToken, wchar_t* pucString)
+static INT32 CompareInsensitive(wchar_t* pToken, const wchar_t* pucString)
 {
     if (!pucString && !pToken)
         return 0;

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.h
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/LexAwkt.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -48,7 +48,7 @@
 // FDO keywords
 typedef struct _GisKeyWord
 {
-    wchar_t*    word;
+    const wchar_t*    word;
     INT32   token;
 } GisKeyWord;
 

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -712,7 +712,7 @@
 }
 
 #ifdef _DEBUG
-void MgParseAwkt::Trace(wchar_t* pTrace)
+void MgParseAwkt::Trace(const wchar_t* pTrace)
 {
 #ifdef DEBUG_TRACETREE
     wprintf(pTrace);

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.h
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/ParseAwkt.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -113,7 +113,7 @@
     void    Done();
     void    Error();
 #ifdef _DEBUG
-    void    Trace(wchar_t*);
+    void    Trace(const wchar_t*);
 #endif
 
     int                     gis_awkt_yydebug;

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,7 +21,7 @@
 #include <math.h>
 #include <stdio.h>
 
-wchar_t*  GisStringUtility::NullString = L"NULL";
+const wchar_t*  GisStringUtility::NullString = L"NULL";
 
 void GisStringUtility::ClearString(wchar_t*& psz)
 {
@@ -29,7 +29,7 @@
     psz = NULL;
 }
 
-wchar_t* GisStringUtility::MakeString(wchar_t* psz1, wchar_t* psz2, wchar_t* psz3, wchar_t* psz4, wchar_t* psz5)
+wchar_t* GisStringUtility::MakeString(const wchar_t* psz1, wchar_t* psz2, wchar_t* psz3, wchar_t* psz4, wchar_t* psz5)
 {
     if (!psz1 && !psz2 && !psz3 && !psz4 && !psz5)
         return NULL;
@@ -267,7 +267,7 @@
     return pszOut;
 }
 
-size_t GisStringUtility::StringLength(wchar_t* string)
+size_t GisStringUtility::StringLength(const wchar_t* string)
 {
     CHECKARGUMENTNULL(string, L"GisStringUtility.StringLength");
 
@@ -274,7 +274,7 @@
     return wcslen(string);
 }
 
-INT32 GisStringUtility::StringCompare(wchar_t* string1, wchar_t* string2)
+INT32 GisStringUtility::StringCompare(wchar_t* string1, const wchar_t* string2)
 {
     CHECKARGUMENTNULL(string1, L"GisStringUtility.StringCompare");
     CHECKARGUMENTNULL(string2, L"GisStringUtility.StringCompare");
@@ -282,7 +282,7 @@
     return wcscmp(string1, string2);
 }
 
-INT32 GisStringUtility::StringCompareNoCase(wchar_t* string1, wchar_t* string2)
+INT32 GisStringUtility::StringCompareNoCase(wchar_t* string1, const wchar_t* string2)
 {
     CHECKARGUMENTNULL(string1, L"GisStringUtility.StringCompareNoCase");
     CHECKARGUMENTNULL(string2, L"GisStringUtility.StringCompareNoCase");
@@ -294,7 +294,7 @@
 #endif
 }
 
-void GisStringUtility::StringCopy(wchar_t* string1, wchar_t* string2)
+void GisStringUtility::StringCopy(wchar_t* string1, const wchar_t* string2)
 {
     CHECKARGUMENTNULL(string1, L"GisStringUtility.StringCopy");
     CHECKARGUMENTNULL(string2, L"GisStringUtility.StringCopy");
@@ -310,7 +310,7 @@
     wcsncpy(string1, string2, length);
 }
 
-void GisStringUtility::StringConcatenate(wchar_t* string1, wchar_t* string2)
+void GisStringUtility::StringConcatenate(wchar_t* string1, const wchar_t* string2)
 {
     CHECKARGUMENTNULL(string1, L"GisStringUtility.StringConcatenate");
 

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.h
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/StringUtility.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -30,7 +30,7 @@
 {
 public:
     GIS_API static void ClearString(wchar_t*& psz);
-    GIS_API static wchar_t* MakeString(wchar_t* psz1, wchar_t* psz2 = NULL, wchar_t* psz3 = NULL, wchar_t* psz4 = NULL, wchar_t* psz5 = NULL);
+    GIS_API static wchar_t* MakeString(const wchar_t* psz1, wchar_t* psz2 = NULL, wchar_t* psz3 = NULL, wchar_t* psz4 = NULL, wchar_t* psz5 = NULL);
     GIS_API static wchar_t* MakeString(INT32 numStrings, wchar_t* * strings, wchar_t* separator = NULL);
     GIS_API static wchar_t* MakeString(unsigned char* data, INT32 iDataSize);
     GIS_API static void     FormatDouble(double d, wchar_t* pszBuffer, INT32 iLen);
@@ -38,15 +38,15 @@
     GIS_API static void     FormatNumber(double d, INT32 precision, wchar_t* pszBuffer, INT32 iLen);
     GIS_API static wchar_t* QuoteString(wchar_t* psz, wchar_t chQuote);
 
-    GIS_API static size_t StringLength(wchar_t* string);
-    GIS_API static INT32 StringCompare(wchar_t* string1, wchar_t* string2);
-    GIS_API static INT32 StringCompareNoCase(wchar_t* string1, wchar_t* string2);
-    GIS_API static void StringCopy(wchar_t* string1, wchar_t* string2);
+    GIS_API static size_t StringLength(const wchar_t* string);
+    GIS_API static INT32 StringCompare(wchar_t* string1, const wchar_t* string2);
+    GIS_API static INT32 StringCompareNoCase(wchar_t* string1, const wchar_t* string2);
+    GIS_API static void StringCopy(wchar_t* string1, const wchar_t* string2);
     GIS_API static void SubstringCopy(wchar_t* string1, wchar_t* string2, size_t length);
-    GIS_API static void StringConcatenate(wchar_t* string1, wchar_t* string2);
+    GIS_API static void StringConcatenate(wchar_t* string1, const wchar_t* string2);
     GIS_API static wchar_t* FindCharacter(wchar_t* string, wchar_t character);
 
-    GIS_API static wchar_t*   NullString;
+    GIS_API static const wchar_t*   NullString;
 };
 /// \endcond
 

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -279,7 +279,7 @@
 
 #include <stdio.h>
 
-INT32 gis_awkt_yyerror_default(char *str, INT32 lineno)
+INT32 gis_awkt_yyerror_default(const char *str, INT32 lineno)
 {
 #ifdef FDO_GIS_AWKT_YYDEBUG
     fprintf(stderr, "line %d: %s\n", lineno, str);
@@ -287,10 +287,10 @@
     return 0;
 }
 
-typedef INT32 (*ERRFUNC)(char*, INT32);
+typedef INT32 (*ERRFUNC)(const char*, INT32);
 static ERRFUNC gis_awkt_yyerror_func = gis_awkt_yyerror_default;
 
-INT32 gis_awkt_yyerror(MgParseAwkt* pParse, char* str)
+INT32 gis_awkt_yyerror(MgParseAwkt* pParse, const char* str)
 {
     return (*gis_awkt_yyerror_func)(str, pParse->gis_awkt_yylineno);
 }

Modified: sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.y
===================================================================
--- sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.y	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Geometry/Parse/yyAwkt.y	2025-05-27 09:53:31 UTC (rev 10147)
@@ -164,7 +164,7 @@
 
 #include <stdio.h>
 
-GisInt32 yyerror_default(char *str, GisInt32 lineno)
+GisInt32 yyerror_default(const char *str, GisInt32 lineno)
 {
 #ifdef FDO_YYDEBUG
 	fprintf(stderr, "line %d: %s\n", lineno, str);
@@ -172,10 +172,10 @@
 	return 0;
 }
 
-typedef GisInt32 (*ERRFUNC)(char*, GisInt32);
+typedef GisInt32 (*ERRFUNC)(const char*, GisInt32);
 static ERRFUNC yyerror_func = yyerror_default;
 
-GisInt32 yyerror(GisParseAwkt* pParse, char* str)
+GisInt32 yyerror(GisParseAwkt* pParse, const char* str)
 {
 	return (*yyerror_func)(str, yylineno);
 }

Modified: sandbox/adsk/trunk/Common/MdfModel/LengthConverter.cpp
===================================================================
--- sandbox/adsk/trunk/Common/MdfModel/LengthConverter.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/MdfModel/LengthConverter.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -103,7 +103,7 @@
 // are used when serializing and parsing MDF files that contain unit information.
 MdfString* LengthConverter::UnitToEnglish(LengthUnit unit)
 {
-    wchar_t* name = L"Meters"; // default, in case of bad input
+    const wchar_t* name = L"Meters"; // default, in case of bad input
 
     switch (unit)
     {

Modified: sandbox/adsk/trunk/Common/Stylization/GeometryAdapter.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/GeometryAdapter.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/GeometryAdapter.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -23,7 +23,7 @@
 #include "ExpressionHelper.h"
 
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 //////////////////////////////////////////////////////////////////////////////
 GeometryAdapter::GeometryAdapter(LineBufferPool* lbp)

Modified: sandbox/adsk/trunk/Common/Stylization/LabelRenderer.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/LabelRenderer.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/LabelRenderer.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,7 +21,7 @@
 
 //#define DEBUG_LABELS
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 
 //////////////////////////////////////////////////////////////////////////////
@@ -674,7 +674,7 @@
                 bool start_with_src = false; // start stitch with source poly?
                 bool startfwd = false; // go forward on start poly?
                 bool endfwd = false; // go forward on end poly?
-                bool count = 0;
+                int count = 0;
 
                 if (CloseEnough(retinfo.m_pts[0], srcinfo.m_pts[0]))
                 {

Modified: sandbox/adsk/trunk/Common/Stylization/LabelRendererLocal.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/LabelRendererLocal.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/LabelRendererLocal.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,7 +21,7 @@
 
 //#define DEBUG_LABELS
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 
 //////////////////////////////////////////////////////////////////////////////
@@ -1272,7 +1272,7 @@
                 bool start_with_src = false; // start stitch with source poly?
                 bool startfwd = false; // go forward on start poly?
                 bool endfwd = false; // go forward on end poly?
-                bool count = 0;
+                int count = 0;
 
                 if (CloseEnough(retinfo.m_pts[0], srcinfo.m_pts[0]))
                 {

Modified: sandbox/adsk/trunk/Common/Stylization/SE_ExpressionBase.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/SE_ExpressionBase.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/SE_ExpressionBase.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -23,7 +23,7 @@
 
 using namespace MDFMODEL_NAMESPACE;
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 void SE_ExpressionBase::SetParameterValues(OverrideCollection* overrides)
 {

Modified: sandbox/adsk/trunk/Common/Stylization/Stylization.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/Stylization.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/Stylization.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -100,7 +100,7 @@
 
 //Non-fatal FDO exception logging mechanism
 //Implementation is defined in Stylizer.cpp
-typedef void (*StylizerExceptionCallback)(FdoException* exception, int line, wchar_t* file);
+typedef void (*StylizerExceptionCallback)(FdoException* exception, int line, const wchar_t* file);
 void ProcessStylizerException(FdoException* exception);
 STYLIZATION_API void SetStylizerExceptionCallback(StylizerExceptionCallback callbackFunction);
 

Modified: sandbox/adsk/trunk/Common/Stylization/StylizationEngine.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/StylizationEngine.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/StylizationEngine.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -34,7 +34,7 @@
 
 using namespace MDFMODEL_NAMESPACE;
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 StylizationEngine::StylizationEngine(SE_SymbolManager* resources, SE_BufferPool* pool) :
     m_resources(resources),

Modified: sandbox/adsk/trunk/Common/Stylization/StylizationUtil.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/StylizationUtil.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/StylizationUtil.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -25,7 +25,7 @@
 #include "SE_BufferPool.h"
 #include <cmath>
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 ///////////////////////////////////////////////////////////////////////////////
 void StylizationUtil::ParseColor(const MdfString& colorstr, RS_Color& rscol)

Modified: sandbox/adsk/trunk/Common/Stylization/Stylizer.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/Stylizer.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/Stylizer.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -60,7 +60,7 @@
     g_stylizerExceptionCallback = callbackFunction;
 }
 
-void ProcessStylizerException(FdoException* exception, int line, wchar_t* file)
+void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file)
 {
     if (NULL != g_stylizerExceptionCallback)
     {

Modified: sandbox/adsk/trunk/Common/Stylization/ThemeParameters.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/ThemeParameters.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/ThemeParameters.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -20,7 +20,7 @@
 
 static const wchar_t* sEmpty = L"";
 
-extern void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
+extern void ProcessStylizerException(FdoException* exception, int line, const wchar_t* file);
 
 //////////////////////////////////////////////////////////////////////////////
 

Modified: sandbox/adsk/trunk/Common/Stylization/atom.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -340,7 +340,7 @@
     // the start of this string past the separator.
     StRange Split(const CHARTYPE chSep)
     {
-        ATOM::StRange sRet;
+        RichText::ATOM::StRange sRet;
         const CHARTYPE* p = Find(chSep);
 
         if(p != NULL) {
@@ -360,7 +360,7 @@
     // the start of this string past the separator.
     StRange Split(const StRange sSep)
     {
-        ATOM::StRange sRet;
+        RichText::ATOM::StRange sRet;
         const CHARTYPE* p = Find(sSep);
 
         if(p != NULL) {

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,45 +21,45 @@
 #include <assert.h>
 
 
-AbandonmentElement::AbandonmentElement(ATOM::Status o)
+AbandonmentElement::AbandonmentElement(RichText::ATOM::Status o)
 : m_oStatus(o)
 {
 }
 
-void AbandonmentElement::SetMarkup(const ATOM::StRange& sEntireString)
+void AbandonmentElement::SetMarkup(const RichText::ATOM::StRange& sEntireString)
 {
     this->m_sMarkupString = sEntireString;
     this->m_sMarkupContext = sEntireString; // default to something; SetContext can refine.
 }
 
-void AbandonmentElement::SetContext(const ATOM::StRange& sCurrentLine)
+void AbandonmentElement::SetContext(const RichText::ATOM::StRange& sCurrentLine)
 {
     this->m_sMarkupContext = sCurrentLine;
 }
 
-void AbandonmentElement::SetPosition(const ATOM::StRange& sPosition)
+void AbandonmentElement::SetPosition(const RichText::ATOM::StRange& sPosition)
 {
     this->m_sAbandonedPosition = sPosition;
 }
 
 
-const ATOM::Status AbandonmentElement::Reason()
+const RichText::ATOM::Status AbandonmentElement::Reason()
 {
     return this->m_oStatus;
 }
 
 
-const ATOM::StRange& AbandonmentElement::Markup()
+const RichText::ATOM::StRange& AbandonmentElement::Markup()
 {
     return this->m_sMarkupString;
 }
 
-const ATOM::StRange& AbandonmentElement::Context()
+const RichText::ATOM::StRange& AbandonmentElement::Context()
 {
     return this->m_sMarkupContext;
 }
 
-const ATOM::StRange& AbandonmentElement::Position()
+const RichText::ATOM::StRange& AbandonmentElement::Position()
 {
     return this->m_sAbandonedPosition;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_abandonment.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -19,31 +19,31 @@
 #define _atom_element_abandonment_h
 
 
-class AbandonmentElement: public ATOM::IAbandonment {
+class AbandonmentElement: public RichText::ATOM::IAbandonment {
 public:
-    AbandonmentElement(ATOM::Status);
+    AbandonmentElement(RichText::ATOM::Status);
 
-    void SetMarkup(const ATOM::StRange& sEntireString);
+    void SetMarkup(const RichText::ATOM::StRange& sEntireString);
 
-    void SetContext(const ATOM::StRange& sCurrentLine);
+    void SetContext(const RichText::ATOM::StRange& sCurrentLine);
 
-    void SetPosition(const ATOM::StRange& sCurrentLine);
+    void SetPosition(const RichText::ATOM::StRange& sCurrentLine);
 
 public: // from IAbandonment
-    const ATOM::Status   Reason();
+    const RichText::ATOM::Status   Reason();
 
-    const ATOM::StRange& Markup();
+    const RichText::ATOM::StRange& Markup();
 
-    const ATOM::StRange& Context();
+    const RichText::ATOM::StRange& Context();
 
-    const ATOM::StRange& Position();
+    const RichText::ATOM::StRange& Position();
 
 private:
-    ATOM::Status         m_oStatus;
+    RichText::ATOM::Status         m_oStatus;
 
-    ATOM::StRange   m_sMarkupString;      // generally, the entire string.
-    ATOM::StRange   m_sMarkupContext;     // the context surrounding the abandonment
-    ATOM::StRange   m_sAbandonedPosition; // The position at which abandonment occurred.
+    RichText::ATOM::StRange   m_sMarkupString;      // generally, the entire string.
+    RichText::ATOM::StRange   m_sMarkupContext;     // the context surrounding the abandonment
+    RichText::ATOM::StRange   m_sAbandonedPosition; // The position at which abandonment occurred.
 };
 
 #endif//_atom_element_abandonment_h

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_environment.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_environment.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_environment.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -23,25 +23,25 @@
 
 // Implement a dummy resolver, since most of the time,
 // parsers won't need one.
-ATOM::Status PassthroughReferenceResolverElement::Initialize()
+RichText::ATOM::Status PassthroughReferenceResolverElement::Initialize()
 {
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Requests the resolver to resolve a reference.
-ATOM::Status PassthroughReferenceResolverElement::Resolve(const ATOM::StRange /*sParserName*/,
-                                                          const ATOM::StRange sReference,
-                                                                ATOM::StRange& sResult,
-                                                                ATOM::IEnvironment* /*pEnv*/)
+RichText::ATOM::Status PassthroughReferenceResolverElement::Resolve(const RichText::ATOM::StRange /*sParserName*/,
+                                                          const RichText::ATOM::StRange sReference,
+                                                                RichText::ATOM::StRange& sResult,
+                                                                RichText::ATOM::IEnvironment* /*pEnv*/)
 {
     sResult = sReference;
-    return ATOM::Status::keUnchanged;
+    return RichText::ATOM::Status::keUnchanged;
 }
 
 // Allows the resolver to clean up.
-ATOM::Status PassthroughReferenceResolverElement::Terminate()
+RichText::ATOM::Status PassthroughReferenceResolverElement::Terminate()
 {
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // This is just used for defaulting the environment.
@@ -49,7 +49,7 @@
 
 
 
-EnvironmentElement::EnvironmentElement(ATOM::ISink* pSink,ATOM::IStyleTable* pStyleTable,ATOM::Color rgbaCanvas)
+EnvironmentElement::EnvironmentElement(RichText::ATOM::ISink* pSink,RichText::ATOM::IStyleTable* pStyleTable,RichText::ATOM::Color rgbaCanvas)
 : m_pSink(pSink)
 , m_pStyleTable(pStyleTable)
 , m_pResolver(&gDummyResolver)
@@ -59,57 +59,57 @@
     assert(m_pStyleTable);
 }
 
-ATOM::Status EnvironmentElement::SetSink(ATOM::ISink* pSink)
+RichText::ATOM::Status EnvironmentElement::SetSink(RichText::ATOM::ISink* pSink)
 {
     // if this->m_pSink->SinkState() == keWaiting && pSink->SinkState() == keWaiting ...
     m_pSink = pSink;
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
-ATOM::Status EnvironmentElement::SetResolver(ATOM::IReferenceResolver* pResolver)
+RichText::ATOM::Status EnvironmentElement::SetResolver(RichText::ATOM::IReferenceResolver* pResolver)
 {
     m_pResolver = pResolver? pResolver : &gDummyResolver;
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status EnvironmentElement::UpdateAmbientStyle(const ATOM::StyleParticle& oParticle)
+RichText::ATOM::Status EnvironmentElement::UpdateAmbientStyle(const RichText::ATOM::StyleParticle& oParticle)
 {
     return m_AmbientStyle.AddToDescription(oParticle);
 }
 
-ATOM::Status EnvironmentElement::UpdateAmbientTransform(const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status EnvironmentElement::UpdateAmbientTransform(const RichText::ATOM::TransformParticle& oParticle)
 {
     return m_AmbientTransform.AddTransform(oParticle);
 }
 
-const ATOM::IStyleDescription* EnvironmentElement::AmbientStyle() const
+const RichText::ATOM::IStyleDescription* EnvironmentElement::AmbientStyle() const
 {
     return &m_AmbientStyle;
 }
-const ATOM::ITransform* EnvironmentElement::AmbientTransform() const
+const RichText::ATOM::ITransform* EnvironmentElement::AmbientTransform() const
 {
     return &m_AmbientTransform;
 }
 
-const ATOM::IStyleTable*       EnvironmentElement::StyleDictionary() const
+const RichText::ATOM::IStyleTable*       EnvironmentElement::StyleDictionary() const
 {
     return m_pStyleTable;
 }
 
 
-ATOM::ISink* EnvironmentElement::Sink() const
+RichText::ATOM::ISink* EnvironmentElement::Sink() const
 {
     return m_pSink;
 }
 
 
-ATOM::IReferenceResolver* EnvironmentElement::References() const
+RichText::ATOM::IReferenceResolver* EnvironmentElement::References() const
 {
     return m_pResolver;
 }
 
-ATOM::Color EnvironmentElement::CanvasColor() const
+RichText::ATOM::Color EnvironmentElement::CanvasColor() const
 {
     return m_rgbaCanvas;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_environment.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_environment.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_environment.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -20,61 +20,61 @@
 
 
 /*
-    This is an implementation of the ATOM IEnvironment
+    This is an implementation of the RichText::ATOM IEnvironment
     interface.  It's to be used by a parser in support of the
     parsing operation.
 */
-class EnvironmentElement: public ATOM::IEnvironment {
+class EnvironmentElement: public RichText::ATOM::IEnvironment {
 public:
 
-    EnvironmentElement(ATOM::ISink* pSink,ATOM::IStyleTable* pStyleTable,ATOM::Color rgbaCanvas);
+    EnvironmentElement(RichText::ATOM::ISink* pSink,RichText::ATOM::IStyleTable* pStyleTable,RichText::ATOM::Color rgbaCanvas);
 
-    ATOM::Status SetSink(ATOM::ISink* pSink);
+    RichText::ATOM::Status SetSink(RichText::ATOM::ISink* pSink);
 
-    ATOM::Status SetResolver(ATOM::IReferenceResolver*);
+    RichText::ATOM::Status SetResolver(RichText::ATOM::IReferenceResolver*);
 
-    ATOM::Status UpdateAmbientStyle(const ATOM::StyleParticle& oParticle);
+    RichText::ATOM::Status UpdateAmbientStyle(const RichText::ATOM::StyleParticle& oParticle);
 
-    ATOM::Status UpdateAmbientTransform(const ATOM::TransformParticle& oParticle);
+    RichText::ATOM::Status UpdateAmbientTransform(const RichText::ATOM::TransformParticle& oParticle);
 
 
 public: // interface implementation
-    const ATOM::IStyleDescription*  AmbientStyle()    const;
+    const RichText::ATOM::IStyleDescription*  AmbientStyle()    const;
 
-    const ATOM::ITransform*         AmbientTransform()const;
+    const RichText::ATOM::ITransform*         AmbientTransform()const;
 
-    const ATOM::IStyleTable*        StyleDictionary() const;
+    const RichText::ATOM::IStyleTable*        StyleDictionary() const;
 
-          ATOM::ISink*              Sink()            const;
+          RichText::ATOM::ISink*              Sink()            const;
 
-          ATOM::IReferenceResolver* References()      const;
+          RichText::ATOM::IReferenceResolver* References()      const;
 
-          ATOM::Color               CanvasColor()     const;
+          RichText::ATOM::Color               CanvasColor()     const;
 
 private:
     StyleDescriptionElement     m_AmbientStyle;
     TransformElement            m_AmbientTransform;
-    ATOM::IStyleTable*          m_pStyleTable;
-    ATOM::ISink*                m_pSink;
-    ATOM::IReferenceResolver*   m_pResolver;
-    ATOM::Color                 m_rgbaCanvas;
+    RichText::ATOM::IStyleTable*          m_pStyleTable;
+    RichText::ATOM::ISink*                m_pSink;
+    RichText::ATOM::IReferenceResolver*   m_pResolver;
+    RichText::ATOM::Color                 m_rgbaCanvas;
 };
 
 
 // A dummy resolver, just gives back what you passed in.
-class PassthroughReferenceResolverElement: public ATOM::IReferenceResolver
+class PassthroughReferenceResolverElement: public RichText::ATOM::IReferenceResolver
 {
 public:
-    ATOM::Status Initialize();
+    RichText::ATOM::Status Initialize();
 
     // Requests the resolver to resolve a reference.
-    ATOM::Status Resolve(const ATOM::StRange sParserName,
-                         const ATOM::StRange sReference,
-                               ATOM::StRange& sResult,
-                               ATOM::IEnvironment* pEnv);
+    RichText::ATOM::Status Resolve(const RichText::ATOM::StRange sParserName,
+                         const RichText::ATOM::StRange sReference,
+                               RichText::ATOM::StRange& sResult,
+                               RichText::ATOM::IEnvironment* pEnv);
 
     // Allows the resolver to clean up.
-    ATOM::Status Terminate();
+    RichText::ATOM::Status Terminate();
 };
 
 #endif//_atom_element_environment_h

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_location.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_location.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_location.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,7 +21,7 @@
 #include <assert.h>
 
 LocationElement::LocationElement()
-: m_eSemantics(ATOM::ILocation::keNormal)
+: m_eSemantics(RichText::ATOM::ILocation::keNormal)
 , m_pOperations(NULL)
 {
 }
@@ -35,11 +35,11 @@
 {
     // Kill the operations.
     while(m_pOperations) {
-        ATOM::LocationParticle* p = m_pOperations;
-        m_pOperations = const_cast<ATOM::LocationParticle*>(p->Next());
+        RichText::ATOM::LocationParticle* p = m_pOperations;
+        m_pOperations = const_cast<RichText::ATOM::LocationParticle*>(p->Next());
         delete(p);
     }
-    this->m_eSemantics = ATOM::ILocation::keNormal;
+    this->m_eSemantics = RichText::ATOM::ILocation::keNormal;
 }
 
 void LocationElement::Push(LocationElement& /*oOther*/)
@@ -50,7 +50,7 @@
 }
 
 // Push from the environment (ie, initialize outermost context)
-void LocationElement::Push(ATOM::IEnvironment* /*pEnv*/)
+void LocationElement::Push(RichText::ATOM::IEnvironment* /*pEnv*/)
 {
     // Location isn't slurped (yet?)
 }
@@ -60,20 +60,20 @@
 }
 
 
-void LocationElement::SetSemantics(ATOM::ILocation::SemanticType eType)
+void LocationElement::SetSemantics(RichText::ATOM::ILocation::SemanticType eType)
 {
     this->m_eSemantics = eType;
 }
 
-bool LocationElement::AddOperation(const ATOM::LocationParticle& oParticle)
+bool LocationElement::AddOperation(const RichText::ATOM::LocationParticle& oParticle)
 {
     return AddToList(this->m_pOperations,oParticle);
 }
 
 
-bool LocationElement::AddToList(ATOM::LocationParticle*& pList, const ATOM::LocationParticle& oParticle)
+bool LocationElement::AddToList(RichText::ATOM::LocationParticle*& pList, const RichText::ATOM::LocationParticle& oParticle)
 {
-    ATOM::LocationParticle* pClone = oParticle.Clone();
+    RichText::ATOM::LocationParticle* pClone = oParticle.Clone();
     if(pClone == NULL)
         return false;
 
@@ -87,13 +87,13 @@
 
 
 // Describes the nature of the location change.
-ATOM::ILocation::SemanticType LocationElement::Semantics() const
+RichText::ATOM::ILocation::SemanticType LocationElement::Semantics() const
 {
     return this->m_eSemantics;
 }
 
 // Zero or more operations to effect the location change.
-ATOM::LocationParticle* LocationElement::Operations() const
+RichText::ATOM::LocationParticle* LocationElement::Operations() const
 {
     return this->m_pOperations;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_location.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_location.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_location.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -18,7 +18,7 @@
 #ifndef _atom_element_location_h
 #define _atom_element_location_h
 
-class LocationElement: public ATOM::ILocation
+class LocationElement: public RichText::ATOM::ILocation
 {
 public:
     LocationElement();
@@ -25,15 +25,15 @@
     ~LocationElement();
 
     // Sets one (or a bunch) of semantics at once.
-    void SetSemantics(ATOM::ILocation::SemanticType eType);
+    void SetSemantics(RichText::ATOM::ILocation::SemanticType eType);
 
     // Adds one semantic at a time.
-    void AddSemantic(ATOM::ILocation::SemanticType eType)
+    void AddSemantic(RichText::ATOM::ILocation::SemanticType eType)
     {
-        m_eSemantics =  (ATOM::ILocation::SemanticType)((m_eSemantics & ~ATOM::ILocation::keNormal)|eType);
+        m_eSemantics =  (RichText::ATOM::ILocation::SemanticType)((m_eSemantics & ~RichText::ATOM::ILocation::keNormal)|eType);
     }
 
-    bool AddOperation(const ATOM::LocationParticle& oParticle);
+    bool AddOperation(const RichText::ATOM::LocationParticle& oParticle);
 
     void Reset();
 
@@ -40,26 +40,26 @@
     // Push from some outer location context.
     void Push(LocationElement&);
     // Push from the environment (ie, initialize outermost context)
-    void Push(ATOM::IEnvironment*);
+    void Push(RichText::ATOM::IEnvironment*);
 
     void Pop(LocationElement&);
 
-public: // Implementing ATOM::ILocation interface
+public: // Implementing RichText::ATOM::ILocation interface
 
     // Describes the nature of the location change.
-    ATOM::ILocation::SemanticType Semantics() const;
+    RichText::ATOM::ILocation::SemanticType Semantics() const;
 
     // Zero or more operations to effect the location change.
-    ATOM::LocationParticle* Operations() const;
+    RichText::ATOM::LocationParticle* Operations() const;
 
 protected:
-    bool AddToList(ATOM::LocationParticle*& pList, const ATOM::LocationParticle& oParticle);
+    bool AddToList(RichText::ATOM::LocationParticle*& pList, const RichText::ATOM::LocationParticle& oParticle);
 private:
     // What does this location description mean?
-    ATOM::ILocation::SemanticType m_eSemantics;
+    RichText::ATOM::ILocation::SemanticType m_eSemantics;
 
     // What are the operations that go into making this location change.
-    ATOM::LocationParticle* m_pOperations;
+    RichText::ATOM::LocationParticle* m_pOperations;
 };
 
 #endif//_atom_element_location_h

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_structure.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_structure.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_structure.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -23,7 +23,7 @@
 StructureElement::StructureElement()
 : m_pOuter(NULL)
 , m_iDepth(0)
-, m_eShape(ATOM::Shape::keFlow)
+, m_eShape(RichText::ATOM::Shape::keFlow)
 , m_bContinuous(true)
 {
 }
@@ -34,7 +34,7 @@
     m_iDepth = pOuter? pOuter->Depth() + 1 : 0;
 }
 
-void StructureElement::SetShape(ATOM::Shape::Type eShape)
+void StructureElement::SetShape(RichText::ATOM::Shape::Type eShape)
 {
     m_eShape = eShape;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_structure.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_structure.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_structure.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -18,7 +18,7 @@
 #ifndef _atom_element_structure_h
 #define _atom_element_structure_h
 
-class StructureElement: public ATOM::IStructure
+class StructureElement: public RichText::ATOM::IStructure
 {
 public:
     StructureElement();
@@ -25,7 +25,7 @@
 
     void SetOuter(StructureElement*);
 
-    void SetShape(ATOM::Shape::Type eShape);
+    void SetShape(RichText::ATOM::Shape::Type eShape);
 
     void SetContinuous(bool);
 
@@ -38,13 +38,13 @@
     }
 
     // Pointer to an outer IStructure (with Depth()-1)
-    ATOM::IStructure* Outer() const
+    RichText::ATOM::IStructure* Outer() const
     {
         return m_pOuter;
     }
 
     // What is the "shape" of the run?  Does it flow and wrap, or... ?
-    ATOM::Shape::Type GetShape() const
+    RichText::ATOM::Shape::Type GetShape() const
     {
         return m_eShape;
     }
@@ -58,7 +58,7 @@
 private:
     StructureElement* m_pOuter;
     int               m_iDepth;
-    ATOM::Shape::Type m_eShape;
+    RichText::ATOM::Shape::Type m_eShape;
     bool              m_bContinuous;
 };
 

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_style.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_style.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_style.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -26,10 +26,10 @@
 {}
 
 // List-copy constructor
-StyleDescriptionElement::StyleDescriptionElement(const ATOM::StyleParticle* pOtherList)
+StyleDescriptionElement::StyleDescriptionElement(const RichText::ATOM::StyleParticle* pOtherList)
 : m_pDescription(0)
 {
-    const ATOM::StyleParticle* pStyle = pOtherList;
+    const RichText::ATOM::StyleParticle* pStyle = pOtherList;
     while(pStyle != NULL) {
         AddToDescription(*pStyle);
         pStyle = pStyle->Next();
@@ -42,20 +42,20 @@
 {
     // Kill the description.
     while(m_pDescription) {
-        ATOM::StyleParticle* p = m_pDescription;
-        m_pDescription = const_cast<ATOM::StyleParticle*>(p->Next());
+        RichText::ATOM::StyleParticle* p = m_pDescription;
+        m_pDescription = const_cast<RichText::ATOM::StyleParticle*>(p->Next());
         delete(p);
     }
 }
 
 
-const ATOM::StyleParticle* StyleDescriptionElement::Description() const
+const RichText::ATOM::StyleParticle* StyleDescriptionElement::Description() const
 {
     return m_pDescription;
 }
 
 
-const ATOM::StyleParticle* StyleDescriptionElement::DescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const
+const RichText::ATOM::StyleParticle* StyleDescriptionElement::DescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const
 {
     return GetDescriptionParticle(eType);
 }
@@ -62,27 +62,27 @@
 
 
 
-ATOM::Status StyleDescriptionElement::AddToDescription(const ATOM::StyleParticle& oParticle)
+RichText::ATOM::Status StyleDescriptionElement::AddToDescription(const RichText::ATOM::StyleParticle& oParticle)
 {
     return AddToSet(m_pDescription,oParticle);
 }
 
 
-ATOM::Status StyleDescriptionElement::RemoveFromDescription(const ATOM::StyleParticle::StyleParticleType eType)
+RichText::ATOM::Status StyleDescriptionElement::RemoveFromDescription(const RichText::ATOM::StyleParticle::StyleParticleType eType)
 {
-    ATOM::StyleParticle* pGone = RemoveFromList(m_pDescription,eType);
+    RichText::ATOM::StyleParticle* pGone = RemoveFromList(m_pDescription,eType);
     if(pGone != NULL)
     {
         delete(pGone);
-        return ATOM::Status::keOk;
+        return RichText::ATOM::Status::keOk;
     }
 
     // Nothing to remove?  Say so.
-    return ATOM::Status::keUnchanged;
+    return RichText::ATOM::Status::keUnchanged;
 }
 
 // Gets the first particle of the type indicated.
-ATOM::StyleParticle* StyleDescriptionElement::GetDescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const
+RichText::ATOM::StyleParticle* StyleDescriptionElement::GetDescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const
 {
     return GetParticle(eType,this->m_pDescription);
 }
@@ -93,13 +93,13 @@
 
 // Finds (the first) particle in a list (or set)
 // and returns a pointer to it, or NULL if none found.
-ATOM::StyleParticle* StyleDescriptionElement::GetParticle(ATOM::StyleParticle::StyleParticleType eType,const ATOM::StyleParticle* pList)
+RichText::ATOM::StyleParticle* StyleDescriptionElement::GetParticle(RichText::ATOM::StyleParticle::StyleParticleType eType,const RichText::ATOM::StyleParticle* pList)
 {
     while(pList != NULL) {
         if(pList->Type() == eType)
-            return const_cast<ATOM::StyleParticle*>(pList);
+            return const_cast<RichText::ATOM::StyleParticle*>(pList);
         else
-            pList = const_cast<ATOM::StyleParticle*>(pList->Next());
+            pList = const_cast<RichText::ATOM::StyleParticle*>(pList->Next());
     }
     return NULL;
 }
@@ -110,9 +110,9 @@
 // the original with the newer particle's value.
 // In all cases, oParticle's ownership remains outside
 // of this list (that is, the list contains only copies.)
-ATOM::Status StyleDescriptionElement::AddToSet(ATOM::StyleParticle*& pSet, const ATOM::StyleParticle& oParticle)
+RichText::ATOM::Status StyleDescriptionElement::AddToSet(RichText::ATOM::StyleParticle*& pSet, const RichText::ATOM::StyleParticle& oParticle)
 {
-    ATOM::StyleParticle* pInList = GetParticle(oParticle.Type(),pSet);
+    RichText::ATOM::StyleParticle* pInList = GetParticle(oParticle.Type(),pSet);
 
     // if it's already in the list/set, we copy the
     // contents of the particle over the corresponding
@@ -119,7 +119,7 @@
     // value already in the list.
     if(pInList) {
         *pInList = oParticle;
-        return ATOM::Status::keReplaced;
+        return RichText::ATOM::Status::keReplaced;
     }
     else { // Otherwise, we append a clone to the list
         if(pSet != NULL)
@@ -126,36 +126,36 @@
             pSet->Append(oParticle.Clone());
         else // (or start a new list with a clone.)
             pSet = oParticle.Clone();
-        return ATOM::Status::keOk;
+        return RichText::ATOM::Status::keOk;
     }
 }
 
-ATOM::StyleParticle* StyleDescriptionElement::RemoveFromList(ATOM::StyleParticle*& pList,
-                                                             const ATOM::StyleParticle::StyleParticleType eType)
+RichText::ATOM::StyleParticle* StyleDescriptionElement::RemoveFromList(RichText::ATOM::StyleParticle*& pList,
+                                                             const RichText::ATOM::StyleParticle::StyleParticleType eType)
 {
     // Empty List, nothing to delete.
     if(pList == NULL)
         return NULL;
 
-    ATOM::StyleParticle* pParticle = pList;
+    RichText::ATOM::StyleParticle* pParticle = pList;
     // Need to remove the head of the list?
     if(pParticle->Type() == eType) {
-        pList = const_cast<ATOM::StyleParticle*>(pParticle->Next());
+        pList = const_cast<RichText::ATOM::StyleParticle*>(pParticle->Next());
         pParticle->SetNext(NULL);
         return pParticle;
     }
     else { // Let's traverse into the list.
-        ATOM::StyleParticle* pPrev = pParticle;
-        pParticle = const_cast<ATOM::StyleParticle*>(pParticle->Next());
+        RichText::ATOM::StyleParticle* pPrev = pParticle;
+        pParticle = const_cast<RichText::ATOM::StyleParticle*>(pParticle->Next());
         while(pParticle != NULL) {
             if(pParticle->Type() == eType) {
-                pPrev->SetNext(const_cast<ATOM::StyleParticle*>(pParticle->Next())); // jump over this particle
+                pPrev->SetNext(const_cast<RichText::ATOM::StyleParticle*>(pParticle->Next())); // jump over this particle
                 pParticle->SetNext(NULL);          // and unlink it.
                 return pParticle;
             }
             // Advance our two pointers.
             pPrev = pParticle;
-            pParticle = const_cast<ATOM::StyleParticle*>(pParticle->Next());
+            pParticle = const_cast<RichText::ATOM::StyleParticle*>(pParticle->Next());
         }
 
         // Not found.  Nothing to remove.  Let's say so.
@@ -182,8 +182,8 @@
     // Kill the deltas.
     while(m_pDeltas)
     {
-        ATOM::StyleParticle* p = m_pDeltas;
-        m_pDeltas = const_cast<ATOM::StyleParticle*>(p->Next());
+        RichText::ATOM::StyleParticle* p = m_pDeltas;
+        m_pDeltas = const_cast<RichText::ATOM::StyleParticle*>(p->Next());
         delete(p);
     }
 }
@@ -195,7 +195,7 @@
     // before entering the nested context?
     assert(oOther.Deltas() == NULL);
 
-    const ATOM::StyleParticle* pStyle = oOther.Description();
+    const RichText::ATOM::StyleParticle* pStyle = oOther.Description();
     while(pStyle != NULL) {
         AddToDescription(*pStyle);
         pStyle = pStyle->Next();
@@ -203,9 +203,9 @@
 }
 
 // Push from the environment (ie, initialize outermost context)
-void StyleChangeElement::Push(ATOM::IEnvironment* pEnv)
+void StyleChangeElement::Push(RichText::ATOM::IEnvironment* pEnv)
 {
-    const ATOM::StyleParticle* pStyle = pEnv->AmbientStyle()->Description();
+    const RichText::ATOM::StyleParticle* pStyle = pEnv->AmbientStyle()->Description();
     while(pStyle != NULL) {
         AddToDescription(*pStyle);
         pStyle = pStyle->Next();
@@ -224,10 +224,10 @@
     // into the list, and the outer running afoul of this check.
     //assert(Deltas() == NULL);
 
-    const ATOM::StyleParticle* pStyle = Description();
+    const RichText::ATOM::StyleParticle* pStyle = Description();
 
     while(pStyle != NULL) {
-        const ATOM::StyleParticle* pOuterStyle = oOuter.GetDescriptionParticle(pStyle->Type());
+        const RichText::ATOM::StyleParticle* pOuterStyle = oOuter.GetDescriptionParticle(pStyle->Type());
         // If the outer style contains this particle, but we've changed it
         // let's assert the delta back to that outer value.
         //
@@ -248,7 +248,7 @@
 
 
 
-const ATOM::StyleParticle* StyleChangeElement::Deltas() const
+const RichText::ATOM::StyleParticle* StyleChangeElement::Deltas() const
 {
     return m_pDeltas;
 }
@@ -256,18 +256,18 @@
 
 // TODO: see if there's something that can be done to consolidate this imp.
 // (maybe inline?)
-const ATOM::StyleParticle* StyleChangeElement::Description() const
+const RichText::ATOM::StyleParticle* StyleChangeElement::Description() const
 {
     return StyleDescriptionElement::Description();
 }
 
-const ATOM::StyleParticle* StyleChangeElement::DescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const
+const RichText::ATOM::StyleParticle* StyleChangeElement::DescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const
 {
     return StyleDescriptionElement::DescriptionParticle(eType);
 }
 
 
-ATOM::Status StyleChangeElement::AddDelta(const ATOM::StyleParticle& oParticle)
+RichText::ATOM::Status StyleChangeElement::AddDelta(const RichText::ATOM::StyleParticle& oParticle)
 {
     if(m_pDeltas == NULL)
         m_pDeltas = oParticle.Clone();
@@ -278,9 +278,9 @@
 }
 
 // Gets the nth particle of the type indicated, from the Delta list.
-ATOM::StyleParticle* StyleChangeElement::GetDeltaParticle(ATOM::StyleParticle::StyleParticleType eType,int n)
+RichText::ATOM::StyleParticle* StyleChangeElement::GetDeltaParticle(RichText::ATOM::StyleParticle::StyleParticleType eType,int n)
 {
-    ATOM::StyleParticle* pRet = this->m_pDeltas;
+    RichText::ATOM::StyleParticle* pRet = this->m_pDeltas;
     for ( ; ; )
     {
         pRet = StyleChangeElement::GetParticle(eType,pRet);
@@ -290,7 +290,7 @@
 
         // Can we continue?
         if(pRet)
-            pRet = const_cast<ATOM::StyleParticle*>(pRet->Next());
+            pRet = const_cast<RichText::ATOM::StyleParticle*>(pRet->Next());
     }
 
     return pRet;
@@ -303,14 +303,14 @@
 }
 
 
-const ATOM::IStyleDescription* EmptyStyleTable::operator[] (const ATOM::StRange& /*sName*/) const
+const RichText::ATOM::IStyleDescription* EmptyStyleTable::operator[] (const RichText::ATOM::StRange& /*sName*/) const
 {
     // TO DO: implement the addition of styles
     return NULL;
 }
 
-ATOM::Status EmptyStyleTable::AddStyle(const ATOM::StRange& /*sName*/, const ATOM::IStyleDescription* /*pStyle*/)
+RichText::ATOM::Status EmptyStyleTable::AddStyle(const RichText::ATOM::StRange& /*sName*/, const RichText::ATOM::IStyleDescription* /*pStyle*/)
 {
     // TO DO: implement the addition of styles.
-    return ATOM::Status::keNotImplemented;
+    return RichText::ATOM::Status::keNotImplemented;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_style.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_style.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_style.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -24,13 +24,13 @@
     interface.  It's to be used by a parser in support of the
     parsing operation.
 */
-class StyleDescriptionElement: public ATOM::IStyleDescription
+class StyleDescriptionElement: public RichText::ATOM::IStyleDescription
 {
 public:
     StyleDescriptionElement();
 
     // List-copy constructor
-    StyleDescriptionElement(const ATOM::StyleParticle* pOtherList);
+    StyleDescriptionElement(const RichText::ATOM::StyleParticle* pOtherList);
 
     virtual ~StyleDescriptionElement();
 
@@ -39,17 +39,17 @@
     // Any existing element of the same type is replaced.
     // The caller retains ownership of oParticle; the description will contain
     // its own clone.
-    ATOM::Status AddToDescription(const ATOM::StyleParticle& oParticle);
-    ATOM::Status RemoveFromDescription(const ATOM::StyleParticle::StyleParticleType eType);
+    RichText::ATOM::Status AddToDescription(const RichText::ATOM::StyleParticle& oParticle);
+    RichText::ATOM::Status RemoveFromDescription(const RichText::ATOM::StyleParticle::StyleParticleType eType);
 
     // Gets the first particle of the type indicated.
-    ATOM::StyleParticle* GetDescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const;
+    RichText::ATOM::StyleParticle* GetDescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const;
 
 
 public: // from ATOM::IStyleDescription
-    const ATOM::StyleParticle* Description() const;
+    const RichText::ATOM::StyleParticle* Description() const;
 
-    const ATOM::StyleParticle* DescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const;
+    const RichText::ATOM::StyleParticle* DescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const;
 
 
 protected:
@@ -56,17 +56,17 @@
     // Utility functions.
 
     // Gets the first particle of the type indicated, but from the indicated list.
-    static ATOM::StyleParticle* GetParticle(ATOM::StyleParticle::StyleParticleType eType,
-                                            const ATOM::StyleParticle* pList);
+    static RichText::ATOM::StyleParticle* GetParticle(RichText::ATOM::StyleParticle::StyleParticleType eType,
+                                            const RichText::ATOM::StyleParticle* pList);
 
     // Implements the set semantics, ensuring "uniqueness" of particle types in the set.
-    static ATOM::Status AddToSet(ATOM::StyleParticle*& pSet, const ATOM::StyleParticle& oParticle);
+    static RichText::ATOM::Status AddToSet(RichText::ATOM::StyleParticle*& pSet, const RichText::ATOM::StyleParticle& oParticle);
 
-    static ATOM::StyleParticle* RemoveFromList(ATOM::StyleParticle*& pList,
-                                               const ATOM::StyleParticle::StyleParticleType eType);
+    static RichText::ATOM::StyleParticle* RemoveFromList(RichText::ATOM::StyleParticle*& pList,
+                                               const RichText::ATOM::StyleParticle::StyleParticleType eType);
 
 private:
-    ATOM::StyleParticle* m_pDescription; // current state
+    RichText::ATOM::StyleParticle* m_pDescription; // current state
 };
 
 
@@ -79,7 +79,7 @@
     parsing operation.
 */
 class StyleChangeElement: public StyleDescriptionElement,
-                          public ATOM::IStyleChange
+                          public RichText::ATOM::IStyleChange
 {
 public:
     StyleChangeElement();
@@ -90,10 +90,10 @@
     // The delta list does not maintain set semantics, so several (possibly redundant)
     // particles may co-exist here (but their manifestation in the Description remains
     // unique, with last-in prevailing.)
-    ATOM::Status AddDelta(const ATOM::StyleParticle& oParticle);
+    RichText::ATOM::Status AddDelta(const RichText::ATOM::StyleParticle& oParticle);
 
     // Gets the nth particle of the type indicated, from the Delta list.
-    ATOM::StyleParticle* GetDeltaParticle(ATOM::StyleParticle::StyleParticleType eType,int n=1);
+    RichText::ATOM::StyleParticle* GetDeltaParticle(RichText::ATOM::StyleParticle::StyleParticleType eType,int n=1);
 
     void Reset();
 
@@ -100,7 +100,7 @@
     // Push from some outer context
     void Push(StyleChangeElement&);
     // Push from the environment (ie, initialize outermost context)
-    void Push(ATOM::IEnvironment*);
+    void Push(RichText::ATOM::IEnvironment*);
 
     // Pop style changes off, update outermost delta list.
     void Pop(StyleChangeElement&);
@@ -108,13 +108,13 @@
 
 
 public: // from ATOM::IStyleChange (and IStyleDescription)
-    const ATOM::StyleParticle* Description() const; // technically, duplicated...
-    const ATOM::StyleParticle* DescriptionParticle(ATOM::StyleParticle::StyleParticleType eType) const;
+    const RichText::ATOM::StyleParticle* Description() const; // technically, duplicated...
+    const RichText::ATOM::StyleParticle* DescriptionParticle(RichText::ATOM::StyleParticle::StyleParticleType eType) const;
 
-    const ATOM::StyleParticle* Deltas() const;
+    const RichText::ATOM::StyleParticle* Deltas() const;
 
 private:
-    ATOM::StyleParticle* m_pDeltas;
+    RichText::ATOM::StyleParticle* m_pDeltas;
 };
 
 
@@ -121,14 +121,14 @@
 
 // Simple implementation:
 // TO-DO: create add support.
-class EmptyStyleTable: public ATOM::IStyleTable
+class EmptyStyleTable: public RichText::ATOM::IStyleTable
 {
 public:
     EmptyStyleTable();
 
-    const ATOM::IStyleDescription* operator[] (const ATOM::StRange& sName) const;
+    const RichText::ATOM::IStyleDescription* operator[] (const RichText::ATOM::StRange& sName) const;
 
-    ATOM::Status AddStyle(const ATOM::StRange& sName, const ATOM::IStyleDescription* pStyle);
+    RichText::ATOM::Status AddStyle(const RichText::ATOM::StRange& sName, const RichText::ATOM::IStyleDescription* pStyle);
 };
 
 #endif//_atom_element_style_h

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -44,7 +44,7 @@
     m_oTransform.Push(m_pParent->m_oTransform);
 }
 
-void TextRunElement::Push(ATOM::IEnvironment* pEnv)
+void TextRunElement::Push(RichText::ATOM::IEnvironment* pEnv)
 {
     if(pEnv == NULL)
         return;

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_textrun.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -18,7 +18,7 @@
 #ifndef _atom_element_textrun_h
 #define _atom_element_textrun_h
 
-class TextRunElement: public ATOM::ITextRun
+class TextRunElement: public RichText::ATOM::ITextRun
 {
 public:
     // Standard constructor, ignoring environment.
@@ -35,7 +35,7 @@
     // style in the environment.
     // (Alternative: use default ctor above and
     // InitFrom(pEnv) below.)
-    TextRunElement(ATOM::IEnvironment* pEnv)
+    TextRunElement(RichText::ATOM::IEnvironment* pEnv)
     : m_iDepth(0)
     , m_pParent(NULL)
     {
@@ -76,7 +76,7 @@
 
     // Needed if you use the default constructor
     // and you're processing the outermost context.
-    void InitFrom(ATOM::IEnvironment* pEnv)
+    void InitFrom(RichText::ATOM::IEnvironment* pEnv)
     {
         m_pParent = NULL;
         m_iDepth = 0;
@@ -92,7 +92,7 @@
     }
 
     // Writable (non-const) access to Contents
-    ATOM::StRange& Contents()
+    RichText::ATOM::StRange& Contents()
     {
         return m_oContents;
     }
@@ -112,27 +112,27 @@
 
 public:
     // Implementations of the ITextRun interface
-    const ATOM::IStructure* Structure() const
+    const RichText::ATOM::IStructure* Structure() const
     {
         return &m_oStructure;
     }
 
-    const ATOM::IStyleChange* Style() const
+    const RichText::ATOM::IStyleChange* Style() const
     {
         return &m_oStyle;
     }
 
-    const ATOM::ITransformChange* Transform() const
+    const RichText::ATOM::ITransformChange* Transform() const
     {
         return &m_oTransform;
     }
 
-    const ATOM::StRange Contents() const
+    const RichText::ATOM::StRange Contents() const
     {
         return m_oContents;
     }
 
-    const ATOM::ILocation* Location() const
+    const RichText::ATOM::ILocation* Location() const
     {
         return &m_oLocation;
     }
@@ -159,7 +159,7 @@
 
 private:
     void Push(); // ... from nested context
-    void Push(ATOM::IEnvironment*); // ... from outermost context (accessing Env's AmbientStyle)
+    void Push(RichText::ATOM::IEnvironment*); // ... from outermost context (accessing Env's AmbientStyle)
     void Pop();
 
     StructureElement    m_oStructure;
@@ -166,7 +166,7 @@
     StyleChangeElement  m_oStyle;
     TransformElement    m_oTransform;
     LocationElement     m_oLocation;
-    ATOM::StRange       m_oContents;
+    RichText::ATOM::StRange       m_oContents;
 
     int                 m_iDepth;
 

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_transform.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_transform.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_transform.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -25,7 +25,7 @@
 : m_pDescription(NULL)
 , m_pDeltas(NULL)
 , m_oMatrix(m_nMatrixElements)
-, m_eMatrixComposition(ATOM::TransformParticle::keNone)
+, m_eMatrixComposition(RichText::ATOM::TransformParticle::keNone)
 , m_bMatrixSynced(false)
 {
 }
@@ -34,8 +34,8 @@
 {
     // Kill the description.
     while(m_pDescription) {
-        ATOM::TransformParticle* p = m_pDescription;
-        m_pDescription = const_cast<ATOM::TransformParticle*>(p->Next());
+        RichText::ATOM::TransformParticle* p = m_pDescription;
+        m_pDescription = const_cast<RichText::ATOM::TransformParticle*>(p->Next());
         delete(p);
     }
 
@@ -47,8 +47,8 @@
     // Only kill the deltas, the full description
     // needs to persist between runs.
     while(m_pDeltas) {
-        ATOM::TransformParticle* p = m_pDeltas;
-        m_pDeltas = const_cast<ATOM::TransformParticle*>(p->Next());
+        RichText::ATOM::TransformParticle* p = m_pDeltas;
+        m_pDeltas = const_cast<RichText::ATOM::TransformParticle*>(p->Next());
         delete(p);
     }
 }
@@ -56,7 +56,7 @@
 void TransformElement::Push(TransformElement& /*from*/ oOther)
 {
     // Transform needs to be slurped.
-    const ATOM::TransformParticle* pTransform = oOther.Description();
+    const RichText::ATOM::TransformParticle* pTransform = oOther.Description();
     while(pTransform != NULL) {
         AddTransform(*pTransform);
         pTransform = pTransform->Next();
@@ -64,7 +64,7 @@
 }
 
 // Push from the environment (ie, initialize outermost context)
-void TransformElement::Push(ATOM::IEnvironment* /*pEnv*/)
+void TransformElement::Push(RichText::ATOM::IEnvironment* /*pEnv*/)
 {
     // Transform isn't slurped (yet?) ..
 }
@@ -75,9 +75,9 @@
 
 
 
-ATOM::Status TransformElement::AddTransform(const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status TransformElement::AddTransform(const RichText::ATOM::TransformParticle& oParticle)
 {
-    ATOM::Status eRet;
+    RichText::ATOM::Status eRet;
     eRet = AddToList(m_pDescription,oParticle);
     if(!eRet.Succeeded())
         return eRet;
@@ -88,12 +88,12 @@
 
     this->m_bMatrixSynced = false;
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status TransformElement::RemoveIdenticalTransform(const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status TransformElement::RemoveIdenticalTransform(const RichText::ATOM::TransformParticle& oParticle)
 {
-    ATOM::TransformParticle* pGone = RemoveFromList(m_pDescription,oParticle);
+    RichText::ATOM::TransformParticle* pGone = RemoveFromList(m_pDescription,oParticle);
     if(pGone != NULL) {
         this->m_bMatrixSynced = false;
         delete(pGone);
@@ -102,9 +102,9 @@
     return AddToList(m_pDeltas,oParticle);
 }
 
-ATOM::Status TransformElement::RemoveSameTypeTransform(const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status TransformElement::RemoveSameTypeTransform(const RichText::ATOM::TransformParticle& oParticle)
 {
-    ATOM::TransformParticle* pGone = RemoveFromList(m_pDescription,oParticle.Type());
+    RichText::ATOM::TransformParticle* pGone = RemoveFromList(m_pDescription,oParticle.Type());
     if(pGone != NULL) {
         this->m_bMatrixSynced = false;
         delete(pGone);
@@ -114,7 +114,7 @@
 }
 
 
-ATOM::Status TransformElement::ReplaceTransform(const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status TransformElement::ReplaceTransform(const RichText::ATOM::TransformParticle& oParticle)
 {
     if(ReplaceInList(m_pDescription,oParticle) != NULL)
         this->m_bMatrixSynced = false;
@@ -125,20 +125,20 @@
 
 
 
-ATOM::TransformParticle* TransformElement::GetParticle(ATOM::TransformParticle::TransformParticleType eType,
-                                                       ATOM::TransformParticle* pList)
+RichText::ATOM::TransformParticle* TransformElement::GetParticle(RichText::ATOM::TransformParticle::TransformParticleType eType,
+                                                       RichText::ATOM::TransformParticle* pList)
 {
     while(pList != NULL) {
         if(pList->Type() == eType)
             return pList;
         else
-            pList = const_cast<ATOM::TransformParticle*>(pList->Next());
+            pList = const_cast<RichText::ATOM::TransformParticle*>(pList->Next());
     }
     return NULL;
 }
 
 
-ATOM::Status TransformElement::AddToList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle)
+RichText::ATOM::Status TransformElement::AddToList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle)
 {
     if(pList != NULL)
         pList->Append(oParticle.Clone());
@@ -145,34 +145,34 @@
     else // (or start a new list with a clone.)
         pList = oParticle.Clone();
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::TransformParticle* TransformElement::RemoveFromList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle)
+RichText::ATOM::TransformParticle* TransformElement::RemoveFromList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle)
 {
     // Empty List, nothing to delete.
     if(pList == NULL)
         return NULL;
 
-    ATOM::TransformParticle* pParticle = pList;
+    RichText::ATOM::TransformParticle* pParticle = pList;
     // Need to remove the head of the list?
     if(*pParticle == oParticle) {
-        pList = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+        pList = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         pParticle->SetNext(NULL);
         return pParticle;
     }
     else { // Let's traverse into the list.
-        ATOM::TransformParticle* pPrev = pParticle;
-        pParticle = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+        RichText::ATOM::TransformParticle* pPrev = pParticle;
+        pParticle = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         while(pParticle != NULL) {
             if(*pParticle == oParticle) {
-                pPrev->SetNext(const_cast<ATOM::TransformParticle*>(pParticle->Next())); // jump over this particle
+                pPrev->SetNext(const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next())); // jump over this particle
                 pParticle->SetNext(NULL);          // and unlink it.
                 return pParticle;
             }
             // Advance our two pointers.
             pPrev = pParticle;
-            pParticle = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+            pParticle = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         }
 
         // Not found.  Nothing to remove.  Let's say so.
@@ -180,32 +180,32 @@
     }
 }
 
-ATOM::TransformParticle* TransformElement::RemoveFromList(ATOM::TransformParticle*& pList,
-                                                          const ATOM::TransformParticle::TransformParticleType eType)
+RichText::ATOM::TransformParticle* TransformElement::RemoveFromList(RichText::ATOM::TransformParticle*& pList,
+                                                          const RichText::ATOM::TransformParticle::TransformParticleType eType)
 {
     // Empty List, nothing to delete.
     if(pList == NULL)
         return NULL;
 
-    ATOM::TransformParticle* pParticle = pList;
+    RichText::ATOM::TransformParticle* pParticle = pList;
     // Need to remove the head of the list?
     if(pParticle->Type() == eType) {
-        pList = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+        pList = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         pParticle->SetNext(NULL);
         return pParticle;
     }
     else { // Let's traverse into the list.
-        ATOM::TransformParticle* pPrev = pParticle;
-        pParticle = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+        RichText::ATOM::TransformParticle* pPrev = pParticle;
+        pParticle = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         while(pParticle != NULL) {
             if(pParticle->Type() == eType) {
-                pPrev->SetNext(const_cast<ATOM::TransformParticle*>(pParticle->Next())); // jump over this particle
+                pPrev->SetNext(const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next())); // jump over this particle
                 pParticle->SetNext(NULL);          // and unlink it.
                 return pParticle;
             }
             // Advance our two pointers.
             pPrev = pParticle;
-            pParticle = const_cast<ATOM::TransformParticle*>(pParticle->Next());
+            pParticle = const_cast<RichText::ATOM::TransformParticle*>(pParticle->Next());
         }
 
         // Not found.  Nothing to remove.  Let's say so.
@@ -216,9 +216,9 @@
 
 // Replaces the particle in the list with one that is of the same type as the particle given;
 // if one is not found, the particle is added.
-ATOM::TransformParticle* TransformElement::ReplaceInList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle)
+RichText::ATOM::TransformParticle* TransformElement::ReplaceInList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle)
 {
-    ATOM::TransformParticle* pInList = GetParticle(oParticle.Type(),pList);
+    RichText::ATOM::TransformParticle* pInList = GetParticle(oParticle.Type(),pList);
     if(pInList != NULL)
         *pInList = oParticle;
     else
@@ -231,27 +231,27 @@
 // Builds the matrix represented as the product of all TransformParticles, taken in order.
 // This implementation caches the matrix for repeated queries (as the transform may be in
 // effect over several runs, each of which would theoretically want to query the matrix.)
-ATOM::TransformParticle::TransformParticleType TransformElement::AsMatrix(ATOM::Matrix* pMat)  const
+RichText::ATOM::TransformParticle::TransformParticleType TransformElement::AsMatrix(RichText::ATOM::Matrix* pMat)  const
 {
 
     if(!this->m_bMatrixSynced) {
         // Defy our "const" status for this, to update the cache.
         TransformElement* pThis = const_cast<TransformElement*>(this);
-        pThis->m_eMatrixComposition = ATOM::TransformParticle::keNone;
+        pThis->m_eMatrixComposition = RichText::ATOM::TransformParticle::keNone;
         pThis->m_oMatrix.SetIdentity();
 
-        const ATOM::TransformParticle* pParticle = m_pDescription;
+        const RichText::ATOM::TransformParticle* pParticle = m_pDescription;
         while(pParticle != NULL) {
             // Save ourselves a bunch of multiplies against
             // an identity matrix.
             if(!pParticle->IsIdentity()) {
-                ATOM::NUMBER n[9];
-                ATOM::Matrix m(n);
+                RichText::ATOM::NUMBER n[9];
+                RichText::ATOM::Matrix m(n);
                 m.SetIdentity();
                     pParticle->SetMatrix(m);
 
                 pThis->m_oMatrix *= m;
-                pThis->m_eMatrixComposition = (ATOM::TransformParticle::TransformParticleType)
+                pThis->m_eMatrixComposition = (RichText::ATOM::TransformParticle::TransformParticleType)
                     ((int) pThis->m_eMatrixComposition | (int)pParticle->Type());
             }
 
@@ -265,12 +265,12 @@
     return this->m_eMatrixComposition;
 }
 
-const ATOM::TransformParticle* TransformElement::Description() const
+const RichText::ATOM::TransformParticle* TransformElement::Description() const
 {
     return this->m_pDescription;
 }
 
-const ATOM::TransformParticle* TransformElement::Deltas() const
+const RichText::ATOM::TransformParticle* TransformElement::Deltas() const
 {
     return this->m_pDeltas;
 }

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_transform.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_transform.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_transform.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -19,7 +19,7 @@
 #define _atom_element_transform_h
 
 
-class TransformElement: public ATOM::ITransformChange
+class TransformElement: public RichText::ATOM::ITransformChange
 {
 public:
     TransformElement();
@@ -27,12 +27,12 @@
     virtual ~TransformElement();
 
     // Indiscriminately adds a transform to the (end of the) list
-    ATOM::Status AddTransform(const ATOM::TransformParticle& oParticle);
+    RichText::ATOM::Status AddTransform(const RichText::ATOM::TransformParticle& oParticle);
 
     // Removes first found transform exactly == to the one given.  Adds oParticle into delta list
-    ATOM::Status RemoveIdenticalTransform(const ATOM::TransformParticle& oParticle);
+    RichText::ATOM::Status RemoveIdenticalTransform(const RichText::ATOM::TransformParticle& oParticle);
     // Removes first-found transform with same type. Adds oParticle into delta list.
-    ATOM::Status RemoveSameTypeTransform(const ATOM::TransformParticle& oParticle);
+    RichText::ATOM::Status RemoveSameTypeTransform(const RichText::ATOM::TransformParticle& oParticle);
 
     // Removes first found transform of the type indicated.
     //void RemoveTransform(ATOM::TransformParticle::TransformParticleType eType);
@@ -40,13 +40,13 @@
     // Replaces first found transform of the type of the given particle with the particle.
     // (or adds it to the list if no match exists yet.)
     // Adds oParticle into delta list.
-    ATOM::Status ReplaceTransform(const ATOM::TransformParticle& oParticle);
+    RichText::ATOM::Status ReplaceTransform(const RichText::ATOM::TransformParticle& oParticle);
 
     void Reset();
 
     void Push(TransformElement&);
     // Push from the environment (ie, initialize outermost context)
-    void Push(ATOM::IEnvironment*);
+    void Push(RichText::ATOM::IEnvironment*);
 
     void Pop(TransformElement&);
 
@@ -56,24 +56,24 @@
     //
 
     // Gets a particle in the list that has the type indicated.
-    static ATOM::TransformParticle* GetParticle(ATOM::TransformParticle::TransformParticleType eType,
-                                                ATOM::TransformParticle* pList);
+    static RichText::ATOM::TransformParticle* GetParticle(RichText::ATOM::TransformParticle::TransformParticleType eType,
+                                                RichText::ATOM::TransformParticle* pList);
     // Gets a particle in the list that is equal to the one indicated.
     //static ATOM::TransformParticle* GetParticle(const ATOM::TransformParticle& oParticle,
     //                                            ATOM::TransformParticle* pList);
 
     //  Adds the particle to the list.
-    static ATOM::Status AddToList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle);
+    static RichText::ATOM::Status AddToList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle);
 
     // Removes the particle from the list that is equal to the particle given.
-    static ATOM::TransformParticle* RemoveFromList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle);
+    static RichText::ATOM::TransformParticle* RemoveFromList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle);
 
     // Removes the particle from the list that has the same type as given.
-    static ATOM::TransformParticle* RemoveFromList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle::TransformParticleType eType);
+    static RichText::ATOM::TransformParticle* RemoveFromList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle::TransformParticleType eType);
 
     // Replaces the particle in the list with one that is of the same type as the particle given;
     // if one is not found, the particle is added.
-    static ATOM::TransformParticle* ReplaceInList(ATOM::TransformParticle*& pList, const ATOM::TransformParticle& oParticle);
+    static RichText::ATOM::TransformParticle* ReplaceInList(RichText::ATOM::TransformParticle*& pList, const RichText::ATOM::TransformParticle& oParticle);
 
 
 public:
@@ -81,22 +81,22 @@
     //
 
     // Gets the aggregate transformation matrix.
-    ATOM::TransformParticle::TransformParticleType       AsMatrix(ATOM::Matrix* ) const; // describes only the sum of these TransformationElements
+    RichText::ATOM::TransformParticle::TransformParticleType       AsMatrix(RichText::ATOM::Matrix* ) const; // describes only the sum of these TransformationElements
 
     // Gets the list of constituent transformations that go into the matrix.
-    const ATOM::TransformParticle*                       Description()           const;
+    const RichText::ATOM::TransformParticle*                       Description()           const;
 
     // Gets the list of changes that that were reported.
-    const ATOM::TransformParticle*                       Deltas()                const;
+    const RichText::ATOM::TransformParticle*                       Deltas()                const;
 
 private:
-    ATOM::TransformParticle* m_pDescription;
-    ATOM::TransformParticle* m_pDeltas;
+    RichText::ATOM::TransformParticle* m_pDescription;
+    RichText::ATOM::TransformParticle* m_pDeltas;
 
     // Caching support for the Matrix method.
-    ATOM::NUMBER m_nMatrixElements[9];
-    ATOM::Matrix m_oMatrix;
-    ATOM::TransformParticle::TransformParticleType m_eMatrixComposition;
+    RichText::ATOM::NUMBER m_nMatrixElements[9];
+    RichText::ATOM::Matrix m_oMatrix;
+    RichText::ATOM::TransformParticle::TransformParticleType m_eMatrixComposition;
     bool m_bMatrixSynced;
 };
 

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_universe.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_universe.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_universe.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -21,9 +21,9 @@
 #include <assert.h>
 
 
-ATOM::IUniverse* ATOM::BigBang()
+RichText::ATOM::IUniverse* RichText::ATOM::BigBang()
 {
-    // Q: What do you name the instance of our (ATOM) Universe?
+    // Q: What do you name the instance of our (RichText::ATOM) Universe?
     static UniverseElement fortyTwo;    // Should be obvious, no? ;-)
 
     return &fortyTwo;
@@ -37,7 +37,7 @@
         this->m_pRegistrants[i] = NULL;
 }
 
-ATOM::IGenerator** UniverseElement::Find(const ATOM::StRange& sName)
+RichText::ATOM::IGenerator** UniverseElement::Find(const RichText::ATOM::StRange& sName)
 {
     for(int i=0; i<MAX_PARSERS_IN_UNIVERSE; ++i)
     {
@@ -48,7 +48,7 @@
     return NULL;
 }
 
-ATOM::IGenerator** UniverseElement::FindEmpty()
+RichText::ATOM::IGenerator** UniverseElement::FindEmpty()
 {
     for(int i=0; i<MAX_PARSERS_IN_UNIVERSE; ++i)
     {
@@ -62,36 +62,36 @@
 
 // Registers a Generator, used by the parsing module
 // when introduced to the universe.
-ATOM::Status UniverseElement::Register(ATOM::IGenerator* pNew)
+RichText::ATOM::Status UniverseElement::Register(RichText::ATOM::IGenerator* pNew)
 {
-    const ATOM::StRange sName = pNew->Name();
+    const RichText::ATOM::StRange sName = pNew->Name();
     if(Find(sName))
-        return ATOM::Status::keAlreadyPresent;
+        return RichText::ATOM::Status::keAlreadyPresent;
 
     // TODO: This strategy is now bogus!
-    ATOM::IGenerator** pp = FindEmpty();
+    RichText::ATOM::IGenerator** pp = FindEmpty();
     if(!pp)
-        return ATOM::Status::keNoResource;
+        return RichText::ATOM::Status::keNoResource;
 
     *pp = pNew;
     m_iCount++;
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Unregisters a Generator.
-ATOM::Status UniverseElement::Unregister(ATOM::IGenerator* pDead)
+RichText::ATOM::Status UniverseElement::Unregister(RichText::ATOM::IGenerator* pDead)
 {
-    const ATOM::StRange sName = pDead->Name();
-    ATOM::IGenerator** pp = Find(sName);
+    const RichText::ATOM::StRange sName = pDead->Name();
+    RichText::ATOM::IGenerator** pp = Find(sName);
     if(!pp)
-        return ATOM::Status::keNotPresent;
+        return RichText::ATOM::Status::keNotPresent;
 
     *pp = NULL;
     m_iCount--;
     // TODO: finish this: move the deleted items down.
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // How many parser/generators are registered?
@@ -103,7 +103,7 @@
 // Gets a parser generator (by position in registration list)
 // to allow the application to begin a parsing operation.
 // 0 <= iIndex < RegisteredCount();
-ATOM::IGenerator* UniverseElement::GetGenerator(int iIndex)
+RichText::ATOM::IGenerator* UniverseElement::GetGenerator(int iIndex)
 {
     if(iIndex < 0 || iIndex >= m_iCount)
         return NULL;
@@ -113,9 +113,9 @@
 
 // Same as above, but indexed off the IGenerator::Name()
 // method.
-ATOM::IGenerator* UniverseElement::GetGenerator(const ATOM::StRange& sName)
+RichText::ATOM::IGenerator* UniverseElement::GetGenerator(const RichText::ATOM::StRange& sName)
 {
-    ATOM::IGenerator** pp = Find(sName);
+    RichText::ATOM::IGenerator** pp = Find(sName);
     if(pp)
         return *pp;
     else

Modified: sandbox/adsk/trunk/Common/Stylization/atom_element_universe.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/atom_element_universe.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/atom_element_universe.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -18,11 +18,11 @@
 #ifndef _atom_element_universe_h
 #define _atom_element_universe_h
 
-ATOM::IUniverse* ATOM::BigBang();
+RichText::ATOM::IUniverse* RichText::ATOM::BigBang();
 
 #define MAX_PARSERS_IN_UNIVERSE 8
 
-class UniverseElement /* would that be Hydrogen? ;-)*/ : public ATOM::IUniverse
+class UniverseElement /* would that be Hydrogen? ;-)*/ : public RichText::ATOM::IUniverse
 {
 public:
     UniverseElement();
@@ -30,10 +30,10 @@
 public:
     // Registers a Parser's Generator, used by the parsing module
     // when introduced to the universe.
-    ATOM::Status Register(ATOM::IGenerator*);
+    RichText::ATOM::Status Register(RichText::ATOM::IGenerator*);
 
     // Unregisters a Parser's Generator.
-    ATOM::Status Unregister(ATOM::IGenerator*);
+    RichText::ATOM::Status Unregister(RichText::ATOM::IGenerator*);
 
     // How many parser/generators are registered?
     int RegisteredCount();
@@ -45,21 +45,21 @@
     // Note: the iIndex is NOT a key, as registration may change
     // the order of Parser Generators... USE ONLY Name() to
     // get a persistent key for any specific Parser Generator.
-    ATOM::IGenerator* GetGenerator(int iIndex);
+    RichText::ATOM::IGenerator* GetGenerator(int iIndex);
 
     // Same as above, but indexed off the IGenerator::Name()
     // method.
-    ATOM::IGenerator* GetGenerator(const ATOM::StRange& sName);
+    RichText::ATOM::IGenerator* GetGenerator(const RichText::ATOM::StRange& sName);
 
 private:
     // Cheap implementation, just a hard array.
     // Growing "array list" might be called upon in the future
     // but fortunately, the specifics are hidden behind the interface. ;-)
-    ATOM::IGenerator* m_pRegistrants[MAX_PARSERS_IN_UNIVERSE];
+    RichText::ATOM::IGenerator* m_pRegistrants[MAX_PARSERS_IN_UNIVERSE];
     int m_iCount;
 
-    ATOM::IGenerator** Find(const ATOM::StRange& sName);
-    ATOM::IGenerator** FindEmpty();
+    RichText::ATOM::IGenerator** Find(const RichText::ATOM::StRange& sName);
+    RichText::ATOM::IGenerator** FindEmpty();
 };
 
 #endif//_atom_element_universe_h

Modified: sandbox/adsk/trunk/Common/Stylization/mtext_parser.cpp
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/mtext_parser.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/mtext_parser.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -71,7 +71,7 @@
 
 */
 
-MTextParser::MTextParser(ATOM::IGenerator* pGenerator)
+MTextParser::MTextParser(RichText::ATOM::IGenerator* pGenerator)
 : m_pGenerator(pGenerator)
 {
 }
@@ -79,7 +79,7 @@
 // Parse a markup string by creating an "environment" with all the
 // ambient settings, then combine that with a string to parse, and
 // give it to this method.
-ATOM::Status MTextParser::Parse(const ATOM::StRange sMarkup,ATOM::IEnvironment* pEnv)
+RichText::ATOM::Status MTextParser::Parse(const RichText::ATOM::StRange sMarkup,RichText::ATOM::IEnvironment* pEnv)
 {
     // Nice stack-based implementation; keeps things simple.
     // gee, and it's thread-safe, too!
@@ -89,7 +89,7 @@
 }
 
 
-ATOM::IGenerator* MTextParser::GetGenerator()
+RichText::ATOM::IGenerator* MTextParser::GetGenerator()
 {
     return m_pGenerator;
 }
@@ -100,9 +100,9 @@
 // Parse a markup string by creating an "environment" with all the
 // ambient settings, then combine that with a string to parse, and
 // give it to this method.
-ATOM::Status MTextParseInstance::Parse()
+RichText::ATOM::Status MTextParseInstance::Parse()
 {
-    ATOM::Status eRet = ATOM::Status::keOk;
+    RichText::ATOM::Status eRet = RichText::ATOM::Status::keOk;
 
     eRet = m_pEnv->Sink()->Initialize(m_pEnv);
     if(eRet.Succeeded()) {
@@ -118,11 +118,11 @@
 }
 
 
-ATOM::Status MTextParseInstance::SendMetacharacter(TextRunElement& Run,const ATOM::StRange& sMeta)
+RichText::ATOM::Status MTextParseInstance::SendMetacharacter(TextRunElement& Run,const RichText::ATOM::StRange& sMeta)
 {
     // Meta-characters... we're not keeping a working buffer, so we
     // break the run around these characters.
-    ATOM::Status eRet = SendTextRunNotification(Run);
+    RichText::ATOM::Status eRet = SendTextRunNotification(Run);
     if(!eRet.Succeeded())
         return eRet;
 
@@ -147,9 +147,9 @@
 // Returns the string before that character (ie, not including it) while
 // updating the source string's reference to begin after it.
 // Kind of like a strtok() for StRange types.
-/*ATOM::StRange MTextParseInstance::ScanFor(ATOM::CHARTYPE ch,ATOM::StRange& sString)
+/*RichText::ATOM::StRange MTextParseInstance::ScanFor(RichText::ATOM::CHARTYPE ch,RichText::ATOM::StRange& sString)
 {
-    ATOM::StRange sRet = sString;
+    RichText::ATOM::StRange sRet = sString;
 
     int i=0;
     while(sString[i] && sString[i] != ch)
@@ -166,14 +166,14 @@
 
 
 // Implements the \A#; command
-ATOM::Status MTextParseInstance::Parse_A(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_A(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
+    RichText::ATOM::StRange parm = m_sHere;
     if(!this->ParseForParameter(parm).Succeeded())
-        return Abandon(ATOM::Status::keUnexpectedCharacter,parm);
+        return Abandon(RichText::ATOM::Status::keUnexpectedCharacter,parm);
 
-    ATOM::NUMBER nAlign;
+    RichText::ATOM::NUMBER nAlign;
     switch(parm[0]) {
     default:
     case '0': nAlign = 0.0f; break;
@@ -181,108 +181,108 @@
     case '2': nAlign = 1.0f; break;
     }
 
-    Run.Style().AddDelta(ATOM::AdvanceAlignmentStyleParticle(ATOM::Measure(nAlign,ATOM::Measure::keUnitless,&parm)));
+    Run.Style().AddDelta(RichText::ATOM::AdvanceAlignmentStyleParticle(RichText::ATOM::Measure(nAlign,RichText::ATOM::Measure::keUnitless,&parm)));
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \C#; command.
-ATOM::Status MTextParseInstance::Parse_C(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_C(TextRunElement& Run)
 {
     m_sHere.Move(1);
 
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nACI;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nACI;
     if(!this->GetNumber(parm,nACI).Succeeded())
-        return Abandon(ATOM::Status::keIncompleteString,parm);
+        return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
     int iACI = (int)nACI;
     // Out of bounds, or not an int?
-    if(iACI < 0 || iACI > 255 || (ATOM::NUMBER)iACI != nACI)
-        return Abandon(ATOM::Status::keInvalidArg,parm);
+    if(iACI < 0 || iACI > 255 || (RichText::ATOM::NUMBER)iACI != nACI)
+        return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
 
-    Run.Style().AddDelta(ATOM::FillColorStyleParticle(ATOM::Color(sm_lAciColorTable[iACI])));
+    Run.Style().AddDelta(RichText::ATOM::FillColorStyleParticle(RichText::ATOM::Color(sm_lAciColorTable[iACI])));
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \c#; command.
-ATOM::Status MTextParseInstance::Parse_c(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_c(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nColor;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nColor;
     if(!GetNumber(parm,nColor).Succeeded())
-        return Abandon(ATOM::Status::keUnexpectedCharacter,parm);
+        return Abandon(RichText::ATOM::Status::keUnexpectedCharacter,parm);
 
     // Advance past opcode; leaves us in the right place if Abandon is declined.
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
     long lColor = (long)nColor;
-    if(lColor < 0 || lColor > 0xFFFFFF || (ATOM::NUMBER)lColor != nColor)
-        return Abandon(ATOM::Status::keInvalidArg,parm);
+    if(lColor < 0 || lColor > 0xFFFFFF || (RichText::ATOM::NUMBER)lColor != nColor)
+        return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
 
     // We need to swap things from BGR to RGB
-    lColor = ATOM::Color(lColor).LongABGR();
+    lColor = RichText::ATOM::Color(lColor).LongABGR();
 
-    Run.Style().AddDelta(ATOM::FillColorStyleParticle(ATOM::Color((lColor)|0xFF000000)));
+    Run.Style().AddDelta(RichText::ATOM::FillColorStyleParticle(RichText::ATOM::Color((lColor)|0xFF000000)));
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \fname|b#|i#|p#|c#; command.
-ATOM::Status MTextParseInstance::Parse_f(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_f(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
+    RichText::ATOM::StRange parm = m_sHere;
     if(!ParseForParameter(parm).Succeeded())
-        return Abandon(ATOM::Status::keIncompleteString,parm);
+        return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
-    ATOM::StRange s = parm.Split('|');
-    Run.Style().AddDelta(ATOM::TypefaceStyleParticle(s));
+    RichText::ATOM::StRange s = parm.Split('|');
+    Run.Style().AddDelta(RichText::ATOM::TypefaceStyleParticle(s));
     do {
         s = parm.Split('|');
 
         switch(s[0]) {
         case 'b':
-            Run.Style().AddDelta(ATOM::FontWeightStyleParticle(s[1] == '1'? ATOM::FontWeight::keBold  :
-                                                                            ATOM::FontWeight::keNormal));
+            Run.Style().AddDelta(RichText::ATOM::FontWeightStyleParticle(s[1] == '1'? RichText::ATOM::FontWeight::keBold  :
+                                                                            RichText::ATOM::FontWeight::keNormal));
             break;
 
         case 'i':
-            Run.Style().AddDelta(ATOM::ItalicStyleParticle(s[1] == '1'));
+            Run.Style().AddDelta(RichText::ATOM::ItalicStyleParticle(s[1] == '1'));
             break;
 
         case 'c':
-            Run.Style().AddDelta(ATOM::CharacterSetStyleParticle((ATOM::CharacterSet::Type)_wtoi(s.Start()+1)));
+            Run.Style().AddDelta(RichText::ATOM::CharacterSetStyleParticle((RichText::ATOM::CharacterSet::Type)_wtoi(s.Start()+1)));
             break;
 
         case 'p':
-            Run.Style().AddDelta(ATOM::PitchFamilyStyleParticle((ATOM::PitchFamily::Type)_wtoi(s.Start()+1)));
+            Run.Style().AddDelta(RichText::ATOM::PitchFamilyStyleParticle((RichText::ATOM::PitchFamily::Type)_wtoi(s.Start()+1)));
             break;
 
         default:
-            return Abandon(ATOM::Status::keUnknownMarkup,parm);
+            return Abandon(RichText::ATOM::Status::keUnknownMarkup,parm);
         }
     }while(parm.Length() > 0);
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \H#; and \H#x; command variations.
-ATOM::Status MTextParseInstance::Parse_H(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_H(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nHeight;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nHeight;
     if(!GetNumber(parm,nHeight).Succeeded())
-        return Abandon(ATOM::Status::keIncompleteString,parm);
+        return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
@@ -289,74 +289,74 @@
     double dHeight = (double)nHeight;
     // Out of bounds?
     if(dHeight <= 0.0 )
-        return Abandon(ATOM::Status::keInvalidArg,parm);
+        return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
 
     if(parm.Last() == 'x') {
-        Run.Style().AddDelta(ATOM::CapSizeStyleParticle(ATOM::Measure(nHeight,ATOM::Measure::keProportion,&parm)));
+        Run.Style().AddDelta(RichText::ATOM::CapSizeStyleParticle(RichText::ATOM::Measure(nHeight,RichText::ATOM::Measure::keProportion,&parm)));
     }
     else {
-        Run.Style().AddDelta(ATOM::CapSizeStyleParticle(ATOM::Measure(nHeight,ATOM::Measure::keModel,&parm)));
+        Run.Style().AddDelta(RichText::ATOM::CapSizeStyleParticle(RichText::ATOM::Measure(nHeight,RichText::ATOM::Measure::keModel,&parm)));
     }
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \L command.
-ATOM::Status MTextParseInstance::Parse_L(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_L(TextRunElement& Run)
 {
-    Run.Style().AddDelta(ATOM::UnderlineStyleParticle(ATOM::TextLine::keSingle));
+    Run.Style().AddDelta(RichText::ATOM::UnderlineStyleParticle(RichText::ATOM::TextLine::keSingle));
 
     // Parameterless opcode, so no need to advance
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Implements the \l command.
-ATOM::Status MTextParseInstance::Parse_l(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_l(TextRunElement& Run)
 {
-    Run.Style().AddDelta(ATOM::UnderlineStyleParticle(ATOM::TextLine::keNone));
+    Run.Style().AddDelta(RichText::ATOM::UnderlineStyleParticle(RichText::ATOM::TextLine::keNone));
 
     // Parameterless opcode, so no need to advance
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status MTextParseInstance::Parse_N(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_N(TextRunElement& Run)
 {
-    Run.Location().SetSemantics(ATOM::ILocation::keFlowColumn);
-    Run.Location().AddOperation(ATOM::LineBreakLocationParticle());
+    Run.Location().SetSemantics(RichText::ATOM::ILocation::keFlowColumn);
+    Run.Location().AddOperation(RichText::ATOM::LineBreakLocationParticle());
 
     // Parameterless opcode, so no need to advance
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status MTextParseInstance::Parse_O(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_O(TextRunElement& Run)
 {
-    Run.Style().AddDelta(ATOM::OverlineStyleParticle(ATOM::TextLine::keSingle));
+    Run.Style().AddDelta(RichText::ATOM::OverlineStyleParticle(RichText::ATOM::TextLine::keSingle));
 
     // Parameterless opcode, so no need to advance
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status MTextParseInstance::Parse_o(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_o(TextRunElement& Run)
 {
-    Run.Style().AddDelta(ATOM::OverlineStyleParticle(ATOM::TextLine::keNone));
+    Run.Style().AddDelta(RichText::ATOM::OverlineStyleParticle(RichText::ATOM::TextLine::keNone));
 
     // Parameterless opcode, so no need to advance
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status MTextParseInstance::Parse_Q(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_Q(TextRunElement& Run)
 {
     m_sHere.Move(1);
 
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nAng;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nAng;
     if(!GetNumber(parm,nAng).Succeeded())
-       return Abandon(ATOM::Status::keIncompleteString,parm);
+       return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
@@ -363,14 +363,14 @@
     double dAng = (double)nAng;
     // Out of bounds?
     if(dAng < -85.0 || dAng > 85.0 )
-        return Abandon(ATOM::Status::keInvalidArg,parm);
+        return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
 
     if(nAng == 0.0)
-        Run.Transform().RemoveSameTypeTransform(ATOM::SkewTransformParticle(0,0));
+        Run.Transform().RemoveSameTypeTransform(RichText::ATOM::SkewTransformParticle(0,0));
     else
-        Run.Transform().ReplaceTransform(ATOM::SkewTransformParticle(ATOM::DegreeRadialMeasure(nAng),0));
+        Run.Transform().ReplaceTransform(RichText::ATOM::SkewTransformParticle(RichText::ATOM::DegreeRadialMeasure(nAng),0));
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
@@ -377,24 +377,24 @@
 //                         over
 // Produces a traditional ----- fraction.
 //                        under
-ATOM::Status MTextParseInstance::Parse_S_OverUnder(TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom)
+RichText::ATOM::Status MTextParseInstance::Parse_S_OverUnder(TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom)
 {
     // This guy is left justified, regardless of what's going on outside.
     // (But let's remember what that (outside) justification is.)
-    ATOM::JustificationStyleParticle* pOldJustification = (ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(ATOM::StyleParticle::keJustification));
-    ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
+    RichText::ATOM::JustificationStyleParticle* pOldJustification = (RichText::ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(RichText::ATOM::StyleParticle::keJustification));
+    RichText::ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
                                                   pOldJustification->Value() :
-                                                  ATOM::Justification::keLeft;
+                                                  RichText::ATOM::Justification::keLeft;
 
-    if(eOldJustification != ATOM::Justification::keCentered)
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keCentered));
+    if(eOldJustification != RichText::ATOM::Justification::keCentered)
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keCentered));
 
     // also get the current underline / overline settings
-    ATOM::UnderlineStyleParticle* pOldUnderline = (ATOM::UnderlineStyleParticle*)(Run.Style().GetDescriptionParticle(ATOM::StyleParticle::keUnderline));
-    ATOM::TextLine::Type eOldUnderline = (pOldUnderline != NULL)? pOldUnderline->Value() : ATOM::TextLine::keNone;
+    RichText::ATOM::UnderlineStyleParticle* pOldUnderline = (RichText::ATOM::UnderlineStyleParticle*)(Run.Style().GetDescriptionParticle(RichText::ATOM::StyleParticle::keUnderline));
+    RichText::ATOM::TextLine::Type eOldUnderline = (pOldUnderline != NULL)? pOldUnderline->Value() : RichText::ATOM::TextLine::keNone;
 
-    ATOM::OverlineStyleParticle* pOldOverline = (ATOM::OverlineStyleParticle*)(Run.Style().GetDescriptionParticle(ATOM::StyleParticle::keOverline));
-    ATOM::TextLine::Type eOldOverline = (pOldOverline != NULL)? pOldOverline->Value() : ATOM::TextLine::keNone;
+    RichText::ATOM::OverlineStyleParticle* pOldOverline = (RichText::ATOM::OverlineStyleParticle*)(Run.Style().GetDescriptionParticle(RichText::ATOM::StyleParticle::keOverline));
+    RichText::ATOM::TextLine::Type eOldOverline = (pOldOverline != NULL)? pOldOverline->Value() : RichText::ATOM::TextLine::keNone;
 
     bool bHasNumer = sNumer.Length() > 0;
     bool bHasDenom = sDenom.Length() > 0;
@@ -409,32 +409,32 @@
     if(bHasNumer) {
         // Full stack (not fake superscript) so add some additional info.
         if(bHasDenom) {
-            Run.Location().AddSemantic(ATOM::ILocation::keInlineBlock);
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // We have to come back to this place... remember it.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
 
             // Short-term hack, instead of relying on BorderLineStyleParticle.
             // See the OverlineStyleParticle in the corresponding code below for notes.
-            if(sDenom.Length() < sNumer.Length() && eOldUnderline != ATOM::TextLine::keSingle) {
-                Run.Style().AddDelta(ATOM::UnderlineStyleParticle(ATOM::TextLine::keSingle));
+            if(sDenom.Length() < sNumer.Length() && eOldUnderline != RichText::ATOM::TextLine::keSingle) {
+                Run.Style().AddDelta(RichText::ATOM::UnderlineStyleParticle(RichText::ATOM::TextLine::keSingle));
                 bNumerLine = true;
             }
         }
 
         // Indicate that this is the "superscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSuperscript);
 
         Run.Contents() = sNumer;
 
         // This location stuff is subject to some fiddling (part 1)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         // Send the Numerator along
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -445,15 +445,15 @@
         // Disable any underline from the short-term hack
         if(bNumerLine)
         {
-            Run.Style().AddDelta(ATOM::UnderlineStyleParticle(eOldUnderline));
+            Run.Style().AddDelta(RichText::ATOM::UnderlineStyleParticle(eOldUnderline));
             bNumerLine = false;
         }
 
         // End of superscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSuperscript);
         // This location stuff is subject to some fiddling (part 2)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
     }
 
     //
@@ -462,36 +462,36 @@
     if(bHasDenom) {
         // Full stack (not fake subscript) so add some additional info.
         if(bHasNumer) {
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // Remember how far out we came, because we need to come back here.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
             // Now, back to the left edge in preparation for the denom.
-            Run.Location().AddOperation(ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
 
             // This is what puts the line in between the two parts
             // Removed for now...
-            //Run.Style().AddDelta(ATOM::TopBorderLineStyleParticle(ATOM::BorderLine::keSolid));
+            //Run.Style().AddDelta(RichText::ATOM::TopBorderLineStyleParticle(RichText::ATOM::BorderLine::keSolid));
             // ... instead, we temporarily do this.  We assume, based on some use-case knowledge
             // of the stacked fraction, that these are likely to be numeric, and numbers are usually
             // fixed-width, even in variable-width fonts.
-            if(sDenom.Length() >= sNumer.Length() && eOldOverline != ATOM::TextLine::keSingle) {
-                Run.Style().AddDelta(ATOM::OverlineStyleParticle(ATOM::TextLine::keSingle));
+            if(sDenom.Length() >= sNumer.Length() && eOldOverline != RichText::ATOM::TextLine::keSingle) {
+                Run.Style().AddDelta(RichText::ATOM::OverlineStyleParticle(RichText::ATOM::TextLine::keSingle));
                 bDenomLine = true;
             }
         }
 
         // Indicate that this is the "subscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSubscript);
 
         Run.Contents() = sDenom;
 
         // This location stuff is subject to some fiddling (part 3)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -502,40 +502,40 @@
         // Disable any overline from the short-term hack
         if(bDenomLine)
         {
-            Run.Style().AddDelta(ATOM::OverlineStyleParticle(eOldOverline));
+            Run.Style().AddDelta(RichText::ATOM::OverlineStyleParticle(eOldOverline));
             bDenomLine = false;
         }
 
         // End of subscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSubscript);
         // This location stuff is subject to some fiddling (part 4)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         if(bHasNumer) {
             // No longer in the "stack" region
-            Run.Location().AddSemantic(ATOM::ILocation::keEndInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndInlineBlock);
             // Go as far as the
-            Run.Location().AddOperation(ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
-                                                                                      ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
+            Run.Location().AddOperation(RichText::ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
+                                                                                      RichText::ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
             // End the line
             // Removed, for now.  See above.
-            //Run.Style().AddDelta(ATOM::TopBorderLineStyleParticle(ATOM::BorderLine::keNoBorder));
+            //Run.Style().AddDelta(RichText::ATOM::TopBorderLineStyleParticle(RichText::ATOM::BorderLine::keNoBorder));
         }
     }
 
-    if(eOldJustification != ATOM::Justification::keCentered)
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(eOldJustification));
+    if(eOldJustification != RichText::ATOM::Justification::keCentered)
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(eOldJustification));
 
     m_sHere.SetStart(sDenom.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 //                                      1 /
 //  Implements a "vulgar" fraction, ie,  /  and such.
 //                                      / 2
-ATOM::Status MTextParseInstance::Parse_S_Vulgar(TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom)
+RichText::ATOM::Status MTextParseInstance::Parse_S_Vulgar(TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom)
 {
     bool bHasNumer = sNumer.Length() > 0;
     bool bHasDenom = sDenom.Length() > 0;
@@ -546,20 +546,20 @@
     if(bHasNumer) {
         // Full stack (not fake superscript) so add some additional info.
         if(bHasDenom) {
-            Run.Location().AddSemantic(ATOM::ILocation::keInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keInlineBlock);
         }
 
         // Indicate that this is the "superscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSuperscript);
 
         Run.Contents() = sNumer;
 
         // This location stuff is subject to some fiddling (part 1)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         // Send the Numerator along
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -568,30 +568,30 @@
         //
 
         // End of superscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSuperscript);
         // This location stuff is subject to some fiddling (part 2)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5f,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5f,RichText::ATOM::Measure::keEm,NULL) ));
 
 
 
         if(bHasDenom) {
             // A bit of "hand" kerning to tuck the slash under the numerator.
-            Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(-0.4f,ATOM::Measure::keEm,NULL),
-                                                                       ATOM::Measure() ));
+            Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(-0.4f,RichText::ATOM::Measure::keEm,NULL),
+                                                                       RichText::ATOM::Measure() ));
 
             // The slash.
             Run.Contents() = L"/";
 
             // Send the slash along
-            ATOM::Status eRet = SendTextRunNotification(Run);
+            RichText::ATOM::Status eRet = SendTextRunNotification(Run);
             if(!eRet.Succeeded())
                 return eRet;
 
             // Ditto: more hand kerning so the denominator starts under the slash.
             // (But this is against the slashe's em size.)
-            Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(-0.4f,ATOM::Measure::keEm,NULL),
-                                                                       ATOM::Measure() ));
+            Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(-0.4f,RichText::ATOM::Measure::keEm,NULL),
+                                                                       RichText::ATOM::Measure() ));
         }
     }
 
@@ -600,15 +600,15 @@
     //
     if(bHasDenom) {
         // Indicate that this is the "subscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSubscript);
 
         Run.Contents() = sDenom;
 
         // This location stuff is subject to some fiddling (part 3)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -617,14 +617,14 @@
         //
 
         // End of subscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSubscript);
         // This location stuff is subject to some fiddling (part 4)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         if(bHasNumer) {
             // No longer in the "stack" region
-            Run.Location().AddSemantic(ATOM::ILocation::keEndInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndInlineBlock);
 
         }
     }
@@ -631,7 +631,7 @@
 
     m_sHere.SetStart(sDenom.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
@@ -638,17 +638,17 @@
 //
 // Produces a tolerance (two left-justified over/and-under arrangement, sans fraction line)
 //
-ATOM::Status MTextParseInstance::Parse_S_Tolerance(TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom)
+RichText::ATOM::Status MTextParseInstance::Parse_S_Tolerance(TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom)
 {
     // This guy is left justified, regardless of what's going on outside.
     // (But let's remember what that (outside) justification is.)
-    ATOM::JustificationStyleParticle* pOldJustification = (ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(ATOM::StyleParticle::keJustification));
-    ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
+    RichText::ATOM::JustificationStyleParticle* pOldJustification = (RichText::ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(RichText::ATOM::StyleParticle::keJustification));
+    RichText::ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
                                                   pOldJustification->Value() :
-                                                  ATOM::Justification::keLeft;
+                                                  RichText::ATOM::Justification::keLeft;
 
-    if(eOldJustification != ATOM::Justification::keLeft)
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keLeft));
+    if(eOldJustification != RichText::ATOM::Justification::keLeft)
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keLeft));
 
     bool bHasNumer = sNumer.Length() > 0;
     bool bHasDenom = sDenom.Length() > 0;
@@ -659,25 +659,25 @@
     if(bHasNumer) {
         // Full stack (not fake superscript) so add some additional info.
         if(bHasDenom) {
-            Run.Location().AddSemantic(ATOM::ILocation::keInlineBlock);
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // We have to come back to this place... remember it.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
         }
 
         // Indicate that this is the "superscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSuperscript);
 
         Run.Contents() = sNumer;
 
         // This location stuff is subject to some fiddling (part 1)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         // Send the Numerator along
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -686,10 +686,10 @@
         //
 
         // End of superscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSuperscript);
         // This location stuff is subject to some fiddling (part 2)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
     }
 
     //
@@ -698,25 +698,25 @@
     if(bHasDenom) {
         // Full stack (not fake subscript) so add some additional info.
         if(bHasNumer) {
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // Remember how far out we came, because we need to come back here.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
             // Now, back to the left edge in preparation for the denom.
-            Run.Location().AddOperation(ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
         }
 
         // Indicate that this is the "subscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSubscript);
 
         Run.Contents() = sDenom;
 
         // This location stuff is subject to some fiddling (part 3)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
@@ -725,33 +725,33 @@
         //
 
         // End of subscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSubscript);
         // This location stuff is subject to some fiddling (part 4)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         if(bHasNumer) {
             // No longer in the "stack" region
-            Run.Location().AddSemantic(ATOM::ILocation::keEndInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndInlineBlock);
             // Go as far as the
-            Run.Location().AddOperation(ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
-                                                                                      ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
+            Run.Location().AddOperation(RichText::ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
+                                                                                      RichText::ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
         }
     }
 
-    if(eOldJustification != ATOM::Justification::keLeft)
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(eOldJustification));
+    if(eOldJustification != RichText::ATOM::Justification::keLeft)
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(eOldJustification));
 
     m_sHere.SetStart(sDenom.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
 // TO DO? Factor out from below?
-ATOM::Status MTextParseInstance::Parse_S_Decimal_Part(TextRunElement& /*Run*/, ATOM::StRange /*sWhole*/, ATOM::StRange /*sDecimal*/)
+RichText::ATOM::Status MTextParseInstance::Parse_S_Decimal_Part(TextRunElement& /*Run*/, RichText::ATOM::StRange /*sWhole*/, RichText::ATOM::StRange /*sDecimal*/)
 {
-    return ATOM::Status::keNotImplemented;
+    return RichText::ATOM::Status::keNotImplemented;
 }
 
 //
@@ -758,7 +758,7 @@
 //  This produces a decimal-aligned stack.     +99.09
 //                                            +101.10
 //
-ATOM::Status MTextParseInstance::Parse_S_Decimal(TextRunElement& Run,ATOM::StRange sNumerDeci,ATOM::StRange sDenomDeci,ATOM::CHARTYPE chDecimal)
+RichText::ATOM::Status MTextParseInstance::Parse_S_Decimal(TextRunElement& Run,RichText::ATOM::StRange sNumerDeci,RichText::ATOM::StRange sDenomDeci,RichText::ATOM::CHARTYPE chDecimal)
 {
     // We attack the problem by dividing the numerator and denominator into
     // whole and decimal parts, respectively.  These four pieces will be presented
@@ -766,10 +766,10 @@
     // are left justified.  In most other respects, this follows ordinary tolerance stacks.
 
     // We remember what that (outside) justification is.
-    ATOM::JustificationStyleParticle* pOldJustification = (ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(ATOM::StyleParticle::keJustification));
-    ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
+    RichText::ATOM::JustificationStyleParticle* pOldJustification = (RichText::ATOM::JustificationStyleParticle*)(Run.Style().GetDescriptionParticle(RichText::ATOM::StyleParticle::keJustification));
+    RichText::ATOM::Justification::Type eOldJustification = pOldJustification != NULL ?
                                                   pOldJustification->Value() :
-                                                  ATOM::Justification::keLeft;
+                                                  RichText::ATOM::Justification::keLeft;
 
     bool bHasNumer = sNumerDeci.Length() > 0;
     bool bHasDenom = sDenomDeci.Length() > 0;
@@ -780,42 +780,42 @@
     if(bHasNumer) {
         // Full stack (not fake superscript) so add some additional info.
         if(bHasDenom) {
-            Run.Location().AddSemantic(ATOM::ILocation::keTable);
-            Run.Location().AddSemantic(ATOM::ILocation::keInlineBlock);
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keTable);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // We have to come back to this place... remember it.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
 
             // Whole number part is right-justified
-            Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keRight));
+            Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keRight));
         }
 
         // Indicate that this is the "superscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSuperscript);
 
-        ATOM::StRange sNumerWhole = sNumerDeci.Split(chDecimal); // sNumerDeci reduced to what follows decimal point.
+        RichText::ATOM::StRange sNumerWhole = sNumerDeci.Split(chDecimal); // sNumerDeci reduced to what follows decimal point.
         sNumerDeci.MoveStart(-1); // back up, to include the point.
 
         Run.Contents() = sNumerWhole;
 
         // This location stuff is subject to some fiddling (part 1)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         // Send the Numerator Whole along
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
         if(bHasDenom) {
             // Okay, we move on to the next item.
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
         }
 
         // The decimal part is left-justified
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keLeft));
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keLeft));
 
         Run.Contents() = sNumerDeci;
 
@@ -829,10 +829,10 @@
         //
 
         // End of superscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSuperscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSuperscript);
         // This location stuff is subject to some fiddling (part 2)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
     }
 
     //
@@ -841,41 +841,41 @@
     if(bHasDenom) {
         // Full stack (not fake subscript) so add some additional info.
         if(bHasNumer) {
-            Run.Location().AddSemantic(ATOM::ILocation::keRow);
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keRow);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
 
             // Remember how far out we came, because we need to come back here.
-            Run.Location().AddOperation(ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::BookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX));
             // Now, back to the left edge in preparation for the denom.
-            Run.Location().AddOperation(ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
+            Run.Location().AddOperation(RichText::ATOM::ReturnToBookmarkLocationParticle(STACK_LEFT_BOOKMARK_INDEX));
             // Whole number part is right-justified
-            Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keRight));
+            Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keRight));
         }
 
         // Indicate that this is the "subscript" part of the stack
-        Run.Location().AddSemantic(ATOM::ILocation::keSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keSubscript);
 
-        ATOM::StRange sDenomWhole = sDenomDeci.Split(chDecimal); // sDenomDeci reduced ...
+        RichText::ATOM::StRange sDenomWhole = sDenomDeci.Split(chDecimal); // sDenomDeci reduced ...
         sDenomDeci.MoveStart(-1); // back up, to include the point.
 
         Run.Contents() = sDenomWhole;
 
         // This location stuff is subject to some fiddling (part 3)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(-0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(-0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         // Send the Denominator Whole along
-        ATOM::Status eRet = SendTextRunNotification(Run);
+        RichText::ATOM::Status eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
             return eRet;
 
         if(bHasDenom) {
             // Okay, we move on to the next item.
-            Run.Location().AddSemantic(ATOM::ILocation::keCell);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keCell);
         }
 
         // The decimal part is left-justified
-        Run.Style().AddDelta(ATOM::JustificationStyleParticle(ATOM::Justification::keLeft));
+        Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(RichText::ATOM::Justification::keLeft));
 
         Run.Contents() = sDenomDeci;
 
@@ -889,27 +889,27 @@
         //
 
         // End of subscript
-        Run.Location().AddSemantic(ATOM::ILocation::keEndSubscript);
+        Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndSubscript);
 
         // This location stuff is subject to some fiddling (part 4)
-        Run.Location().AddOperation(ATOM::RelativeLocationParticle(ATOM::Measure(),
-                                                                   ATOM::Measure(0.5,ATOM::Measure::keEm,NULL) ));
+        Run.Location().AddOperation(RichText::ATOM::RelativeLocationParticle(RichText::ATOM::Measure(),
+                                                                   RichText::ATOM::Measure(0.5,RichText::ATOM::Measure::keEm,NULL) ));
 
         if(bHasNumer) {
             // No longer in the "stack" region
-            Run.Location().AddSemantic(ATOM::ILocation::keEndInlineBlock);
-            Run.Location().AddSemantic(ATOM::ILocation::keEndTable);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndInlineBlock);
+            Run.Location().AddSemantic(RichText::ATOM::ILocation::keEndTable);
             // Go as far as the right edge, unless we're farther.
-            Run.Location().AddOperation(ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
-                                                                                      ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
+            Run.Location().AddOperation(RichText::ATOM::ConditionalReturnToBookmarkLocationParticle(STACK_RIGHT_BOOKMARK_INDEX,
+                                                                                      RichText::ATOM::ConditionalReturnToBookmarkLocationParticle::keFarthestAdvance ));
         }
     }
 
-    Run.Style().AddDelta(ATOM::JustificationStyleParticle(eOldJustification));
+    Run.Style().AddDelta(RichText::ATOM::JustificationStyleParticle(eOldJustification));
 
     m_sHere.SetStart(sDenomDeci.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
@@ -919,17 +919,17 @@
 //   \Snumer#denom;  -- vulgar fraction  1/2              2
 //   \Snumer^denom;  -- tolerance, numbers left-aligned
 //   \Snumer~.denom; -- decimal-aligned stack, where . represents the decimal char
-ATOM::Status MTextParseInstance::Parse_S(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_S(TextRunElement& Run)
 {
     m_sHere.Move(1);
 
-    ATOM::StRange parm = m_sHere;
+    RichText::ATOM::StRange parm = m_sHere;
     if(!ParseForParameter(parm).Succeeded())
-        return Abandon(ATOM::Status::keIncompleteString,parm);
+        return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     // Okay, we know we've got a reasonably-well formed stack.
     // Let's flush what's before it.
-    ATOM::Status eRet = SendTextRunNotification(Run);
+    RichText::ATOM::Status eRet = SendTextRunNotification(Run);
     if(!eRet.Succeeded())
         return eRet;
 
@@ -936,9 +936,9 @@
     // Mark a recursive block surrounding the stack.
 
     // Now, with a clean slate, let's move forward:
-    ATOM::StRange numer;
-    const ATOM::CHARTYPE* pSep = NULL;
-    ATOM::StRange denom;
+    RichText::ATOM::StRange numer;
+    const RichText::ATOM::CHARTYPE* pSep = NULL;
+    RichText::ATOM::StRange denom;
 
     for(int i=0; i<parm.Length(); ++i)
     {
@@ -966,18 +966,18 @@
         case '#': return Parse_S_Vulgar   (Run,numer,denom);
         case '^': return Parse_S_Tolerance(Run,numer,denom);
         case '~': return Parse_S_Decimal  (Run,numer,denom,pSep[1]);
-        default: return Abandon(ATOM::Status::keInternalError,ATOM::StRange(pSep,2));
+        default: return Abandon(RichText::ATOM::Status::keInternalError,RichText::ATOM::StRange(pSep,2));
     }
 }
 
 
-ATOM::Status MTextParseInstance::Parse_T(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_T(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nTrack;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nTrack;
     if(!GetNumber(parm,nTrack).Succeeded())
-       return Abandon(ATOM::Status::keIncompleteString,parm);
+       return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
@@ -984,14 +984,14 @@
     double dTrack = (double)nTrack;
     // Out of bounds?
     if(dTrack < 0.75 || dTrack > 4.0 )
-        return Abandon(ATOM::Status::keInvalidArg,parm);
+        return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
 
-    Run.Style().AddDelta(ATOM::TrackingAugmentStyleParticle(ATOM::Measure(nTrack,ATOM::Measure::keProportion,&parm)));
+    Run.Style().AddDelta(RichText::ATOM::TrackingAugmentStyleParticle(RichText::ATOM::Measure(nTrack,RichText::ATOM::Measure::keProportion,&parm)));
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-int MTextParseInstance::HexChar(ATOM::CHARTYPE ch)
+int MTextParseInstance::HexChar(RichText::ATOM::CHARTYPE ch)
 {
     switch(ch) {
     case '0':
@@ -1025,22 +1025,22 @@
 }
 
 // Implements the \U+xxxx command. (Unicode codepoint)
-ATOM::Status MTextParseInstance::Parse_U(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_U(TextRunElement& Run)
 {
     m_sHere.Move(1);
 
-    ATOM::StRange parm(m_sHere.Start(),5);
+    RichText::ATOM::StRange parm(m_sHere.Start(),5);
 
     // Future: implement a variant based on single-octet character type.
     // (presumably UTF-8 encoding)
 #pragma warning(push)
 #pragma warning(disable: 4127)
-    if(sizeof(ATOM::CHARTYPE) == 1)
-        return Abandon(ATOM::Status::keNotSupported,parm);
+    if(sizeof(RichText::ATOM::CHARTYPE) == 1)
+        return Abandon(RichText::ATOM::Status::keNotSupported,parm);
 #pragma warning(pop)
 
     if(parm[0] != '+')
-        return Abandon(ATOM::Status::keUnexpectedCharacter,parm);
+        return Abandon(RichText::ATOM::Status::keUnexpectedCharacter,parm);
 
     int hd,iCodePoint=0;
     for(int i=1; i<5; ++i)
@@ -1047,16 +1047,16 @@
     {
         hd = HexChar(parm[i]);
         if(hd < 0)
-            return Abandon(ATOM::Status::keInvalidArg,parm);
+            return Abandon(RichText::ATOM::Status::keInvalidArg,parm);
         iCodePoint <<= 4;
         iCodePoint += hd;
     }
-    ATOM::CHARTYPE sz[2];
-    sz[0] = (ATOM::CHARTYPE)iCodePoint;
+    RichText::ATOM::CHARTYPE sz[2];
+    sz[0] = (RichText::ATOM::CHARTYPE)iCodePoint;
     sz[1] = 0;
 
     // Flush what's not been sent yet
-    ATOM::Status eRet = SendTextRunNotification(Run);
+    RichText::ATOM::Status eRet = SendTextRunNotification(Run);
     if(!eRet.Succeeded())
         return eRet;
 
@@ -1069,31 +1069,31 @@
     // Now, get ready to continue parsing.
     m_sHere.SetStart(parm.End());
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
-ATOM::Status MTextParseInstance::Parse_W(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_W(TextRunElement& Run)
 {
     m_sHere.Move(1);
-    ATOM::StRange parm = m_sHere;
-    ATOM::NUMBER nWid;
+    RichText::ATOM::StRange parm = m_sHere;
+    RichText::ATOM::NUMBER nWid;
     if(!GetNumber(parm,nWid).Succeeded())
-        return Abandon(ATOM::Status::keIncompleteString,parm);
+        return Abandon(RichText::ATOM::Status::keIncompleteString,parm);
 
     if(nWid == 1.0)
-        Run.Transform().RemoveSameTypeTransform(ATOM::ScaleTransformParticle(nWid,1.0));
+        Run.Transform().RemoveSameTypeTransform(RichText::ATOM::ScaleTransformParticle(nWid,1.0));
     else
-        Run.Transform().ReplaceTransform(ATOM::ScaleTransformParticle(nWid,1.0));
+        Run.Transform().ReplaceTransform(RichText::ATOM::ScaleTransformParticle(nWid,1.0));
 
     m_sHere.SetStart(parm.Beyond()); // account for the trailing semicolon
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Processes %< ... >% insertion, or complains if failed.
-ATOM::Status MTextParseInstance::ParseFieldInsertion(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::ParseFieldInsertion(TextRunElement& Run)
 {
-    ATOM::StRange sField = m_sHere;
+    RichText::ATOM::StRange sField = m_sHere;
 
     // Read forward looking for a semicolon, which is the
     // marker for end of parameter.
@@ -1101,7 +1101,7 @@
         // Make sure it's a complete reference; if we're over the buffer's EOS
         // then we've run out of characters and thus need to abandon.
         if(!sField.Last())
-            return Abandon(ATOM::Status::keUnmatchedConstruct,m_sHere.Part(0,2)/*ATOM::StRange(m_sHere.Start(),2)*/);
+            return Abandon(RichText::ATOM::Status::keUnmatchedConstruct,m_sHere.Part(0,2)/*RichText::ATOM::StRange(m_sHere.Start(),2)*/);
 
         // Okay, do we have the last two characters?
         if(sField.Last() == '%' && sField.Last(2) == '>')
@@ -1115,7 +1115,7 @@
     // Let's break it down...
 
     // First, we need to send the unprocessed text run preceding the field:
-    ATOM::Status eRet = SendTextRunNotification(Run);
+    RichText::ATOM::Status eRet = SendTextRunNotification(Run);
     if(!eRet.Succeeded())
         return eRet;
 
@@ -1124,17 +1124,17 @@
     sField.AddLength(-2); // and  two off the end for >%
 
     // Now, ask the Environment to expand this field.
-    ATOM::StRange sResolution;
-    ATOM::Status eStatus = m_pEnv->References()->Resolve(MTEXT_PARSER_NAME,
+    RichText::ATOM::StRange sResolution;
+    RichText::ATOM::Status eStatus = m_pEnv->References()->Resolve(MTEXT_PARSER_NAME,
                                                          sField,
                                                          sResolution,m_pEnv);
 
     // If the resolver figured it out, let's put what it figured out.
     // Otherwise, let's pass the field through unchanged.
-    if(eStatus.Result() == ATOM::Status::keUnchanged || !eStatus.Succeeded())
-        Run.Style().AddDelta(ATOM::ReferenceExpansionStyleParticle(ATOM::ReferenceExpansion::keSource));   // the original is there
+    if(eStatus.Result() == RichText::ATOM::Status::keUnchanged || !eStatus.Succeeded())
+        Run.Style().AddDelta(RichText::ATOM::ReferenceExpansionStyleParticle(RichText::ATOM::ReferenceExpansion::keSource));   // the original is there
     else
-        Run.Style().AddDelta(ATOM::ReferenceExpansionStyleParticle(ATOM::ReferenceExpansion::keExpanded)); // it's been swapped.
+        Run.Style().AddDelta(RichText::ATOM::ReferenceExpansionStyleParticle(RichText::ATOM::ReferenceExpansion::keExpanded)); // it's been swapped.
 
     // Let's push through the reference, expanded or not.
     Run.Contents() = eStatus.Succeeded()? sResolution : sField;
@@ -1143,10 +1143,10 @@
         return eRet;
 
     // Finally, let's reset for normal operation.
-    Run.Style().AddDelta(ATOM::ReferenceExpansionStyleParticle(ATOM::ReferenceExpansion::keNotReference));
+    Run.Style().AddDelta(RichText::ATOM::ReferenceExpansionStyleParticle(RichText::ATOM::ReferenceExpansion::keNotReference));
     m_sHere.Set(sField.Beyond(1),1); // Get past the >% in the markup.
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
@@ -1155,9 +1155,9 @@
 //          newline character (immediate line break)
 //          %% metacharacters
 //          %< ... >% expansion notation
-ATOM::Status MTextParseInstance::Parse_NonBackslash(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::Parse_NonBackslash(TextRunElement& Run)
 {
-    ATOM::Status eRet;
+    RichText::ATOM::Status eRet;
     if(m_sHere[0] == '{') {
         eRet = SendTextRunNotification(Run);
         if(!eRet.Succeeded())
@@ -1176,12 +1176,12 @@
             return eRet;
 
         if(Run.Structure()->Depth() == 0)
-            return Abandon(ATOM::Status::keUnexpectedCharacter,m_sHere);
+            return Abandon(RichText::ATOM::Status::keUnexpectedCharacter,m_sHere);
 
         // Special secret handshake to tell the outside
         // world that we're Okay, but we're exiting a nested
         // construct.
-        return ATOM::Status::keDone;
+        return RichText::ATOM::Status::keDone;
     }
     else if(m_sHere[0] == '\n') {
         eRet = SendTextRunNotification(Run);
@@ -1188,8 +1188,8 @@
         if(!eRet.Succeeded())
             return eRet;
 
-        Run.Location().SetSemantics(ATOM::ILocation::keLine);
-        Run.Location().AddOperation(ATOM::LineBreakLocationParticle());
+        Run.Location().SetSemantics(RichText::ATOM::ILocation::keLine);
+        Run.Location().AddOperation(RichText::ATOM::LineBreakLocationParticle());
     }
     else if(m_sHere[0] == '%' && *m_sHere.Beyond() == '%') {  // %%C %%D or %%P metachars?
         switch(m_sHere.Start()[2]) {
@@ -1230,14 +1230,14 @@
         UpdateContentsPointer(Run);
     }
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
 // Main workhorse.  Reentrant to handle nesting constructs { and }
-ATOM::Status MTextParseInstance::ParseContext(TextRunElement* pOuter)
+RichText::ATOM::Status MTextParseInstance::ParseContext(TextRunElement* pOuter)
 {
-    ATOM::Status eRet = ATOM::Status::keOk;
+    RichText::ATOM::Status eRet = RichText::ATOM::Status::keOk;
 
     TextRunElement Run;
 
@@ -1246,10 +1246,10 @@
     else {
         Run.InitFrom(m_pEnv);
         // Now, remove stuff from the style that might be confusing/contradictory.
-        Run.Style().RemoveFromDescription(ATOM::StyleParticle::keSize);
+        Run.Style().RemoveFromDescription(RichText::ATOM::StyleParticle::keSize);
     }
 
-    const ATOM::CHARTYPE* pEntryPosition = m_sHere.Start();  // for diagnostics, if necessary.
+    const RichText::ATOM::CHARTYPE* pEntryPosition = m_sHere.Start();  // for diagnostics, if necessary.
 
     while(m_sHere[0]) {
         if(m_sHere[0] == '\\') { // Transition to Markup
@@ -1263,7 +1263,7 @@
             switch(m_sHere[0]) {
             case '\0':
                 // End of string in the middle of a backslash sequence?  That ain't good.
-                return Abandon(ATOM::Status::keIncompleteString,ATOM::StRange(m_sHere.Start()-1,1));
+                return Abandon(RichText::ATOM::Status::keIncompleteString,RichText::ATOM::StRange(m_sHere.Start()-1,1));
 
             case 'A':  // \A#; -- Vertical alignment. # = 0, 1, 2
                 eRet = Parse_A(Run);
@@ -1326,9 +1326,9 @@
                 break;
 
             case 'P': // \P (no extra syntax) -- end Paragraph.
-                Run.Location().SetSemantics(ATOM::ILocation::keParagraph);
+                Run.Location().SetSemantics(RichText::ATOM::ILocation::keParagraph);
                 // Go to the next line.
-                Run.Location().AddOperation(ATOM::LineBreakLocationParticle());
+                Run.Location().AddOperation(RichText::ATOM::LineBreakLocationParticle());
 
                 break;
 
@@ -1386,8 +1386,8 @@
             eRet = Parse_NonBackslash(Run);
 
             // Our queue to exit from a nested context:
-            if(eRet == ATOM::Status::keDone)
-                return ATOM::Status::keOk;
+            if(eRet == RichText::ATOM::Status::keDone)
+                return RichText::ATOM::Status::keOk;
 
             if(!eRet.Succeeded())
                 return eRet;
@@ -1401,7 +1401,7 @@
 
     // Have we prematurely reached the end of string?
     if(Run.Structure()->Depth() != 0)
-        return Abandon(ATOM::Status::keUnmatchedConstruct,ATOM::StRange(pEntryPosition-1,1));
+        return Abandon(RichText::ATOM::Status::keUnmatchedConstruct,RichText::ATOM::StRange(pEntryPosition-1,1));
 
     return eRet;
 
@@ -1409,7 +1409,7 @@
 
 
 
-ATOM::Status MTextParseInstance::ParseForParameter(ATOM::StRange& sParam)
+RichText::ATOM::Status MTextParseInstance::ParseForParameter(RichText::ATOM::StRange& sParam)
 {
     // Read forward looking for a semicolon, which is the
     // marker for end of parameter.
@@ -1434,47 +1434,47 @@
     // the parameter isn't there.
     if(sParam.Last() != ';') {
         sParam.AddLength(-1);
-        return ATOM::Status::keUnexpectedCharacter;
+        return RichText::ATOM::Status::keUnexpectedCharacter;
     }
 
     // Come to think of it, we shouldn't include the semicolon, either.
     sParam.AddLength(-1);
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 
 }
 
-// Gets an ATOM::NUMBER from the parameter string indicated.
-ATOM::Status MTextParseInstance::GetNumber(ATOM::StRange& sNumber,ATOM::NUMBER& nNumber)
+// Gets an RichText::ATOM::NUMBER from the parameter string indicated.
+RichText::ATOM::Status MTextParseInstance::GetNumber(RichText::ATOM::StRange& sNumber,RichText::ATOM::NUMBER& nNumber)
 {
     if(ParseForParameter(sNumber).Succeeded()) {
-        nNumber = (ATOM::NUMBER) _wtof(sNumber.Start());
-        return ATOM::Status::keOk;
+        nNumber = (RichText::ATOM::NUMBER) _wtof(sNumber.Start());
+        return RichText::ATOM::Status::keOk;
     }
-    return ATOM::Status::keNotPresent;
+    return RichText::ATOM::Status::keNotPresent;
 }
 
 // Does the dirty work of talking TextRun to the sink.
-ATOM::Status MTextParseInstance::SendTextRunNotification(TextRunElement& Run)
+RichText::ATOM::Status MTextParseInstance::SendTextRunNotification(TextRunElement& Run)
 {
     if(!Run.IsReset()) {
-        ATOM::Status eRet = m_pEnv->Sink()->TextRun(&Run,m_pEnv);
+        RichText::ATOM::Status eRet = m_pEnv->Sink()->TextRun(&Run,m_pEnv);
         if(!eRet.Succeeded())
             eRet = Abandon(eRet.Result(),Run.Contents());
         Run.Reset();
         return eRet;
     }
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
 // Does the handiwork of dispatching an Abandon notification.
-ATOM::Status MTextParseInstance::Abandon(ATOM::Status::StatusType eReason,const ATOM::StRange sPos)
+RichText::ATOM::Status MTextParseInstance::Abandon(RichText::ATOM::Status::StatusType eReason,const RichText::ATOM::StRange sPos)
 {
     AbandonmentElement a(eReason);
     a.SetMarkup(m_sMarkup);
 
     // Let's backtrack to find the start of the line (or buffer)
-    const ATOM::CHARTYPE* pLineStart = sPos.Start();
+    const RichText::ATOM::CHARTYPE* pLineStart = sPos.Start();
     while(pLineStart > m_sMarkup.Start()) {
         if(*pLineStart == '\n') {
             pLineStart++; // get back on our side of the line.
@@ -1489,7 +1489,7 @@
         pLineStart--;
     }
 
-    ATOM::StRange sContext(pLineStart,sPos.End());
+    RichText::ATOM::StRange sContext(pLineStart,sPos.End());
     // And go forward to find end of line (or buffer)
     while(sContext.Last() != '\0' && sContext.Last() != '\n')
         sContext.AddLength(1);
@@ -1503,7 +1503,7 @@
 
 
 
-int MTextParseInstance::RgbToAci(ATOM::Color rgb)
+int MTextParseInstance::RgbToAci(RichText::ATOM::Color rgb)
 {
     long l = rgb.LongARGB();
     if(!(l & ATOM_COLOR_A_BITS)) // no alpha?
@@ -1518,7 +1518,7 @@
 }
 
 // Just minimizes cartesian distance (squared) to
-int MTextParseInstance::RgbToNearestAci(ATOM::Color rgb)
+int MTextParseInstance::RgbToNearestAci(RichText::ATOM::Color rgb)
 {
     double dDistSquaredToNearest = 1e308; //huge;
     int iIndexNearest = -1;
@@ -1826,18 +1826,18 @@
 
 MTextGenerator::MTextGenerator()
 {
-    ATOM::BigBang()->Register(this);
+    RichText::ATOM::BigBang()->Register(this);
 }
 
 MTextGenerator::~MTextGenerator()
 {
-    ATOM::BigBang()->Unregister(this);
+    RichText::ATOM::BigBang()->Unregister(this);
 }
 
 
 // The name of the markup this parser represents
 // such as "SVG" or "RTF" or ...
-const ATOM::StRange MTextGenerator::Name() const
+const RichText::ATOM::StRange MTextGenerator::Name() const
 {
     return MTEXT_PARSER_NAME; // this is an internal string, not subject to localization.
 }
@@ -1844,32 +1844,32 @@
 
 // Documentation of the parser/generator (for
 // version reporting, etc.)  A human-readable string.
-const ATOM::StRange MTextGenerator::Description() const
+const RichText::ATOM::StRange MTextGenerator::Description() const
 {
-    return L"MTEXT ATOM::IParser v1.0";
+    return L"MTEXT RichText::ATOM::IParser v1.0";
 }
 
 // Creates an instance to a new Parser
-ATOM::Status MTextGenerator::Create(ATOM::IParser** ppNewParser)
+RichText::ATOM::Status MTextGenerator::Create(RichText::ATOM::IParser** ppNewParser)
 {
     if(ppNewParser == NULL)
-        return ATOM::Status::keInvalidArg;
+        return RichText::ATOM::Status::keInvalidArg;
 
     *ppNewParser = new MTextParser(this);
 
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 // Takes a pointer to an existing parser and destroys it.
-ATOM::Status MTextGenerator::Destroy(ATOM::IParser* pOldParser)
+RichText::ATOM::Status MTextGenerator::Destroy(RichText::ATOM::IParser* pOldParser)
 {
     if(pOldParser == NULL)
-        return ATOM::Status::keInvalidArg;
+        return RichText::ATOM::Status::keInvalidArg;
 
     // TO DO ... validate that it's one of ours?
 
     delete(pOldParser);
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 bool MTextGenerator::HasSink() const
@@ -1878,31 +1878,31 @@
 }
 
 // Creates an instance to a new Parser
-ATOM::Status MTextGenerator::Create(ATOM::ISink** ppNewSink)
+RichText::ATOM::Status MTextGenerator::Create(RichText::ATOM::ISink** ppNewSink)
 {
     if(ppNewSink == NULL)
-        return ATOM::Status::keInvalidArg;
+        return RichText::ATOM::Status::keInvalidArg;
 
     // *ppNewSink = new MTextSink(this);
     *ppNewSink = NULL;
 
-    return ATOM::Status::keNotImplemented;
+    return RichText::ATOM::Status::keNotImplemented;
 }
 
 // Takes a pointer to an existing parser and destroys it.
-ATOM::Status MTextGenerator::Destroy(ATOM::ISink* pOldSink)
+RichText::ATOM::Status MTextGenerator::Destroy(RichText::ATOM::ISink* pOldSink)
 {
     if (pOldSink == NULL)
-        return ATOM::Status::keInvalidArg;
+        return RichText::ATOM::Status::keInvalidArg;
 
     // TO DO ... validate that it's one of ours?
 
     delete pOldSink;
-    return ATOM::Status::keOk;
+    return RichText::ATOM::Status::keOk;
 }
 
 
 // Instance the generator, which does
-// all the self-registration with the ATOM::IUniverse.
+// all the self-registration with the RichText::ATOM::IUniverse.
 MTextGenerator LongLiveMText;
 // well, until it's dead.

Modified: sandbox/adsk/trunk/Common/Stylization/mtext_parser.h
===================================================================
--- sandbox/adsk/trunk/Common/Stylization/mtext_parser.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Common/Stylization/mtext_parser.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -23,28 +23,28 @@
 class MTextParseInstance
 {
 public:
-    MTextParseInstance(const ATOM::StRange sMarkup,ATOM::IEnvironment* pEnv)
+    MTextParseInstance(const RichText::ATOM::StRange sMarkup,RichText::ATOM::IEnvironment* pEnv)
         : m_sMarkup(sMarkup)
         , m_pEnv(pEnv)
     {
     }
 
-    ATOM::Status Parse();
+    RichText::ATOM::Status Parse();
 
     // TODO: facto out into MText ACI color class.
     // returns the ACI of the color given, or -1 if no match
-    static int RgbToAci(ATOM::Color);
+    static int RgbToAci(RichText::ATOM::Color);
 
     // does a distance match to pick the nearest ACI to a given color.
-    static int RgbToNearestAci(ATOM::Color);
+    static int RgbToNearestAci(RichText::ATOM::Color);
 
 private:
     // Constructor-provided values
-    ATOM::StRange m_sMarkup;
-    ATOM::IEnvironment* m_pEnv;
+    RichText::ATOM::StRange m_sMarkup;
+    RichText::ATOM::IEnvironment* m_pEnv;
 
     // Internally-used values.
-    ATOM::StRange m_sHere;  // Current location of parsing.
+    RichText::ATOM::StRange m_sHere;  // Current location of parsing.
 
     static long sm_lAciColorTable[256];
 
@@ -52,61 +52,61 @@
     // Methods used internally
     void UpdateContentsPointer(TextRunElement& Run,int iAdvance = 1);
 
-    ATOM::Status ParseContext(/*ATOM::StRange& sStart,*/TextRunElement* pOuter);
+    RichText::ATOM::Status ParseContext(/*RichText::ATOM::StRange& sStart,*/TextRunElement* pOuter);
 
-    ATOM::Status Parse_A(TextRunElement& Run);
-    ATOM::Status Parse_C(TextRunElement& Run);
-    ATOM::Status Parse_c(TextRunElement& Run);
-    ATOM::Status Parse_f(TextRunElement& Run);
-    ATOM::Status Parse_H(TextRunElement& Run);
-    ATOM::Status Parse_L(TextRunElement& Run);
-    ATOM::Status Parse_l(TextRunElement& Run);
-    ATOM::Status Parse_N(TextRunElement& Run);
-    ATOM::Status Parse_O(TextRunElement& Run);
-    ATOM::Status Parse_o(TextRunElement& Run);
-    ATOM::Status Parse_Q(TextRunElement& Run);
-    ATOM::Status Parse_S(TextRunElement& Run);
-    ATOM::Status Parse_T(TextRunElement& Run);
-    ATOM::Status Parse_U(TextRunElement& Run);
-    ATOM::Status Parse_W(TextRunElement& Run);
+    RichText::ATOM::Status Parse_A(TextRunElement& Run);
+    RichText::ATOM::Status Parse_C(TextRunElement& Run);
+    RichText::ATOM::Status Parse_c(TextRunElement& Run);
+    RichText::ATOM::Status Parse_f(TextRunElement& Run);
+    RichText::ATOM::Status Parse_H(TextRunElement& Run);
+    RichText::ATOM::Status Parse_L(TextRunElement& Run);
+    RichText::ATOM::Status Parse_l(TextRunElement& Run);
+    RichText::ATOM::Status Parse_N(TextRunElement& Run);
+    RichText::ATOM::Status Parse_O(TextRunElement& Run);
+    RichText::ATOM::Status Parse_o(TextRunElement& Run);
+    RichText::ATOM::Status Parse_Q(TextRunElement& Run);
+    RichText::ATOM::Status Parse_S(TextRunElement& Run);
+    RichText::ATOM::Status Parse_T(TextRunElement& Run);
+    RichText::ATOM::Status Parse_U(TextRunElement& Run);
+    RichText::ATOM::Status Parse_W(TextRunElement& Run);
 
-    ATOM::Status Parse_S_OverUnder(TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom);
-    ATOM::Status Parse_S_Vulgar   (TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom);
-    ATOM::Status Parse_S_Tolerance(TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom);
-    ATOM::Status Parse_S_Decimal  (TextRunElement& Run,ATOM::StRange sNumer,ATOM::StRange sDenom,ATOM::CHARTYPE chDecimal);
-    ATOM::Status Parse_S_Decimal_Part(TextRunElement& Run,ATOM::StRange sWhole,ATOM::StRange sDecimal);
+    RichText::ATOM::Status Parse_S_OverUnder(TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom);
+    RichText::ATOM::Status Parse_S_Vulgar   (TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom);
+    RichText::ATOM::Status Parse_S_Tolerance(TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom);
+    RichText::ATOM::Status Parse_S_Decimal  (TextRunElement& Run,RichText::ATOM::StRange sNumer,RichText::ATOM::StRange sDenom,RichText::ATOM::CHARTYPE chDecimal);
+    RichText::ATOM::Status Parse_S_Decimal_Part(TextRunElement& Run,RichText::ATOM::StRange sWhole,RichText::ATOM::StRange sDecimal);
 
-    ATOM::Status ParseFieldInsertion(TextRunElement& Run);
-    ATOM::Status Parse_NonBackslash(TextRunElement& Run);
+    RichText::ATOM::Status ParseFieldInsertion(TextRunElement& Run);
+    RichText::ATOM::Status Parse_NonBackslash(TextRunElement& Run);
 
-    ATOM::Status GetNumber(ATOM::StRange& sString, ATOM::NUMBER& nNumber);
+    RichText::ATOM::Status GetNumber(RichText::ATOM::StRange& sString, RichText::ATOM::NUMBER& nNumber);
 
-    ATOM::Status ParseForParameter(ATOM::StRange& sParam);
+    RichText::ATOM::Status ParseForParameter(RichText::ATOM::StRange& sParam);
 
-    ATOM::Status SendMetacharacter(TextRunElement& Run,const ATOM::StRange& sMeta);
+    RichText::ATOM::Status SendMetacharacter(TextRunElement& Run,const RichText::ATOM::StRange& sMeta);
 
     // scans for a character within the string indicated.
-    //ATOM::StRange ScanFor(ATOM::CHARTYPE ch,ATOM::StRange& sString);
+    //RichText::ATOM::StRange ScanFor(RichText::ATOM::CHARTYPE ch,RichText::ATOM::StRange& sString);
 
     // Does the handiwork of dispatching a TextRun notification.
-    ATOM::Status SendTextRunNotification(TextRunElement& Run);
+    RichText::ATOM::Status SendTextRunNotification(TextRunElement& Run);
 
     // Does the handiwork of dispatching an Abandon notification.
-    ATOM::Status Abandon(ATOM::Status::StatusType eReason,
-                         const ATOM::StRange sPos);
+    RichText::ATOM::Status Abandon(RichText::ATOM::Status::StatusType eReason,
+                         const RichText::ATOM::StRange sPos);
 
-    int HexChar(ATOM::CHARTYPE ch);
+    int HexChar(RichText::ATOM::CHARTYPE ch);
 };
 
 
-class MTextParser: public ATOM::IParser
+class MTextParser: public RichText::ATOM::IParser
 {
 private:
     friend class MTextGenerator;
-    MTextParser(ATOM::IGenerator* pGenerator);
-    ATOM::IGenerator* m_pGenerator;
+    MTextParser(RichText::ATOM::IGenerator* pGenerator);
+    RichText::ATOM::IGenerator* m_pGenerator;
 
-public: // Implementations of the ATOM::IParser interface
+public: // Implementations of the RichText::ATOM::IParser interface
 
     // Parse a markup string by creating an "environment" with all the
     // ambient settings, then combine that with a string to parse, and
@@ -114,38 +114,38 @@
     //
     // Since MTEXT is a nested grammar, this just does boiler-plate administrative
     // work, and defers the actual parsing to ParseContext.
-    ATOM::Status Parse(const ATOM::StRange sMarkup,ATOM::IEnvironment* pEnv);
+    RichText::ATOM::Status Parse(const RichText::ATOM::StRange sMarkup,RichText::ATOM::IEnvironment* pEnv);
 
-    ATOM::IGenerator* GetGenerator();
+    RichText::ATOM::IGenerator* GetGenerator();
 };
 
 
 
-class MTextSink: public ATOM::ISink
+class MTextSink: public RichText::ATOM::ISink
 {
     friend class MTextGenerator;
 private:
-    MTextSink(ATOM::IGenerator* pGenerator);
-    ATOM::IGenerator* m_pGenerator;
+    MTextSink(RichText::ATOM::IGenerator* pGenerator);
+    RichText::ATOM::IGenerator* m_pGenerator;
 
 private:
     long m_lEffectiveColor;
 
-    ATOM::ISink::SinkStateType m_eSinkState;
+    RichText::ATOM::ISink::SinkStateType m_eSinkState;
 
-    ATOM::Status ProcessStyleChanges(const ATOM::IStyleChange* pDeltas,ATOM::IEnvironment* pEnv);
-    ATOM::Status ProcessFontChange(const ATOM::IStyleChange* pStyle);
+    RichText::ATOM::Status ProcessStyleChanges(const RichText::ATOM::IStyleChange* pDeltas,RichText::ATOM::IEnvironment* pEnv);
+    RichText::ATOM::Status ProcessFontChange(const RichText::ATOM::IStyleChange* pStyle);
 
-    bool IsUnexpandedReference(const ATOM::IStyleChange* pStyle);
+    bool IsUnexpandedReference(const RichText::ATOM::IStyleChange* pStyle);
 
     // Low-level emitter
-    ATOM::Status Write(const ATOM::StRange pStr);
-    ATOM::Status Write(long lNum);
-    ATOM::Status Write(float fNum);
+    RichText::ATOM::Status Write(const RichText::ATOM::StRange pStr);
+    RichText::ATOM::Status Write(long lNum);
+    RichText::ATOM::Status Write(float fNum);
 
-public: // from ATOM::ISink
+public: // from RichText::ATOM::ISink
     // Allows the sink to report on its current state.
-    ATOM::ISink::SinkStateType SinkState();
+    RichText::ATOM::ISink::SinkStateType SinkState();
 
     // Calls upon the sink to identify what it is capable of consuming
     // Typically called while SinkState is keWaiting, but theoretically
@@ -152,7 +152,7 @@
     // should be valid at any time.
     // Returns:
     //   keOk
-    ATOM::ICapability* GetMarkupCapabilities(/*...*/);
+    RichText::ATOM::ICapability* GetMarkupCapabilities(/*...*/);
 
     // This always starts the Parsing event stream
     // Entry condition: SinkState() == keWaiting.
@@ -159,7 +159,7 @@
     // Exit condition if successful: SinkState() == keInitialized
     // Returns:
     //   keOk
-    ATOM::Status Initialize(ATOM::IEnvironment*);
+    RichText::ATOM::Status Initialize(RichText::ATOM::IEnvironment*);
 
     // You get zero or more of these, based on the string.
     // Entry condition: SinkState() == keInitialized
@@ -168,7 +168,7 @@
     //   keOk:
     //   keContinue:
     //   keAbandoned: request abandonment.
-    ATOM::Status TextRun(ATOM::ITextRun*,ATOM::IEnvironment*);
+    RichText::ATOM::Status TextRun(RichText::ATOM::ITextRun*,RichText::ATOM::IEnvironment*);
 
     // An error is detected by Parser.  About to terminate; info on what's wrong.
     // Entry condition: SinkState() == keInitialized
@@ -176,7 +176,7 @@
     // Returns:
     //   keContinue: attempt to continue parsing?
     //   keAbandoned: abandoned.
-    ATOM::Status Abandon(ATOM::IAbandonment*,ATOM::IEnvironment*);
+    RichText::ATOM::Status Abandon(RichText::ATOM::IAbandonment*,RichText::ATOM::IEnvironment*);
 
     // This always ends the event stream.
     // Entry condition: SinkState() == keInitialized or == keAbandoned
@@ -183,9 +183,9 @@
     // Exit condition: SinkState() == keWaiting
     // Returns:
     //   keOk:
-    ATOM::Status Terminate(ATOM::IEnvironment*);
+    RichText::ATOM::Status Terminate(RichText::ATOM::IEnvironment*);
 
-    ATOM::IGenerator* GetGenerator();
+    RichText::ATOM::IGenerator* GetGenerator();
 };
 
 
@@ -193,7 +193,7 @@
 // The MTEXT Parser just needs to instance one of these as
 // a singleton in order to be automatically self registering
 // and unregistering.
-class MTextGenerator: public ATOM::IGenerator
+class MTextGenerator: public RichText::ATOM::IGenerator
 {
 public:
     // Self-registering ctor and dtor.
@@ -203,25 +203,25 @@
 public:
     // The name of the markup this parser represents
     // such as "SVG" or "RTF" or ...
-    const ATOM::StRange Name() const;
+    const RichText::ATOM::StRange Name() const;
 
     // Documentation of the parser/generator (for
     // version reporting, etc.)  A human-readable string.
-    const ATOM::StRange Description() const;
+    const RichText::ATOM::StRange Description() const;
 
     // Creates an instance to a new Parser
-    ATOM::Status Create(ATOM::IParser**);
+    RichText::ATOM::Status Create(RichText::ATOM::IParser**);
 
     // Takes a pointer to an existing parser and destroys it.
-    ATOM::Status Destroy(ATOM::IParser*);
+    RichText::ATOM::Status Destroy(RichText::ATOM::IParser*);
 
     bool HasSink() const;
 
     // Creates an instance to a new Parser
-    ATOM::Status Create(ATOM::ISink**);
+    RichText::ATOM::Status Create(RichText::ATOM::ISink**);
 
     // Takes a pointer to an existing parser and destroys it.
-    ATOM::Status Destroy(ATOM::ISink*);
+    RichText::ATOM::Status Destroy(RichText::ATOM::ISink*);
 };
 
 #endif//_mtext_parser_h

Modified: sandbox/adsk/trunk/Desktop/DesktopUnmanagedApi/getclassid.code
===================================================================
--- sandbox/adsk/trunk/Desktop/DesktopUnmanagedApi/getclassid.code	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Desktop/DesktopUnmanagedApi/getclassid.code	2025-05-27 09:53:31 UTC (rev 10147)
@@ -4,12 +4,12 @@
   return ((MgObject*)ptrObj)->GetClassId();
 }
 
-DllExport char* SWIGSTDCALL getClassName(void* ptrObj)
+DllExport const char* SWIGSTDCALL getClassName(void* ptrObj)
 {
   return ((MgObject*)ptrObj)->GetMultiByteClassName();
 }
 
-DllExport char* SWIGSTDCALL getNameSpace(void* ptrObj)
+DllExport const char* SWIGSTDCALL getNameSpace(void* ptrObj)
 {
   return ((MgObject*)ptrObj)->GetNameSpace();
 }

Modified: sandbox/adsk/trunk/Oem/SWIGEx/Source/Modules/csharp.cxx
===================================================================
--- sandbox/adsk/trunk/Oem/SWIGEx/Source/Modules/csharp.cxx	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Oem/SWIGEx/Source/Modules/csharp.cxx	2025-05-27 09:53:31 UTC (rev 10147)
@@ -60,7 +60,7 @@
         {
             string buf;
             ReadString(buf, fp);
-            
+
             std::string::size_type pos = buf.find("ATTRIBUTE");
             std::string::size_type pos2 = 0;
             std::string::size_type pos3 = 0;
@@ -224,7 +224,7 @@
    * CSHARP()
    * ----------------------------------------------------------------------------- */
 
-  CSHARP() : 
+  CSHARP() :
     empty_string(NewString("")),
     public_string(NewString("public")),
     protected_string(NewString("protected")),
@@ -337,7 +337,7 @@
             Swig_arg_error();
           }
         } else if ((strcmp(argv[i],"-dllname") == 0)) {
-            if (argv[i+1]) 
+            if (argv[i+1])
             {
                 unmanagedDllName = NewString("");
                 Printf(unmanagedDllName, argv[i+1]);
@@ -351,7 +351,7 @@
           Swig_mark_arg(i);
           proxy_flag = false;
         } else if ((strcmp(argv[i],"-proxydir") == 0)) {
-            if (argv[i+1]) 
+            if (argv[i+1])
             {
                 proxyDir = NewString("");
                 Printf(proxyDir, argv[i+1]);
@@ -536,15 +536,15 @@
 
 
       // adds import of getClassId method
-      Printv(f_im, 
+      Printv(f_im,
           "\n  [DllImport(\"",(unmanagedDllName? unmanagedDllName: module_class_name),"\", EntryPoint=\"getClassId\")]\n  public static extern int getClassId(IntPtr objectRef);\n", NIL);
 
       // adds import of getClassName method
-      Printv(f_im, 
+      Printv(f_im,
           "\n  [DllImport(\"",(unmanagedDllName? unmanagedDllName: module_class_name),"\", EntryPoint=\"getClassName\")]\n  public static extern IntPtr getClassName(IntPtr objectRef);\n", NIL);
 
       // adds import of getNameSpace method
-      Printv(f_im, 
+      Printv(f_im,
           "\n  [DllImport(\"",(unmanagedDllName? unmanagedDllName: module_class_name),"\", EntryPoint=\"getNameSpace\")]\n  public static extern IntPtr getNameSpace(IntPtr objectRef);\n", NIL);
 
       // Finish off the class
@@ -707,8 +707,8 @@
       }
 
 	  Printf(f, "\t{\n");
-      Printf(f, "\t\tchar* multibyteExName = e->GetMultiByteClassName();\n");
-      Printf(f, "\t\tchar* multibyteNameSpaceName = e->GetNameSpace();\n");
+      Printf(f, "\t\tconst char* multibyteExName = e->GetMultiByteClassName();\n");
+      Printf(f, "\t\tconst char* multibyteNameSpaceName = e->GetNameSpace();\n");
 
       Printf(f, "\t\tsize_t len = strlen(multibyteExName) + strlen(multibyteNameSpaceName) + 2;\n");
       Printf(f, "\t\texName = new char[len];\n");
@@ -824,7 +824,7 @@
       if (!addSymbol(Getattr(n,"sym:name"),n)) return SWIG_ERROR;
     }
 
-    /* 
+    /*
      * Generate the proxy class properties for public member variables.
      * Not for enums and constants.
      */
@@ -835,7 +835,7 @@
       String *getter_setter_name = NewString("");
       if(!getter_flag)
         Printf(getter_setter_name,"set");
-      else 
+      else
         Printf(getter_setter_name,"get");
       Putc(toupper((int) *Char(variable_name)), getter_setter_name);
       Printf(getter_setter_name, "%s", Char(variable_name)+1);
@@ -849,7 +849,7 @@
 
     /*
        The rest of this function deals with generating the intermediary class wrapper function (that wraps
-       a c/c++ function) and generating the PInvoke c code. Each C# wrapper function has a 
+       a c/c++ function) and generating the PInvoke c code. Each C# wrapper function has a
        matching PInvoke c function call.
        */
 
@@ -867,7 +867,7 @@
     if ((tm = Swig_typemap_lookup_new("ctype",n,"",0))) {
       Printf(c_return_type,"%s", tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CTYPE_UNDEF, input_file, line_number,
           "No ctype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -874,7 +874,7 @@
     if ((tm = Swig_typemap_lookup_new("imtype",n,"",0))) {
       Printf(im_return_type,"%s", tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSTYPE_UNDEF, input_file, line_number,
           "No imtype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -882,7 +882,7 @@
     if (!is_void_return)
       Wrapper_add_localv(f,"jresult", c_return_type, "jresult = 0",NIL);
 
-    Printv(imclass_class_code, 
+    Printv(imclass_class_code,
            "\n  [DllImport(\"",(unmanagedDllName? unmanagedDllName: module_class_name),"\", EntryPoint=\"CSharp_",overloaded_name,"\")]\n", NIL);
 
     Printf(imclass_class_code, "  public static extern %s %s(", im_return_type, overloaded_name);
@@ -920,7 +920,7 @@
       if ((tm = Getattr(p,"tmap:ctype"))) {
         Printv(c_param_type, tm, NIL);
       } else {
-        Swig_warning(WARN_CSHARP_TYPEMAP_CTYPE_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_TYPEMAP_CTYPE_UNDEF, input_file, line_number,
             "No ctype typemap defined for %s\n", SwigType_str(pt,0));
       }
 
@@ -928,7 +928,7 @@
       if ((tm = Getattr(p,"tmap:imtype"))) {
         Printv(im_param_type, tm, NIL);
       } else {
-        Swig_warning(WARN_CSHARP_TYPEMAP_CSTYPE_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_TYPEMAP_CSTYPE_UNDEF, input_file, line_number,
             "No imtype typemap defined for %s\n", SwigType_str(pt,0));
       }
 
@@ -940,7 +940,7 @@
       Printv(f->def, gencomma?", ":"", c_param_type, " ", arg, NIL);
 
       gencomma = 1;
-      
+
       // Get typemap for this argument
       if ((tm = Getattr(p,"tmap:in"))) {
         addThrows(n, "tmap:in", p);
@@ -952,7 +952,7 @@
         Printf(f->code,"%s\n", tm);
         p = Getattr(p,"tmap:in:next");
       } else {
-        Swig_warning(WARN_TYPEMAP_IN_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_TYPEMAP_IN_UNDEF, input_file, line_number,
             "Unable to use type %s as a function argument.\n",SwigType_str(pt,0));
         p = nextSibling(p);
       }
@@ -1159,7 +1159,7 @@
     if ((tm = Swig_typemap_lookup_new("cstype",n,"",0))) {
       substituteClassname(t, tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
           "No cstype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -1208,12 +1208,12 @@
 
     /* Get C# return types */
     bool classname_substituted_flag = false;
-    
+
     if ((tm = Swig_typemap_lookup_new("cstype",n,"",0))) {
       classname_substituted_flag = substituteClassname(t, tm);
       Printf(return_type, "%s", tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
           "No cstype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -1311,37 +1311,37 @@
         if(Strcmp(code, "imclassbase") == 0) {
           Delete(imclass_baseclass);
           imclass_baseclass = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "imclassclassmodifiers") == 0) {
           Delete(imclass_class_modifiers);
           imclass_class_modifiers = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "imclasscode") == 0) {
           Printf(imclass_class_code, "%s\n", strvalue);
-        } 
+        }
         else if(Strcmp(code, "imclassimports") == 0) {
           Delete(imclass_imports);
           imclass_imports = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "imclassinterfaces") == 0) {
           Delete(imclass_interfaces);
           imclass_interfaces = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "modulebase") == 0) {
           Delete(module_baseclass);
           module_baseclass = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "moduleclassmodifiers") == 0) {
           Delete(module_class_modifiers);
           module_class_modifiers = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "modulecode") == 0) {
           Printf(module_class_code, "%s\n", strvalue);
-        } 
+        }
         else if(Strcmp(code, "moduleimports") == 0) {
           Delete(module_imports);
           module_imports = Copy(strvalue);
-        } 
+        }
         else if(Strcmp(code, "moduleinterfaces") == 0) {
           Delete(module_interfaces);
           module_interfaces = Copy(strvalue);
@@ -1376,7 +1376,7 @@
       }
       base = Next(base);
       if (base.item) {
-        Swig_warning(WARN_CSHARP_MULTIPLE_INHERITANCE, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_MULTIPLE_INHERITANCE, input_file, line_number,
             "Warning for %s proxy: Base %s ignored. Multiple inheritance is not supported in C#.\n", typemap_lookup_type, Getattr(base.item,"name"));
       }
     }
@@ -1388,7 +1388,7 @@
     // Inheritance from pure C# classes
     const String *pure_baseclass = typemapLookup("csbase", typemap_lookup_type, WARN_NONE);
     if (Len(pure_baseclass) > 0 && Len(baseclass) > 0) {
-      Swig_warning(WARN_CSHARP_MULTIPLE_INHERITANCE, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_MULTIPLE_INHERITANCE, input_file, line_number,
           "Warning for %s proxy: Base %s ignored. Multiple inheritance is not supported in C#.\n", typemap_lookup_type, pure_baseclass);
     }
 
@@ -1417,7 +1417,7 @@
             NIL);
 
         // Offload attributes to partial classes so that it doesn't interfere with csclassmodifiers
-        // that could have arbitrary content (ie. Documentation) 
+        // that could have arbitrary content (ie. Documentation)
         String *proxy_partial_class_def = NewString("");
 
         //Emit namespace if one is specified
@@ -1442,7 +1442,7 @@
         //Add attribute (if any) to partial class definition
         if(*Char(attributeTags))
         {
-            Printv(proxy_partial_class_def, 
+            Printv(proxy_partial_class_def,
                 "[",
                 attributeTags,
                 "]\n",
@@ -1477,10 +1477,10 @@
             typemapLookup("csclassmodifiers", typemap_lookup_type, WARN_CSHARP_TYPEMAP_CLASSMOD_UNDEF), // Class modifiers
             " class $csclassname",       // Class name and bases
             (derived || *Char(pure_baseclass) || *Char(pure_interfaces)) ?
-            " : " : 
+            " : " :
             "",
             baseclass,
-            pure_baseclass,   
+            pure_baseclass,
             ((derived || *Char(pure_baseclass)) && *Char(pure_interfaces)) ? // Interfaces
             ", " :
             "",
@@ -1487,15 +1487,15 @@
             pure_interfaces,
             " {\n",
             "  private IntPtr swigCPtr;\n",  // Member variables for memory handling
-            derived ? 
-            "" : 
+            derived ?
+            "" :
             "  protected bool swigCMemOwn;\n",
             "\n",
             "  ",
             typemapLookup("csptrconstructormodifiers", typemap_lookup_type, WARN_CSHARP_TYPEMAP_PTRCONSTMOD_UNDEF), // pointer constructor modifiers
             " $csclassname(IntPtr cPtr, bool cMemoryOwn) ", // Constructor used for wrapping pointers
-            derived ? 
-            ": base($imclassname.$csclassnameTo$baseclass(cPtr), cMemoryOwn) {\n" : 
+            derived ?
+            ": base($imclassname.$csclassnameTo$baseclass(cPtr), cMemoryOwn) {\n" :
             "{\n    swigCMemOwn = cMemoryOwn;\n",
             "    swigCPtr = cPtr;\n",
             "  }\n",
@@ -1502,7 +1502,7 @@
             NIL);
 
         if(!have_default_constructor_flag) { // All proxy classes need a constructor
-        Printv(proxy_class_def, 
+        Printv(proxy_class_def,
             "\n",
             "  protected $csclassname() : this(IntPtr.Zero, false) {\n",
             "  }\n",
@@ -1515,8 +1515,8 @@
                 "\n",
                 "  protected $csclassname(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) {\n",
                 "    swigCPtr = IntPtr.Zero;\n",
-                derived ? 
-                "" : 
+                derived ?
+                "" :
                 "    swigCMemOwn = false;\n",
                 deserializationCode,
                 "  }\n",
@@ -1548,7 +1548,7 @@
         //Add attribute
         if(*Char(attributeTags))
         {
-            Printv(proxy_class_def, 
+            Printv(proxy_class_def,
                 "[",
                 attributeTags,
                 "]\n",
@@ -1606,7 +1606,7 @@
     destruct_methodname = Getattr(attributes, "tmap:csdestruct:methodname");
     }
     if (!destruct_methodname) {
-    Swig_error(input_file, line_number, 
+    Swig_error(input_file, line_number,
         "No methodname attribute defined in csdestruct%s typemap for %s\n", (derived ? "_derived" : ""), proxy_class_name);
     }
 
@@ -1614,7 +1614,7 @@
     if (tm) {
       // Finalize method
       if (*Char(destructor_call)) {
-        Printv(proxy_class_def, 
+        Printv(proxy_class_def,
             typemapLookup("csfinalize", typemap_lookup_type, WARN_NONE),
             NIL);
       }
@@ -1635,7 +1635,7 @@
     Delete(destruct);
 
     // Emit various other methods
-    Printv(proxy_class_def, 
+    Printv(proxy_class_def,
         typemapLookup("csgetcptr", typemap_lookup_type, WARN_CSHARP_TYPEMAP_GETCPTR_UNDEF), // getCPtr method
         typemapLookup("cscode", typemap_lookup_type, WARN_NONE), // extra C# code
         "\n",
@@ -1667,8 +1667,8 @@
           "    return ($cbaseclass *)objectRef;\n"
           "}\n",
           "\n",
-          NIL); 
- 
+          NIL);
+
       Replaceall(upcasts_code, "$imbaseclass", baseclass);
       Replaceall(upcasts_code, "$cbaseclass",  c_baseclass);
       Replaceall(upcasts_code, "$imclazzname", proxy_class_name);
@@ -1742,10 +1742,10 @@
     }
 
       Printf(f_proxy, "}\n");
-     
+
       if(namespaceName != NULL)
       {
-        //close namespace 
+        //close namespace
           Printf(f_proxy, "}\n");
       }
 
@@ -1803,11 +1803,11 @@
   /* -----------------------------------------------------------------------------
    * proxyClassFunctionHandler()
    *
-   * Function called for creating a C# wrapper function around a c++ function in the 
+   * Function called for creating a C# wrapper function around a c++ function in the
    * proxy class. Used for both static and non-static C++ class functions.
    * C++ class static functions map to C# static functions.
-   * Two extra attributes in the Node must be available. These are "proxyfuncname" - 
-   * the name of the C# class proxy function, which in turn will call "imfuncname" - 
+   * Two extra attributes in the Node must be available. These are "proxyfuncname" -
+   * the name of the C# class proxy function, which in turn will call "imfuncname" -
    * the intermediary (PInvoke) function name in the intermediary class.
    * ----------------------------------------------------------------------------- */
 
@@ -1815,7 +1815,7 @@
   {
       static char * postfix = "Internal";
       static size_t postfixLen = 8; // This is the length of "Internal"
-      
+
       if (!proxy_function_name)
           return 0;
 
@@ -1836,7 +1836,7 @@
     }
 
   void proxyClassFunctionHandler(Node *n) {
-    SwigType  *t = Getattr(n,"virtual:type") ?  Getattr(n,"virtual:type") : Getattr(n,"type"); 
+    SwigType  *t = Getattr(n,"virtual:type") ?  Getattr(n,"virtual:type") : Getattr(n,"type");
     ParmList  *l = Getattr(n,"parms");
     String    *intermediary_function_name = Getattr(n,"imfuncname");
     String    *proxy_function_name = Getattr(n,"proxyfuncname");
@@ -1870,7 +1870,7 @@
       substituteClassname(t, tm);
       Printf(return_type, "%s", tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
           "No cstype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -1923,7 +1923,7 @@
       }
 
       /* Ignore the 'this' argument for variable wrappers */
-      if (!(variable_wrapper_flag && i==0)) 
+      if (!(variable_wrapper_flag && i==0))
       {
         SwigType *pt = Getattr(p,"type");
         String   *param_type = NewString("");
@@ -1933,7 +1933,7 @@
           substituteClassname(pt, tm);
           Printf(param_type, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
               "No cstype typemap defined for %s\n", SwigType_str(pt,0));
         }
 
@@ -1949,7 +1949,7 @@
           Replaceall(tm, "$csinput", arg);
           Printv(imcall, tm, NIL);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number,
               "No csin typemap defined for %s\n", SwigType_str(pt,0));
         }
 
@@ -1987,7 +1987,7 @@
       substituteClassname(t, tm);
       Replaceall(tm, "$imcall", imcall);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
           "No csout typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -2007,7 +2007,7 @@
           Replaceall(tm, "$imcall", imcall);
           Printf(proxy_class_code, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
               "No csvarin typemap defined for %s\n", SwigType_str(t,0));
         }
       } else {
@@ -2021,7 +2021,7 @@
           Replaceall(tm, "$imcall", imcall);
           Printf(proxy_class_code, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
               "No csvarout typemap defined for %s\n", SwigType_str(t,0));
         }
       }
@@ -2090,7 +2090,7 @@
           substituteClassname(pt, tm);
           Printf(param_type, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
               "No cstype typemap defined for %s\n", SwigType_str(pt,0));
         }
 
@@ -2106,7 +2106,7 @@
           Replaceall(tm, "$csinput", arg);
           Printv(imcall, tm, NIL);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number,
               "No csin typemap defined for %s\n", SwigType_str(pt,0));
         }
 
@@ -2165,7 +2165,7 @@
     if ((tm = Swig_typemap_lookup_new("cstype",n,"",0))) {
       substituteClassname(t, tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
           "No cstype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -2199,7 +2199,7 @@
       if ((tm = Swig_typemap_lookup_new("cstype",n,"",0))) {
         substituteClassname(t, tm);
       } else {
-        Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
             "No cstype typemap defined for %s\n", SwigType_str(t,0));
       }
 
@@ -2287,7 +2287,7 @@
       substituteClassname(t, tm);
       Printf(return_type, "%s", tm);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
           "No cstype typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -2298,7 +2298,7 @@
       setter_flag = (Cmp(Getattr(n,"sym:name"), Swig_name_set(variable_name)) == 0);
       if(setter_flag)
         Printf(func_name,"set");
-      else 
+      else
         Printf(func_name,"get");
       Putc(toupper((int) *Char(variable_name)), func_name);
       Printf(func_name, "%s", Char(variable_name)+1);
@@ -2334,7 +2334,7 @@
         substituteClassname(pt, tm);
         Printf(param_type, "%s", tm);
       } else {
-        Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_TYPEMAP_CSWTYPE_UNDEF, input_file, line_number,
             "No cstype typemap defined for %s\n", SwigType_str(pt,0));
       }
 
@@ -2350,7 +2350,7 @@
         Replaceall(tm, "$csinput", arg);
         Printv(imcall, tm, NIL);
       } else {
-        Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number, 
+        Swig_warning(WARN_CSHARP_TYPEMAP_CSIN_UNDEF, input_file, line_number,
             "No csin typemap defined for %s\n", SwigType_str(pt,0));
       }
 
@@ -2378,7 +2378,7 @@
       substituteClassname(t, tm);
       Replaceall(tm, "$imcall", imcall);
     } else {
-      Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+      Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
           "No csout typemap defined for %s\n", SwigType_str(t,0));
     }
 
@@ -2398,7 +2398,7 @@
           Replaceall(tm, "$imcall", imcall);
           Printf(module_class_code, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
               "No csvarin typemap defined for %s\n", SwigType_str(t,0));
         }
       } else {
@@ -2412,7 +2412,7 @@
           Replaceall(tm, "$imcall", imcall);
           Printf(module_class_code, "%s", tm);
         } else {
-          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number, 
+          Swig_warning(WARN_CSHARP_TYPEMAP_CSOUT_UNDEF, input_file, line_number,
               "No csvarout typemap defined for %s\n", SwigType_str(t,0));
         }
       }
@@ -2477,7 +2477,7 @@
   /* -----------------------------------------------------------------------------
    * makeParameterName()
    *
-   * Inputs: 
+   * Inputs:
    *   n - Node
    *   p - parameter node
    *   arg_num - parameter argument number
@@ -2526,7 +2526,7 @@
         typemapLookup("csclassmodifiers", type, WARN_CSHARP_TYPEMAP_CLASSMOD_UNDEF), // Class modifiers
         " class $csclassname",       // Class name and bases
         *Char(pure_baseclass) ?
-        " : " : 
+        " : " :
         "",
         pure_baseclass,
         *Char(pure_interfaces) ?  // Interfaces
@@ -2622,10 +2622,10 @@
               Append(throws_list, exception_class);
           }
           Delete(exception_class);
-        } 
+        }
       }
       Delete(temp_classes_list);
-    } 
+    }
     Delete(throws_attribute);
   }
 

Modified: sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.sln
===================================================================
--- sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.sln	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.sln	2025-05-27 09:53:31 UTC (rev 10147)
@@ -1,6 +1,8 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SwigEx", "SwigEx.vcproj", "{18F8AE78-14F3-4C6A-9768-CF5A1A5194D7}"
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.10.35027.167
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SwigEx", "SwigEx.vcxproj", "{18F8AE78-14F3-4C6A-9768-CF5A1A5194D7}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -16,4 +18,7 @@
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {DB7F0B0B-1CD6-4E0E-A8AD-08658BB29649}
+	EndGlobalSection
 EndGlobal

Added: sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.vcxproj
===================================================================
--- sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.vcxproj	                        (rev 0)
+++ sandbox/adsk/trunk/Oem/SWIGEx/SwigEx.vcxproj	2025-05-27 09:53:31 UTC (rev 10147)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <VCProjectVersion>17.0</VCProjectVersion>
+    <ProjectGuid>{18F8AE78-14F3-4C6A-9768-CF5A1A5194D7}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v143</PlatformToolset>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v143</PlatformToolset>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>17.0.35004.147</_ProjectFileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>Win32\</OutDir>
+    <IntDir>Debug\</IntDir>
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>Win32\</OutDir>
+    <IntDir>Release\</IntDir>
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>Source\Swig;Source\DOH;Source\Include;Source\Preprocessor;Source\Modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>$(OutDir)Swig.exe</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)SwigEx.pdb</ProgramDatabaseFile>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention />
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>Source\Swig;Source\DOH;Source\Include;Source\Preprocessor;Source\Modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader />
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>$(OutDir)Swig.exe</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention />
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="Source\CParse\cscanner.c" />
+    <ClCompile Include="Source\CParse\parser.c" />
+    <ClCompile Include="Source\CParse\templ.c" />
+    <ClCompile Include="Source\CParse\util.c" />
+    <ClCompile Include="Source\Doh\base.c" />
+    <ClCompile Include="Source\Doh\file.c" />
+    <ClCompile Include="Source\Doh\fio.c" />
+    <ClCompile Include="Source\Doh\hash.c" />
+    <ClCompile Include="Source\Doh\list.c" />
+    <ClCompile Include="Source\Doh\memory.c" />
+    <ClCompile Include="Source\Doh\string.c" />
+    <ClCompile Include="Source\Doh\void.c" />
+    <ClCompile Include="Source\Modules\allocate.cxx" />
+    <ClCompile Include="Source\Modules\browser.cxx" />
+    <ClCompile Include="Source\Modules\chicken.cxx" />
+    <ClCompile Include="Source\Modules\contract.cxx" />
+    <ClCompile Include="Source\Modules\csharp.cxx" />
+    <ClCompile Include="Source\Modules\directors.cxx" />
+    <ClCompile Include="Source\Modules\emit.cxx" />
+    <ClCompile Include="Source\Modules\guile.cxx" />
+    <ClCompile Include="Source\Modules\java.cxx" />
+    <ClCompile Include="Source\Modules\lang.cxx" />
+    <ClCompile Include="Source\Modules\main.cxx" />
+    <ClCompile Include="Source\Modules\module.cxx" />
+    <ClCompile Include="Source\Modules\mzscheme.cxx" />
+    <ClCompile Include="Source\Modules\ocaml.cxx" />
+    <ClCompile Include="Source\Modules\overload.cxx" />
+    <ClCompile Include="Source\Modules\perl5.cxx" />
+    <ClCompile Include="Source\Modules\php4.cxx" />
+    <ClCompile Include="Source\Modules\php5.cxx" />
+    <ClCompile Include="Source\Modules\pike.cxx" />
+    <ClCompile Include="Source\Modules\python.cxx" />
+    <ClCompile Include="Source\Modules\ruby.cxx" />
+    <ClCompile Include="Source\Modules\s-exp.cxx" />
+    <ClCompile Include="Source\Modules\swigmain.cxx" />
+    <ClCompile Include="Source\Modules\tcl8.cxx">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+    <ClCompile Include="Source\Modules\typepass.cxx" />
+    <ClCompile Include="Source\Modules\utils.cxx" />
+    <ClCompile Include="Source\Modules\xml.cxx" />
+    <ClCompile Include="Source\Preprocessor\cpp.c" />
+    <ClCompile Include="Source\Preprocessor\expr.c" />
+    <ClCompile Include="Source\Swig\cwrap.c" />
+    <ClCompile Include="Source\Swig\error.c" />
+    <ClCompile Include="Source\Swig\fragment.c" />
+    <ClCompile Include="Source\Swig\getopt.c" />
+    <ClCompile Include="Source\Swig\include.c" />
+    <ClCompile Include="Source\Swig\misc.c" />
+    <ClCompile Include="Source\Swig\naming.c" />
+    <ClCompile Include="Source\Swig\parms.c" />
+    <ClCompile Include="Source\Swig\scanner.c" />
+    <ClCompile Include="Source\Swig\stype.c" />
+    <ClCompile Include="Source\Swig\symbol.c" />
+    <ClCompile Include="Source\Swig\tree.c" />
+    <ClCompile Include="Source\Swig\typemap.c" />
+    <ClCompile Include="Source\Swig\typeobj.c" />
+    <ClCompile Include="Source\Swig\typesys.c" />
+    <ClCompile Include="Source\Swig\warn.c" />
+    <ClCompile Include="Source\Swig\wrapfunc.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Source\Doh\doh.h" />
+    <ClInclude Include="Source\Doh\dohint.h" />
+    <ClInclude Include="Source\Modules\ExceptionClass.h" />
+    <ClInclude Include="Source\Swig\swig.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file

Modified: sandbox/adsk/trunk/Oem/SWIGEx/Win32/Swig.exe
===================================================================
(Binary files differ)

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsCommon/GwsXmlUtils.cpp
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsCommon/GwsXmlUtils.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsCommon/GwsXmlUtils.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -30,7 +30,7 @@
 //
 /////////////////////////////////////////////////////////////////////
 CGwsStringCollectionSaxHandler CGwsStringCollectionSaxHandler::m_shandler;
-wchar_t * CGwsStringCollectionSaxHandler::m_sdelimiter = L",";
+const wchar_t * CGwsStringCollectionSaxHandler::m_sdelimiter = L",";
 CGwsComputedIdentifierCollectionSaxHandler CGwsComputedIdentifierCollectionSaxHandler::m_cihandler;
 
 ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsCommon/inc/GwsCommonUtils.h
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsCommon/inc/GwsCommonUtils.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsCommon/inc/GwsCommonUtils.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -130,7 +130,7 @@
 
 protected:
     static CGwsStringCollectionSaxHandler m_shandler;
-    static wchar_t                      * m_sdelimiter;
+    static const wchar_t                      * m_sdelimiter;
 
 protected:
     FdoStringCollection * m_strcoll;

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsFlatFdoReader.cpp
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsFlatFdoReader.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsFlatFdoReader.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -1156,7 +1156,7 @@
                 BuildPropOrder(pIter,propName.c_str(),m_orderOpt,propertyOrder);
                 // build a sort index
                 FdoInt32 iterIndex(0);
-                if(pIter != m_gwsReader) {
+                if(pIter != (CGwsFeatureIterator*)m_gwsReader) {
                     iterIndex = 1;
                     std::map<WSTR,CGwsFeatureIterator*>::iterator pMapIter = m_pJoinReaders.begin();
                     while((m_pJoinReaders.end() != pMapIter) && (pMapIter->second != pIter)) {

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsQueryXml.cpp
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsQueryXml.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/GwsQueryXml.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -25,22 +25,22 @@
 #include "GwsQueryEngineImp.h"
 
 
-wchar_t * GwsQueryXml::xmlGwsQuery                      = L"Query";
-wchar_t * GwsQueryXml::xmlGwsQualifiedClassName         = L"Qualified_Class_Name";
-wchar_t * GwsQueryXml::xmlGwsClassFeatureSource         = L"Feature_Source";
-wchar_t * GwsQueryXml::xmlGwsClassSchema                = L"Schema";
-wchar_t * GwsQueryXml::xmlGwsClassName                  = L"Class_Name";
-wchar_t * GwsQueryXml::xmlGwsFilter                     = L"Filter";
-wchar_t * GwsQueryXml::xmlGwsFilterStringValue          = L"Value";
+const wchar_t * GwsQueryXml::xmlGwsQuery                      = L"Query";
+const wchar_t * GwsQueryXml::xmlGwsQualifiedClassName         = L"Qualified_Class_Name";
+const wchar_t * GwsQueryXml::xmlGwsClassFeatureSource         = L"Feature_Source";
+const wchar_t * GwsQueryXml::xmlGwsClassSchema                = L"Schema";
+const wchar_t * GwsQueryXml::xmlGwsClassName                  = L"Class_Name";
+const wchar_t * GwsQueryXml::xmlGwsFilter                     = L"Filter";
+const wchar_t * GwsQueryXml::xmlGwsFilterStringValue          = L"Value";
 
-wchar_t * GwsQueryXml::xmlGwsQueryTypeAttribute         = L"Type";
-wchar_t * GwsQueryXml::xmlGwsQueryTypeFeature           = L"Feature";
-wchar_t * GwsQueryXml::xmlGwsQueryTypeLeftOuterJoin     = L"Left Outer Join";
-wchar_t * GwsQueryXml::xmlGwsQueryTypeEqualJoin         = L"Equal Join";
-wchar_t * GwsQueryXml::xmlGwsLeftJoinAttributes         = L"LeftJoinAttributes";
-wchar_t * GwsQueryXml::xmlGwsRightJoinAttributes        = L"RightJoinAttributes";
-wchar_t * GwsQueryXml::xmlGwsJoinAttibuteNames          = L"Names";
-wchar_t * GwsQueryXml::xmlGwsQuerySelectList            = L"Select_List";
-wchar_t * GwsQueryXml::xmlGwsQuerySelectExpressionList  = L"Select_Expression_List";
-wchar_t * GwsQueryXml::xmlGwsQuerySelectExpression      = L"Select_Expression";
-wchar_t * GwsQueryXml::xmlGwsQuerySelectExpressionName  = L"Select_Expression_Name";
+const wchar_t * GwsQueryXml::xmlGwsQueryTypeAttribute         = L"Type";
+const wchar_t * GwsQueryXml::xmlGwsQueryTypeFeature           = L"Feature";
+const wchar_t * GwsQueryXml::xmlGwsQueryTypeLeftOuterJoin     = L"Left Outer Join";
+const wchar_t * GwsQueryXml::xmlGwsQueryTypeEqualJoin         = L"Equal Join";
+const wchar_t * GwsQueryXml::xmlGwsLeftJoinAttributes         = L"LeftJoinAttributes";
+const wchar_t * GwsQueryXml::xmlGwsRightJoinAttributes        = L"RightJoinAttributes";
+const wchar_t * GwsQueryXml::xmlGwsJoinAttibuteNames          = L"Names";
+const wchar_t * GwsQueryXml::xmlGwsQuerySelectList            = L"Select_List";
+const wchar_t * GwsQueryXml::xmlGwsQuerySelectExpressionList  = L"Select_Expression_List";
+const wchar_t * GwsQueryXml::xmlGwsQuerySelectExpression      = L"Select_Expression";
+const wchar_t * GwsQueryXml::xmlGwsQuerySelectExpressionName  = L"Select_Expression_Name";

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/inc/GwsQueryEngineImp.h
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/inc/GwsQueryEngineImp.h	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/inc/GwsQueryEngineImp.h	2025-05-27 09:53:31 UTC (rev 10147)
@@ -34,24 +34,24 @@
 ///////////////////////////////////////////////////////////////////////////////
 struct GwsQueryXml
 {
-    static wchar_t * xmlGwsQuery;
-    static wchar_t * xmlGwsQualifiedClassName;
-    static wchar_t * xmlGwsClassFeatureSource;
-    static wchar_t * xmlGwsClassSchema;
-    static wchar_t * xmlGwsClassName;
-    static wchar_t * xmlGwsFilter;
-    static wchar_t * xmlGwsFilterStringValue;
-    static wchar_t * xmlGwsQueryTypeAttribute;
-    static wchar_t * xmlGwsQueryTypeFeature;
-    static wchar_t * xmlGwsQueryTypeLeftOuterJoin;
-    static wchar_t * xmlGwsQueryTypeEqualJoin;
-    static wchar_t * xmlGwsLeftJoinAttributes;
-    static wchar_t * xmlGwsRightJoinAttributes;
-    static wchar_t * xmlGwsJoinAttibuteNames;
-    static wchar_t * xmlGwsQuerySelectList;
-    static wchar_t * xmlGwsQuerySelectExpressionList;
-    static wchar_t * xmlGwsQuerySelectExpression;
-    static wchar_t * xmlGwsQuerySelectExpressionName;
+    static const wchar_t * xmlGwsQuery;
+    static const wchar_t * xmlGwsQualifiedClassName;
+    static const wchar_t * xmlGwsClassFeatureSource;
+    static const wchar_t * xmlGwsClassSchema;
+    static const wchar_t * xmlGwsClassName;
+    static const wchar_t * xmlGwsFilter;
+    static const wchar_t * xmlGwsFilterStringValue;
+    static const wchar_t * xmlGwsQueryTypeAttribute;
+    static const wchar_t * xmlGwsQueryTypeFeature;
+    static const wchar_t * xmlGwsQueryTypeLeftOuterJoin;
+    static const wchar_t * xmlGwsQueryTypeEqualJoin;
+    static const wchar_t * xmlGwsLeftJoinAttributes;
+    static const wchar_t * xmlGwsRightJoinAttributes;
+    static const wchar_t * xmlGwsJoinAttibuteNames;
+    static const wchar_t * xmlGwsQuerySelectList;
+    static const wchar_t * xmlGwsQuerySelectExpressionList;
+    static const wchar_t * xmlGwsQuerySelectExpression;
+    static const wchar_t * xmlGwsQuerySelectExpressionName;
 };
 
 

Modified: sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/utf8_.cpp
===================================================================
--- sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/utf8_.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Gws/GwsQueryEngine/utf8_.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -83,7 +83,7 @@
     size_t nAllowed = nUTF8BufferBytes - sizeof(ASCII_char_t);
     size_t nLen = nUCS2StringBytes >> 1;
 
-    for (register size_t i = 0; i < nLen; i++, pIn+=2)
+    for (size_t i = 0; i < nLen; i++, pIn+=2)
     {
         //check for null terminated string
         if (zUCS2String[i] == 0)
@@ -169,7 +169,7 @@
     size_t nUsed = 0;
     size_t nAllowed = nUTF8BufferBytes - sizeof(ASCII_char_t);
     size_t nLen = nUCS4StringBytes >> 2;
-    register size_t i;
+    size_t i;
 
     for (i = 0; i < nLen; i++, pIn+=4)
     {
@@ -323,7 +323,7 @@
     size_t nUsed = 0;
     size_t nAllowed = nUCS2BufferBytes - sizeof(UCS2_char_t);
 
-    for (register size_t i = 0; i < nUTF8StringBytes; i++, pIn++)
+    for (size_t i = 0; i < nUTF8StringBytes; i++, pIn++)
     {
         if (*pIn == 0)
             break;
@@ -415,7 +415,7 @@
     char* pOut = (char*)pUCS4Buffer;
     size_t nUsed = 0;
     size_t nAllowed = nUCS4BufferBytes - sizeof(UCS4_char_t);
-    register size_t i;
+    size_t i;
 
     for (i = 0; i < nUTF8StringBytes; i++, pIn++)
     {

Modified: sandbox/adsk/trunk/Server/src/Services/Feature/SelectCommand.cpp
===================================================================
--- sandbox/adsk/trunk/Server/src/Services/Feature/SelectCommand.cpp	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Server/src/Services/Feature/SelectCommand.cpp	2025-05-27 09:53:31 UTC (rev 10147)
@@ -379,7 +379,7 @@
     {
         newFilter->Process( &fragmenter );
         FdoPtr<FdoFilter> tempFilter = fragmenter.GetNewFilter();
-        if (tempFilter != newFilter)
+        if (tempFilter != (FdoFilter*)newFilter)
         {
             newFilter = tempFilter;
         }

Modified: sandbox/adsk/trunk/Web/src/DotNetUnmanagedApi/getclassid.code
===================================================================
--- sandbox/adsk/trunk/Web/src/DotNetUnmanagedApi/getclassid.code	2025-05-12 16:51:40 UTC (rev 10146)
+++ sandbox/adsk/trunk/Web/src/DotNetUnmanagedApi/getclassid.code	2025-05-27 09:53:31 UTC (rev 10147)
@@ -4,12 +4,12 @@
   return ((MgObject*)ptrObj)->GetClassId();
 }
 
-DllExport char* SWIGSTDCALL  getClassName(void* ptrObj)
+DllExport const char* SWIGSTDCALL  getClassName(void* ptrObj)
 {
   return ((MgObject*)ptrObj)->GetMultiByteClassName();
 }
 
-DllExport char* SWIGSTDCALL  getNameSpace(void* ptrObj)
+DllExport const char* SWIGSTDCALL  getNameSpace(void* ptrObj)
 {
   return ((MgObject*)ptrObj)->GetNameSpace();
 }



More information about the mapguide-commits mailing list