When I did it, I had a default value set that comes in when the field is initialized, and it works. If your field gets its value from a different source, then it should not be present as it is initialized. I would look into changing the event that this happens with. Layout:ready might be a better place for this.
if (this.rawValue.length < 50) this.font.size = "10pt";
if (Len(this.rawValue) < 50) then this.font.size = "10pt" endif