Store Fonts Permanently in Flash (E:) vs Losing Them in RAM (R:)
Why downloaded fonts vanish after a power cycle, and how to store them on E: so they survive.
A downloaded font lives on the drive you named in the download command. The drive decides whether it survives a restart.
Printer drives
| Drive | Memory type | Survives power-off? | Use for |
|---|---|---|---|
R: |
RAM | No | Temporary fonts, graphics sent with each job |
E: |
Flash | Yes | Fonts, logos and formats you want to keep |
B: |
Optional card or extra flash on some models | Yes | Additional storage |
Z: |
Firmware ROM | Yes, read-only | Built-in fonts and objects |
If you download to R: (or don’t specify a drive and the default is RAM), the font is gone as soon as the printer powers off or resets. That is the number-one reason a font “stops working”.
Store a font permanently
Point the download at E::
~DUE:ARIAL.TTF,<size>,<hex data>
Then reference it as E:ARIAL.TTF in ^A@ or ^CW.
Verify what is stored
^XA^WD*:*.*^XZ
That prints the directory of every drive. You can also query over the host connection with ^HWE:*.*.
Delete a font
^XA^IDE:ARIAL.TTF^XZ
^ID removes the named object. Use it before re-downloading a corrected font.
Flash care
- Flash memory has a finite number of write cycles. Download fonts once during setup, not on every print job.
- If a font is needed only for one-off jobs, send it to
R:deliberately so you do not wear flash. - Avoid
^JB(initialize flash) unless instructed; it erases stored objects. See restoring factory fonts.
Common pitfalls
- Downloaded to R: by accident. Re-download to
E:. - Used a different name when printing.
E:Arial.ttfandE:ARIAL.TTFshould be treated as the same name, but a different spelling such asE:ARIAL1.TTFis not. - Flash full. The download fails silently or partially. Check free space on the configuration label.
More: font disappears after reboot.
The mental model that makes this stick
Think of the printer’s memory the way you think of a laptop. RAM is like the working memory that’s wiped when you shut down. Flash is like the hard drive, where files stay until someone deletes them. When you send a font to drive R: you’ve put it in working memory. When you send it to E: you’ve saved it to disk. Everything else in this topic follows from that.
The reason people get tripped up is that nothing warns you. A font in RAM works perfectly all day. The printer gets switched off for the weekend, somebody switches it on Monday morning, and every label prints in the wrong font. Nothing in the printer’s display suggests a problem, because as far as the printer’s concerned, nothing has gone wrong. The font simply isn’t there any more.
When RAM is actually what you want
It’s tempting to treat R: as a mistake, but it has legitimate uses. If you send a one-off graphic, such as a customer logo for a single print job, RAM is perfect: it keeps your flash clean and the object disappears by itself. Some workflows send everything a label needs, fonts included, at the start of every job, specifically so the printer needs no setup. That’s a valid design if the job is small and the printer is on a fast link.
The trade-off is speed and reliability. Sending a font with every job slows each print, and large fonts can add noticeable delay. If a connection drops in the middle of the transfer you may end up with a partly written object. For fonts you use every day, flash is the better home.
Looking after your flash memory
Flash chips wear out after many thousands of write cycles. For a font you install once, that is irrelevant. It starts to matter if something in your system rewrites objects to E: on every print, which is surprisingly easy to do by accident: a template that includes a font download, say, run a few thousand times a day. If you notice a download command inside a label template, move it into a setup script.
It’s also worth keeping a clean directory. Print the contents occasionally with ^XA^WD*:*.*^XZ and remove anything that’s obsolete with ^ID. Old test fonts and abandoned logos can eat memory that you’ll want later.
What survives what
Powering off clears RAM and keeps flash. A normal restart does the same. Resetting settings to factory defaults can behave differently depending on the printer and how you do it, so don’t assume your fonts survive. A firmware update is a more serious event. Some updates leave user files alone and some don’t, so after any update, print the directory and compare it with what you expect. Keeping a provisioning script means a wiped printer can be restored in minutes, and the download guide shows how to build one.
Be extra careful with the initialize command ^JB. It erases flash contents. There are legitimate reasons to use it, but it should never appear in a normal label format. Search your templates for it if you ever lose objects unexpectedly. The related topic of getting official fonts back is covered in restoring factory fonts.
A simple routine for a new printer
When a printer joins your network, do the same few things each time. Print the configuration label and note the firmware, resolution and free memory. Download your fonts to E:. Print the directory to confirm they’re listed. Then print a test label using every font and the character set your real labels use. Keep that test label and compare it against the next printer you set up. The routine takes ten minutes and replaces a lot of guesswork later.
Quick answers
Which drive should I use by default? E: for anything you want to keep.
Why did my font vanish after a power cut? It was on R:. See font disappears after reboot.
Can I see how much flash is free? Yes, the configuration label reports memory. See fonts by printer model for how much to expect.
Does the same apply to graphics and label formats? Yes. The drive rules are identical for any stored object, including ^GF data you may generate with the text-to-graphic tool.
Last reviewed 2026-10-20