if you ever consider upgrading, here’s an expression that works for having 2 different fonts. I also added an option for controlling the font size of the cursor:
var X = text.sourceText;
var F = Math.round(time * effect("Blink Speed")("Slider") % 1);
var L = X.length;
var T = time * effect("Speed")("Slider") - effect("Start At")("Slider") * effect("Speed")("Slider");
// Define the main text and cursor with distinct styles
var baseStyle = X.style.setFont("Helvetica-Bold"); // Main font
var cursorFont = "CourierBOLD"; // Cursor font
var Cursor = " ";
if (F == 1 || T > 0) Cursor = "|";
if (T >= L) Cursor = " ";
// Combine the text with the cursor
var displayText = T > 0 ? X.substr(0, T) + Cursor : Cursor;
// Apply styling
var styledText = baseStyle.setText(displayText);
// Apply the cursor font style only to the cursor portion
if (Cursor.trim() != "") {
styledText = styledText.setFont(cursorFont, displayText.length - Cursor.length, Cursor.length).setFontSize(100, displayText.length - Cursor.length, Cursor.length);
}
// Return the final styled text
styledText;