[MPEG-OTSPEC] Registries and frameworks [Was: Issues from CSS: Will they be covered by the text shaping WG?]
John Hudson
john at tiro.ca
Fri Aug 14 20:47:49 CEST 2020
On 14082020 10:50 am, Nathan Willis wrote:
> I for one am still really unclear on exactly what the nature of tag
> registries is — people talk about them as being distinct from the
> specifications (in fact it was John's comment along those lines "after
> all, changes only to a registry, not to part of the core OT
> specification" that made me ask), but ... as a practical matter, they
> don't seem to exist in distinct location separate from the spec, nor
> have separate processes defined. So, if they are distinct, then I
> guess I don't understand how they work.
Some background:
Eliyezer Kohen’s conception of TrueType Open laout (what became OTL) was
that Microsoft would act as registrar for features and language system
tags (and script tags, although these are defined in reference to
Unicode). So that’s the origin of the registry idea.
To understand the difference between the OT format spec and the
registries, it is helpful to consider the handling of OT variations
axes. The five registered axes were initially described in the fvar
table spec, but then were removed to an external registry (with its own
broken process, abiut which more below) on the grounds that a registry
can be expanded and updated without needing to rev a table number. So I
would say that it is the functional distinction between the format spec
and the registries: ease of editing (presuming an editorial process of
any kind!)
> Maybe that's in scope, maybe not. But I would float the idea that if
> the registry idea has a broader intent, like "people can declare their
> own tags for the purpose of testing new ideas" or even just "people
> can avoid stepping on each others' toes", then that sounds like a
> valuable concept, but it might not be as well-publicized as it could be.
Eliyezer’s concept was that private or custom tags wouldn't be supported
anywhere, and that if people wanted new tags they would have to register
them with Microsoft. I'm not sure that even made sense in the mid-1990s.
So again this comes down to a question of ownership (in both the legal
sense and the sense of responsibility, which may be at odds, e.g.
Microsoft claiming ownership of OpenType while being derelict in their
responsibility for the spec).
In discussions regarding process for variation axis registration in
2018, there seemed general acknowledgement that the process defined at
https://github.com/microsoft/OpenTypeDesignVariationAxisTags
is broken. That process assumed a proposal-forward model, in which
people would submit proposals for new axes, then these would be
reviewed, refined, and then registered. Following discussions at the
TYPO Labs event in Berlin in Spring 2018, there was talk of changing
that process to be implementation-forward, including restructuring the
repo as a sand box to encourage experimentation with custom axes, some
of which could then be formalised and registered if it looked like they
would benefit, in terms of interoperability, from having a standardised
axis scale. That didn’t happen, though; I think for the same internal MS
reasons that they don't have an OT spec editor.
The repeating problem is that Microsoft set up processes by which they
control the OT spec and associated registries, but have stopped
providing resources to those processes. So when the processes are
broken, they remain broken, and even when they're not structurally
broken they only work periodically, when MS decide that they need
something—like very basic variable fonts—and stop working again as soon
as they deem their needs met.
So...
A couple of years ago, I started thinking about a different approach to
registries: that because they're independent of the format spec, they
could be spun off from it, put into a different, collective ownership
model, and hence benefit from shared resources instead of being
dependent on Microsoft management. There is, of course, an argument — as
this group manifests — for doing that for the whole OT spec, as such or
via OFF, but the nature of the registries perhaps makes them an easier
ask, i.e. Microsoft might be more willing to hand them over, and even
to see benefit in doing so.
And...
I've also been thinking about ways to simplify the implementation aspect
of new OTL features and OTvar axes. We have an intertia problem in the
current implementation models, because new features and axes need to be
implemented at the app level, which means things like UI real estate.
That makes companies like Adobe, for instance, reluctant to support
registering new OTL features (I proposed one for honorific forms a few
months ago, and Sairus advised against it on the grounds that it would
be unlikely to be supported: the refrain is ‘Isn’t there an existing
feature you could used for that?’ — and I’m not saying he was wrong
under the current implementation model). The fact that app-based UI
implementation issues still have such an impact, when web-based use of
fonts via CSS do not have the same issues, is particularly problematic:
I feel we're being help up by one subset of font client software.
One of the things that Microsoft really did right in the past decade was
developing the Universal Shaping Engine, which Andrew Glass invented
specifically to get past the kind of broken process bottleneck I think
we're looking at here. In that case, it was the development lag between
proposing and approving a script encoding in Unicode and getting it
supported with an MS shaping engine and fonts.
What is USE? It is a framework that sits between Unicode and fonts, and
uses common concepts to minimise the amount of work that needs to be
done to push a newly encoded script into the framework.
So recently I have been wondering if some of the implementation inertia
for OTL and OTvar could also be addressed in terms of frameworks of
common concepts, even e.g. a common axis scale at the font level rather
than a unique scale for each registered axis? Instead of requiring each
application to implement support for discrete subsets of OTL features,
which then get stuck that way for decades, could we create an open
framework for OTL implementation, with hooks for UI on one side and a
consistent implementation of GSUB and GPOS on the other side?
JH
--
John Hudson
Tiro Typeworks Ltd www.tiro.com
Salish Sea, BC tiro at tiro.com
NOTE: In the interests of productivity, I am currently
dealing with email on only two days per week, usually
Monday and Thursday unless this schedule is disrupted
by travel. If you need to contact me urgently, please
use some other method of communication. Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20200814/a1ed777d/attachment-0001.html>
More information about the mpeg-otspec
mailing list