public override bool Equals(System.Object object_Renamed)
        {
            bool isEqual = false;

            if (base.Equals(object_Renamed) && (object_Renamed is CSMTextSettings))
            {
                CSMTextSettings settings = (CSMTextSettings)object_Renamed;
                if (textReference.Equals(settings.textReference) && styleFlagsUseSaffron == settings.styleFlagsUseSaffron && gridFitType == settings.gridFitType && thickness == settings.thickness && sharpness == settings.sharpness)
                {
                    isEqual = true;
                }
            }
            return(isEqual);
        }
		public override void  csmTextSettings(CSMTextSettings tag)
		{
			tags.Add(tag);
		}
		public virtual void  csmTextSettings(CSMTextSettings tag)
		{
		}
		public Tag decodeCSMTextSettings()
		{
			CSMTextSettings tag = new CSMTextSettings();
			int textID = r.readUI16();
			if (textID != 0)
			{
				tag.textReference = dict.getTag(textID);
				if (tag.textReference is DefineText)
				{
					((DefineText) tag.textReference).csmTextSettings = tag;
				}
				else if (tag.textReference is DefineEditText)
				{
					((DefineEditText) tag.textReference).csmTextSettings = tag;
				}
				else
				{
					handler.error("CSMTextSettings' textID must reference a valid DefineText or DefineEditText.  References " + tag.textReference);
				}
			}
			tag.styleFlagsUseSaffron = r.readUBits(2);
			tag.gridFitType = r.readUBits(3);
			r.readUBits(3); // reserved
			// FIXME: thickness/sharpness should be read in as 32 bit IEEE Single Precision format in little Endian
			tag.thickness = r.readUBits(32);
			tag.sharpness = r.readUBits(32);
			r.readUBits(8); // reserved
			return tag;
		}