Short version history
~~~~~~~~~~~~~~~~~~~~~
0.8: initial perl version using fontsets and ttf2pt42-converted fonts
0.9: improved perl version using fontsets and system fonts
1.0: completely rewritten tool in C with PS fontsets removed


What is a fontset
~~~~~~~~~~~~~~~~~
Large unicode coverage is rarely achieved with a single large font.
Typically there is a bunch of fonts each covering some small specific
subset of unicode. For instance, one font may cover European scripts,
pseudographics and such while another one provides CJK ideographs.

Versions 0.8 and 0.9 had fontsets implemented completely in PostScript.
Starting with version 1.0, PostScript part operates with individual
fonts and all font switching is done in the C part.


Why fontsets are important
~~~~~~~~~~~~~~~~~~~~~~~~~~
Large-coverage unitary fonts are few and far in between. Most easily
available fonts have either modest coverage for common Unicode areas,
or cover some particular areas only (Thai fonts, Japanese fonts and so on).


Where are the fonts?
~~~~~~~~~~~~~~~~~~~~
Starting with version 0.9, u2ps uses system fonts.
That is, fonts gs can find in its path.

Version 0.8 needed additional font packages, that's not the case anymore.


Where are the fontsets?
~~~~~~~~~~~~~~~~~~~~~~~
1.0: the data on all available fontsets is compiled into u2ps executable.

0.9: all available fontsets are bundled with u2ps (in ps/FontSet directory).
No additional packages are needed.


Font-embedding utilites from v0.8
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u2ps_pp.px and u2ps_rs.px have been replaced with simplier one-pass psfrem.px.
This makes it just a bit harder to debug but significantly faster and easier
to use, including on non-u2ps files.


Regarding output file size: v0.8 vs v0.9 vs 1.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It may look like v0.9 generates significantly larger output files that v0.8
with FreeMono fontset and font embedding enabled.

This is actually mostly because of the changes in FreeMono font itself.
v0.8 had an old version bundled with it, and "old" here means something like 2007.
v0.9 loads system font, which for most systems means current version.

v1.0 drops a lot of postscript code, but the fonts are still there.


Whole-font embedding
~~~~~~~~~~~~~~~~~~~~
Unlike v0.8 where it was a safe fallback skipping the whole font-handling part,
embedding whole fonts now requires about as much work as reducing them.
And for this reason it's not implemented.

The reason to keep this option at all is embedding u2ps output in some other
PS document which uses the same fonts. Pretty rare case by itself, and with
current version there's at least one workaround: embed no-fonts output, then
run psfrem on the whole resulting document.
