But preserve it...
For example, with this font:
https://code.google.com/p/googlefontdirectory/source/browse/ofl/phetsarath/Phetsarath-Regular.ttf
we now get:
...
<GlyphID id="136" name="uni0EDD.am"/>
<GlyphID id="137" name="uni0EB3.right"/>
<GlyphID id="138" name="glyph00138"/>
<GlyphID id="139" name="glyph00139"/>
<GlyphID id="140" name="glyph00140"/>
...
<GlyphID id="161" name="glyph00161"/>
</GlyphOrder>
...
<post>
<formatType value="2.0"/>
<italicAngle value="0.0"/>
<underlinePosition value="-217"/>
<underlineThickness value="150"/>
<isFixedPitch value="0"/>
<minMemType42 value="0"/>
<maxMemType42 value="0"/>
<minMemType1 value="0"/>
<maxMemType1 value="0"/>
<psNames>
<!-- This file uses unique glyph names based on the information
found in the 'post' table. Since these names might not be unique,
we have to invent artificial names in case of clashes. In order to
be able to retain the original information, we need a name to
ps name mapping for those cases where they differ. That's what
you see below.
-->
<psName name="glyph00107" psName=""/>
<psName name="glyph00138" psName=""/>
<psName name="glyph00139" psName=""/>
...
<psName name="glyph00161" psName=""/>
</psNames>
Part of https://github.com/behdad/fonttools/issues/124
This is a followup fix to 85be2e0a9773acec3c6d14c345b1fd94ab3aa5c3
Before this change, if some glyph names had a "#-number" suffix in
the post table, we could generate duplicate glyph names. Fix that,
even though "#" is NOT a valid character in PS glyph names.
Fonts typically have multiple consecutive PUSHB / PUSHW
operators. Merge them in the disassembled output.
This, for now, generates worse assmebly because all PUSHB's
grouped with PUSHW's now generate as PUSHW. Followup fix
will address that.
Previously fonttools was choosing between the optimal opcode
from PUSHB, NPUSHB, PUSHW, and NPUSHW. We now respect
whatever was requested and err if the format doesn't support
the data.
Morevoer, if the number of numbers to push is more than 255,
we add multiple push instructions to push all the numbers.
Finally, add a new pseudo-opcode "PUSH" that automatically
chooses the best format.
This, by itself, reduces roundtrip noise by not optimizing
the bytecode as it was before. In a followup commit I'll
change the bytecode disassembler to always produce PUSH
in the textual instructions instead of the four variants.
That way, we get both the optimization during assembling,
and reduced noise in XML.
Part of https://github.com/behdad/fonttools/issues/73