One of the main goals that Don Knuth had when developing TeX (other than the obvious one of creating high-quality documents) was a 100% platform independence. A document produced on one system should always compile always exactly identical on any machine. It should never happen, that a linebreak or page break would be altered. Therefore the TeX program was very carefully written to ensure that there is absolutely no access to any internally used floating point value and that those parts that actually may use platform dependent code could not affect the typesetting.
Now from my understanding this goal is broken in XeTeX as it hands off "words" to the underlying platform-dependent font machinery and then takes back from there the font glyphs and relative horizontal and vertical positions. Those are then used to calculate line breaks and there it should be possible to generate examples where a document shows different line and/or page breaks if moved from one platform to the next.
I don't know how LuaTeX implements the Opentype support, perhaps the approach here is different. But for LuaTeX I believe that platform dependency may come into play through access to more or less general accessibility of TeX internals (even those that Don deliberately kept inaccessible because of their use of floating point arithmetic).
So my main question here is: is my understanding correct?
And the sub-questions then would be:
- Has somebody experienced a platform dependency in XeTeX?
- Has the LuaTeX font support the same "danger"?
l3fp
is for trigonometric and other transcendental functions to be platform independent (and for fun).