Think of file types as falling into two general categories: "application-native formats" and "exchange formats".
Generally speaking, an application-native format is designed to be understood only by the software that creates it. It contains all the code that the creating program needs to edit the file with nothing being lost between work sessions. For example, a FileMaker Pro file can only be opened with FileMaker Pro.
Generally speaking, an exchange format is one intended for multiple applications to be able to open. It's a way to get content created by one program into another program. For example, FileMaker Pro can export the content of its files (.fm7) into several exchange formats (ex: .tab), so that some other database program (ex: MS Access) can import it.
That's "generally-speaking". In reality, the makers of a program may consider it advantageous to provide an import and/or export filter that can read and/or write a competing program's native format. For example, FileMaker Pro can export its content directly to a MS Excel file (.xls).
So, generally-speaking, .aiis Illustrator's native file format; .eps is an exchange format for passing around PostScript content between programs. The following elaborates:
AI (.ai): Adobe Illustrator
This is the application-native file format for Adobe Illustrator. It has different versions, because capabilities of the program change over the development years.
As noted above, an application-native format is intended for use by the creating application. So an application-specific format has no "responsibility", so-to-speak, for compatibility with some other (often competing) program.
Illustrator is, at its core, a PostScript interpreter. It's internal language is PostScript. So it's not all that difficult for other programs that do pretty much the same thing (FreeHand, CorelDraw, Canvas, Xara, etc.) to write an import filter to convert the content of a native .ai file into objects which are native to the importing program--and just throw away any Illustrator-specific stuff it doesn't understand. The simple fact that of Illustrator's predominance makes it desirable for a competitor to do so. Often, therefore, competing programs are able to "open" (although this should really be called "import") .ai files "directly" (without conversion to an exchange format).
It should be pointed out, this works the other way 'round, too: For example, Illustrator can "open" (more correctly, import) FreeHand and CorelDraw files.
Something is almost always lost in such "opens" (imports), and such features almost always lag a version or two behind that of the originating program.
EPS (.eps): Encapsulated PostScript
The operative word is "Encapsulated". Think "delivered in a sealed box". This is an "exchange" format, not necessarily associated with one specific graphics program. Originally, it was a mechanism by which other programs that don't understand PostScript to at least be able to "place" or "insert" (include) PostScript files and pass them along to the printer.
An EPS file "dumbs down" the code of the objects it contains to the minimum constructs which a PostScript printer needs to understand in order to render it. It "wraps" that content between an EPS "header" and "footer". The "header" may (or may not) contain a low-res raster image which can be used as an on-screen representation of the content.
For example: Word is not a PostScript program. But it can "insert" an EPS file, make a space for it on the Word page, and display the low-res raster image (if any) in that space. Word doesn't know didly about the content of the "sealed box", and doesn't have to. When the Word document is printed, Word just sends the "sealed box" along in the print stream. If the printer is a PostScript printer, it sees the "sealed box", opens it, and interprets its content. If the printer also doesn't know didly about PostScript, it just prints the low-res raster image (and the print looks like crap).
EPS was/is also used for exchange between different PostScript programs. For example, PageMaker was also a PostScript program. But that doesn't mean it could actually draw or understand the PostScript code for all the various PostScript objects created by, say, Illustrator or FreeHand. So it would also import an EPS exported from Illustrator or FreeHand, make a space for it on the PageMaker page, show the low-res preview, and pass the "sealed box" on to the printer in the print stream.
Nowadays, the relatively clean-cut "native format vs. exchange format" distinction has become muddier, due mostly to ill-advised marketing brainstorms on the parts of software vendors.
PDF is increasingly used as a better exchange format (most notably in InDesign) for placing non-native artwork on pages as spot graphics. As such, PDF has largely obsoleted EPS. Not all graphics programs, however (for example: earlier versions of QuarkXpress that are still in widespread use), can treat a PDF as a spot graphic, so EPS persists despite its inherent inconveniences.
At one time, the marketers at Adobe decided it clever to proclaim that "PDF is now Illustrator's native format." That ill-advised claim was mostly smoke-and-mirrors, and resulted in untold confusion among Adobe's customers. In reality, you can now chose to includean entire and separate PDF version copyof the Illustrator artwork "sealed up" inside the .ai file. At the same time, the PDF format was altered to provide for a "sealed off area" in which Illustrator (or some other program) can include a whole copy of the same content in its native format.
So a .ai file may or may not also contain a whole separate copy of itself in PDF format; and a PDF may or may not also contain a whole separate copy of itself in Illustrator's (or some other program's) native format. And users wonder why files have become so needlessly large.
Inversely, Macromedia turned smoke-and-mirrors into mirrors-and-smoke by appropriating what should be considered an exchange format (.png) as its own "native" format for Fireworks. A .png file may or may not contain other content in a "sealed off area" within the file. So a .png file (a raster image format) may or may not contain a whole copy of itself in native Fireworks objects (including vector shapes). As a result, the recipient of a .png who doesn't open it in Fireworks, doesn't know whether it is a "native" Fireworks document or not.
So...for a real answer to your specific problem, you should provide specific information about your intended use of EPS. What program do you intend to deliver it to?
Illustrator is, at its core, a PostScript interpreter. It's internal language is PostScript. So it's not all that difficult for other programs that do pretty much the same thing (FreeHand, CorelDraw, Canvas, Xara, etc.) to write an import filter to convert the content of a native .ai file into objects which are native to the importing program--and just throw away any Illustrator-specific stuff it doesn't understand.This was true up until the release of Illustrator 9. Since version 9, Illustrator's internal language is a superset of the PDF 1.5 language spec. PostScript has no support at all for many of the constructs that Illustrator now supports (transparency, etc). It's actually quite difficult for anyone -- even other Adobe teams for that matter -- to parse native .AI information since Illustrator 9. Since most Adobe apps don't need to access editable information -- they really just need an unflattened composite -- it's easier to just have Illustrator embed a PDF (1.5) version of the native Illustrator file which other apps can easily read and place.It's interesting to note that Adobe *IS* indeed started to include Illustrator's own graphics libraries into other apps, meaning that other apps WILL be able to parse Illustrator's native file format (think of these apps as having a built-in headless version of Illustrator). Adobe is doing this for apps where the editing of content would be important or necessary. For example, Flash CS3 and CS4 contains Illustrator's graphics libraries. Meaning that you can save your file from AI using the .ai file format WITHOUT checking the Include PDF Compatible File option, and Flash will be able to correctly parse the file. I believe that Fireworks can do this in CS4 (although I've experienced instability and constant crashes when doing so), and also, Adobe's new Flash Catalyst contains Illustrator's graphics libraries.
At one time, the marketers at Adobe decided it clever to proclaim that "PDF is now Illustrator's native format." That ill-advised claim was mostly smoke-and-mirrors, and resulted in untold confusion among Adobe's customers.
Hm. As I mentioned above, Illustrator's native file format IS indeed PDF -- but since it's a superset of the public ISO PDF language spec (it has to support things like Illustrator's 3D features, appearances, etc.), it's a version of PDF that only Illustrator itself can understand. But it's certainly PDF. There's no smoke and mirrors there. Also, as I mentioned above, the default behavior is that Illustrator embeds an unflattened composite of the file as a PDF file that CAN be read by other applications. This PDF is able to fully reproduce the art when printed (it's just not editable like the native version is). I don't think there's any confusion amongst customers. Most designers just place native .ai files into other Adobe apps and it just works. What Illustrator is doing "behind the scenes" really doesn't affect the average user at all. And designers like when things "just work".
To specifically answer the original question in this thread, reading this article, What's In a File, should help.
I am getting an error all the time when saving an AI file that contains text.
Strangely I am abe to save AI files without text or EPS files with or without text.
... I think this might be an Illustrator CS4 bug.
Miguel, it might be a bug, and it goes back many versions.
Do a search here with keyphrase 'can't save' and/or 'cannot save,' and you'll come across many discussions that deal with this issue. There is no definitive answer, but there are many suggestions -- some work for some users, and other users are still left in the lurch.
Unfortunately, the search function in this new forum is a complete piece of crap. And, in cases like this, it doesn't help that they combined Mac and Win. You'll have to slog through the process, but with a little luck, you'll come across a workaround that works for you.
To get you started, Here's an old, but ongoing, discussion that started in the old Illustrator Win forum. I know it's a lot to read, but slog through it if you can. There might be an answer in there for you.
(I gleaned from your other post here that you're a Win Vista 64 user. You should, nevertheless, always identify your Illustrator version and OS every time you post here.)
Yes, I found that post and others yesterday in Google.
I followed all the sugestions I could find including resinstalling Illustrator CS4 twice with and without Mcafee active.
I just don't understand how Adobe has a report of a bug since 2005 from CS2 version ... and release CS4 with the same bug.
If it would be Microsoft they would be crucified ... lol
I am only creating a few images with text ... I use transparency, brushes, layers and gradients.
Nothing really fancy ... can I save it in EPS and later when, and if, I solve the problem opening it again and save it as AI?
Or I will loose my properties and will get something like a JPEG?
I really don't know what else to try ...
Thank you for your help.
It happens with any file ...
I open Illustrator, I create a square and I am able to save in any format, including AI.
If I add just one line of text then I am not able to save in AI. But I am able to save in any other format.
If a new document with only a text "abc" and nothing else won't save in AI.
The error says (the window has no title):
An unknow error has occurred.
Do you have permissions for the fonts used ? is it a system font or a free font?
Have you tried to outline text (select text box and press shift-cmd-o / ctrl-shift-o) and then save to ai ?
free fonts often limits you to just see the text on-screen and will be substituted with another font with permissions to print when exporting to pdf or saving to ai.
Is it just a warning in the save as ai dialogbox, and you can save but the fontinformation is lost, or are you prohibited form saving alltogether?