The font can be done through C# if you need to. You need to use the ReportDocument object model. Then you need to walk through the ReportDocument.ReportDefinition.Sections property and look at the Kind property of each of the ReportObjects in the Section, convert the ReportObject to that Kind and set the Font property. You can find more information in Brian's .NET programming book or by looking under the Crystal Reports .NET SDK linke here:
As for the negative and zero values, that you'll have to do in the report itself. Right-click on the object that may have a negative or zero value and select the Format option. On the Common tab, click on the formula button to the right of "Suppress" and add something like this:
{myTable.NumberField} <= 0
Use your table and field names.
-Dell